diff options
-rw-r--r-- | arch/arm/mach-pxa/pxa25x.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/arch/arm/mach-pxa/pxa25x.c b/arch/arm/mach-pxa/pxa25x.c index 9732d5d9466b..006a6e09589c 100644 --- a/arch/arm/mach-pxa/pxa25x.c +++ b/arch/arm/mach-pxa/pxa25x.c | |||
@@ -111,11 +111,14 @@ static const struct clkops clk_pxa25x_lcd_ops = { | |||
111 | * 95.842MHz -> MMC 19.169MHz, I2C 31.949MHz, FICP 47.923MHz, USB 47.923MHz | 111 | * 95.842MHz -> MMC 19.169MHz, I2C 31.949MHz, FICP 47.923MHz, USB 47.923MHz |
112 | * 147.456MHz -> UART 14.7456MHz, AC97 12.288MHz, I2S 5.672MHz (allegedly) | 112 | * 147.456MHz -> UART 14.7456MHz, AC97 12.288MHz, I2S 5.672MHz (allegedly) |
113 | */ | 113 | */ |
114 | static struct clk pxa25x_hwuart_clk = | ||
115 | INIT_CKEN("UARTCLK", HWUART, 14745600, 1, &pxa_device_hwuart.dev) | ||
116 | ; | ||
117 | |||
114 | static struct clk pxa25x_clks[] = { | 118 | static struct clk pxa25x_clks[] = { |
115 | INIT_CK("LCDCLK", LCD, &clk_pxa25x_lcd_ops, &pxa_device_fb.dev), | 119 | INIT_CK("LCDCLK", LCD, &clk_pxa25x_lcd_ops, &pxa_device_fb.dev), |
116 | INIT_CKEN("UARTCLK", FFUART, 14745600, 1, &pxa_device_ffuart.dev), | 120 | INIT_CKEN("UARTCLK", FFUART, 14745600, 1, &pxa_device_ffuart.dev), |
117 | INIT_CKEN("UARTCLK", BTUART, 14745600, 1, &pxa_device_btuart.dev), | 121 | INIT_CKEN("UARTCLK", BTUART, 14745600, 1, &pxa_device_btuart.dev), |
118 | INIT_CKEN("UARTCLK", BTUART, 14745600, 1, &pxa_device_btuart.dev), | ||
119 | INIT_CKEN("UARTCLK", STUART, 14745600, 1, NULL), | 122 | INIT_CKEN("UARTCLK", STUART, 14745600, 1, NULL), |
120 | INIT_CKEN("UDCCLK", USB, 47923000, 5, &pxa_device_udc.dev), | 123 | INIT_CKEN("UDCCLK", USB, 47923000, 5, &pxa_device_udc.dev), |
121 | INIT_CKEN("MMCCLK", MMC, 19169000, 0, &pxa_device_mci.dev), | 124 | INIT_CKEN("MMCCLK", MMC, 19169000, 0, &pxa_device_mci.dev), |
@@ -303,6 +306,10 @@ static int __init pxa25x_init(void) | |||
303 | { | 306 | { |
304 | int ret = 0; | 307 | int ret = 0; |
305 | 308 | ||
309 | /* Only add HWUART for PXA255/26x; PXA210/250/27x do not have it. */ | ||
310 | if (cpu_is_pxa25x()) | ||
311 | clks_register(&pxa25x_hwuart_clk, 1); | ||
312 | |||
306 | if (cpu_is_pxa21x() || cpu_is_pxa25x()) { | 313 | if (cpu_is_pxa21x() || cpu_is_pxa25x()) { |
307 | clks_register(pxa25x_clks, ARRAY_SIZE(pxa25x_clks)); | 314 | clks_register(pxa25x_clks, ARRAY_SIZE(pxa25x_clks)); |
308 | 315 | ||