Other Parts Discussed in Thread: WL1837
Tool/software: Linux
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.
We do not use bluetooth therefore device tree is absent for bluetooth.
When booting up, the kernel does not set WLAN_ENABLE to the high level and
gives me "sdhci-esdhc-imx: probe of 400b1000.esdhc failed with error -22".
In my opinion the kernel does not understand that it is the wi-fi module.
How does the kernel understand that it is the wi-fi module but not a SD card?
What is wrong, device tree or .config file?
I put this in my device tree:
in vf610_wifi.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";
};
My vf610_wifi.dtsi file is based on vf610.dtsi and vfxxx.dtsi for TWR-VF65GS10.
I take this from vfxxx.dtsi.
in vf610-wifi_min.dts:
(My vf610-wifi_min.dts file is based on vf610-twr.dts for TWR-VF65GS10,
but there is not device tree for wi-fi in vf610-twr.dts)
wlan_en_reg: fixedregulator@2 {
compatible = "regulator-fixed";
regulator-name = "wlan-en-regulator";
regulator-min-microvolt = <3300000>; /*my processor doesn't support 1.8V.*/
regulator-max-microvolt = <3300000>; /*my processor doesn't support 1.8V.*/
gpio = <&gpio1 25 0>; /* WLAN_ENABLE, PORT0[25], PTB3*/
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_PTB3__GPIO_25 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_wifi.dtsi and vf610-wifi_min.dts files are attached.
Settings for wi-fi and wl1837 drivers and firmware are in .config file, which is attached.
Earlier I did not write a device tree.
thanks
TI_wl1837.tar.gz