aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm
diff options
context:
space:
mode:
authorSascha Hauer <s.hauer@pengutronix.de>2010-08-20 10:43:54 -0400
committerSascha Hauer <s.hauer@pengutronix.de>2010-10-01 03:33:00 -0400
commitb86186610f639344a7db54da89267f645afc30ec (patch)
treec52f7f316ac08daf4ea81262dd36af1427940093 /arch/arm
parent04b73b1571c26d491c62c42cb06b96bf482fa7a2 (diff)
ARM: mx51: add imx-ssi devices
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'arch/arm')
-rw-r--r--arch/arm/mach-mx5/clock-mx51.c12
-rw-r--r--arch/arm/mach-mx5/devices-imx51.h4
-rw-r--r--arch/arm/plat-mxc/devices/platform-imx-ssi.c9
-rw-r--r--arch/arm/plat-mxc/include/mach/mx51.h20
4 files changed, 35 insertions, 10 deletions
diff --git a/arch/arm/mach-mx5/clock-mx51.c b/arch/arm/mach-mx5/clock-mx51.c
index 0cef8c4f84ba..5c7901180c8e 100644
--- a/arch/arm/mach-mx5/clock-mx51.c
+++ b/arch/arm/mach-mx5/clock-mx51.c
@@ -949,6 +949,16 @@ DEFINE_CLOCK(fec_clk, 0, MXC_CCM_CCGR2, MXC_CCM_CCGRx_CG12_OFFSET,
949DEFINE_CLOCK1(nfc_clk, 0, MXC_CCM_CCGR5, MXC_CCM_CCGRx_CG10_OFFSET, 949DEFINE_CLOCK1(nfc_clk, 0, MXC_CCM_CCGR5, MXC_CCM_CCGRx_CG10_OFFSET,
950 clk_nfc, &emi_slow_clk, NULL); 950 clk_nfc, &emi_slow_clk, NULL);
951 951
952/* SSI */
953DEFINE_CLOCK(ssi1_ipg_clk, 0, MXC_CCM_CCGR3, MXC_CCM_CCGRx_CG8_OFFSET,
954 NULL, NULL, &ipg_clk, NULL);
955DEFINE_CLOCK(ssi1_clk, 0, MXC_CCM_CCGR3, MXC_CCM_CCGRx_CG9_OFFSET,
956 NULL, NULL, &pll3_sw_clk, &ssi1_ipg_clk);
957DEFINE_CLOCK(ssi2_ipg_clk, 1, MXC_CCM_CCGR3, MXC_CCM_CCGRx_CG10_OFFSET,
958 NULL, NULL, &ipg_clk, NULL);
959DEFINE_CLOCK(ssi2_clk, 1, MXC_CCM_CCGR3, MXC_CCM_CCGRx_CG11_OFFSET,
960 NULL, NULL, &pll3_sw_clk, &ssi2_ipg_clk);
961
952/* eCSPI */ 962/* eCSPI */
953DEFINE_CLOCK_FULL(ecspi1_ipg_clk, 0, MXC_CCM_CCGR4, MXC_CCM_CCGRx_CG9_OFFSET, 963DEFINE_CLOCK_FULL(ecspi1_ipg_clk, 0, MXC_CCM_CCGR4, MXC_CCM_CCGRx_CG9_OFFSET,
954 NULL, NULL, _clk_ccgr_enable_inrun, _clk_ccgr_disable, 964 NULL, NULL, _clk_ccgr_enable_inrun, _clk_ccgr_disable,
@@ -991,6 +1001,8 @@ static struct clk_lookup lookups[] = {
991 _REGISTER_CLOCK("fsl-usb2-udc", "usb_ahb", ahb_clk) 1001 _REGISTER_CLOCK("fsl-usb2-udc", "usb_ahb", ahb_clk)
992 _REGISTER_CLOCK("imx-keypad.0", NULL, kpp_clk) 1002 _REGISTER_CLOCK("imx-keypad.0", NULL, kpp_clk)
993 _REGISTER_CLOCK("mxc_nand", NULL, nfc_clk) 1003 _REGISTER_CLOCK("mxc_nand", NULL, nfc_clk)
1004 _REGISTER_CLOCK("imx-ssi.0", NULL, ssi1_clk)
1005 _REGISTER_CLOCK("imx-ssi.1", NULL, ssi2_clk)
994 _REGISTER_CLOCK("imx51-ecspi.0", NULL, ecspi1_clk) 1006 _REGISTER_CLOCK("imx51-ecspi.0", NULL, ecspi1_clk)
995 _REGISTER_CLOCK("imx51-ecspi.1", NULL, ecspi2_clk) 1007 _REGISTER_CLOCK("imx51-ecspi.1", NULL, ecspi2_clk)
996 _REGISTER_CLOCK("imx51-cspi.0", NULL, cspi_clk) 1008 _REGISTER_CLOCK("imx51-cspi.0", NULL, cspi_clk)
diff --git a/arch/arm/mach-mx5/devices-imx51.h b/arch/arm/mach-mx5/devices-imx51.h
index 8235b8c6729b..782b45bd916b 100644
--- a/arch/arm/mach-mx5/devices-imx51.h
+++ b/arch/arm/mach-mx5/devices-imx51.h
@@ -13,6 +13,10 @@ extern const struct imx_imx_i2c_data imx51_imx_i2c_data[] __initconst;
13#define imx51_add_imx_i2c(id, pdata) \ 13#define imx51_add_imx_i2c(id, pdata) \
14 imx_add_imx_i2c(&imx51_imx_i2c_data[id], pdata) 14 imx_add_imx_i2c(&imx51_imx_i2c_data[id], pdata)
15 15
16extern const struct imx_imx_ssi_data imx51_imx_ssi_data[] __initconst;
17#define imx51_add_imx_ssi(id, pdata) \
18 imx_add_imx_ssi(&imx51_imx_ssi_data[id], pdata)
19
16extern const struct imx_imx_uart_1irq_data imx51_imx_uart_data[] __initconst; 20extern const struct imx_imx_uart_1irq_data imx51_imx_uart_data[] __initconst;
17#define imx51_add_imx_uart(id, pdata) \ 21#define imx51_add_imx_uart(id, pdata) \
18 imx_add_imx_uart_1irq(&imx51_imx_uart_data[id], pdata) 22 imx_add_imx_uart_1irq(&imx51_imx_uart_data[id], pdata)
diff --git a/arch/arm/plat-mxc/devices/platform-imx-ssi.c b/arch/arm/plat-mxc/devices/platform-imx-ssi.c
index 1535bc9f0601..38a7a0b8f2f1 100644
--- a/arch/arm/plat-mxc/devices/platform-imx-ssi.c
+++ b/arch/arm/plat-mxc/devices/platform-imx-ssi.c
@@ -66,6 +66,15 @@ const struct imx_imx_ssi_data imx35_imx_ssi_data[] __initconst = {
66}; 66};
67#endif /* ifdef CONFIG_ARCH_MX35 */ 67#endif /* ifdef CONFIG_ARCH_MX35 */
68 68
69#ifdef CONFIG_ARCH_MX51
70const struct imx_imx_ssi_data imx51_imx_ssi_data[] __initconst = {
71#define imx51_imx_ssi_data_entry(_id, _hwid) \
72 imx_imx_ssi_data_entry(MX51, _id, _hwid, SZ_4K)
73 imx51_imx_ssi_data_entry(0, 1),
74 imx51_imx_ssi_data_entry(1, 2),
75};
76#endif /* ifdef CONFIG_ARCH_MX51 */
77
69struct platform_device *__init imx_add_imx_ssi( 78struct platform_device *__init imx_add_imx_ssi(
70 const struct imx_imx_ssi_data *data, 79 const struct imx_imx_ssi_data *data,
71 const struct imx_ssi_platform_data *pdata) 80 const struct imx_ssi_platform_data *pdata)
diff --git a/arch/arm/plat-mxc/include/mach/mx51.h b/arch/arm/plat-mxc/include/mach/mx51.h
index b7359d7d54e2..b47d65b1c112 100644
--- a/arch/arm/plat-mxc/include/mach/mx51.h
+++ b/arch/arm/plat-mxc/include/mach/mx51.h
@@ -248,14 +248,14 @@
248#define MX51_DMA_REQ_UART1_TX 19 248#define MX51_DMA_REQ_UART1_TX 19
249#define MX51_DMA_REQ_SDHC1 20 249#define MX51_DMA_REQ_SDHC1 20
250#define MX51_DMA_REQ_SDHC2 21 250#define MX51_DMA_REQ_SDHC2 21
251#define MX51_DMA_REQ_SSI2_RX2 22 251#define MX51_DMA_REQ_SSI2_RX1 22
252#define MX51_DMA_REQ_SSI2_TX2 23 252#define MX51_DMA_REQ_SSI2_TX1 23
253#define MX51_DMA_REQ_SSI2_RX1 24 253#define MX51_DMA_REQ_SSI2_RX0 24
254#define MX51_DMA_REQ_SSI2_TX1 25 254#define MX51_DMA_REQ_SSI2_TX0 25
255#define MX51_DMA_REQ_SSI1_RX2 26 255#define MX51_DMA_REQ_SSI1_RX1 26
256#define MX51_DMA_REQ_SSI1_TX2 27 256#define MX51_DMA_REQ_SSI1_TX1 27
257#define MX51_DMA_REQ_SSI1_RX1 28 257#define MX51_DMA_REQ_SSI1_RX0 28
258#define MX51_DMA_REQ_SSI1_TX1 29 258#define MX51_DMA_REQ_SSI1_TX0 29
259#define MX51_DMA_REQ_EMI_RD 30 259#define MX51_DMA_REQ_EMI_RD 30
260#define MX51_DMA_REQ_CTI2_0 31 260#define MX51_DMA_REQ_CTI2_0 31
261#define MX51_DMA_REQ_EMI_WR 32 261#define MX51_DMA_REQ_EMI_WR 32
@@ -308,8 +308,8 @@
308#define MX51_MXC_INT_RTIC 26 308#define MX51_MXC_INT_RTIC 26
309#define MX51_MXC_INT_CSU 27 309#define MX51_MXC_INT_CSU 27
310#define MX51_MXC_INT_SLIM_B 28 310#define MX51_MXC_INT_SLIM_B 28
311#define MX51_MXC_INT_SSI1 29 311#define MX51_INT_SSI1 29
312#define MX51_MXC_INT_SSI2 30 312#define MX51_INT_SSI2 30
313#define MX51_INT_UART1 31 313#define MX51_INT_UART1 31
314#define MX51_INT_UART2 32 314#define MX51_INT_UART2 32
315#define MX51_INT_UART3 33 315#define MX51_INT_UART3 33