This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] WL1831MOD:WLAN 模块通过 SDIO 停止响应、并且 WLAN 模块未在 Linux OS 引导中初始化

Guru**** 2518220 points
Other Parts Discussed in Thread: WL1831

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/wireless-connectivity/wi-fi-group/wifi/f/wi-fi-forum/969439/wl1831mod-wlan-module-stops-responding-via-sdio-and-wlan-module-is-not-initialized-in-linux-os-boot

器件型号:WL1831MOD
Thread 中讨论的其他器件:WL1831

您好!  

让客户遇到可能的启动问题。

问题:在运行期间、WLAN 模块有时会通过 SDIO 停止响应、并且 WLAN 模块在 Linux OS 引导中未初始化。 断电无法解决此问题。

我们使用的是 Linux 内核5.2.6 (更改为5.4)。  调制解调器固件由内核存储库(/firmware/ti-connectivity)提供

1) 1) WLAN 模块初始化

我们怀疑 WLAN 模块启动可能会导致问题。 模块启动如下所示:

红色:工作电压

蓝色:WLAN 使能信号

在引导过程中、Linux 引脚控制驱动程序多次启用/禁用 WLAN 使能信号、出于某种原因。 连续启用/禁用时序的时序不符合最小60uS 要求

设备树:

……μ A

mmc1{(&M)

//     DMA =<&EDMA_Xbar 12 0 1

//             EDMA_Xbar 13 0 2>;

//     dma-names ="TX"、"Rx";

       状态="正常";

       VMMC-supply =<&wlan_en_reg>;

       总线宽度=<4>;

       TI、不可拆卸;

       使能 SDIO 唤醒;

       电容断电卡;

       TI、需要特殊处理;

       暂停时保持供电;

       pinctrl-names ="default";

       pinctrl-0 =<&mmc1_PINS &wl18xx_pines>;

 

       #address-cells =<1>;

       #size-cells =<0>;

       wlcore:wlcore@0{

               兼容="ti、wl1831";

               reg =<2>;

               interrupt-parent =<&GPIO2>;

               中断=<25 IRQ_TYPE_EDGE_RISING >;

       };

};

………μ A

       wlan_en_reg:fixedreguler_wlan_en{

               兼容="稳压器固定";

               reguler-name ="wlan-en-regulator ";

               稳压器最小微伏=<1800000>;

               稳压器最大值微伏=<1800000>;

               StartUp-delay-us=<70000>;

 

               /* WL_EN */

               GPIO =<&GPIO2 22 0>;

               使能端高电平有效;

       };

…………μ A

       mmc1_pins:pinmux_mmc1_pins{

               pinctrl-single、pins =<

                       AM33XX_IOPAD (0x900、PIN_INPUT_PULLUP | MUX_MODE0)      /* WL SDIO 时钟*

                       AM33XX_IOPAD (0x904、PIN_INPUT_PULLUP | MUX_MODE0)      /* WL SDIO cmd *

                       AM33XX_IOPAD (0x8F0、PIN_INPUT_PULLUP | MUX_MODE0)      /* WL SDIO D3 *

                       AM33XX_IOPAD (0x8F4、PIN_INPUT_PULLUP | MUX_MODE0)      /* WL SDIO D2 *

                       AM33XX_IOPAD (0x8F8、PIN_INPUT_PULLUP | MUX_MODE0)      /* WL SDIO D1 *

                       AM33XX_IOPAD (0x8FC、PIN_INPUT_PULLUP | MUX_MODE0)      /* WL SDIO d0 *

                       AM33XX_IOPAD (0x87C、PIN_OUTPUT 上拉| MUX_MODE7)     /* WLAN_LDO_EN *

               >;

       };

 

       wl18xx_pins:pinmux_wl18xx_pins{

               pinctrl-single、pins =<

                       AM33XX_IOPAD (0x8E0、PIN_OUTPUT 上拉 | MUX_MODE7)    /* WLAN en */

                       AM33XX_IOPAD (0x8EC、PIN_INPUT 下拉| MUX_MODE7)    /* WL IRQ *

               >;

       };

 

此配置将 WLAN 使能 GPIO 配置为上拉电阻(正如模块集成文档中建议的那样)、但这会导致 GPIO 在内核将其配置为输出并将其驱动为低电平之前变为高电平。

什么会导致引脚控制多次驱动使能信号?

WLAN 模块是否启用信号会对模块造成永久损坏?

2) WLAN 模块修复

对于不通过 SDIO 进行通信的 WLAN 模块、是否可以 通过调试接口等方式恢复它们?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    附带 PDF 和图片、因为它们不显示 up.e2e.ti.com/.../WLAN-module-initialization.pdf

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    您可以分享电路板原理图以供查看吗?

    此致

    Saurabh