Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 600ea5cd authored by Arnaud Patard's avatar Arnaud Patard Committed by Sascha Hauer
Browse files

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
Loading
Loading
Loading
Loading
+9 −2
Original line number Diff line number Diff line
@@ -163,6 +163,11 @@ static const struct gpio_led_platform_data
	.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[] = {
	{
		.code = KEY_POWER,
@@ -239,9 +244,11 @@ static void __init mx51_efikamx_init(void)

	/* on < 1.2 boards both SD controllers are used */
	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";
	}
	} else
		imx51_add_sdhci_esdhc_imx(0, &sd_pdata);

	gpio_led_register_device(-1, &mx51_efikamx_leds_data);
	imx_add_gpio_keys(&mx51_efikamx_powerkey_data);
+17 −1
Original line number Diff line number Diff line
@@ -56,6 +56,7 @@
#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_SD1_CD	IOMUX_PAD(0x47c, 0x0e8, 1, __NA_, 0, MX51_ESDHC_PAD_CTRL)

static iomux_v3_cfg_t mx51efikasb_pads[] = {
	/* USB HOST2 */
@@ -97,6 +98,8 @@ static iomux_v3_cfg_t mx51efikasb_pads[] = {

	/* BT */
	MX51_PAD_EIM_A17__GPIO2_11,

	MX51_PAD_SD1_CD,
};

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 =
	.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 void mx51_efikasb_power_off(void)
@@ -250,7 +265,8 @@ static void __init efikasb_board_init(void)

	mx51_efikasb_board_id();
	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);
	imx_add_gpio_keys(&mx51_efikasb_keys_data);
+0 −1
Original line number Diff line number Diff line
@@ -609,7 +609,6 @@ void __init efika_board_common_init(void)
					ARRAY_SIZE(mx51efika_pads));
	imx51_add_imx_uart(0, &uart_pdata);
	mx51_efika_usb();
	imx51_add_sdhci_esdhc_imx(0, NULL);

	/* FIXME: comes from original code. check this. */
	if (mx51_revision() < IMX_CHIP_REVISION_2_0)