All of lore.kernel.org
 help / color / mirror / Atom feed
* eMMC 4.51
@ 2013-10-09  2:00 ` John Tobias
  0 siblings, 0 replies; 20+ messages in thread
From: John Tobias @ 2013-10-09  2:00 UTC (permalink / raw)
  To: linux-mmc; +Cc: linux-arm-kernel, b29396

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] 20+ messages in thread

* eMMC 4.51
@ 2013-10-09  2:00 ` John Tobias
  0 siblings, 0 replies; 20+ 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] 20+ messages in thread

* Re: eMMC 4.51
  2013-10-09  2:00 ` John Tobias
@ 2013-10-09  3:49   ` Shawn Guo
  -1 siblings, 0 replies; 20+ messages in thread
From: Shawn Guo @ 2013-10-09  3:49 UTC (permalink / raw)
  To: John Tobias; +Cc: linux-mmc, linux-arm-kernel, b29396

On Tue, Oct 08, 2013 at 07:00:58PM -0700, John Tobias wrote:
> 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.

The latest update on sdhci-esdhc-imx.c only enables the support of UHS SD card in
SDR104 mode.  Neither DDR50 nor eMMC is supported so far.

Shawn


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

* eMMC 4.51
@ 2013-10-09  3:49   ` Shawn Guo
  0 siblings, 0 replies; 20+ messages in thread
From: Shawn Guo @ 2013-10-09  3:49 UTC (permalink / raw)
  To: linux-arm-kernel

On Tue, Oct 08, 2013 at 07:00:58PM -0700, John Tobias wrote:
> 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.

The latest update on sdhci-esdhc-imx.c only enables the support of UHS SD card in
SDR104 mode.  Neither DDR50 nor eMMC is supported so far.

Shawn

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

* Re: eMMC 4.51
  2013-10-09  3:49   ` Shawn Guo
@ 2013-10-09  4:33     ` John Tobias
  -1 siblings, 0 replies; 20+ messages in thread
From: John Tobias @ 2013-10-09  4:33 UTC (permalink / raw)
  To: Shawn Guo; +Cc: linux-mmc, linux-arm-kernel, Dong Aisheng

Thanks for the info.

Regards,

john

On Tue, Oct 8, 2013 at 8:49 PM, Shawn Guo <shawn.guo@linaro.org> wrote:
> On Tue, Oct 08, 2013 at 07:00:58PM -0700, John Tobias wrote:
>> 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.
>
> The latest update on sdhci-esdhc-imx.c only enables the support of UHS SD card in
> SDR104 mode.  Neither DDR50 nor eMMC is supported so far.
>
> Shawn
>

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

* eMMC 4.51
@ 2013-10-09  4:33     ` John Tobias
  0 siblings, 0 replies; 20+ messages in thread
From: John Tobias @ 2013-10-09  4:33 UTC (permalink / raw)
  To: linux-arm-kernel

Thanks for the info.

Regards,

john

On Tue, Oct 8, 2013 at 8:49 PM, Shawn Guo <shawn.guo@linaro.org> wrote:
> On Tue, Oct 08, 2013 at 07:00:58PM -0700, John Tobias wrote:
>> 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.
>
> The latest update on sdhci-esdhc-imx.c only enables the support of UHS SD card in
> SDR104 mode.  Neither DDR50 nor eMMC is supported so far.
>
> Shawn
>

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

* Re: eMMC 4.51
       [not found] ` <CA+6rjLzLhA-zzTqWuzFCMXa1v9CgS-O+Rrnqsfpw9=UY_1vuMA@mail.gmail.com>
@ 2013-10-09 18:00     ` John Tobias
  0 siblings, 0 replies; 20+ messages in thread
From: John Tobias @ 2013-10-09 18:00 UTC (permalink / raw)
  To: Jackey Shen; +Cc: linux-mmc, linux-arm-kernel, b29396

Hi Jackey,

The Marvel SD8797 work fine but there are some cases that the firmware
failed to load during the system boot up. Although, we managed it by
power cycling the power source of the Marvel chip so that the kernel
will able to detect and reinitialize again.

The module was running in high speed, 4bit bus width.

Here are some info:

# iperf -c 192.168.x.x -t 60 -i 10
------------------------------------------------------------
Client connecting to 192.168.x.x, TCP port 5001
TCP window size: 20.7 KByte (default)
------------------------------------------------------------
[  3] local 192.168.x.x port 52071 connected with 192.168.x.x port 5001
[ ID] Interval       Transfer     Bandwidth
[  3]  0.0-10.0 sec  48.0 MBytes  40.3 Mbits/sec
[  3] 10.0-20.0 sec  53.4 MBytes  44.8 Mbits/sec
[  3] 20.0-30.0 sec  53.8 MBytes  45.1 Mbits/sec
[  3] 30.0-40.0 sec  56.4 MBytes  47.3 Mbits/sec
[  3] 40.0-50.0 sec  54.2 MBytes  45.5 Mbits/sec
[  3] 50.0-60.0 sec  53.5 MBytes  44.9 Mbits/sec
[  3]  0.0-60.0 sec   319 MBytes  44.6 Mbits/sec

# iwconfig mlan0
mlan0     IEEE 802.11abgn  ESSID:"Pxx-xxx"
          Mode:Managed  Frequency:2.437 GHz  Access Point: BC:Dx:xx:xx:xx:xx
          Bit Rate=135 Mb/s
          Retry  long limit:7   RTS thr:off   Fragment thr:off
          Encryption key:off
          Power Management:on
          Link Quality=70/70  Signal level=-28 dBm
          Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
          Tx excessive retries:0  Invalid misc:0   Missed beacon:0

Regards,

john



On Wed, Oct 9, 2013 at 12:23 AM, Jackey Shen <jackey.shen.bo@gmail.com> wrote:
> Hi John,
>
> Does wifi module (Marvel SD8797) work fine on your board? What speed does it
> run at? SDR104?
>
> Thanks,
> Jackey
>
> On Wed, Oct 9, 2013 at 10:00 AM, John Tobias <john.tobias.ph@gmail.com>
> wrote:
>>
>> 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
>> --
>> To unsubscribe from this list: send the line "unsubscribe linux-mmc" in
>> the body of a message to majordomo@vger.kernel.org
>> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>
>

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

