Hi John,
If you're using FSL release L3.10 kernel or latest upstream kernel,
there're two ways to disble USH mode for the card.
1. you can simply disable USH mode by adding no-1-8-v property under the device node.
e.g.
&usdhc1 {
pinctrl-names = "default", "state_100mhz", "state_200mhz";
pinctrl-0 = <&pinctrl_usdhc1_1>;
pinctrl-1 = <&pinctrl_usdhc1_1_100mhz>;
pinctrl-2 = <&pinctrl_usdhc1_1_200mhz>;
bus-width = <8>;
cd-gpios = <&gpio4 7 0>;
wp-gpios = <&gpio4 6 0>;
no-1-8-v;
keep-power-in-suspend;
enable-sdio-wakeup;
status = "okay";
};
2. Do not define uhs pinctrl state, then driver will also automatically fall back to non-uhs mode
for the card.
e.g.
&usdhc1 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_usdhc1_1>;
bus-width = <8>;
cd-gpios = <&gpio4 7 0>;
wp-gpios = <&gpio4 6 0>;
keep-power-in-suspend;
enable-sdio-wakeup;
status = "okay";
};
Regards
Dong Aisheng