diff options
Diffstat (limited to 'arch/arm/mach-imx/mach-imx27_visstrim_m10.c')
-rw-r--r-- | arch/arm/mach-imx/mach-imx27_visstrim_m10.c | 32 |
1 files changed, 25 insertions, 7 deletions
diff --git a/arch/arm/mach-imx/mach-imx27_visstrim_m10.c b/arch/arm/mach-imx/mach-imx27_visstrim_m10.c index 40a3666ea632..d7e0d219726a 100644 --- a/arch/arm/mach-imx/mach-imx27_visstrim_m10.c +++ b/arch/arm/mach-imx/mach-imx27_visstrim_m10.c | |||
@@ -30,6 +30,7 @@ | |||
30 | #include <linux/gpio_keys.h> | 30 | #include <linux/gpio_keys.h> |
31 | #include <linux/input.h> | 31 | #include <linux/input.h> |
32 | #include <linux/gpio.h> | 32 | #include <linux/gpio.h> |
33 | #include <linux/delay.h> | ||
33 | #include <asm/mach-types.h> | 34 | #include <asm/mach-types.h> |
34 | #include <asm/mach/arch.h> | 35 | #include <asm/mach/arch.h> |
35 | #include <asm/mach/time.h> | 36 | #include <asm/mach/time.h> |
@@ -66,6 +67,11 @@ static const int visstrim_m10_pins[] __initconst = { | |||
66 | PD15_AOUT_FEC_COL, | 67 | PD15_AOUT_FEC_COL, |
67 | PD16_AIN_FEC_TX_ER, | 68 | PD16_AIN_FEC_TX_ER, |
68 | PF23_AIN_FEC_TX_EN, | 69 | PF23_AIN_FEC_TX_EN, |
70 | /* SSI1 */ | ||
71 | PC20_PF_SSI1_FS, | ||
72 | PC21_PF_SSI1_RXD, | ||
73 | PC22_PF_SSI1_TXD, | ||
74 | PC23_PF_SSI1_CLK, | ||
69 | /* SDHC1 */ | 75 | /* SDHC1 */ |
70 | PE18_PF_SD1_D0, | 76 | PE18_PF_SD1_D0, |
71 | PE19_PF_SD1_D1, | 77 | PE19_PF_SD1_D1, |
@@ -204,20 +210,30 @@ static struct i2c_board_info visstrim_m10_i2c_devices[] = { | |||
204 | I2C_BOARD_INFO("pca9555", 0x20), | 210 | I2C_BOARD_INFO("pca9555", 0x20), |
205 | .platform_data = &visstrim_m10_pca9555_pdata, | 211 | .platform_data = &visstrim_m10_pca9555_pdata, |
206 | }, | 212 | }, |
213 | { | ||
214 | I2C_BOARD_INFO("tlv320aic32x4", 0x18), | ||
215 | } | ||
207 | }; | 216 | }; |
208 | 217 | ||
209 | /* USB OTG */ | 218 | /* USB OTG */ |
210 | static int otg_phy_init(struct platform_device *pdev) | 219 | static int otg_phy_init(struct platform_device *pdev) |
211 | { | 220 | { |
212 | gpio_set_value(OTG_PHY_CS_GPIO, 0); | 221 | gpio_set_value(OTG_PHY_CS_GPIO, 0); |
213 | return 0; | 222 | |
223 | mdelay(10); | ||
224 | |||
225 | return mx27_initialize_usb_hw(pdev->id, MXC_EHCI_POWER_PINS_ENABLED); | ||
214 | } | 226 | } |
215 | 227 | ||
216 | static const struct mxc_usbh_platform_data | 228 | static const struct mxc_usbh_platform_data |
217 | visstrim_m10_usbotg_pdata __initconst = { | 229 | visstrim_m10_usbotg_pdata __initconst = { |
218 | .init = otg_phy_init, | 230 | .init = otg_phy_init, |
219 | .portsc = MXC_EHCI_MODE_ULPI | MXC_EHCI_UTMI_8BIT, | 231 | .portsc = MXC_EHCI_MODE_ULPI | MXC_EHCI_UTMI_8BIT, |
220 | .flags = MXC_EHCI_POWER_PINS_ENABLED, | 232 | }; |
233 | |||
234 | /* SSI */ | ||
235 | static const struct imx_ssi_platform_data visstrim_m10_ssi_pdata __initconst = { | ||
236 | .flags = IMX_SSI_DMA | IMX_SSI_SYN, | ||
221 | }; | 237 | }; |
222 | 238 | ||
223 | static void __init visstrim_m10_board_init(void) | 239 | static void __init visstrim_m10_board_init(void) |
@@ -229,6 +245,7 @@ static void __init visstrim_m10_board_init(void) | |||
229 | if (ret) | 245 | if (ret) |
230 | pr_err("Failed to setup pins (%d)\n", ret); | 246 | pr_err("Failed to setup pins (%d)\n", ret); |
231 | 247 | ||
248 | imx27_add_imx_ssi(0, &visstrim_m10_ssi_pdata); | ||
232 | imx27_add_imx_uart0(&uart_pdata); | 249 | imx27_add_imx_uart0(&uart_pdata); |
233 | 250 | ||
234 | i2c_register_board_info(0, visstrim_m10_i2c_devices, | 251 | i2c_register_board_info(0, visstrim_m10_i2c_devices, |
@@ -251,9 +268,10 @@ static struct sys_timer visstrim_m10_timer = { | |||
251 | }; | 268 | }; |
252 | 269 | ||
253 | MACHINE_START(IMX27_VISSTRIM_M10, "Vista Silicon Visstrim_M10") | 270 | MACHINE_START(IMX27_VISSTRIM_M10, "Vista Silicon Visstrim_M10") |
254 | .boot_params = MX27_PHYS_OFFSET + 0x100, | 271 | .boot_params = MX27_PHYS_OFFSET + 0x100, |
255 | .map_io = mx27_map_io, | 272 | .map_io = mx27_map_io, |
256 | .init_irq = mx27_init_irq, | 273 | .init_early = imx27_init_early, |
257 | .init_machine = visstrim_m10_board_init, | 274 | .init_irq = mx27_init_irq, |
258 | .timer = &visstrim_m10_timer, | 275 | .timer = &visstrim_m10_timer, |
276 | .init_machine = visstrim_m10_board_init, | ||
259 | MACHINE_END | 277 | MACHINE_END |