* eMMC 4.51
@ 2013-10-09 18:00     ` John Tobias
  0 siblings, 0 replies; 20+ messages in thread
From: John Tobias @ 2013-10-09 18:00 UTC (permalink / raw)
  To: linux-arm-kernel

Hi Jackey,

The Marvel SD8797 work fine but there are some cases that the firmware
failed to load during the system boot up. Although, we managed it by
power cycling the power source of the Marvel chip so that the kernel
will able to detect and reinitialize again.

The module was running in high speed, 4bit bus width.

Here are some info:

# iperf -c 192.168.x.x -t 60 -i 10
------------------------------------------------------------
Client connecting to 192.168.x.x, TCP port 5001
TCP window size: 20.7 KByte (default)
------------------------------------------------------------
[  3] local 192.168.x.x port 52071 connected with 192.168.x.x port 5001
[ ID] Interval       Transfer     Bandwidth
[  3]  0.0-10.0 sec  48.0 MBytes  40.3 Mbits/sec
[  3] 10.0-20.0 sec  53.4 MBytes  44.8 Mbits/sec
[  3] 20.0-30.0 sec  53.8 MBytes  45.1 Mbits/sec
[  3] 30.0-40.0 sec  56.4 MBytes  47.3 Mbits/sec
[  3] 40.0-50.0 sec  54.2 MBytes  45.5 Mbits/sec
[  3] 50.0-60.0 sec  53.5 MBytes  44.9 Mbits/sec
[  3]  0.0-60.0 sec   319 MBytes  44.6 Mbits/sec

# iwconfig mlan0
mlan0     IEEE 802.11abgn  ESSID:"Pxx-xxx"
          Mode:Managed  Frequency:2.437 GHz  Access Point: BC:Dx:xx:xx:xx:xx
          Bit Rate=135 Mb/s
          Retry  long limit:7   RTS thr:off   Fragment thr:off
          Encryption key:off
          Power Management:on
          Link Quality=70/70  Signal level=-28 dBm
          Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
          Tx excessive retries:0  Invalid misc:0   Missed beacon:0

Regards,

john



On Wed, Oct 9, 2013 at 12:23 AM, Jackey Shen <jackey.shen.bo@gmail.com> wrote:
> Hi John,
>
> Does wifi module (Marvel SD8797) work fine on your board? What speed does it
> run at? SDR104?
>
> Thanks,
> Jackey
>
> On Wed, Oct 9, 2013 at 10:00 AM, John Tobias <john.tobias.ph@gmail.com>
> wrote:
>>
>> 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
>> --
>> To unsubscribe from this list: send the line "unsubscribe linux-mmc" in
>> the body of a message to majordomo at vger.kernel.org
>> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>
>

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

* Re: eMMC 4.51
  2013-10-09 18:00     ` John Tobias
@ 2013-10-18  6:04       ` Jackey Shen
  -1 siblings, 0 replies; 20+ messages in thread
From: Jackey Shen @ 2013-10-18  6:04 UTC (permalink / raw)
  To: John Tobias; +Cc: linux-mmc, linux-arm-kernel, b29396

Hi John,

Does your SD host controller support 3.0 card? As I know, Marvel
SDIO8797 can work at UHS-I SDR104. Did you test it?

Thanks,
Jackey

On Thu, Oct 10, 2013 at 2:00 AM, John Tobias <john.tobias.ph@gmail.com> wrote:
> Hi Jackey,
>
> The Marvel SD8797 work fine but there are some cases that the firmware
> failed to load during the system boot up. Although, we managed it by
> power cycling the power source of the Marvel chip so that the kernel
> will able to detect and reinitialize again.
>
> The module was running in high speed, 4bit bus width.
>
> Here are some info:
>
> # iperf -c 192.168.x.x -t 60 -i 10
> ------------------------------------------------------------
> Client connecting to 192.168.x.x, TCP port 5001
> TCP window size: 20.7 KByte (default)
> ------------------------------------------------------------
> [  3] local 192.168.x.x port 52071 connected with 192.168.x.x port 5001
> [ ID] Interval       Transfer     Bandwidth
> [  3]  0.0-10.0 sec  48.0 MBytes  40.3 Mbits/sec
> [  3] 10.0-20.0 sec  53.4 MBytes  44.8 Mbits/sec
> [  3] 20.0-30.0 sec  53.8 MBytes  45.1 Mbits/sec
> [  3] 30.0-40.0 sec  56.4 MBytes  47.3 Mbits/sec
> [  3] 40.0-50.0 sec  54.2 MBytes  45.5 Mbits/sec
> [  3] 50.0-60.0 sec  53.5 MBytes  44.9 Mbits/sec
> [  3]  0.0-60.0 sec   319 MBytes  44.6 Mbits/sec
>
> # iwconfig mlan0
> mlan0     IEEE 802.11abgn  ESSID:"Pxx-xxx"
>           Mode:Managed  Frequency:2.437 GHz  Access Point:
> BC:Dx:xx:xx:xx:xx
>           Bit Rate=135 Mb/s
>           Retry  long limit:7   RTS thr:off   Fragment thr:off
>           Encryption key:off
>           Power Management:on
>           Link Quality=70/70  Signal level=-28 dBm
>           Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
>           Tx excessive retries:0  Invalid misc:0   Missed beacon:0
>
> Regards,
>
> john
>
>
>
> On Wed, Oct 9, 2013 at 12:23 AM, Jackey Shen <jackey.shen.bo@gmail.com>
> wrote:
>> Hi John,
>>
>> Does wifi module (Marvel SD8797) work fine on your board? What speed does
>> it
>> run at? SDR104?
>>
>> Thanks,
>> Jackey
>>
>> On Wed, Oct 9, 2013 at 10:00 AM, John Tobias <john.tobias.ph@gmail.com>
>> wrote:
>>>
>>> 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
>>> --
>>> To unsubscribe from this list: send the line "unsubscribe linux-mmc" in
>>> the body of a message to majordomo@vger.kernel.org
>>> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>>
>>

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

* eMMC 4.51
@ 2013-10-18  6:04       ` Jackey Shen
  0 siblings, 0 replies; 20+ messages in thread
From: Jackey Shen @ 2013-10-18  6:04 UTC (permalink / raw)
  To: linux-arm-kernel

Hi John,

Does your SD host controller support 3.0 card? As I know, Marvel
SDIO8797 can work at UHS-I SDR104. Did you test it?

Thanks,
Jackey

On Thu, Oct 10, 2013 at 2:00 AM, John Tobias <john.tobias.ph@gmail.com> wrote:
> Hi Jackey,
>
> The Marvel SD8797 work fine but there are some cases that the firmware
> failed to load during the system boot up. Although, we managed it by
> power cycling the power source of the Marvel chip so that the kernel
> will able to detect and reinitialize again.
>
> The module was running in high speed, 4bit bus width.
>
> Here are some info:
>
> # iperf -c 192.168.x.x -t 60 -i 10
> ------------------------------------------------------------
> Client connecting to 192.168.x.x, TCP port 5001
> TCP window size: 20.7 KByte (default)
> ------------------------------------------------------------
> [  3] local 192.168.x.x port 52071 connected with 192.168.x.x port 5001
> [ ID] Interval       Transfer     Bandwidth
> [  3]  0.0-10.0 sec  48.0 MBytes  40.3 Mbits/sec
> [  3] 10.0-20.0 sec  53.4 MBytes  44.8 Mbits/sec
> [  3] 20.0-30.0 sec  53.8 MBytes  45.1 Mbits/sec
> [  3] 30.0-40.0 sec  56.4 MBytes  47.3 Mbits/sec
> [  3] 40.0-50.0 sec  54.2 MBytes  45.5 Mbits/sec
> [  3] 50.0-60.0 sec  53.5 MBytes  44.9 Mbits/sec
> [  3]  0.0-60.0 sec   319 MBytes  44.6 Mbits/sec
>
> # iwconfig mlan0
> mlan0     IEEE 802.11abgn  ESSID:"Pxx-xxx"
>           Mode:Managed  Frequency:2.437 GHz  Access Point:
> BC:Dx:xx:xx:xx:xx
>           Bit Rate=135 Mb/s
>           Retry  long limit:7   RTS thr:off   Fragment thr:off
>           Encryption key:off
>           Power Management:on
>           Link Quality=70/70  Signal level=-28 dBm
>           Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
>           Tx excessive retries:0  Invalid misc:0   Missed beacon:0
>
> Regards,
>
> john
>
>
>
> On Wed, Oct 9, 2013 at 12:23 AM, Jackey Shen <jackey.shen.bo@gmail.com>
> wrote:
>> Hi John,
>>
>> Does wifi module (Marvel SD8797) work fine on your board? What speed does
>> it
>> run at? SDR104?
>>
>> Thanks,
>> Jackey
>>
>> On Wed, Oct 9, 2013 at 10:00 AM, John Tobias <john.tobias.ph@gmail.com>
>> wrote:
>>>
>>> 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
>>> --
>>> To unsubscribe from this list: send the line "unsubscribe linux-mmc" in
>>> the body of a message to majordomo at vger.kernel.org
>>> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>>
>>

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

