aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-mx5/board-mx51_efikasb.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/arm/mach-mx5/board-mx51_efikasb.c')
-rw-r--r--arch/arm/mach-mx5/board-mx51_efikasb.c19
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
58static iomux_v3_cfg_t mx51efikasb_pads[] = { 59static 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
100static int initialize_usbh2_port(struct platform_device *pdev) 103static 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
186static 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
193static struct esdhc_platform_data sd1_pdata = {
194 .cd_type = ESDHC_CD_CONTROLLER,
195 .wp_type = ESDHC_WP_CONTROLLER,
196};
197
183static struct regulator *pwgt1, *pwgt2; 198static struct regulator *pwgt1, *pwgt2;
184 199
185static void mx51_efikasb_power_off(void) 200static 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,
273MACHINE_END 290MACHINE_END