linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
* eMMC 4.51
@ 2013-10-09  2:00 John Tobias
  2013-10-09  3:49 ` Shawn Guo
       [not found] ` <CA+6rjLzLhA-zzTqWuzFCMXa1v9CgS-O+Rrnqsfpw9=UY_1vuMA@mail.gmail.com>
  0 siblings, 2 replies; 10+ messages in thread
From: John Tobias @ 2013-10-09  2:00 UTC (permalink / raw)
  To: linux-arm-kernel

Hello,

I am using git://gitorious.org/thierryreding/linux-next.git to boot my
custom board based on iMX6 sololite. My board has SanDisk iNAND 4.51
I/F and wifi module (Marvel SD8797). The latest update of
sdhci-esdhc-imx.c supports DDR50/SDR50/SDR104 and I would like to use
it for my device.

In my .dts file, I have the following settings:

/* WIFI module */
&usdhc2 {
pinctrl-names = "default", "state_100mhz", "state_200mhz";
pinctrl-0 = <&pinctrl_usdhc2_2_default>;
pinctrl-1 = <&pinctrl_usdhc2_3_100mhz>;
pinctrl-2 = <&pinctrl_usdhc2_4_200mhz>;
bus-width = <4>;
status = "okay";
};

/* eMMC module  */
&usdhc4 {
pinctrl-names = "default", "state_100mhz", "state_200mhz";
pinctrl-0 = <&pinctrl_usdhc4_2_default>;
pinctrl-1 = <&pinctrl_usdhc4_3_100mhz>;
pinctrl-2 = <&pinctrl_usdhc4_4_200mhz>;
bus-width = <8>;
status = "okay";
compatible = "fsl,imx6sl-usdhc", "fsl,imx6q-usdhc";
reg = <0x0219c000 0x4000>;
};

Then, in my .dtsi file:

usdhc2 {
/*WIFI pinmux */
pinctrl_usdhc2_2_default: default {
fsl,pins = <
EVT1_PAD_SD2_CMD__SD2_CMD     0x17039
EVT1_PAD_SD2_CLK__SD2_CLK     0x17039
EVT1_PAD_SD2_DATA0__SD2_DATA0 0x17039
EVT1_PAD_SD2_DATA1__SD2_DATA1 0x17039
EVT1_PAD_SD2_DATA2__SD2_DATA2 0x17039
EVT1_PAD_SD2_DATA3__SD2_DATA3 0x17039
>;
};

pinctrl_usdhc2_3_100mhz: state_100mhz { /* 100Mhz */
fsl,pins = <
EVT1_PAD_SD2_CMD__SD2_CMD 0x170B9
EVT1_PAD_SD2_CLK__SD2_CLK 0x100B9
EVT1_PAD_SD2_DATA0__SD2_DATA0 0x170B9
EVT1_PAD_SD2_DATA1__SD2_DATA1 0x170B9
EVT1_PAD_SD2_DATA2__SD2_DATA2 0x170B9
EVT1_PAD_SD2_DATA3__SD2_DATA3 0x170B9
>;
};

pinctrl_usdhc2_4_200mhz: state_200mhz { /* 200Mhz */
fsl,pins = <
EVT1_PAD_SD2_CMD__SD2_CMD 0x170F9
EVT1_PAD_SD2_CLK__SD2_CLK 0x100F9
EVT1_PAD_SD2_DATA0__SD2_DATA0 0x170F9
EVT1_PAD_SD2_DATA1__SD2_DATA1 0x170F9
EVT1_PAD_SD2_DATA2__SD2_DATA2 0x170F9
EVT1_PAD_SD2_DATA3__SD2_DATA3 0x170F9
>;
};
};