* Re: eMMC 4.51
  2013-10-18  6:04       ` Jackey Shen
@ 2013-10-18  6:59         ` Dong Aisheng
  -1 siblings, 0 replies; 20+ messages in thread
From: Dong Aisheng @ 2013-10-18  6:59 UTC (permalink / raw)
  To: Jackey Shen; +Cc: John Tobias, linux-mmc, linux-arm-kernel

Hi Jackey,

The imx6sl SD controller supports SDIO 3.0.
I've verified it with a Broadcom SDIO 3.0 WiFi card and it can be
identified as SDR104 mode.

Regards
Dong Aisheng

On Fri, Oct 18, 2013 at 02:04:01PM +0800, Jackey Shen wrote:
> Hi John,
> 
> Does your SD host controller support 3.0 card? As I know, Marvel
> SDIO8797 can work at UHS-I SDR104. Did you test it?
> 
> Thanks,
> Jackey
> 
> On Thu, Oct 10, 2013 at 2:00 AM, John Tobias <john.tobias.ph@gmail.com> wrote:
> > Hi Jackey,
> >
> > The Marvel SD8797 work fine but there are some cases that the firmware
> > failed to load during the system boot up. Although, we managed it by
> > power cycling the power source of the Marvel chip so that the kernel
> > will able to detect and reinitialize again.
> >
> > The module was running in high speed, 4bit bus width.
> >
> > Here are some info:
> >
> > # iperf -c 192.168.x.x -t 60 -i 10
> > ------------------------------------------------------------
> > Client connecting to 192.168.x.x, TCP port 5001
> > TCP window size: 20.7 KByte (default)
> > ------------------------------------------------------------
> > [  3] local 192.168.x.x port 52071 connected with 192.168.x.x port 5001
> > [ ID] Interval       Transfer     Bandwidth
> > [  3]  0.0-10.0 sec  48.0 MBytes  40.3 Mbits/sec
> > [  3] 10.0-20.0 sec  53.4 MBytes  44.8 Mbits/sec
> > [  3] 20.0-30.0 sec  53.8 MBytes  45.1 Mbits/sec
> > [  3] 30.0-40.0 sec  56.4 MBytes  47.3 Mbits/sec
> > [  3] 40.0-50.0 sec  54.2 MBytes  45.5 Mbits/sec
> > [  3] 50.0-60.0 sec  53.5 MBytes  44.9 Mbits/sec
> > [  3]  0.0-60.0 sec   319 MBytes  44.6 Mbits/sec
> >
> > # iwconfig mlan0
> > mlan0     IEEE 802.11abgn  ESSID:"Pxx-xxx"
> >           Mode:Managed  Frequency:2.437 GHz  Access Point:
> > BC:Dx:xx:xx:xx:xx
> >           Bit Rate=135 Mb/s
> >           Retry  long limit:7   RTS thr:off   Fragment thr:off
> >           Encryption key:off
> >           Power Management:on
> >           Link Quality=70/70  Signal level=-28 dBm
> >           Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
> >           Tx excessive retries:0  Invalid misc:0   Missed beacon:0
> >
> > Regards,
> >
> > john
> >
> >
> >
> > On Wed, Oct 9, 2013 at 12:23 AM, Jackey Shen <jackey.shen.bo@gmail.com>
> > wrote:
> >> Hi John,
> >>
> >> Does wifi module (Marvel SD8797) work fine on your board? What speed does
> >> it
> >> run at? SDR104?
> >>
> >> Thanks,
> >> Jackey
> >>
> >> On Wed, Oct 9, 2013 at 10:00 AM, John Tobias <john.tobias.ph@gmail.com>
> >> wrote:
> >>>
> >>> 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
> >>> --
> >>> To unsubscribe from this list: send the line "unsubscribe linux-mmc" in
> >>> the body of a message to majordomo@vger.kernel.org
> >>> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> >>
> >>
> 


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

* eMMC 4.51
@ 2013-10-18  6:59         ` Dong Aisheng
  0 siblings, 0 replies; 20+ messages in thread
From: Dong Aisheng @ 2013-10-18  6:59 UTC (permalink / raw)
  To: linux-arm-kernel

Hi Jackey,

The imx6sl SD controller supports SDIO 3.0.
I've verified it with a Broadcom SDIO 3.0 WiFi card and it can be
identified as SDR104 mode.

Regards
Dong Aisheng

On Fri, Oct 18, 2013 at 02:04:01PM +0800, Jackey Shen wrote:
> Hi John,
> 
> Does your SD host controller support 3.0 card? As I know, Marvel
> SDIO8797 can work at UHS-I SDR104. Did you test it?
> 
> Thanks,
> Jackey
> 
> On Thu, Oct 10, 2013 at 2:00 AM, John Tobias <john.tobias.ph@gmail.com> wrote:
> > Hi Jackey,
> >
> > The Marvel SD8797 work fine but there are some cases that the firmware
> > failed to load during the system boot up. Although, we managed it by
> > power cycling the power source of the Marvel chip so that the kernel
> > will able to detect and reinitialize again.
> >
> > The module was running in high speed, 4bit bus width.
> >
> > Here are some info:
> >
> > # iperf -c 192.168.x.x -t 60 -i 10
> > ------------------------------------------------------------
> > Client connecting to 192.168.x.x, TCP port 5001
> > TCP window size: 20.7 KByte (default)
> > ------------------------------------------------------------
> > [  3] local 192.168.x.x port 52071 connected with 192.168.x.x port 5001
> > [ ID] Interval       Transfer     Bandwidth
> > [  3]  0.0-10.0 sec  48.0 MBytes  40.3 Mbits/sec
> > [  3] 10.0-20.0 sec  53.4 MBytes  44.8 Mbits/sec
> > [  3] 20.0-30.0 sec  53.8 MBytes  45.1 Mbits/sec
> > [  3] 30.0-40.0 sec  56.4 MBytes  47.3 Mbits/sec
> > [  3] 40.0-50.0 sec  54.2 MBytes  45.5 Mbits/sec
> > [  3] 50.0-60.0 sec  53.5 MBytes  44.9 Mbits/sec
> > [  3]  0.0-60.0 sec   319 MBytes  44.6 Mbits/sec
> >
> > # iwconfig mlan0
> > mlan0     IEEE 802.11abgn  ESSID:"Pxx-xxx"
> >           Mode:Managed  Frequency:2.437 GHz  Access Point:
> > BC:Dx:xx:xx:xx:xx
> >           Bit Rate=135 Mb/s
> >           Retry  long limit:7   RTS thr:off   Fragment thr:off
> >           Encryption key:off
> >           Power Management:on
> >           Link Quality=70/70  Signal level=-28 dBm
> >           Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
> >           Tx excessive retries:0  Invalid misc:0   Missed beacon:0
> >
> > Regards,
> >
> > john
> >
> >
> >
> > On Wed, Oct 9, 2013 at 12:23 AM, Jackey Shen <jackey.shen.bo@gmail.com>
> > wrote:
> >> Hi John,
> >>
> >> Does wifi module (Marvel SD8797) work fine on your board? What speed does
> >> it
> >> run at? SDR104?
> >>
> >> Thanks,
> >> Jackey
> >>
> >> On Wed, Oct 9, 2013 at 10:00 AM, John Tobias <john.tobias.ph@gmail.com>
> >> wrote:
> >>>
> >>> 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
> >>> --
> >>> To unsubscribe from this list: send the line "unsubscribe linux-mmc" in
> >>> the body of a message to majordomo at vger.kernel.org
> >>> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> >>
> >>
> 

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

* Re: eMMC 4.51
  2013-10-18  6:04       ` Jackey Shen
