aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-s3c24xx
diff options
context:
space:
mode:
authorHeiko Stuebner <heiko@sntech.de>2014-05-08 16:48:57 -0400
committerKukjin Kim <kgene.kim@samsung.com>2014-05-12 19:00:01 -0400
commit51cb128987d96538fdea4ce3704e79257afad4a5 (patch)
tree1109bd22e3f6a5fb9e3274bd3d158c4a05d17c94 /arch/arm/mach-s3c24xx
parent5799ea12a41286d9588155a1abd828f43bc63d6b (diff)
ARM: S3C24XX: enable usage of common dclk if common clock framework is enabled
Add platform device and select the correct implementation automatically depending on wether the old samsung_clock or the common clock framework is enabled. This is only done for machines already using the old dclk implementation, as everybody else should move to use dt anyway. The machine-specific settings for the external clocks will have to be set by somebody with knowledge about the specific hardware. Signed-off-by: Heiko Stuebner <heiko@sntech.de> Reviewed-by: Tomasz Figa <t.figa@samsung.com> [pebolle@tiscali.nl: pointed out typo and fixed] Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
Diffstat (limited to 'arch/arm/mach-s3c24xx')
-rw-r--r--arch/arm/mach-s3c24xx/Kconfig22
-rw-r--r--arch/arm/mach-s3c24xx/common.c14
-rw-r--r--arch/arm/mach-s3c24xx/common.h2
-rw-r--r--arch/arm/mach-s3c24xx/mach-anubis.c5
-rw-r--r--arch/arm/mach-s3c24xx/mach-bast.c5
-rw-r--r--arch/arm/mach-s3c24xx/mach-osiris.c5
-rw-r--r--arch/arm/mach-s3c24xx/mach-rx1950.c5
-rw-r--r--arch/arm/mach-s3c24xx/mach-vr1000.c5
-rw-r--r--arch/arm/mach-s3c24xx/s3c244x.c2
9 files changed, 60 insertions, 5 deletions
diff --git a/arch/arm/mach-s3c24xx/Kconfig b/arch/arm/mach-s3c24xx/Kconfig
index fbafb9a1975b..c9378806b9e8 100644
--- a/arch/arm/mach-s3c24xx/Kconfig
+++ b/arch/arm/mach-s3c24xx/Kconfig
@@ -18,6 +18,13 @@ config PLAT_S3C24XX
18 help 18 help
19 Base platform code for any Samsung S3C24XX device 19 Base platform code for any Samsung S3C24XX device
20 20
21config S3C2410_COMMON_DCLK
22 bool
23 select REGMAP_MMIO
24 help
25 Temporary symbol to build the dclk driver based on the common clock
26 framework.
27
21menu "SAMSUNG S3C24XX SoCs Support" 28menu "SAMSUNG S3C24XX SoCs Support"
22 29
23comment "S3C24XX SoCs" 30comment "S3C24XX SoCs"
@@ -263,8 +270,9 @@ config ARCH_BAST
263 bool "Simtec Electronics BAST (EB2410ITX)" 270 bool "Simtec Electronics BAST (EB2410ITX)"
264 select ISA 271 select ISA
265 select MACH_BAST_IDE 272 select MACH_BAST_IDE
273 select S3C2410_COMMON_DCLK if COMMON_CLK
266 select S3C2410_IOTIMING if ARM_S3C2410_CPUFREQ 274 select S3C2410_IOTIMING if ARM_S3C2410_CPUFREQ
267 select S3C24XX_DCLK 275 select S3C24XX_DCLK if SAMSUNG_CLOCK
268 select S3C24XX_SIMTEC_NOR 276 select S3C24XX_SIMTEC_NOR
269 select S3C24XX_SIMTEC_PM if PM 277 select S3C24XX_SIMTEC_PM if PM
270 select S3C24XX_SIMTEC_USB 278 select S3C24XX_SIMTEC_USB
@@ -345,7 +353,8 @@ config MACH_TCT_HAMMER
345config MACH_VR1000 353config MACH_VR1000
346 bool "Thorcom VR1000" 354 bool "Thorcom VR1000"
347 select MACH_BAST_IDE 355 select MACH_BAST_IDE
348 select S3C24XX_DCLK 356 select S3C2410_COMMON_DCLK if COMMON_CLK
357 select S3C24XX_DCLK if SAMSUNG_CLOCK
349 select S3C24XX_SIMTEC_NOR 358 select S3C24XX_SIMTEC_NOR
350 select S3C24XX_SIMTEC_PM if PM 359 select S3C24XX_SIMTEC_PM if PM
351 select S3C24XX_SIMTEC_USB 360 select S3C24XX_SIMTEC_USB
@@ -529,8 +538,9 @@ comment "S3C2440 Boards"
529config MACH_ANUBIS 538config MACH_ANUBIS
530 bool "Simtec Electronics ANUBIS" 539 bool "Simtec Electronics ANUBIS"
531 select HAVE_PATA_PLATFORM 540 select HAVE_PATA_PLATFORM
541 select S3C2410_COMMON_DCLK if COMMON_CLK
532 select S3C2440_XTAL_12000000 542 select S3C2440_XTAL_12000000
533 select S3C24XX_DCLK 543 select S3C24XX_DCLK if SAMSUNG_CLOCK
534 select S3C24XX_SIMTEC_PM if PM 544 select S3C24XX_SIMTEC_PM if PM
535 select S3C_DEV_USB_HOST 545 select S3C_DEV_USB_HOST
536 help 546 help
@@ -568,9 +578,10 @@ config MACH_NEXCODER_2440
568 578
569config MACH_OSIRIS 579config MACH_OSIRIS
570 bool "Simtec IM2440D20 (OSIRIS) module" 580 bool "Simtec IM2440D20 (OSIRIS) module"
581 select S3C2410_COMMON_DCLK if COMMON_CLK
571 select S3C2410_IOTIMING if ARM_S3C2440_CPUFREQ 582 select S3C2410_IOTIMING if ARM_S3C2440_CPUFREQ
572 select S3C2440_XTAL_12000000 583 select S3C2440_XTAL_12000000
573 select S3C24XX_DCLK 584 select S3C24XX_DCLK if SAMSUNG_CLOCK
574 select S3C24XX_SIMTEC_PM if PM 585 select S3C24XX_SIMTEC_PM if PM
575 select S3C_DEV_NAND 586 select S3C_DEV_NAND
576 select S3C_DEV_USB_HOST 587 select S3C_DEV_USB_HOST
@@ -639,9 +650,10 @@ config MACH_RX1950
639 bool "HP iPAQ rx1950" 650 bool "HP iPAQ rx1950"
640 select I2C 651 select I2C
641 select PM_H1940 if PM 652 select PM_H1940 if PM
653 select S3C2410_COMMON_DCLK if COMMON_CLK
642 select S3C2410_IOTIMING if ARM_S3C2440_CPUFREQ 654 select S3C2410_IOTIMING if ARM_S3C2440_CPUFREQ
643 select S3C2440_XTAL_16934400 655 select S3C2440_XTAL_16934400
644 select S3C24XX_DCLK 656 select S3C24XX_DCLK if SAMSUNG_CLOCK
645 select S3C24XX_PWM 657 select S3C24XX_PWM
646 select S3C_DEV_NAND 658 select S3C_DEV_NAND
647 help 659 help
diff --git a/arch/arm/mach-s3c24xx/common.c b/arch/arm/mach-s3c24xx/common.c
index ad5b76bf4d51..7cc6d944c820 100644
--- a/arch/arm/mach-s3c24xx/common.c
+++ b/arch/arm/mach-s3c24xx/common.c
@@ -553,3 +553,17 @@ void __init s3c2443_init_clocks(int xtal)
553 s3c2443_common_clk_init(NULL, xtal, 1, S3C24XX_VA_CLKPWR); 553 s3c2443_common_clk_init(NULL, xtal, 1, S3C24XX_VA_CLKPWR);
554} 554}
555#endif 555#endif
556
557#if defined(CONFIG_CPU_S3C2410) || defined(CONFIG_CPU_S3C2440) || \
558 defined(CONFIG_CPU_S3C2442)
559static struct resource s3c2410_dclk_resource[] = {
560 [0] = DEFINE_RES_MEM(0x56000084, 0x4),
561};
562
563struct platform_device s3c2410_device_dclk = {
564 .name = "s3c2410-dclk",
565 .id = 0,
566 .num_resources = ARRAY_SIZE(s3c2410_dclk_resource),
567 .resource = s3c2410_dclk_resource,
568};
569#endif
diff --git a/arch/arm/mach-s3c24xx/common.h b/arch/arm/mach-s3c24xx/common.h
index 3fade6d796f9..50504c77fa00 100644
--- a/arch/arm/mach-s3c24xx/common.h
+++ b/arch/arm/mach-s3c24xx/common.h
@@ -114,6 +114,8 @@ extern struct platform_device s3c2412_device_dma;
114extern struct platform_device s3c2440_device_dma; 114extern struct platform_device s3c2440_device_dma;
115extern struct platform_device s3c2443_device_dma; 115extern struct platform_device s3c2443_device_dma;
116 116
117extern struct platform_device s3c2410_device_dclk;
118
117#ifdef CONFIG_S3C2412_COMMON_CLK 119#ifdef CONFIG_S3C2412_COMMON_CLK
118void __init s3c2412_common_clk_init(struct device_node *np, unsigned long xti_f, 120void __init s3c2412_common_clk_init(struct device_node *np, unsigned long xti_f,
119 unsigned long ext_f, void __iomem *reg_base); 121 unsigned long ext_f, void __iomem *reg_base);
diff --git a/arch/arm/mach-s3c24xx/mach-anubis.c b/arch/arm/mach-s3c24xx/mach-anubis.c
index 81a270af2336..f81944f3217d 100644
--- a/arch/arm/mach-s3c24xx/mach-anubis.c
+++ b/arch/arm/mach-s3c24xx/mach-anubis.c
@@ -352,6 +352,7 @@ static struct platform_device anubis_device_sm501 = {
352/* Standard Anubis devices */ 352/* Standard Anubis devices */
353 353
354static struct platform_device *anubis_devices[] __initdata = { 354static struct platform_device *anubis_devices[] __initdata = {
355 &s3c2410_device_dclk,
355 &s3c_device_ohci, 356 &s3c_device_ohci,
356 &s3c_device_wdt, 357 &s3c_device_wdt,
357 &s3c_device_adc, 358 &s3c_device_adc,
@@ -364,6 +365,7 @@ static struct platform_device *anubis_devices[] __initdata = {
364 &anubis_device_sm501, 365 &anubis_device_sm501,
365}; 366};
366 367
368#ifdef CONFIG_SAMSUNG_CLOCK
367static struct clk *anubis_clocks[] __initdata = { 369static struct clk *anubis_clocks[] __initdata = {
368 &s3c24xx_dclk0, 370 &s3c24xx_dclk0,
369 &s3c24xx_dclk1, 371 &s3c24xx_dclk1,
@@ -371,6 +373,7 @@ static struct clk *anubis_clocks[] __initdata = {
371 &s3c24xx_clkout1, 373 &s3c24xx_clkout1,
372 &s3c24xx_uclk, 374 &s3c24xx_uclk,
373}; 375};
376#endif
374 377
375/* I2C devices. */ 378/* I2C devices. */
376 379
@@ -394,6 +397,7 @@ static struct s3c24xx_audio_simtec_pdata __initdata anubis_audio = {
394 397
395static void __init anubis_map_io(void) 398static void __init anubis_map_io(void)
396{ 399{
400#ifdef CONFIG_SAMSUNG_CLOCK
397 /* initialise the clocks */ 401 /* initialise the clocks */
398 402
399 s3c24xx_dclk0.parent = &clk_upll; 403 s3c24xx_dclk0.parent = &clk_upll;
@@ -408,6 +412,7 @@ static void __init anubis_map_io(void)
408 s3c24xx_uclk.parent = &s3c24xx_clkout1; 412 s3c24xx_uclk.parent = &s3c24xx_clkout1;
409 413
410 s3c24xx_register_clocks(anubis_clocks, ARRAY_SIZE(anubis_clocks)); 414 s3c24xx_register_clocks(anubis_clocks, ARRAY_SIZE(anubis_clocks));
415#endif
411 416
412 s3c24xx_init_io(anubis_iodesc, ARRAY_SIZE(anubis_iodesc)); 417 s3c24xx_init_io(anubis_iodesc, ARRAY_SIZE(anubis_iodesc));
413 s3c24xx_init_clocks(0); 418 s3c24xx_init_clocks(0);
diff --git a/arch/arm/mach-s3c24xx/mach-bast.c b/arch/arm/mach-s3c24xx/mach-bast.c
index e371ff53a408..dcdc4a575690 100644
--- a/arch/arm/mach-s3c24xx/mach-bast.c
+++ b/arch/arm/mach-s3c24xx/mach-bast.c
@@ -523,6 +523,7 @@ static struct s3c_hwmon_pdata bast_hwmon_info = {
523// cat /sys/devices/platform/s3c24xx-adc/s3c-hwmon/in_0 523// cat /sys/devices/platform/s3c24xx-adc/s3c-hwmon/in_0
524 524
525static struct platform_device *bast_devices[] __initdata = { 525static struct platform_device *bast_devices[] __initdata = {
526 &s3c2410_device_dclk,
526 &s3c_device_ohci, 527 &s3c_device_ohci,
527 &s3c_device_lcd, 528 &s3c_device_lcd,
528 &s3c_device_wdt, 529 &s3c_device_wdt,
@@ -537,6 +538,7 @@ static struct platform_device *bast_devices[] __initdata = {
537 &bast_sio, 538 &bast_sio,
538}; 539};
539 540
541#ifdef CONFIG_SAMSUNG_CLK
540static struct clk *bast_clocks[] __initdata = { 542static struct clk *bast_clocks[] __initdata = {
541 &s3c24xx_dclk0, 543 &s3c24xx_dclk0,
542 &s3c24xx_dclk1, 544 &s3c24xx_dclk1,
@@ -544,6 +546,7 @@ static struct clk *bast_clocks[] __initdata = {
544 &s3c24xx_clkout1, 546 &s3c24xx_clkout1,
545 &s3c24xx_uclk, 547 &s3c24xx_uclk,
546}; 548};
549#endif
547 550
548static struct s3c_cpufreq_board __initdata bast_cpufreq = { 551static struct s3c_cpufreq_board __initdata bast_cpufreq = {
549 .refresh = 7800, /* 7.8usec */ 552 .refresh = 7800, /* 7.8usec */
@@ -558,6 +561,7 @@ static struct s3c24xx_audio_simtec_pdata __initdata bast_audio = {
558 561
559static void __init bast_map_io(void) 562static void __init bast_map_io(void)
560{ 563{
564#ifdef CONFIG_SAMSUNG_CLOCK
561 /* initialise the clocks */ 565 /* initialise the clocks */
562 566
563 s3c24xx_dclk0.parent = &clk_upll; 567 s3c24xx_dclk0.parent = &clk_upll;
@@ -572,6 +576,7 @@ static void __init bast_map_io(void)
572 s3c24xx_uclk.parent = &s3c24xx_clkout1; 576 s3c24xx_uclk.parent = &s3c24xx_clkout1;
573 577
574 s3c24xx_register_clocks(bast_clocks, ARRAY_SIZE(bast_clocks)); 578 s3c24xx_register_clocks(bast_clocks, ARRAY_SIZE(bast_clocks));
579#endif
575 580
576 s3c_hwmon_set_platdata(&bast_hwmon_info); 581 s3c_hwmon_set_platdata(&bast_hwmon_info);
577 582
diff --git a/arch/arm/mach-s3c24xx/mach-osiris.c b/arch/arm/mach-s3c24xx/mach-osiris.c
index a4ae4bb3666d..487be02e4f2c 100644
--- a/arch/arm/mach-s3c24xx/mach-osiris.c
+++ b/arch/arm/mach-s3c24xx/mach-osiris.c
@@ -344,12 +344,14 @@ static struct i2c_board_info osiris_i2c_devs[] __initdata = {
344/* Standard Osiris devices */ 344/* Standard Osiris devices */
345 345
346static struct platform_device *osiris_devices[] __initdata = { 346static struct platform_device *osiris_devices[] __initdata = {
347 &s3c2410_device_dclk,
347 &s3c_device_i2c0, 348 &s3c_device_i2c0,
348 &s3c_device_wdt, 349 &s3c_device_wdt,
349 &s3c_device_nand, 350 &s3c_device_nand,
350 &osiris_pcmcia, 351 &osiris_pcmcia,
351}; 352};
352 353
354#ifdef CONFIG_SAMSUNG_CLOCK
353static struct clk *osiris_clocks[] __initdata = { 355static struct clk *osiris_clocks[] __initdata = {
354 &s3c24xx_dclk0, 356 &s3c24xx_dclk0,
355 &s3c24xx_dclk1, 357 &s3c24xx_dclk1,
@@ -357,6 +359,7 @@ static struct clk *osiris_clocks[] __initdata = {
357 &s3c24xx_clkout1, 359 &s3c24xx_clkout1,
358 &s3c24xx_uclk, 360 &s3c24xx_uclk,
359}; 361};
362#endif
360 363
361static struct s3c_cpufreq_board __initdata osiris_cpufreq = { 364static struct s3c_cpufreq_board __initdata osiris_cpufreq = {
362 .refresh = 7800, /* refresh period is 7.8usec */ 365 .refresh = 7800, /* refresh period is 7.8usec */
@@ -368,6 +371,7 @@ static void __init osiris_map_io(void)
368{ 371{
369 unsigned long flags; 372 unsigned long flags;
370 373
374#ifdef CONFIG_SAMSUNG_CLOCK
371 /* initialise the clocks */ 375 /* initialise the clocks */
372 376
373 s3c24xx_dclk0.parent = &clk_upll; 377 s3c24xx_dclk0.parent = &clk_upll;
@@ -382,6 +386,7 @@ static void __init osiris_map_io(void)
382 s3c24xx_uclk.parent = &s3c24xx_clkout1; 386 s3c24xx_uclk.parent = &s3c24xx_clkout1;
383 387
384 s3c24xx_register_clocks(osiris_clocks, ARRAY_SIZE(osiris_clocks)); 388 s3c24xx_register_clocks(osiris_clocks, ARRAY_SIZE(osiris_clocks));
389#endif
385 390
386 s3c24xx_init_io(osiris_iodesc, ARRAY_SIZE(osiris_iodesc)); 391 s3c24xx_init_io(osiris_iodesc, ARRAY_SIZE(osiris_iodesc));
387 s3c24xx_init_clocks(0); 392 s3c24xx_init_clocks(0);
diff --git a/arch/arm/mach-s3c24xx/mach-rx1950.c b/arch/arm/mach-s3c24xx/mach-rx1950.c
index afb784e934c8..219454c93db4 100644
--- a/arch/arm/mach-s3c24xx/mach-rx1950.c
+++ b/arch/arm/mach-s3c24xx/mach-rx1950.c
@@ -710,6 +710,7 @@ static struct i2c_board_info rx1950_i2c_devices[] = {
710}; 710};
711 711
712static struct platform_device *rx1950_devices[] __initdata = { 712static struct platform_device *rx1950_devices[] __initdata = {
713 &s3c2410_device_dclk,
713 &s3c_device_lcd, 714 &s3c_device_lcd,
714 &s3c_device_wdt, 715 &s3c_device_wdt,
715 &s3c_device_i2c0, 716 &s3c_device_i2c0,
@@ -728,17 +729,21 @@ static struct platform_device *rx1950_devices[] __initdata = {
728 &rx1950_leds, 729 &rx1950_leds,
729}; 730};
730 731
732#ifdef CONFIG_SAMSUNG_CLOCK
731static struct clk *rx1950_clocks[] __initdata = { 733static struct clk *rx1950_clocks[] __initdata = {
732 &s3c24xx_clkout0, 734 &s3c24xx_clkout0,
733 &s3c24xx_clkout1, 735 &s3c24xx_clkout1,
734}; 736};
737#endif
735 738
736static void __init rx1950_map_io(void) 739static void __init rx1950_map_io(void)
737{ 740{
741#ifdef CONFIG_SAMSUNG_CLOCK
738 s3c24xx_clkout0.parent = &clk_h; 742 s3c24xx_clkout0.parent = &clk_h;
739 s3c24xx_clkout1.parent = &clk_f; 743 s3c24xx_clkout1.parent = &clk_f;
740 744
741 s3c24xx_register_clocks(rx1950_clocks, ARRAY_SIZE(rx1950_clocks)); 745 s3c24xx_register_clocks(rx1950_clocks, ARRAY_SIZE(rx1950_clocks));
746#endif
742 747
743 s3c24xx_init_io(rx1950_iodesc, ARRAY_SIZE(rx1950_iodesc)); 748 s3c24xx_init_io(rx1950_iodesc, ARRAY_SIZE(rx1950_iodesc));
744 s3c24xx_init_clocks(16934000); 749 s3c24xx_init_clocks(16934000);
diff --git a/arch/arm/mach-s3c24xx/mach-vr1000.c b/arch/arm/mach-s3c24xx/mach-vr1000.c
index 1cc5b1bd51cd..bedaeefdc9f0 100644
--- a/arch/arm/mach-s3c24xx/mach-vr1000.c
+++ b/arch/arm/mach-s3c24xx/mach-vr1000.c
@@ -286,6 +286,7 @@ static struct i2c_board_info vr1000_i2c_devs[] __initdata = {
286/* devices for this board */ 286/* devices for this board */
287 287
288static struct platform_device *vr1000_devices[] __initdata = { 288static struct platform_device *vr1000_devices[] __initdata = {
289 &s3c2410_device_dclk,
289 &s3c_device_ohci, 290 &s3c_device_ohci,
290 &s3c_device_lcd, 291 &s3c_device_lcd,
291 &s3c_device_wdt, 292 &s3c_device_wdt,
@@ -299,6 +300,7 @@ static struct platform_device *vr1000_devices[] __initdata = {
299 &vr1000_led3, 300 &vr1000_led3,
300}; 301};
301 302
303#ifdef CONFIG_SAMSUNG_CLOCK
302static struct clk *vr1000_clocks[] __initdata = { 304static struct clk *vr1000_clocks[] __initdata = {
303 &s3c24xx_dclk0, 305 &s3c24xx_dclk0,
304 &s3c24xx_dclk1, 306 &s3c24xx_dclk1,
@@ -306,6 +308,7 @@ static struct clk *vr1000_clocks[] __initdata = {
306 &s3c24xx_clkout1, 308 &s3c24xx_clkout1,
307 &s3c24xx_uclk, 309 &s3c24xx_uclk,
308}; 310};
311#endif
309 312
310static void vr1000_power_off(void) 313static void vr1000_power_off(void)
311{ 314{
@@ -314,6 +317,7 @@ static void vr1000_power_off(void)
314 317
315static void __init vr1000_map_io(void) 318static void __init vr1000_map_io(void)
316{ 319{
320#if CONFIG_SAMSUNG_CLOCK
317 /* initialise clock sources */ 321 /* initialise clock sources */
318 322
319 s3c24xx_dclk0.parent = &clk_upll; 323 s3c24xx_dclk0.parent = &clk_upll;
@@ -328,6 +332,7 @@ static void __init vr1000_map_io(void)
328 s3c24xx_uclk.parent = &s3c24xx_clkout1; 332 s3c24xx_uclk.parent = &s3c24xx_clkout1;
329 333
330 s3c24xx_register_clocks(vr1000_clocks, ARRAY_SIZE(vr1000_clocks)); 334 s3c24xx_register_clocks(vr1000_clocks, ARRAY_SIZE(vr1000_clocks));
335#endif
331 336
332 pm_power_off = vr1000_power_off; 337 pm_power_off = vr1000_power_off;
333 338
diff --git a/arch/arm/mach-s3c24xx/s3c244x.c b/arch/arm/mach-s3c24xx/s3c244x.c
index fe30ebb234d2..76b691bf724e 100644
--- a/arch/arm/mach-s3c24xx/s3c244x.c
+++ b/arch/arm/mach-s3c24xx/s3c244x.c
@@ -46,6 +46,7 @@
46#include <plat/nand-core.h> 46#include <plat/nand-core.h>
47#include <plat/watchdog-reset.h> 47#include <plat/watchdog-reset.h>
48 48
49#include "common.h"
49#include "regs-dsc.h" 50#include "regs-dsc.h"
50 51
51static struct map_desc s3c244x_iodesc[] __initdata = { 52static struct map_desc s3c244x_iodesc[] __initdata = {
@@ -74,6 +75,7 @@ void __init s3c244x_map_io(void)
74 s3c_nand_setname("s3c2440-nand"); 75 s3c_nand_setname("s3c2440-nand");
75 s3c_device_ts.name = "s3c2440-ts"; 76 s3c_device_ts.name = "s3c2440-ts";
76 s3c_device_usbgadget.name = "s3c2440-usbgadget"; 77 s3c_device_usbgadget.name = "s3c2440-usbgadget";
78 s3c2410_device_dclk.name = "s3c2440-dclk";
77} 79}
78 80
79void __init_or_cpufreq s3c244x_setup_clocks(void) 81void __init_or_cpufreq s3c244x_setup_clocks(void)