diff options
author | Heiko Stuebner <heiko@sntech.de> | 2014-05-08 16:48:57 -0400 |
---|---|---|
committer | Kukjin Kim <kgene.kim@samsung.com> | 2014-05-12 19:00:01 -0400 |
commit | 51cb128987d96538fdea4ce3704e79257afad4a5 (patch) | |
tree | 1109bd22e3f6a5fb9e3274bd3d158c4a05d17c94 /arch/arm/mach-s3c24xx | |
parent | 5799ea12a41286d9588155a1abd828f43bc63d6b (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/Kconfig | 22 | ||||
-rw-r--r-- | arch/arm/mach-s3c24xx/common.c | 14 | ||||
-rw-r--r-- | arch/arm/mach-s3c24xx/common.h | 2 | ||||
-rw-r--r-- | arch/arm/mach-s3c24xx/mach-anubis.c | 5 | ||||
-rw-r--r-- | arch/arm/mach-s3c24xx/mach-bast.c | 5 | ||||
-rw-r--r-- | arch/arm/mach-s3c24xx/mach-osiris.c | 5 | ||||
-rw-r--r-- | arch/arm/mach-s3c24xx/mach-rx1950.c | 5 | ||||
-rw-r--r-- | arch/arm/mach-s3c24xx/mach-vr1000.c | 5 | ||||
-rw-r--r-- | arch/arm/mach-s3c24xx/s3c244x.c | 2 |
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 | ||
21 | config 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 | |||
21 | menu "SAMSUNG S3C24XX SoCs Support" | 28 | menu "SAMSUNG S3C24XX SoCs Support" |
22 | 29 | ||
23 | comment "S3C24XX SoCs" | 30 | comment "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 | |||
345 | config MACH_VR1000 | 353 | config 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" | |||
529 | config MACH_ANUBIS | 538 | config 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 | ||
569 | config MACH_OSIRIS | 579 | config 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) | ||
559 | static struct resource s3c2410_dclk_resource[] = { | ||
560 | [0] = DEFINE_RES_MEM(0x56000084, 0x4), | ||
561 | }; | ||
562 | |||
563 | struct 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; | |||
114 | extern struct platform_device s3c2440_device_dma; | 114 | extern struct platform_device s3c2440_device_dma; |
115 | extern struct platform_device s3c2443_device_dma; | 115 | extern struct platform_device s3c2443_device_dma; |
116 | 116 | ||
117 | extern struct platform_device s3c2410_device_dclk; | ||
118 | |||
117 | #ifdef CONFIG_S3C2412_COMMON_CLK | 119 | #ifdef CONFIG_S3C2412_COMMON_CLK |
118 | void __init s3c2412_common_clk_init(struct device_node *np, unsigned long xti_f, | 120 | void __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 | ||
354 | static struct platform_device *anubis_devices[] __initdata = { | 354 | static 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 | ||
367 | static struct clk *anubis_clocks[] __initdata = { | 369 | static 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 | ||
395 | static void __init anubis_map_io(void) | 398 | static 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 | ||
525 | static struct platform_device *bast_devices[] __initdata = { | 525 | static 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 | ||
540 | static struct clk *bast_clocks[] __initdata = { | 542 | static 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 | ||
548 | static struct s3c_cpufreq_board __initdata bast_cpufreq = { | 551 | static 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 | ||
559 | static void __init bast_map_io(void) | 562 | static 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 | ||
346 | static struct platform_device *osiris_devices[] __initdata = { | 346 | static 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 | ||
353 | static struct clk *osiris_clocks[] __initdata = { | 355 | static 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 | ||
361 | static struct s3c_cpufreq_board __initdata osiris_cpufreq = { | 364 | static 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 | ||
712 | static struct platform_device *rx1950_devices[] __initdata = { | 712 | static 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 | ||
731 | static struct clk *rx1950_clocks[] __initdata = { | 733 | static struct clk *rx1950_clocks[] __initdata = { |
732 | &s3c24xx_clkout0, | 734 | &s3c24xx_clkout0, |
733 | &s3c24xx_clkout1, | 735 | &s3c24xx_clkout1, |
734 | }; | 736 | }; |
737 | #endif | ||
735 | 738 | ||
736 | static void __init rx1950_map_io(void) | 739 | static 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 | ||
288 | static struct platform_device *vr1000_devices[] __initdata = { | 288 | static 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 | ||
302 | static struct clk *vr1000_clocks[] __initdata = { | 304 | static 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 | ||
310 | static void vr1000_power_off(void) | 313 | static void vr1000_power_off(void) |
311 | { | 314 | { |
@@ -314,6 +317,7 @@ static void vr1000_power_off(void) | |||
314 | 317 | ||
315 | static void __init vr1000_map_io(void) | 318 | static 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 | ||
51 | static struct map_desc s3c244x_iodesc[] __initdata = { | 52 | static 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 | ||
79 | void __init_or_cpufreq s3c244x_setup_clocks(void) | 81 | void __init_or_cpufreq s3c244x_setup_clocks(void) |