@ 2013-10-21 22:58         ` John Tobias
  -1 siblings, 0 replies; 20+ messages in thread
From: John Tobias @ 2013-10-21 22:58 UTC (permalink / raw)
  To: Jackey Shen; +Cc: linux-mmc, linux-arm-kernel, Dong Aisheng

Hi Jackey,

I have a Marvell Datasheet and it support SDR12, SDR25 and SDR50 (upto
100MHz). SDR104 is not supported.

Regards,

john

On Thu, Oct 17, 2013 at 11:04 PM, Jackey Shen <jackey.shen.bo@gmail.com> wrote:
> Hi John,
>
> Does your SD host controller support 3.0 card? As I know, Marvel
> SDIO8797 can work at UHS-I SDR104. Did you test it?
>
> Thanks,
> Jackey
>
> On Thu, Oct 10, 2013 at 2:00 AM, John Tobias <john.tobias.ph@gmail.com> wrote:
>> Hi Jackey,
>>
>> The Marvel SD8797 work fine but there are some cases that the firmware
>> failed to load during the system boot up. Although, we managed it by
>> power cycling the power source of the Marvel chip so that the kernel
>> will able to detect and reinitialize again.
>>
>> The module was running in high speed, 4bit bus width.
>>
>> Here are some info:
>>
>> # iperf -c 192.168.x.x -t 60 -i 10
>> ------------------------------------------------------------
>> Client connecting to 192.168.x.x, TCP port 5001
>> TCP window size: 20.7 KByte (default)
>> ------------------------------------------------------------
>> [  3] local 192.168.x.x port 52071 connected with 192.168.x.x port 5001
>> [ ID] Interval       Transfer     Bandwidth
>> [  3]  0.0-10.0 sec  48.0 MBytes  40.3 Mbits/sec
>> [  3] 10.0-20.0 sec  53.4 MBytes  44.8 Mbits/sec
>> [  3] 20.0-30.0 sec  53.8 MBytes  45.1 Mbits/sec
>> [  3] 30.0-40.0 sec  56.4 MBytes  47.3 Mbits/sec
>> [  3] 40.0-50.0 sec  54.2 MBytes  45.5 Mbits/sec
>> [  3] 50.0-60.0 sec  53.5 MBytes  44.9 Mbits/sec
>> [  3]  0.0-60.0 sec   319 MBytes  44.6 Mbits/sec
>>
>> # iwconfig mlan0
>> mlan0     IEEE 802.11abgn  ESSID:"Pxx-xxx"
>>           Mode:Managed  Frequency:2.437 GHz  Access Point:
>> BC:Dx:xx:xx:xx:xx
>>           Bit Rate=135 Mb/s
>>           Retry  long limit:7   RTS thr:off   Fragment thr:off
>>           Encryption key:off
>>           Power Management:on
>>           Link Quality=70/70  Signal level=-28 dBm
>>           Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
>>           Tx excessive retries:0  Invalid misc:0   Missed beacon:0
>>
>> Regards,
>>
>> john
>>
>>
>>
>> On Wed, Oct 9, 2013 at 12:23 AM, Jackey Shen <jackey.shen.bo@gmail.com>
>> wrote:
>>> Hi John,
>>>
>>> Does wifi module (Marvel SD8797) work fine on your board? What speed does
>>> it
>>> run at? SDR104?
>>>
>>> Thanks,
>>> Jackey
>>>
>>> On Wed, Oct 9, 2013 at 10:00 AM, John Tobias <john.tobias.ph@gmail.com>
>>> wrote:
>>>>
>>>> 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
>>>> --
>>>> To unsubscribe from this list: send the line "unsubscribe linux-mmc" in
>>>> the body of a message to majordomo@vger.kernel.org
>>>> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>>>
>>>

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

* eMMC 4.51
@ 2013-10-21 22:58         ` John Tobias
  0 siblings, 0 replies; 20+ messages in thread
From: John Tobias @ 2013-10-21 22:58 UTC (permalink / raw)
  To: linux-arm-kernel

Hi Jackey,

I have a Marvell Datasheet and it support SDR12, SDR25 and SDR50 (upto
100MHz). SDR104 is not supported.

Regards,

john

On Thu, Oct 17, 2013 at 11:04 PM, Jackey Shen <jackey.shen.bo@gmail.com> wrote:
> Hi John,
>
> Does your SD host controller support 3.0 card? As I know, Marvel
> SDIO8797 can work at UHS-I SDR104. Did you test it?
>
> Thanks,
> Jackey
>
> On Thu, Oct 10, 2013 at 2:00 AM, John Tobias <john.tobias.ph@gmail.com> wrote:
>> Hi Jackey,
>>
>> The Marvel SD8797 work fine but there are some cases that the firmware
>> failed to load during the system boot up. Although, we managed it by
>> power cycling the power source of the Marvel chip so that the kernel
>> will able to detect and reinitialize again.
>>
>> The module was running in high speed, 4bit bus width.
>>
>> Here are some info:
>>
>> # iperf -c 192.168.x.x -t 60 -i 10
>> ------------------------------------------------------------
>> Client connecting to 192.168.x.x, TCP port 5001
>> TCP window size: 20.7 KByte (default)
>> ------------------------------------------------------------
>> [  3] local 192.168.x.x port 52071 connected with 192.168.x.x port 5001
>> [ ID] Interval       Transfer     Bandwidth
>> [  3]  0.0-10.0 sec  48.0 MBytes  40.3 Mbits/sec
>> [  3] 10.0-20.0 sec  53.4 MBytes  44.8 Mbits/sec
>> [  3] 20.0-30.0 sec  53.8 MBytes  45.1 Mbits/sec
>> [  3] 30.0-40.0 sec  56.4 MBytes  47.3 Mbits/sec
>> [  3] 40.0-50.0 sec  54.2 MBytes  45.5 Mbits/sec
>> [  3] 50.0-60.0 sec  53.5 MBytes  44.9 Mbits/sec
>> [  3]  0.0-60.0 sec   319 MBytes  44.6 Mbits/sec
>>
>> # iwconfig mlan0
>> mlan0     IEEE 802.11abgn  ESSID:"Pxx-xxx"
>>           Mode:Managed  Frequency:2.437 GHz  Access Point:
>> BC:Dx:xx:xx:xx:xx
>>           Bit Rate=135 Mb/s
>>           Retry  long limit:7   RTS thr:off   Fragment thr:off
>>           Encryption key:off
>>           Power Management:on
>>           Link Quality=70/70  Signal level=-28 dBm
>>           Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
>>           Tx excessive retries:0  Invalid misc:0   Missed beacon:0
>>
>> Regards,
>>
>> john
>>
>>
>>
>> On Wed, Oct 9, 2013 at 12:23 AM, Jackey Shen <jackey.shen.bo@gmail.com>
>> wrote:
>>> Hi John,
>>>
>>> Does wifi module (Marvel SD8797) work fine on your board? What speed does
>>> it
>>> run at? SDR104?
>>>
>>> Thanks,
>>> Jackey
>>>
>>> On Wed, Oct 9, 2013 at 10:00 AM, John Tobias <john.tobias.ph@gmail.com>
>>> wrote:
>>>>
>>>> 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
>>>> --
>>>> To unsubscribe from this list: send the line "unsubscribe linux-mmc" in
>>>> the body of a message to majordomo at vger.kernel.org
>>>> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>>>
>>>

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