usdhc4 {
/* eMMC pinmux */
pinctrl_usdhc4_2_default: default {
fsl,pins = <
EVT1_PAD_EPDC_BDR1__SD4_CMD       0x17039
EVT1_PAD_EPDC_BDR0__SD4_CLK       0x10039
EVT1_PAD_EPDC_PWR_COM__SD4_DATA0  0x17039
EVT1_PAD_EPDC_PWR_IRQ__SD4_DATA1  0x17039
EVT1_PAD_EPDC_PWR_STAT__SD4_DATA2 0x17039
EVT1_PAD_EPDC_PWR_WAKE__SD4_DATA3 0x17039
EVT1_PAD_FEC_MDC__SD4_DATA4 0x17039
EVT1_PAD_FEC_RX_DATA0__SD4_DATA5  0x17039
EVT1_PAD_FEC_TX_EN__SD4_DATA6     0x17039
EVT1_PAD_FEC_TX_DATA1__SD4_DATA7  0x17039
>;
};

pinctrl_usdhc4_3_100mhz: state_100mhz { /* 100Mhz */
fsl,pins = <
EVT1_PAD_EPDC_BDR1__SD4_CMD 0x170B9
EVT1_PAD_EPDC_BDR0__SD4_CLK   0x100B9
EVT1_PAD_EPDC_PWR_COM__SD4_DATA0 0x170B9
EVT1_PAD_EPDC_PWR_IRQ__SD4_DATA1 0x170B9
EVT1_PAD_EPDC_PWR_STAT__SD4_DATA2 0x170B9
EVT1_PAD_EPDC_PWR_WAKE__SD4_DATA3 0x170B9
EVT1_PAD_FEC_MDC__SD4_DATA4 0x170B9
EVT1_PAD_FEC_RX_DATA0__SD4_DATA5  0x170B9
EVT1_PAD_FEC_TX_EN__SD4_DATA6     0x170B9
EVT1_PAD_FEC_TX_DATA1__SD4_DATA7  0x170B9
>;
};

pinctrl_usdhc4_4_200mhz: state_200mhz { /* 200Mhz */
fsl,pins = <
EVT1_PAD_EPDC_BDR1__SD4_CMD 0x170F9
EVT1_PAD_EPDC_BDR0__SD4_CLK   0x100F9
EVT1_PAD_EPDC_PWR_COM__SD4_DATA0 0x170F9
EVT1_PAD_EPDC_PWR_IRQ__SD4_DATA1 0x170F9
EVT1_PAD_EPDC_PWR_STAT__SD4_DATA2 0x170F9
EVT1_PAD_EPDC_PWR_WAKE__SD4_DATA3 0x170F9
EVT1_PAD_FEC_MDC__SD4_DATA4 0x170F9
EVT1_PAD_FEC_RX_DATA0__SD4_DATA5  0x170F9
EVT1_PAD_FEC_TX_EN__SD4_DATA6     0x170F9
EVT1_PAD_FEC_TX_DATA1__SD4_DATA7  0x170F9
>;
};
};


1. After using the said pinmux settings, the sdhci-esdh-imx controller
wasn't able to configure it correctly due the the group name for the
two port were the same (default, state_100mhz, state_200mhz).

2. Then, I temporarily disabled usdhc4 to test if the driver able to
enable the SDR50 for my wifi. Then, I was getting the following
errors:

[    1.655024] mmc0: error -110 whilst initialising SDIO card
[    3.746340] mmc0: error -110 whilst initialising SDIO card
[    3.818624] mmc0: host doesn't support card's voltages
[    3.823783] mmc0: error -22 whilst initialising SDIO card
[    3.901670] mmc0: host doesn't support card's voltages
[    3.906862] mmc0: error -22 whilst initialising SDIO card
[   34.307777] mmc0: host doesn't support card's voltages
[   34.312980] mmc0: error -22 whilst initialising SDIO card

3. Then, I tried the eMMC to see if the driver able to enable the
DDR50. After booting it, the kernel detect the eMMC only in hight
speed mode.


I would like to know if anyone here can help me to figure out how to
enable the DDR50 for my eMMC and SDR50 for my wifi as well.

Regards,

john

^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2013-10-28  2:38 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-10-09  2:00 eMMC 4.51 John Tobias
2013-10-09  3:49 ` Shawn Guo
2013-10-09  4:33   ` John Tobias
     [not found] ` <CA+6rjLzLhA-zzTqWuzFCMXa1v9CgS-O+Rrnqsfpw9=UY_1vuMA@mail.gmail.com>
2013-10-09 18:00   ` John Tobias
2013-10-18  6:04     ` Jackey Shen
2013-10-18  6:59       ` Dong Aisheng
2013-10-28  2:34         ` Jackey Shen
2013-10-28  2:38           ` Dong Aisheng
2013-10-21 22:58       ` John Tobias
2013-10-28  2:22         ` Jackey Shen

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).