[ARM] pxa: add ssp devices and clk support for pxa25x/pxa27x/pxa3xx
authoreric miao <eric.miao@marvell.com>
Mon, 10 Dec 2007 09:54:36 +0000 (17:54 +0800)
committerRussell King <rmk+kernel@arm.linux.org.uk>
Sat, 26 Jan 2008 15:07:51 +0000 (15:07 +0000)
Signed-off-by: eric miao <eric.miao@marvell.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
arch/arm/mach-pxa/pxa25x.c
arch/arm/mach-pxa/pxa27x.c
arch/arm/mach-pxa/pxa3xx.c

index d9ee0d9..c6ea0ed 100644 (file)
@@ -120,12 +120,15 @@ static struct clk pxa25x_clks[] = {
        INIT_CKEN("UDCCLK", USB, 47923000, 5, &pxa_device_udc.dev),
        INIT_CKEN("MMCCLK", MMC, 19169000, 0, &pxa_device_mci.dev),
        INIT_CKEN("I2CCLK", I2C, 31949000, 0, &pxa_device_i2c.dev),
+
+       INIT_CKEN("SSPCLK",  SSP, 3686400, 0, &pxa25x_device_ssp.dev),
+       INIT_CKEN("SSPCLK", NSSP, 3686400, 0, &pxa25x_device_nssp.dev),
+       INIT_CKEN("SSPCLK", ASSP, 3686400, 0, &pxa25x_device_assp.dev),
+
        /*
        INIT_CKEN("PWMCLK",  PWM0, 3686400,  0, NULL),
        INIT_CKEN("PWMCLK",  PWM0, 3686400,  0, NULL),
-       INIT_CKEN("SSPCLK",  SSP,  3686400,  0, NULL),
        INIT_CKEN("I2SCLK",  I2S,  14745600, 0, NULL),
-       INIT_CKEN("NSSPCLK", NSSP, 3686400,  0, NULL),
        */
        INIT_CKEN("FICPCLK", FICP, 47923000, 0, NULL),
 };
@@ -293,6 +296,9 @@ static struct platform_device *pxa25x_devices[] __initdata = {
        &pxa_device_stuart,
        &pxa_device_i2s,
        &pxa_device_rtc,
+       &pxa25x_device_ssp,
+       &pxa25x_device_nssp,
+       &pxa25x_device_assp,
 };
 
 static int __init pxa25x_init(void)
index e7151db..12dd2b0 100644 (file)
@@ -150,11 +150,12 @@ static struct clk pxa27x_clks[] = {
        INIT_CKEN("I2CCLK", PWRI2C, 13000000, 0, &pxa27x_device_i2c_power.dev),
        INIT_CKEN("KBDCLK", KEYPAD, 32768, 0, NULL),
 
+       INIT_CKEN("SSPCLK", SSP1, 13000000, 0, &pxa27x_device_ssp1.dev),
+       INIT_CKEN("SSPCLK", SSP2, 13000000, 0, &pxa27x_device_ssp2.dev),
+       INIT_CKEN("SSPCLK", SSP3, 13000000, 0, &pxa27x_device_ssp3.dev),
+
        /*
        INIT_CKEN("PWMCLK",  PWM0, 13000000, 0, NULL),
-       INIT_CKEN("SSPCLK",  SSP1, 13000000, 0, NULL),
-       INIT_CKEN("SSPCLK",  SSP2, 13000000, 0, NULL),
-       INIT_CKEN("SSPCLK",  SSP3, 13000000, 0, NULL),
        INIT_CKEN("MSLCLK",  MSL,  48000000, 0, NULL),
        INIT_CKEN("USIMCLK", USIM, 48000000, 0, NULL),
        INIT_CKEN("MSTKCLK", MEMSTK, 19500000, 0, NULL),
@@ -431,6 +432,9 @@ static struct platform_device *devices[] __initdata = {
        &pxa_device_i2s,
        &pxa_device_rtc,
        &pxa27x_device_i2c_power,
+       &pxa27x_device_ssp1,
+       &pxa27x_device_ssp2,
+       &pxa27x_device_ssp3,
 };
 
 static int __init pxa27x_init(void)
index 37fbc4f..c0483c3 100644 (file)
@@ -189,6 +189,11 @@ static struct clk pxa3xx_clks[] = {
 
        PXA3xx_CKEN("I2CCLK", I2C,  32842000, 0, &pxa_device_i2c.dev),
        PXA3xx_CKEN("UDCCLK", UDC,  48000000, 5, &pxa_device_udc.dev),
+
+       PXA3xx_CKEN("SSPCLK", SSP1, 13000000, 0, &pxa27x_device_ssp1.dev),
+       PXA3xx_CKEN("SSPCLK", SSP2, 13000000, 0, &pxa27x_device_ssp2.dev),
+       PXA3xx_CKEN("SSPCLK", SSP3, 13000000, 0, &pxa27x_device_ssp3.dev),
+       PXA3xx_CKEN("SSPCLK", SSP4, 13000000, 0, &pxa3xx_device_ssp4.dev),
 };
 
 void __init pxa3xx_init_irq(void)
@@ -215,6 +220,10 @@ static struct platform_device *devices[] __initdata = {
        &pxa_device_stuart,
        &pxa_device_i2s,
        &pxa_device_rtc,
+       &pxa27x_device_ssp1,
+       &pxa27x_device_ssp2,
+       &pxa27x_device_ssp3,
+       &pxa3xx_device_ssp4,
 };
 
 static int __init pxa3xx_init(void)