* Re: eMMC 4.51
  2013-10-21 22:58         ` John Tobias
@ 2013-10-28  2:22           ` Jackey Shen
  -1 siblings, 0 replies; 20+ messages in thread
From: Jackey Shen @ 2013-10-28  2:22 UTC (permalink / raw)
  To: John Tobias; +Cc: linux-mmc, linux-arm-kernel, Dong Aisheng

 Hi John,

On Tue, Oct 22, 2013 at 6:58 AM, John Tobias <john.tobias.ph@gmail.com> wrote:
> Hi Jackey,
>
> I have a Marvell Datasheet and it support SDR12, SDR25 and SDR50 (upto
> 100MHz). SDR104 is not supported.

Sorry, I mis-remembered. Thanks for your clarification.

Thanks,
Jackey
>
> Regards,
>
> john
>
> On Thu, Oct 17, 2013 at 11:04 PM, Jackey Shen <jackey.shen.bo@gmail.com> wrote:
>> Hi John,
>>
>> Does your SD host controller support 3.0 card? As I know, Marvel
>> SDIO8797 can work at UHS-I SDR104. Did you test it?
>>
>> Thanks,
>> Jackey
>>
>> On Thu, Oct 10, 2013 at 2:00 AM, John Tobias <john.tobias.ph@gmail.com> wrote:
>>> Hi Jackey,
>>>
>>> The Marvel SD8797 work fine but there are some cases that the firmware
>>> failed to load during the system boot up. Although, we managed it by
>>> power cycling the power source of the Marvel chip so that the kernel
>>> will able to detect and reinitialize again.
>>>
>>> The module was running in high speed, 4bit bus width.
>>>
>>> Here are some info:
>>>
>>> # iperf -c 192.168.x.x -t 60 -i 10
>>> ------------------------------------------------------------
>>> Client connecting to 192.168.x.x, TCP port 5001
>>> TCP window size: 20.7 KByte (default)
>>> ------------------------------------------------------------
>>> [  3] local 192.168.x.x port 52071 connected with 192.168.x.x port 5001
>>> [ ID] Interval       Transfer     Bandwidth
>>> [  3]  0.0-10.0 sec  48.0 MBytes  40.3 Mbits/sec
>>> [  3] 10.0-20.0 sec  53.4 MBytes  44.8 Mbits/sec
>>> [  3] 20.0-30.0 sec  53.8 MBytes  45.1 Mbits/sec
>>> [  3] 30.0-40.0 sec  56.4 MBytes  47.3 Mbits/sec
>>> [  3] 40.0-50.0 sec  54.2 MBytes  45.5 Mbits/sec
>>> [  3] 50.0-60.0 sec  53.5 MBytes  44.9 Mbits/sec
>>> [  3]  0.0-60.0 sec   319 MBytes  44.6 Mbits/sec
>>>
>>> # iwconfig mlan0
>>> mlan0     IEEE 802.11abgn  ESSID:"Pxx-xxx"
>>>           Mode:Managed  Frequency:2.437 GHz  Access Point:
>>> BC:Dx:xx:xx:xx:xx
>>>           Bit Rate=135 Mb/s
>>>           Retry  long limit:7   RTS thr:off   Fragment thr:off
>>>           Encryption key:off
>>>           Power Management:on
>>>           Link Quality=70/70  Signal level=-28 dBm
>>>           Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
>>>           Tx excessive retries:0  Invalid misc:0   Missed beacon:0
>>>
>>> Regards,
>>>
>>> john
>>>
>>>
>>>
>>> On Wed, Oct 9, 2013 at 12:23 AM, Jackey Shen <jackey.shen.bo@gmail.com>
>>> wrote:
>>>> Hi John,
>>>>
>>>> Does wifi module (Marvel SD8797) work fine on your board? What speed does
>>>> it
>>>> run at? SDR104?
>>>>
>>>> Thanks,
>>>> Jackey
>>>>
>>>> On Wed, Oct 9, 2013 at 10:00 AM, John Tobias <john.tobias.ph@gmail.com>
>>>> wrote:
>>>>>
>>>>> 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
>>>>> --
>>>>> To unsubscribe from this list: send the line "unsubscribe linux-mmc" in
>>>>> the body of a message to majordomo@vger.kernel.org
>>>>> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>>>>
>>>>

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

