aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm
diff options
context:
space:
mode:
authoreric miao <eric.miao@marvell.com>2007-12-10 04:54:36 -0500
committerRussell King <rmk+kernel@arm.linux.org.uk>2008-01-26 10:07:51 -0500
commitd8e0db1111b51558456466f66c9115d71b68e8b9 (patch)
tree0e02d2e72bcf1c0b5d9975b7cfdadcc4586339a9 /arch/arm
parentd2b82dded8c45daeaad332459222034a3fabd227 (diff)
[ARM] pxa: add ssp devices and clk support for pxa25x/pxa27x/pxa3xx
Signed-off-by: eric miao <eric.miao@marvell.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Diffstat (limited to 'arch/arm')
-rw-r--r--arch/arm/mach-pxa/pxa25x.c10
-rw-r--r--arch/arm/mach-pxa/pxa27x.c10
-rw-r--r--arch/arm/mach-pxa/pxa3xx.c9
3 files changed, 24 insertions, 5 deletions
diff --git a/arch/arm/mach-pxa/pxa25x.c b/arch/arm/mach-pxa/pxa25x.c
index d9ee0d9b36df..c6ea0ed69270 100644
--- a/arch/arm/mach-pxa/pxa25x.c
+++ b/arch/arm/mach-pxa/pxa25x.c
@@ -120,12 +120,15 @@ static struct clk pxa25x_clks[] = {
120 INIT_CKEN("UDCCLK", USB, 47923000, 5, &pxa_device_udc.dev), 120 INIT_CKEN("UDCCLK", USB, 47923000, 5, &pxa_device_udc.dev),
121 INIT_CKEN("MMCCLK", MMC, 19169000, 0, &pxa_device_mci.dev), 121 INIT_CKEN("MMCCLK", MMC, 19169000, 0, &pxa_device_mci.dev),
122 INIT_CKEN("I2CCLK", I2C, 31949000, 0, &pxa_device_i2c.dev), 122 INIT_CKEN("I2CCLK", I2C, 31949000, 0, &pxa_device_i2c.dev),
123
124 INIT_CKEN("SSPCLK", SSP, 3686400, 0, &pxa25x_device_ssp.dev),
125 INIT_CKEN("SSPCLK", NSSP, 3686400, 0, &pxa25x_device_nssp.dev),
126 INIT_CKEN("SSPCLK", ASSP, 3686400, 0, &pxa25x_device_assp.dev),
127
123 /* 128 /*
124 INIT_CKEN("PWMCLK", PWM0, 3686400, 0, NULL), 129 INIT_CKEN("PWMCLK", PWM0, 3686400, 0, NULL),
125 INIT_CKEN("PWMCLK", PWM0, 3686400, 0, NULL), 130 INIT_CKEN("PWMCLK", PWM0, 3686400, 0, NULL),
126 INIT_CKEN("SSPCLK", SSP, 3686400, 0, NULL),
127 INIT_CKEN("I2SCLK", I2S, 14745600, 0, NULL), 131 INIT_CKEN("I2SCLK", I2S, 14745600, 0, NULL),
128 INIT_CKEN("NSSPCLK", NSSP, 3686400, 0, NULL),
129 */ 132 */
130 INIT_CKEN("FICPCLK", FICP, 47923000, 0, NULL), 133 INIT_CKEN("FICPCLK", FICP, 47923000, 0, NULL),
131}; 134};
@@ -293,6 +296,9 @@ static struct platform_device *pxa25x_devices[] __initdata = {
293 &pxa_device_stuart, 296 &pxa_device_stuart,
294 &pxa_device_i2s, 297 &pxa_device_i2s,
295 &pxa_device_rtc, 298 &pxa_device_rtc,
299 &pxa25x_device_ssp,
300 &pxa25x_device_nssp,
301 &pxa25x_device_assp,
296}; 302};
297 303
298static int __init pxa25x_init(void) 304static int __init pxa25x_init(void)
diff --git a/arch/arm/mach-pxa/pxa27x.c b/arch/arm/mach-pxa/pxa27x.c
index e7151dba6682..12dd2b0629bf 100644
--- a/arch/arm/mach-pxa/pxa27x.c
+++ b/arch/arm/mach-pxa/pxa27x.c
@@ -150,11 +150,12 @@ static struct clk pxa27x_clks[] = {
150 INIT_CKEN("I2CCLK", PWRI2C, 13000000, 0, &pxa27x_device_i2c_power.dev), 150 INIT_CKEN("I2CCLK", PWRI2C, 13000000, 0, &pxa27x_device_i2c_power.dev),
151 INIT_CKEN("KBDCLK", KEYPAD, 32768, 0, NULL), 151 INIT_CKEN("KBDCLK", KEYPAD, 32768, 0, NULL),
152 152
153 INIT_CKEN("SSPCLK", SSP1, 13000000, 0, &pxa27x_device_ssp1.dev),
154 INIT_CKEN("SSPCLK", SSP2, 13000000, 0, &pxa27x_device_ssp2.dev),
155 INIT_CKEN("SSPCLK", SSP3, 13000000, 0, &pxa27x_device_ssp3.dev),
156
153 /* 157 /*
154 INIT_CKEN("PWMCLK", PWM0, 13000000, 0, NULL), 158 INIT_CKEN("PWMCLK", PWM0, 13000000, 0, NULL),
155 INIT_CKEN("SSPCLK", SSP1, 13000000, 0, NULL),
156 INIT_CKEN("SSPCLK", SSP2, 13000000, 0, NULL),
157 INIT_CKEN("SSPCLK", SSP3, 13000000, 0, NULL),
158 INIT_CKEN("MSLCLK", MSL, 48000000, 0, NULL), 159 INIT_CKEN("MSLCLK", MSL, 48000000, 0, NULL),
159 INIT_CKEN("USIMCLK", USIM, 48000000, 0, NULL), 160 INIT_CKEN("USIMCLK", USIM, 48000000, 0, NULL),
160 INIT_CKEN("MSTKCLK", MEMSTK, 19500000, 0, NULL), 161 INIT_CKEN("MSTKCLK", MEMSTK, 19500000, 0, NULL),
@@ -431,6 +432,9 @@ static struct platform_device *devices[] __initdata = {
431 &pxa_device_i2s, 432 &pxa_device_i2s,
432 &pxa_device_rtc, 433 &pxa_device_rtc,
433 &pxa27x_device_i2c_power, 434 &pxa27x_device_i2c_power,
435 &pxa27x_device_ssp1,
436 &pxa27x_device_ssp2,
437 &pxa27x_device_ssp3,
434}; 438};
435 439
436static int __init pxa27x_init(void) 440static int __init pxa27x_init(void)
diff --git a/arch/arm/mach-pxa/pxa3xx.c b/arch/arm/mach-pxa/pxa3xx.c
index 37fbc4face09..c0483c3261d0 100644
--- a/arch/arm/mach-pxa/pxa3xx.c
+++ b/arch/arm/mach-pxa/pxa3xx.c
@@ -189,6 +189,11 @@ static struct clk pxa3xx_clks[] = {
189 189
190 PXA3xx_CKEN("I2CCLK", I2C, 32842000, 0, &pxa_device_i2c.dev), 190 PXA3xx_CKEN("I2CCLK", I2C, 32842000, 0, &pxa_device_i2c.dev),
191 PXA3xx_CKEN("UDCCLK", UDC, 48000000, 5, &pxa_device_udc.dev), 191 PXA3xx_CKEN("UDCCLK", UDC, 48000000, 5, &pxa_device_udc.dev),
192
193 PXA3xx_CKEN("SSPCLK", SSP1, 13000000, 0, &pxa27x_device_ssp1.dev),
194 PXA3xx_CKEN("SSPCLK", SSP2, 13000000, 0, &pxa27x_device_ssp2.dev),
195 PXA3xx_CKEN("SSPCLK", SSP3, 13000000, 0, &pxa27x_device_ssp3.dev),
196 PXA3xx_CKEN("SSPCLK", SSP4, 13000000, 0, &pxa3xx_device_ssp4.dev),
192}; 197};
193 198
194void __init pxa3xx_init_irq(void) 199void __init pxa3xx_init_irq(void)
@@ -215,6 +220,10 @@ static struct platform_device *devices[] __initdata = {
215 &pxa_device_stuart, 220 &pxa_device_stuart,
216 &pxa_device_i2s, 221 &pxa_device_i2s,
217 &pxa_device_rtc, 222 &pxa_device_rtc,
223 &pxa27x_device_ssp1,
224 &pxa27x_device_ssp2,
225 &pxa27x_device_ssp3,
226 &pxa3xx_device_ssp4,
218}; 227};
219 228
220static int __init pxa3xx_init(void) 229static int __init pxa3xx_init(void)