diff options
Diffstat (limited to 'arch/arm/mach-s5p64x0/clock-s5p6450.c')
-rw-r--r-- | arch/arm/mach-s5p64x0/clock-s5p6450.c | 34 |
1 files changed, 21 insertions, 13 deletions
diff --git a/arch/arm/mach-s5p64x0/clock-s5p6450.c b/arch/arm/mach-s5p64x0/clock-s5p6450.c index 7fc6abd35914..4eec457ddccc 100644 --- a/arch/arm/mach-s5p64x0/clock-s5p6450.c +++ b/arch/arm/mach-s5p64x0/clock-s5p6450.c | |||
@@ -181,7 +181,7 @@ static struct clksrc_clk clk_pclk_low = { | |||
181 | * recommended to keep the following clocks disabled until the driver requests | 181 | * recommended to keep the following clocks disabled until the driver requests |
182 | * for enabling the clock. | 182 | * for enabling the clock. |
183 | */ | 183 | */ |
184 | static struct clk init_clocks_disable[] = { | 184 | static struct clk init_clocks_off[] = { |
185 | { | 185 | { |
186 | .name = "usbhost", | 186 | .name = "usbhost", |
187 | .id = -1, | 187 | .id = -1, |
@@ -231,6 +231,12 @@ static struct clk init_clocks_disable[] = { | |||
231 | .enable = s5p64x0_pclk_ctrl, | 231 | .enable = s5p64x0_pclk_ctrl, |
232 | .ctrlbit = (1 << 5), | 232 | .ctrlbit = (1 << 5), |
233 | }, { | 233 | }, { |
234 | .name = "rtc", | ||
235 | .id = -1, | ||
236 | .parent = &clk_pclk_low.clk, | ||
237 | .enable = s5p64x0_pclk_ctrl, | ||
238 | .ctrlbit = (1 << 6), | ||
239 | }, { | ||
234 | .name = "adc", | 240 | .name = "adc", |
235 | .id = -1, | 241 | .id = -1, |
236 | .parent = &clk_pclk_low.clk, | 242 | .parent = &clk_pclk_low.clk, |
@@ -261,6 +267,18 @@ static struct clk init_clocks_disable[] = { | |||
261 | .enable = s5p64x0_pclk_ctrl, | 267 | .enable = s5p64x0_pclk_ctrl, |
262 | .ctrlbit = (1 << 26), | 268 | .ctrlbit = (1 << 26), |
263 | }, { | 269 | }, { |
270 | .name = "iis", | ||
271 | .id = 1, | ||
272 | .parent = &clk_pclk_low.clk, | ||
273 | .enable = s5p64x0_pclk_ctrl, | ||
274 | .ctrlbit = (1 << 15), | ||
275 | }, { | ||
276 | .name = "iis", | ||
277 | .id = 2, | ||
278 | .parent = &clk_pclk_low.clk, | ||
279 | .enable = s5p64x0_pclk_ctrl, | ||
280 | .ctrlbit = (1 << 16), | ||
281 | }, { | ||
264 | .name = "i2c", | 282 | .name = "i2c", |
265 | .id = 1, | 283 | .id = 1, |
266 | .parent = &clk_pclk_low.clk, | 284 | .parent = &clk_pclk_low.clk, |
@@ -633,8 +651,6 @@ void __init_or_cpufreq s5p6450_setup_clocks(void) | |||
633 | 651 | ||
634 | void __init s5p6450_register_clocks(void) | 652 | void __init s5p6450_register_clocks(void) |
635 | { | 653 | { |
636 | struct clk *clkp; | ||
637 | int ret; | ||
638 | int ptr; | 654 | int ptr; |
639 | 655 | ||
640 | for (ptr = 0; ptr < ARRAY_SIZE(sysclks); ptr++) | 656 | for (ptr = 0; ptr < ARRAY_SIZE(sysclks); ptr++) |
@@ -643,16 +659,8 @@ void __init s5p6450_register_clocks(void) | |||
643 | s3c_register_clksrc(clksrcs, ARRAY_SIZE(clksrcs)); | 659 | s3c_register_clksrc(clksrcs, ARRAY_SIZE(clksrcs)); |
644 | s3c_register_clocks(init_clocks, ARRAY_SIZE(init_clocks)); | 660 | s3c_register_clocks(init_clocks, ARRAY_SIZE(init_clocks)); |
645 | 661 | ||
646 | clkp = init_clocks_disable; | 662 | s3c_register_clocks(init_clocks_off, ARRAY_SIZE(init_clocks_off)); |
647 | for (ptr = 0; ptr < ARRAY_SIZE(init_clocks_disable); ptr++, clkp++) { | 663 | s3c_disable_clocks(init_clocks_off, ARRAY_SIZE(init_clocks_off)); |
648 | |||
649 | ret = s3c24xx_register_clock(clkp); | ||
650 | if (ret < 0) { | ||
651 | printk(KERN_ERR "Failed to register clock %s (%d)\n", | ||
652 | clkp->name, ret); | ||
653 | } | ||
654 | (clkp->enable)(clkp, 0); | ||
655 | } | ||
656 | 664 | ||
657 | s3c_pwmclk_init(); | 665 | s3c_pwmclk_init(); |
658 | } | 666 | } |