* eMMC 4.51
@ 2013-10-28  2:22           ` Jackey Shen
  0 siblings, 0 replies; 20+ messages in thread
From: Jackey Shen @ 2013-10-28  2:22 UTC (permalink / raw)
  To: linux-arm-kernel

 Hi John,

On Tue, Oct 22, 2013 at 6:58 AM, John Tobias <john.tobias.ph@gmail.com> wrote:
> Hi Jackey,
>
> I have a Marvell Datasheet and it support SDR12, SDR25 and SDR50 (upto
> 100MHz). SDR104 is not supported.

Sorry, I mis-remembered. Thanks for your clarification.

Thanks,
Jackey
>
> Regards,
>
> john
>
> On Thu, Oct 17, 2013 at 11:04 PM, Jackey Shen <jackey.shen.bo@gmail.com> wrote:
>> Hi John,
>>
>> Does your SD host controller support 3.0 card? As I know, Marvel
>> SDIO8797 can work at UHS-I SDR104. Did you test it?
>>
>> Thanks,
>> Jackey
>>
>> On Thu, Oct 10, 2013 at 2:00 AM, John Tobias <john.tobias.ph@gmail.com> wrote:
>>> Hi Jackey,
>>>
>>> The Marvel SD8797 work fine but there are some cases that the firmware
>>> failed to load during the system boot up. Although, we managed it by
>>> power cycling the power source of the Marvel chip so that the kernel
>>> will able to detect and reinitialize again.
>>>
>>> The module was running in high speed, 4bit bus width.
>>>
>>> Here are some info:
>>>
>>> # iperf -c 192.168.x.x -t 60 -i 10
>>> ------------------------------------------------------------
>>> Client connecting to 192.168.x.x, TCP port 5001
>>> TCP window size: 20.7 KByte (default)
>>> ------------------------------------------------------------
>>> [  3] local 192.168.x.x port 52071 connected with 192.168.x.x port 5001
>>> [ ID] Interval       Transfer     Bandwidth
>>> [  3]  0.0-10.0 sec  48.0 MBytes  40.3 Mbits/sec
>>> [  3] 10.0-20.0 sec  53.4 MBytes  44.8 Mbits/sec
>>> [  3] 20.0-30.0 sec  53.8 MBytes  45.1 Mbits/sec
>>> [  3] 30.0-40.0 sec  56.4 MBytes  47.3 Mbits/sec
>>> [  3] 40.0-50.0 sec  54.2 MBytes  45.5 Mbits/sec
>>> [  3] 50.0-60.0 sec  53.5 MBytes  44.9 Mbits/sec
>>> [  3]  0.0-60.0 sec   319 MBytes  44.6 Mbits/sec
>>>
>>> # iwconfig mlan0
>>> mlan0     IEEE 802.11abgn  ESSID:"Pxx-xxx"
>>>           Mode:Managed  Frequency:2.437 GHz  Access Point:
>>> BC:Dx:xx:xx:xx:xx
>>>           Bit Rate=135 Mb/s
>>>           Retry  long limit:7   RTS thr:off   Fragment thr:off
>>>           Encryption key:off
>>>           Power Management:on
>>>           Link Quality=70/70  Signal level=-28 dBm
>>>           Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
>>>           Tx excessive retries:0  Invalid misc:0   Missed beacon:0
>>>
>>> Regards,
>>>
>>> john
>>>
>>>
>>>
>>> On Wed, Oct 9, 2013 at 12:23 AM, Jackey Shen <jackey.shen.bo@gmail.com>
>>> wrote:
>>>> Hi John,
>>>>
>>>> Does wifi module (Marvel SD8797) work fine on your board? What speed does
>>>> it
>>>> run at? SDR104?
>>>>
>>>> Thanks,
>>>> Jackey
>>>>
>>>> On Wed, Oct 9, 2013 at 10:00 AM, John Tobias <john.tobias.ph@gmail.com>
>>>> wrote:
>>>>>
>>>>> 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
>>>>> --
>>>>> To unsubscribe from this list: send the line "unsubscribe linux-mmc" in
>>>>> the body of a message to majordomo at vger.kernel.org
>>>>> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>>>>
>>>>

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

* Re: eMMC 4.51
  2013-10-18  6:59         ` Dong Aisheng
@ 2013-10-28  2:34           ` Jackey Shen
  -1 siblings, 0 replies; 20+ messages in thread
From: Jackey Shen @ 2013-10-28  2:34 UTC (permalink / raw)
  To: Dong Aisheng; +Cc: John Tobias, linux-mmc, linux-arm-kernel

Hi Dong

On Fri, Oct 18, 2013 at 2:59 PM, Dong Aisheng <b29396@freescale.com> wrote:
> Hi Jackey,
>
> The imx6sl SD controller supports SDIO 3.0.
> I've verified it with a Broadcom SDIO 3.0 WiFi card and it can be
> identified as SDR104 mode.

That's great news.
Does your imx6sl also support eMMC 4.51 or later card?
Could you please tell the product model (Broadcom SDIO 3.0 WiFi card)?

Thanks,
Jackey
>
> Regards
> Dong Aisheng
>
> On Fri, Oct 18, 2013 at 02:04:01PM +0800, Jackey Shen wrote:
>> Hi John,
>>
>> Does your SD host controller support 3.0 card? As I know, Marvel
>> SDIO8797 can work at UHS-I SDR104. Did you test it?
>>
>> Thanks,
>> Jackey
>>
>> On Thu, Oct 10, 2013 at 2:00 AM, John Tobias <john.tobias.ph@gmail.com> wrote:
>> > Hi Jackey,
>> >
>> > The Marvel SD8797 work fine but there are some cases that the firmware
>> > failed to load during the system boot up. Although, we managed it by
>> > power cycling the power source of the Marvel chip so that the kernel
>> > will able to detect and reinitialize again.
>> >
>> > The module was running in high speed, 4bit bus width.
>> >
>> > Here are some info:
>> >
>> > # iperf -c 192.168.x.x -t 60 -i 10
>> > ------------------------------------------------------------
>> > Client connecting to 192.168.x.x, TCP port 5001
>> > TCP window size: 20.7 KByte (default)
>> > ------------------------------------------------------------
>> > [  3] local 192.168.x.x port 52071 connected with 192.168.x.x port 5001
>> > [ ID] Interval       Transfer     Bandwidth
>> > [  3]  0.0-10.0 sec  48.0 MBytes  40.3 Mbits/sec
>> > [  3] 10.0-20.0 sec  53.4 MBytes  44.8 Mbits/sec
>> > [  3] 20.0-30.0 sec  53.8 MBytes  45.1 Mbits/sec
>> > [  3] 30.0-40.0 sec  56.4 MBytes  47.3 Mbits/sec
>> > [  3] 40.0-50.0 sec  54.2 MBytes  45.5 Mbits/sec
>> > [  3] 50.0-60.0 sec  53.5 MBytes  44.9 Mbits/sec
>> > [  3]  0.0-60.0 sec   319 MBytes  44.6 Mbits/sec
>> >
>> > # iwconfig mlan0
>> > mlan0     IEEE 802.11abgn  ESSID:"Pxx-xxx"
>> >           Mode:Managed  Frequency:2.437 GHz  Access Point:
>> > BC:Dx:xx:xx:xx:xx
>> >           Bit Rate=135 Mb/s
>> >           Retry  long limit:7   RTS thr:off   Fragment thr:off
>> >           Encryption key:off
>> >           Power Management:on
>> >           Link Quality=70/70  Signal level=-28 dBm
>> >           Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
>> >           Tx excessive retries:0  Invalid misc:0   Missed beacon:0
>> >
>> > Regards,
>> >
>> > john
>> >
>> >
>> >
>> > On Wed, Oct 9, 2013 at 12:23 AM, Jackey Shen <jackey.shen.bo@gmail.com>
>> > wrote:
>> >> Hi John,
>> >>
>> >> Does wifi module (Marvel SD8797) work fine on your board? What speed does
>> >> it
>> >> run at? SDR104?
>> >>
>> >> Thanks,
>> >> Jackey
>> >>
>> >> On Wed, Oct 9, 2013 at 10:00 AM, John Tobias <john.tobias.ph@gmail.com>
>> >> wrote:
>> >>>
>> >>> 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
>> >>> --
>> >>> To unsubscribe from this list: send the line "unsubscribe linux-mmc" in
>> >>> the body of a message to majordomo@vger.kernel.org
>> >>> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>> >>
>> >>
>>
>

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

* eMMC 4.51
@ 2013-10-28  2:34           ` Jackey Shen
  0 siblings, 0 replies; 20+ messages in thread
From: Jackey Shen @ 2013-10-28  2:34 UTC (permalink / raw)
  To: linux-arm-kernel

Hi Dong

On Fri, Oct 18, 2013 at 2:59 PM, Dong Aisheng <b29396@freescale.com> wrote:
> Hi Jackey,
>
> The imx6sl SD controller supports SDIO 3.0.
> I've verified it with a Broadcom SDIO 3.0 WiFi card and it can be
> identified as SDR104 mode.

