Hi,
I have a customer iMX6ULZ which usdhc1 uses 1.8V VDD not 3.3V, it also does not use , reg_sd1_vmmc, I tried modify and overwrite reg_sd1_vmmc voltage and to remove GPIO 9, and &usdhc1 included from imx6ul-14x14-evk.dtsi:
#include "imx6ull.dtsi"
/ {
model = "custom imx6ulz";
compatible = "fsl,imx6ull";
chosen {
stdout-path = &uart1;
};
memory@80000000 {
reg = <0x80000000 0x20000000>;
};
reg_sd1_vmmc: regulator-sd1-vmmc {
compatible = "regulator-fixed";
regulator-name = "VSD_1V8";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
/* gpio = <&gpio1 9 GPIO_ACTIVE_HIGH>; */
enable-active-high;
};
};
&usdhc1 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_usdhc1>;
cd-gpios = <&gpio1 19 GPIO_ACTIVE_LOW>;
max-frequency = <50000000>;
keep-power-in-suspend;
#wakeup-source;
vmmc-supply = <®_sd1_vmmc>;
non-removable;
status = "okay";
};
But that did not work in kernel, the mmc0 was still 3.3:
clock: 50000000 Hz
actual clock: 49500000 Hz
vdd: 21 (3.3 ~ 3.4 V)
bus mode: 2 (push-pull)
chip select: 0 (don't care)
power mode: 2 (on)
bus width: 2 (4 bits)
timing spec: 2 (sd high-speed)
signal voltage: 0 (3.30 V)
driver type: 0 (driver type B)
The GPIO 9 was still in kernel:
gpio-9 ( |VSD_3V3 ) out hi
Why could the reg_sd1_vmmc not be changed?
Thank you.
Kind regards,
jh
Hi Jupiter
if 1.8V/ 3.3V switching is not needed one can try to follow SPF-29364 p.10 (i.MX6ULL EVK)
recommendation
and use dts usdhc2 example
Best regards
igor
Hi igor,
Thanks for your response. the usdhc2 in my imx6ul-14x14-evk.dtsi has a statement no-1-8-v;, should I add the 1-8-v or no-1-8-v; to my dts usdhc1?
BTW, how can I delete reg_sd1_vmmc in imx6ul-14x14-evk.dtsi presented in my dts?
Thank you.
Kind regards,
jh