Thread 中讨论的其他器件:WL1837
工具/软件:Linux
你好
我们的电路板具有 wl1837、通过1.8V - 3.3V 变压器连接到 vyrid vf6xx 的 esdhc0。
我的映像基于 Timesys Linux 内核3.13。
我们不使用蓝牙、因此蓝牙不存在设备树。
启动时、内核不会将 wlan_enable 设置为高级和
给我"sdhci-esdhc-imx: probe of 400b1000.esdhc failed with error -22"。
在我看来、内核不理解它是 Wi-Fi 模块。
内核如何理解它是 Wi-Fi 模块而不是 SD 卡?
什么是错误的、设备树或.config 文件?
我将其放入设备树中:
在 vf610_wifi.dtsi 中:
esdhc0:esdhc@400b1000{
兼容="FSL,imx53-esdhc";
REG =<0x400b1000 0x1000>;
中断=<27 IRQ_TYPE_LEVEL_HIGH_>;
时钟=<&CLKS VF610_CLK_IPG_BUS>、
<&CLKS VF610_CLK_platform_BUS>、
<&CLKS VF610_CLK_ESDHCP0>;
时钟名称="IPG"、"AHB"、"PER";
STATUS ="禁用";
};
我的 vf610_wifi.dtsi 文件基于用于 TWR-VF65GS10的 vf610.dtsi 和 vfxxx.dtsi。
我从 vfxxx.dtsi 获取该文件。
在 vf610-wify_min.dts 中:
(我的 vf610-WIFI_min.dts 文件基于用于 TWR-VF65GS10的 vf610-twr.dts、
但 vf610-twr.dts 中没有针对 wi-fi 的设备树)
wlan_en_reg:fixedregator@2{
兼容="稳压器固定";
reguler-name ="wlan-en-regulator ";
电脑控制器-最小-微伏=<3300000>; /*我的处理器不支持1.8V。*/
reguler-max-microvolt =<3300000>;/*我的处理器不支持1.8V。*/
GPIO =<&GPIO1 25 0>; /* WLAN_ENABLE、PORT0[25]、PTB3*/
启动延迟-us =<70000>;
使能端高电平有效;
};
esdhc0{(&E)
状态="正常";
VMMC-supply =<&wlan_en_reg>;
总线宽度=<4>;
pinctrl-names ="default";
pinctrl-0 =<&pinctrl_esdhc0 &pinctrl_wlan_pines>;
TI、不可拆卸;
TI、需要特殊的 hs 处理; //我不确定是否有必要!!!
电容断电卡;
暂停时保持供电;
#address-cells =<1>;
#size-cells =<0>;
wlcore:wlcore@0{
兼容="ti、wl1837";
reg =<2>;
interrupt-parent =<&GPIO1>; // WLAN_IRQ、Port1[31]、PTD31
中断=<31 IRQ_TYPE_EDGE_RISING >;
};
};
pinctrl_wlan_pins:wlan_pins{
FSL、引脚=<
VF610_pad_PTB3_GPIO_25 0x2182 /* wlan_enable*/
VF610_PAD_PTD31_GPIO_63 0x22ed /* WLAN_IRQ*/
>;
};
pinctrl_esdhc0:esdhc0grp{
FSL、引脚=<
VF610_pad_PTC0_ESDHCP0_CLK 0x31ef
VF610_pad_PTC1_ESDHCP0_CMD 0x31ef
VF610_pad_PTC2_ESDHCP0_DAT0 0x31ef
VF610_pad_PTC3__ESDHCP0_DAT1 0x31ef
VF610_pad_PTC4_ESDHCP0_DAT2 0x31ef
VF610_PAD_PTC5_ESDHCP0_DAT3 0x31ef
>;
};
随附 vf610_wifi.dtsi 和 vf610-WIFI_min.dts 文件。
wi-fi 和 wl1837驱动程序和固件的设置位于随附的.config 文件中。
我之前没有写入设备树。
谢谢
e2e.ti.com/.../TI_5F00_wl1837.tar.gz