That's great news.
Does your imx6sl also support eMMC 4.51 or later card?
Could you please tell the product model (Broadcom SDIO 3.0 WiFi card)?

Thanks,
Jackey
>
> Regards
> Dong Aisheng
>
> On Fri, Oct 18, 2013 at 02:04:01PM +0800, Jackey Shen wrote:
>> Hi John,
>>
>> Does your SD host controller support 3.0 card? As I know, Marvel
>> SDIO8797 can work at UHS-I SDR104. Did you test it?
>>
>> Thanks,
>> Jackey
>>
>> On Thu, Oct 10, 2013 at 2:00 AM, John Tobias <john.tobias.ph@gmail.com> wrote:
>> > Hi Jackey,
>> >
>> > The Marvel SD8797 work fine but there are some cases that the firmware
>> > failed to load during the system boot up. Although, we managed it by
>> > power cycling the power source of the Marvel chip so that the kernel
>> > will able to detect and reinitialize again.
>> >
>> > The module was running in high speed, 4bit bus width.
>> >
>> > Here are some info:
>> >
>> > # iperf -c 192.168.x.x -t 60 -i 10
>> > ------------------------------------------------------------
>> > Client connecting to 192.168.x.x, TCP port 5001
>> > TCP window size: 20.7 KByte (default)
>> > ------------------------------------------------------------
>> > [  3] local 192.168.x.x port 52071 connected with 192.168.x.x port 5001
>> > [ ID] Interval       Transfer     Bandwidth
>> > [  3]  0.0-10.0 sec  48.0 MBytes  40.3 Mbits/sec
>> > [  3] 10.0-20.0 sec  53.4 MBytes  44.8 Mbits/sec
>> > [  3] 20.0-30.0 sec  53.8 MBytes  45.1 Mbits/sec
>> > [  3] 30.0-40.0 sec  56.4 MBytes  47.3 Mbits/sec
>> > [  3] 40.0-50.0 sec  54.2 MBytes  45.5 Mbits/sec
>> > [  3] 50.0-60.0 sec  53.5 MBytes  44.9 Mbits/sec
>> > [  3]  0.0-60.0 sec   319 MBytes  44.6 Mbits/sec
>> >
>> > # iwconfig mlan0
>> > mlan0     IEEE 802.11abgn  ESSID:"Pxx-xxx"
>> >           Mode:Managed  Frequency:2.437 GHz  Access Point:
>> > BC:Dx:xx:xx:xx:xx
>> >           Bit Rate=135 Mb/s
>> >           Retry  long limit:7   RTS thr:off   Fragment thr:off
>> >           Encryption key:off
>> >           Power Management:on
>> >           Link Quality=70/70  Signal level=-28 dBm
>> >           Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
>> >           Tx excessive retries:0  Invalid misc:0   Missed beacon:0
>> >
>> > Regards,
>> >
>> > john
>> >
>> >
>> >
>> > On Wed, Oct 9, 2013 at 12:23 AM, Jackey Shen <jackey.shen.bo@gmail.com>
>> > wrote:
>> >> Hi John,
>> >>
>> >> Does wifi module (Marvel SD8797) work fine on your board? What speed does
>> >> it
>> >> run at? SDR104?
>> >>
>> >> Thanks,
>> >> Jackey
>> >>
>> >> On Wed, Oct 9, 2013 at 10:00 AM, John Tobias <john.tobias.ph@gmail.com>
>> >> wrote:
>> >>>
>> >>> 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
>> >>> --
>> >>> To unsubscribe from this list: send the line "unsubscribe linux-mmc" in
>> >>> the body of a message to majordomo at vger.kernel.org
>> >>> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>> >>
>> >>
>>
>

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

* Re: eMMC 4.51
  2013-10-28  2:34           ` Jackey Shen
@ 2013-10-28  2:38             ` Dong Aisheng
  -1 siblings, 0 replies; 20+ messages in thread
From: Dong Aisheng @ 2013-10-28  2:38 UTC (permalink / raw)
  To: Jackey Shen; +Cc: Dong Aisheng, linux-mmc, John Tobias, linux-arm-kernel

Hi Jackey,

On Mon, Oct 28, 2013 at 10:34 AM, Jackey Shen <jackey.shen.bo@gmail.com> wrote:
> Hi Dong
>
> On Fri, Oct 18, 2013 at 2:59 PM, Dong Aisheng <b29396@freescale.com> wrote:
>> Hi Jackey,
>>
>> The imx6sl SD controller supports SDIO 3.0.
>> I've verified it with a Broadcom SDIO 3.0 WiFi card and it can be
>> identified as SDR104 mode.
>
> That's great news.
> Does your imx6sl also support eMMC 4.51 or later card?
> Could you please tell the product model (Broadcom SDIO 3.0 WiFi card)?
>

Yes, it supports eMMC 4.51 working on HS200 mode.
The WiFi card we tried is BCM4335.

Regards
Dong Aisheng

> Thanks,
> Jackey
>>
>> Regards
>> Dong Aisheng
>>
>> On Fri, Oct 18, 2013 at 02:04:01PM +0800, Jackey Shen wrote:
>>> Hi John,
>>>
>>> Does your SD host controller support 3.0 card? As I know, Marvel
>>> SDIO8797 can work at UHS-I SDR104. Did you test it?
>>>
>>> Thanks,
>>> Jackey
>>>
>>> On Thu, Oct 10, 2013 at 2:00 AM, John Tobias <john.tobias.ph@gmail.com> wrote:
>>> > Hi Jackey,
>>> >
>>> > The Marvel SD8797 work fine but there are some cases that the firmware
>>> > failed to load during the system boot up. Although, we managed it by
>>> > power cycling the power source of the Marvel chip so that the kernel
>>> > will able to detect and reinitialize again.
>>> >
>>> > The module was running in high speed, 4bit bus width.
>>> >
>>> > Here are some info:
>>> >
>>> > # iperf -c 192.168.x.x -t 60 -i 10
>>> > ------------------------------------------------------------
>>> > Client connecting to 192.168.x.x, TCP port 5001
>>> > TCP window size: 20.7 KByte (default)
>>> > ------------------------------------------------------------
>>> > [  3] local 192.168.x.x port 52071 connected with 192.168.x.x port 5001
>>> > [ ID] Interval       Transfer     Bandwidth
>>> > [  3]  0.0-10.0 sec  48.0 MBytes  40.3 Mbits/sec
>>> > [  3] 10.0-20.0 sec  53.4 MBytes  44.8 Mbits/sec
>>> > [  3] 20.0-30.0 sec  53.8 MBytes  45.1 Mbits/sec
>>> > [  3] 30.0-40.0 sec  56.4 MBytes  47.3 Mbits/sec
>>> > [  3] 40.0-50.0 sec  54.2 MBytes  45.5 Mbits/sec
>>> > [  3] 50.0-60.0 sec  53.5 MBytes  44.9 Mbits/sec
>>> > [  3]  0.0-60.0 sec   319 MBytes  44.6 Mbits/sec
>>> >
>>> > # iwconfig mlan0
>>> > mlan0     IEEE 802.11abgn  ESSID:"Pxx-xxx"
>>> >           Mode:Managed  Frequency:2.437 GHz  Access Point:
>>> > BC:Dx:xx:xx:xx:xx
>>> >           Bit Rate=135 Mb/s
>>> >           Retry  long limit:7   RTS thr:off   Fragment thr:off
>>> >           Encryption key:off
>>> >           Power Management:on
>>> >           Link Quality=70/70  Signal level=-28 dBm
>>> >           Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
>>> >           Tx excessive retries:0  Invalid misc:0   Missed beacon:0
>>> >
>>> > Regards,
>>> >
>>> > john
>>> >
>>> >
>>> >
>>> > On Wed, Oct 9, 2013 at 12:23 AM, Jackey Shen <jackey.shen.bo@gmail.com>
>>> > wrote:
>>> >> Hi John,
>>> >>
>>> >> Does wifi module (Marvel SD8797) work fine on your board? What speed does
>>> >> it
>>> >> run at? SDR104?
>>> >>
>>> >> Thanks,
>>> >> Jackey
>>> >>
>>> >> On Wed, Oct 9, 2013 at 10:00 AM, John Tobias <john.tobias.ph@gmail.com>
>>> >> wrote:
>>> >>>
>>> >>> 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
>>> >>> --
>>> >>> To unsubscribe from this list: send the line "unsubscribe linux-mmc" in
>>> >>> the body of a message to majordomo@vger.kernel.org
>>> >>> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>>> >>
>>> >>
>>>
>>
>
> _______________________________________________
> linux-arm-kernel mailing list
> linux-arm-kernel@lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

