AnsweredAssumed Answered

The "sdhci-esdhc-imx: probe of 400b1000.esdhc failed with error -22" message.

Question asked by lyudmila voronina on Jun 20, 2019
Latest reply on Jun 25, 2019 by jamesbone

Hello

We have the board that has wl1837 connected to esdhc0 of vybrid vf6xx via the 1.8 V - 3.3 V transformer.
My image is based on timesys linux kernel 3.13.
When booting up, the kernel gives me: "sdhci-esdhc-imx: probe of 400b1000.esdhc failed with error -22".

 

What does the 22 error mean in this message?

Anybody know what might be the problem?

#Is there errors in my device tree?

 

Additional information:

I put this in my device tree:

in vf610_marvell.dtsi:

(My vf610_marvell.dtsi file is based on ~/twr_vf600/kernel-source/linux-3.13/arch/arm/boot/dts/vf610.dtsi)
(I take this from ~/twr_vf600/kernel-source/linux-4.4/arch/arm/boot/dts/vfxxx.dtsi)

 

esdhc0: esdhc@400b1000 {
compatible = "fsl,imx53-esdhc";
reg = <0x400b1000 0x1000>;
interrupts = <27 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&clks VF610_CLK_IPG_BUS>,
<&clks VF610_CLK_PLATFORM_BUS>,
<&clks VF610_CLK_ESDHC0>;
clock-names = "ipg", "ahb", "per";
status = "disabled";
};

 

in vf610-twr_wifi.dts:

(My vf610-twr_wifi.dts file is based on ~/twr_vf600/kernel-source/linux-3.13/arch/arm/boot/dts/vf610-twr.dts)

 

wlan_en_reg: fixedregulator@2 {

compatible = "regulator-fixed";
regulator-name = "wlan-en-regulator";
regulator-min-microvolt = <3300000>; //Before were 1.8V but my processor doesn't support this.
regulator-max-microvolt = <3300000>; //Before were 1.8V but my processor doesn't support this.
gpio = <&gpio2 24 0>; // WLAN_ENABLE, PORT2[24], PTD9
startup-delay-us = <70000>;
enable-active-high;

};


&esdhc0 {
status = "okay";
vmmc-supply = <&wlan_en_reg>;
bus-width = <4>;
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_esdhc0 &pinctrl_wlan_pins>;
ti,non-removable;
ti,needs-special-hs-handling; //I am not sure that it is necessary!!!
cap-power-off-card;
keep-power-in-suspend;
#address-cells = <1>;
#size-cells = <0>;
wlcore: wlcore@0 {
compatible = "ti,wl1837";
reg = <2>;
interrupt-parent = <&gpio1>; // WLAN_IRQ, PORT1[31], PTD31
interrupts = <31 IRQ_TYPE_EDGE_RISING>;
};
};

 

pinctrl_wlan_pins: wlan_pins {
fsl,pins = <
VF610_PAD_PTD9__GPIO_88 0x2182 // WLAN_ENABLE
VF610_PAD_PTD31__GPIO_63 0x22ed // WLAN_IRQ
>;
};

 

pinctrl_esdhc0: esdhc0grp {
fsl,pins = <
VF610_PAD_PTC0__ESDHC0_CLK 0x31ef
VF610_PAD_PTC1__ESDHC0_CMD 0x31ef
VF610_PAD_PTC2__ESDHC0_DAT0 0x31ef
VF610_PAD_PTC3__ESDHC0_DAT1 0x31ef
VF610_PAD_PTC4__ESDHC0_DAT2 0x31ef
VF610_PAD_PTC5__ESDHC0_DAT3 0x31ef
>;
};


vf610_marvell.dtsi and vf610-twr_wifi.dts files are attached.

Settings for wi-fi and wl1837 drivers and firmware are in .config file, which is attached.

 

thanks

Outcomes