diff options
Diffstat (limited to 'arch/arm/mach-mx5/board-mx51_efikasb.c')
-rw-r--r-- | arch/arm/mach-mx5/board-mx51_efikasb.c | 19 |
1 files changed, 18 insertions, 1 deletions
diff --git a/arch/arm/mach-mx5/board-mx51_efikasb.c b/arch/arm/mach-mx5/board-mx51_efikasb.c index 00f27219515..c26508a6708 100644 --- a/arch/arm/mach-mx5/board-mx51_efikasb.c +++ b/arch/arm/mach-mx5/board-mx51_efikasb.c | |||
@@ -54,6 +54,7 @@ | |||
54 | #define EFIKASB_RFKILL IMX_GPIO_NR(3, 1) | 54 | #define EFIKASB_RFKILL IMX_GPIO_NR(3, 1) |
55 | 55 | ||
56 | #define MX51_PAD_PWRKEY IOMUX_PAD(0x48c, 0x0f8, 1, 0x0, 0, PAD_CTL_PUS_100K_UP | PAD_CTL_PKE) | 56 | #define MX51_PAD_PWRKEY IOMUX_PAD(0x48c, 0x0f8, 1, 0x0, 0, PAD_CTL_PUS_100K_UP | PAD_CTL_PKE) |
57 | #define MX51_PAD_SD1_CD IOMUX_PAD(0x47c, 0x0e8, 1, __NA_, 0, MX51_ESDHC_PAD_CTRL) | ||
57 | 58 | ||
58 | static iomux_v3_cfg_t mx51efikasb_pads[] = { | 59 | static iomux_v3_cfg_t mx51efikasb_pads[] = { |
59 | /* USB HOST2 */ | 60 | /* USB HOST2 */ |
@@ -95,6 +96,8 @@ static iomux_v3_cfg_t mx51efikasb_pads[] = { | |||
95 | 96 | ||
96 | /* BT */ | 97 | /* BT */ |
97 | MX51_PAD_EIM_A17__GPIO2_11, | 98 | MX51_PAD_EIM_A17__GPIO2_11, |
99 | |||
100 | MX51_PAD_SD1_CD, | ||
98 | }; | 101 | }; |
99 | 102 | ||
100 | static int initialize_usbh2_port(struct platform_device *pdev) | 103 | static int initialize_usbh2_port(struct platform_device *pdev) |
@@ -180,6 +183,18 @@ static const struct gpio_keys_platform_data mx51_efikasb_keys_data __initconst = | |||
180 | .nbuttons = ARRAY_SIZE(mx51_efikasb_keys), | 183 | .nbuttons = ARRAY_SIZE(mx51_efikasb_keys), |
181 | }; | 184 | }; |
182 | 185 | ||
186 | static struct esdhc_platform_data sd0_pdata = { | ||
187 | #define EFIKASB_SD1_CD IMX_GPIO_NR(2, 27) | ||
188 | .cd_gpio = EFIKASB_SD1_CD, | ||
189 | .cd_type = ESDHC_CD_GPIO, | ||
190 | .wp_type = ESDHC_WP_CONTROLLER, | ||
191 | }; | ||
192 | |||
193 | static struct esdhc_platform_data sd1_pdata = { | ||
194 | .cd_type = ESDHC_CD_CONTROLLER, | ||
195 | .wp_type = ESDHC_WP_CONTROLLER, | ||
196 | }; | ||
197 | |||
183 | static struct regulator *pwgt1, *pwgt2; | 198 | static struct regulator *pwgt1, *pwgt2; |
184 | 199 | ||
185 | static void mx51_efikasb_power_off(void) | 200 | static void mx51_efikasb_power_off(void) |
@@ -248,7 +263,8 @@ static void __init efikasb_board_init(void) | |||
248 | 263 | ||
249 | mx51_efikasb_board_id(); | 264 | mx51_efikasb_board_id(); |
250 | mx51_efikasb_usb(); | 265 | mx51_efikasb_usb(); |
251 | imx51_add_sdhci_esdhc_imx(1, NULL); | 266 | imx51_add_sdhci_esdhc_imx(0, &sd0_pdata); |
267 | imx51_add_sdhci_esdhc_imx(1, &sd1_pdata); | ||
252 | 268 | ||
253 | gpio_led_register_device(-1, &mx51_efikasb_leds_data); | 269 | gpio_led_register_device(-1, &mx51_efikasb_leds_data); |
254 | imx_add_gpio_keys(&mx51_efikasb_keys_data); | 270 | imx_add_gpio_keys(&mx51_efikasb_keys_data); |
@@ -268,6 +284,7 @@ MACHINE_START(MX51_EFIKASB, "Genesi Efika Smartbook") | |||
268 | .map_io = mx51_map_io, | 284 | .map_io = mx51_map_io, |
269 | .init_early = imx51_init_early, | 285 | .init_early = imx51_init_early, |
270 | .init_irq = mx51_init_irq, | 286 | .init_irq = mx51_init_irq, |
287 | .handle_irq = imx51_handle_irq, | ||
271 | .init_machine = efikasb_board_init, | 288 | .init_machine = efikasb_board_init, |
272 | .timer = &mx51_efikasb_timer, | 289 | .timer = &mx51_efikasb_timer, |
273 | MACHINE_END | 290 | MACHINE_END |