* eMMC 4.51
@ 2013-10-28  2:38             ` Dong Aisheng
  0 siblings, 0 replies; 20+ messages in thread
From: Dong Aisheng @ 2013-10-28  2:38 UTC (permalink / raw)
  To: linux-arm-kernel

Hi Jackey,

On Mon, Oct 28, 2013 at 10:34 AM, Jackey Shen <jackey.shen.bo@gmail.com> wrote:
> Hi Dong
>
> On Fri, Oct 18, 2013 at 2:59 PM, Dong Aisheng <b29396@freescale.com> wrote:
>> Hi Jackey,
>>
>> The imx6sl SD controller supports SDIO 3.0.
>> I've verified it with a Broadcom SDIO 3.0 WiFi card and it can be
>> identified as SDR104 mode.
>
> That's great news.
> Does your imx6sl also support eMMC 4.51 or later card?
> Could you please tell the product model (Broadcom SDIO 3.0 WiFi card)?
>

Yes, it supports eMMC 4.51 working on HS200 mode.
The WiFi card we tried is BCM4335.

Regards
Dong Aisheng

> Thanks,
> Jackey
>>
>> Regards
>> Dong Aisheng
>>
>> On Fri, Oct 18, 2013 at 02:04:01PM +0800, Jackey Shen wrote:
>>> Hi John,
>>>
>>> Does your SD host controller support 3.0 card? As I know, Marvel
>>> SDIO8797 can work at UHS-I SDR104. Did you test it?
>>>
>>> Thanks,
>>> Jackey
>>>
>>> On Thu, Oct 10, 2013 at 2:00 AM, John Tobias <john.tobias.ph@gmail.com> wrote:
>>> > Hi Jackey,
>>> >
>>> > The Marvel SD8797 work fine but there are some cases that the firmware
>>> > failed to load during the system boot up. Although, we managed it by
>>> > power cycling the power source of the Marvel chip so that the kernel
>>> > will able to detect and reinitialize again.
>>> >
>>> > The module was running in high speed, 4bit bus width.
>>> >
>>> > Here are some info:
>>> >
>>> > # iperf -c 192.168.x.x -t 60 -i 10
>>> > ------------------------------------------------------------
>>> > Client connecting to 192.168.x.x, TCP port 5001
>>> > TCP window size: 20.7 KByte (default)
>>> > ------------------------------------------------------------
>>> > [  3] local 192.168.x.x port 52071 connected with 192.168.x.x port 5001
>>> > [ ID] Interval       Transfer     Bandwidth
>>> > [  3]  0.0-10.0 sec  48.0 MBytes  40.3 Mbits/sec
>>> > [  3] 10.0-20.0 sec  53.4 MBytes  44.8 Mbits/sec
>>> > [  3] 20.0-30.0 sec  53.8 MBytes  45.1 Mbits/sec
>>> > [  3] 30.0-40.0 sec  56.4 MBytes  47.3 Mbits/sec
>>> > [  3] 40.0-50.0 sec  54.2 MBytes  45.5 Mbits/sec
>>> > [  3] 50.0-60.0 sec  53.5 MBytes  44.9 Mbits/sec
>>> > [  3]  0.0-60.0 sec   319 MBytes  44.6 Mbits/sec
>>> >
>>> > # iwconfig mlan0
>>> > mlan0     IEEE 802.11abgn  ESSID:"Pxx-xxx"
>>> >           Mode:Managed  Frequency:2.437 GHz  Access Point:
>>> > BC:Dx:xx:xx:xx:xx
>>> >           Bit Rate=135 Mb/s
>>> >           Retry  long limit:7   RTS thr:off   Fragment thr:off
>>> >           Encryption key:off
>>> >           Power Management:on
>>> >           Link Quality=70/70  Signal level=-28 dBm
>>> >           Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
>>> >           Tx excessive retries:0  Invalid misc:0   Missed beacon:0
>>> >
>>> > Regards,
>>> >
>>> > john
>>> >
>>> >
>>> >
>>> > On Wed, Oct 9, 2013 at 12:23 AM, Jackey Shen <jackey.shen.bo@gmail.com>
>>> > wrote:
>>> >> Hi John,
>>> >>
>>> >> Does wifi module (Marvel SD8797) work fine on your board? What speed does
>>> >> it
>>> >> run at? SDR104?
>>> >>
>>> >> Thanks,
>>> >> Jackey
>>> >>
>>> >> On Wed, Oct 9, 2013 at 10:00 AM, John Tobias <john.tobias.ph@gmail.com>
>>> >> wrote:
>>> >>>
>>> >>> 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
>>> >>> --
>>> >>> To unsubscribe from this list: send the line "unsubscribe linux-mmc" in
>>> >>> the body of a message to majordomo at vger.kernel.org
>>> >>> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>>> >>
>>> >>
>>>
>>
>
> _______________________________________________
> linux-arm-kernel mailing list
> linux-arm-kernel at lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

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

Thread overview: 20+ 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  2:00 ` John Tobias
2013-10-09  3:49 ` Shawn Guo
2013-10-09  3:49   ` Shawn Guo
2013-10-09  4:33   ` John Tobias
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-09 18:00     ` John Tobias
2013-10-18  6:04     ` Jackey Shen
2013-10-18  6:04       ` Jackey Shen
2013-10-18  6:59       ` Dong Aisheng
2013-10-18  6:59         ` Dong Aisheng
2013-10-28  2:34         ` Jackey Shen
2013-10-28  2:34           ` Jackey Shen
2013-10-28  2:38           ` Dong Aisheng
2013-10-28  2:38             ` Dong Aisheng
2013-10-21 22:58       ` John Tobias
2013-10-21 22:58         ` John Tobias
2013-10-28  2:22         ` Jackey Shen
2013-10-28  2:22           ` Jackey Shen

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.