Commit 600ea5cd authored by Arnaud Patard (Rtp)'s avatar Arnaud Patard (Rtp) Committed by Sascha Hauer

efika: Configure esdhc cd/wp on efika mx/sb

Update sdhc support on efika to make use of the latest mmc fixes.
Signed-off-by: default avatarArnaud Patard <arnaud.patard@rtp-net.org>
Signed-off-by: default avatarSascha Hauer <s.hauer@pengutronix.de>
parent 91dcc7f4
...@@ -163,6 +163,11 @@ static const struct gpio_led_platform_data ...@@ -163,6 +163,11 @@ static const struct gpio_led_platform_data
.num_leds = ARRAY_SIZE(mx51_efikamx_leds), .num_leds = ARRAY_SIZE(mx51_efikamx_leds),
}; };
static struct esdhc_platform_data sd_pdata = {
.cd_type = ESDHC_CD_CONTROLLER,
.wp_type = ESDHC_WP_CONTROLLER,
};
static struct gpio_keys_button mx51_efikamx_powerkey[] = { static struct gpio_keys_button mx51_efikamx_powerkey[] = {
{ {
.code = KEY_POWER, .code = KEY_POWER,
...@@ -239,9 +244,11 @@ static void __init mx51_efikamx_init(void) ...@@ -239,9 +244,11 @@ static void __init mx51_efikamx_init(void)
/* on < 1.2 boards both SD controllers are used */ /* on < 1.2 boards both SD controllers are used */
if (system_rev < 0x12) { if (system_rev < 0x12) {
imx51_add_sdhci_esdhc_imx(1, NULL); imx51_add_sdhci_esdhc_imx(0, NULL);
imx51_add_sdhci_esdhc_imx(1, &sd_pdata);
mx51_efikamx_leds[2].default_trigger = "mmc1"; mx51_efikamx_leds[2].default_trigger = "mmc1";
} } else
imx51_add_sdhci_esdhc_imx(0, &sd_pdata);
gpio_led_register_device(-1, &mx51_efikamx_leds_data); gpio_led_register_device(-1, &mx51_efikamx_leds_data);
imx_add_gpio_keys(&mx51_efikamx_powerkey_data); imx_add_gpio_keys(&mx51_efikamx_powerkey_data);
......
...@@ -56,6 +56,7 @@ ...@@ -56,6 +56,7 @@
#define EFIKASB_RFKILL IMX_GPIO_NR(3, 1) #define EFIKASB_RFKILL IMX_GPIO_NR(3, 1)
#define MX51_PAD_PWRKEY IOMUX_PAD(0x48c, 0x0f8, 1, 0x0, 0, PAD_CTL_PUS_100K_UP | PAD_CTL_PKE) #define MX51_PAD_PWRKEY IOMUX_PAD(0x48c, 0x0f8, 1, 0x0, 0, PAD_CTL_PUS_100K_UP | PAD_CTL_PKE)
#define MX51_PAD_SD1_CD IOMUX_PAD(0x47c, 0x0e8, 1, __NA_, 0, MX51_ESDHC_PAD_CTRL)
static iomux_v3_cfg_t mx51efikasb_pads[] = { static iomux_v3_cfg_t mx51efikasb_pads[] = {
/* USB HOST2 */ /* USB HOST2 */
...@@ -97,6 +98,8 @@ static iomux_v3_cfg_t mx51efikasb_pads[] = { ...@@ -97,6 +98,8 @@ static iomux_v3_cfg_t mx51efikasb_pads[] = {
/* BT */ /* BT */
MX51_PAD_EIM_A17__GPIO2_11, MX51_PAD_EIM_A17__GPIO2_11,
MX51_PAD_SD1_CD,
}; };
static int initialize_usbh2_port(struct platform_device *pdev) static int initialize_usbh2_port(struct platform_device *pdev)
...@@ -182,6 +185,18 @@ static const struct gpio_keys_platform_data mx51_efikasb_keys_data __initconst = ...@@ -182,6 +185,18 @@ static const struct gpio_keys_platform_data mx51_efikasb_keys_data __initconst =
.nbuttons = ARRAY_SIZE(mx51_efikasb_keys), .nbuttons = ARRAY_SIZE(mx51_efikasb_keys),
}; };
static struct esdhc_platform_data sd0_pdata = {
#define EFIKASB_SD1_CD IMX_GPIO_NR(2, 27)
.cd_gpio = EFIKASB_SD1_CD,
.cd_type = ESDHC_CD_GPIO,
.wp_type = ESDHC_WP_CONTROLLER,
};
static struct esdhc_platform_data sd1_pdata = {
.cd_type = ESDHC_CD_CONTROLLER,
.wp_type = ESDHC_WP_CONTROLLER,
};
static struct regulator *pwgt1, *pwgt2; static struct regulator *pwgt1, *pwgt2;
static void mx51_efikasb_power_off(void) static void mx51_efikasb_power_off(void)
...@@ -250,7 +265,8 @@ static void __init efikasb_board_init(void) ...@@ -250,7 +265,8 @@ static void __init efikasb_board_init(void)
mx51_efikasb_board_id(); mx51_efikasb_board_id();
mx51_efikasb_usb(); mx51_efikasb_usb();
imx51_add_sdhci_esdhc_imx(1, NULL); imx51_add_sdhci_esdhc_imx(0, &sd0_pdata);
imx51_add_sdhci_esdhc_imx(1, &sd1_pdata);
gpio_led_register_device(-1, &mx51_efikasb_leds_data); gpio_led_register_device(-1, &mx51_efikasb_leds_data);
imx_add_gpio_keys(&mx51_efikasb_keys_data); imx_add_gpio_keys(&mx51_efikasb_keys_data);
......
...@@ -609,7 +609,6 @@ void __init efika_board_common_init(void) ...@@ -609,7 +609,6 @@ void __init efika_board_common_init(void)
ARRAY_SIZE(mx51efika_pads)); ARRAY_SIZE(mx51efika_pads));
imx51_add_imx_uart(0, &uart_pdata); imx51_add_imx_uart(0, &uart_pdata);
mx51_efika_usb(); mx51_efika_usb();
imx51_add_sdhci_esdhc_imx(0, NULL);
/* FIXME: comes from original code. check this. */ /* FIXME: comes from original code. check this. */
if (mx51_revision() < IMX_CHIP_REVISION_2_0) if (mx51_revision() < IMX_CHIP_REVISION_2_0)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment