Patchwork [1/1] efika: Configure esdhc cd/wp on efika mx/sb

login
register
mail settings
Submitter Arnaud Patard (Rtp)
Date Aug. 25, 2011, 2:37 p.m.
Message ID <20110825143806.625158261@rtp-net.org>
Download mbox | patch
Permalink /patch/111580/
State New
Headers show

Comments

Arnaud Patard (Rtp) - Aug. 25, 2011, 2:37 p.m.
Update sdhc support on efika to make use of the latest mmc fixes.


Signed-off-by: Arnaud Patard <arnaud.patard@rtp-net.org>
Sascha Hauer - Aug. 25, 2011, 3:02 p.m.
Hi Arnaud,

On Thu, Aug 25, 2011 at 04:37:57PM +0200, Arnaud Patard wrote:
> Update sdhc support on efika to make use of the latest mmc fixes.
> 
> 
> Signed-off-by: Arnaud Patard <arnaud.patard@rtp-net.org>
> @@ -451,7 +465,8 @@ static void __init efikasb_board_init(vo
>  
>  	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);
>  	mx51_efikasb_display();
        ^^^^^^^^^^^^^^^^^^^

Looks good, but please rebase this onto a mainline kernel.

>  	platform_device_register(&mx51_efikasb_rfkill_device);
>  
> Index: linux-2.6-submit/arch/arm/mach-mx5/mx51_efika.c
> ===================================================================
> --- linux-2.6-submit.orig/arch/arm/mach-mx5/mx51_efika.c	2011-06-20 20:36:15.000000000 +0200
> +++ linux-2.6-submit/arch/arm/mach-mx5/mx51_efika.c	2011-06-21 01:13:07.000000000 +0200
> @@ -704,7 +704,6 @@ void __init efika_board_common_init(void
>  	mx51_efika_usb();
>  	imx51_add_imx2_wdt(0, NULL);
>  	mx51_efika_i2c();
> -	imx51_add_sdhci_esdhc_imx(0, NULL);
>  
>  	/* FIXME: comes from original code. check this. */
>  	if (mx51_revision() < IMX_CHIP_REVISION_2_0)
> 
> 
>
Arnaud Patard (Rtp) - Aug. 26, 2011, 12:47 p.m.
Sascha Hauer <s.hauer@pengutronix.de> writes:

> Hi Arnaud,

Hi,
>
> On Thu, Aug 25, 2011 at 04:37:57PM +0200, Arnaud Patard wrote:
>> Update sdhc support on efika to make use of the latest mmc fixes.
>> 
>> 
>> Signed-off-by: Arnaud Patard <arnaud.patard@rtp-net.org>
>> @@ -451,7 +465,8 @@ static void __init efikasb_board_init(vo
>>  
>>  	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);
>>  	mx51_efikasb_display();
>         ^^^^^^^^^^^^^^^^^^^
>
> Looks good, but please rebase this onto a mainline kernel.

oops, sorry. You'll receive a new version very soon.

Arnaud

Patch

Index: linux-2.6-submit/arch/arm/mach-mx5/board-mx51_efikamx.c
===================================================================
--- linux-2.6-submit.orig/arch/arm/mach-mx5/board-mx51_efikamx.c	2011-06-20 20:37:40.000000000 +0200
+++ linux-2.6-submit/arch/arm/mach-mx5/board-mx51_efikamx.c	2011-06-21 01:13:10.000000000 +0200
@@ -163,6 +163,11 @@  static const struct gpio_led_platform_da
 	.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(voi
 
 	/* 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);
Index: linux-2.6-submit/arch/arm/mach-mx5/board-mx51_efikasb.c
===================================================================
--- linux-2.6-submit.orig/arch/arm/mach-mx5/board-mx51_efikasb.c	2011-06-20 20:43:49.000000000 +0200
+++ linux-2.6-submit/arch/arm/mach-mx5/board-mx51_efikasb.c	2011-06-21 00:04:03.000000000 +0200
@@ -147,6 +147,8 @@  static iomux_v3_cfg_t mx51efikasb_pads[]
 	MX51_PAD_DISPB2_SER_DIO__GPIO3_6,
 	/* ac in */
 	EFIKASB_AC_IN,
+
+	_MX51_PAD_EIM_CS2__GPIO2_27 | MUX_PAD_CTRL(MX51_ESDHC_PAD_CTRL),
 };
 
 static int initialize_usbh2_port(struct platform_device *pdev)
@@ -233,6 +235,18 @@  static const struct gpio_keys_platform_d
 	.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 mtl017_pdata mx51_efikasb_mtl017 = {
 	.disp_i2c_bus_id = 1,
 	.lvds_reset_gpio = EFIKASB_LVDS_RESET,
@@ -451,7 +465,8 @@  static void __init efikasb_board_init(vo
 
 	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);
 	mx51_efikasb_display();
 	platform_device_register(&mx51_efikasb_rfkill_device);
 
Index: linux-2.6-submit/arch/arm/mach-mx5/mx51_efika.c
===================================================================
--- linux-2.6-submit.orig/arch/arm/mach-mx5/mx51_efika.c	2011-06-20 20:36:15.000000000 +0200
+++ linux-2.6-submit/arch/arm/mach-mx5/mx51_efika.c	2011-06-21 01:13:07.000000000 +0200
@@ -704,7 +704,6 @@  void __init efika_board_common_init(void
 	mx51_efika_usb();
 	imx51_add_imx2_wdt(0, NULL);
 	mx51_efika_i2c();
-	imx51_add_sdhci_esdhc_imx(0, NULL);
 
 	/* FIXME: comes from original code. check this. */
 	if (mx51_revision() < IMX_CHIP_REVISION_2_0)