diff options
author | Sascha Hauer <s.hauer@pengutronix.de> | 2010-08-20 10:43:54 -0400 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2010-10-01 03:33:00 -0400 |
commit | b86186610f639344a7db54da89267f645afc30ec (patch) | |
tree | c52f7f316ac08daf4ea81262dd36af1427940093 /arch/arm | |
parent | 04b73b1571c26d491c62c42cb06b96bf482fa7a2 (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.c | 12 | ||||
-rw-r--r-- | arch/arm/mach-mx5/devices-imx51.h | 4 | ||||
-rw-r--r-- | arch/arm/plat-mxc/devices/platform-imx-ssi.c | 9 | ||||
-rw-r--r-- | arch/arm/plat-mxc/include/mach/mx51.h | 20 |
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, | |||
949 | DEFINE_CLOCK1(nfc_clk, 0, MXC_CCM_CCGR5, MXC_CCM_CCGRx_CG10_OFFSET, | 949 | DEFINE_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 */ | ||
953 | DEFINE_CLOCK(ssi1_ipg_clk, 0, MXC_CCM_CCGR3, MXC_CCM_CCGRx_CG8_OFFSET, | ||
954 | NULL, NULL, &ipg_clk, NULL); | ||
955 | DEFINE_CLOCK(ssi1_clk, 0, MXC_CCM_CCGR3, MXC_CCM_CCGRx_CG9_OFFSET, | ||
956 | NULL, NULL, &pll3_sw_clk, &ssi1_ipg_clk); | ||
957 | DEFINE_CLOCK(ssi2_ipg_clk, 1, MXC_CCM_CCGR3, MXC_CCM_CCGRx_CG10_OFFSET, | ||
958 | NULL, NULL, &ipg_clk, NULL); | ||
959 | DEFINE_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 */ |
953 | DEFINE_CLOCK_FULL(ecspi1_ipg_clk, 0, MXC_CCM_CCGR4, MXC_CCM_CCGRx_CG9_OFFSET, | 963 | DEFINE_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 | ||
16 | extern 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 | |||
16 | extern const struct imx_imx_uart_1irq_data imx51_imx_uart_data[] __initconst; | 20 | extern 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 | ||
70 | const 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 | |||
69 | struct platform_device *__init imx_add_imx_ssi( | 78 | struct 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 |