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.

[参考译文] Linux/DRA745:J6内核4.4.23中未检测到 WLAN 芯片

Guru**** 2541900 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/601796/linux-dra745-wlan-chip-is-not-detected-in-j6-kernel-4-4-23

器件型号:DRA745

工具/软件:Linux

大家好、团队、

我是 Anil。 我们使用 TI J6 (DRA74X 系列)处理器作为主机处理器和 Marvell 的第三方 WLAN 芯片(MV888X)。

WLAN 通过 MMC3节点[SDIO 接口]连接到主机。 WLAN 芯片复位/PD 连接到主机的 GPIO6_5引脚。

主机 MMC 驱动程序经过修改、可使用 WLAN-PD-GPIO 属性切换 WLAN 芯片复位线路。

mmc3的 DTS 更改通过引用特定 J6内核源中提供的另一个 MMC 示例来完成。

我们已修改 DTS/dtsi 以设置此 WLAN 芯片连接、如下所述。

Linux 内核- 4.4.23

文件:dra7.dtsi

         mmc3:MMC@480ad000{
                       兼容="ti、dra7-hsmmc"、"ti、omAP4-hsmmc";
                       REG =<0x480ad000 0x400>;
                       中断= ;
                       ti、hwmds ="mmc3";
                       DMA =<&sdma_Xbar 77>、<&sdma_Xbar 78>;
                       dma-names ="TX"、"Rx";
                       STATUS ="禁用";
                       SD-UHS-SDDR12;
                       SD-UHS-SDDR25;
                       SD-UHS-SDDR50;
               };

文件:J6_CustomBoard.dts

mmc3{(&M)
       状态="正常";
       VMMC-SUPPLY =<&EVM_3V3_SW>;
       总线宽度=<4>;
       NO-1-8-v;
       WLAN-PD-GPIO =<&GPIO6 5 GPIO_ACTIVE_HIGH_>;
/*     不可拆卸;*/    /已通过添加和拆卸测试
};

DTS/dtsi 文件中的这些更改未检测到 WLAN 芯片。

请告诉我如何在 DTS/dtsi 文件的 MMC/SDIO 节点中定义 WLAN 器件。

通过 MMC/SDIO 接口连接的 WLAN 芯片的任何 J6 DTS/dtsi 条目示例。

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

    我已将您的问题转发给 WLAN 专家。

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

    请勿修改 dra7.dtsi 中定义的 mmc3节点。

    查看 arch/arm/boot/dts/am57xx-evm-common.dtsi 文件的 mmc3节点、以了解我们如何将无线器件添加到 mmc3控制器。


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

    感谢您的回复。

    我对 dra7.dtsi 文件的修改不多、唯一的变化是添加了数据速率支持模式"d-UHS-sdr50"并删除了"ti、needs -special -reset"。 我将尝试将此"ti,needs -special -reset"属性重新添加到 dtsi 中,并查看该行为。

    我已在 DTS 文件[J6_customBoard.dts]中添加了针对 mmc3器件的上述更改。 此外、我们不需要在 Marvell WiFi 芯片组(MV888X)的 MMC 节点中添加特定于无线设备的更改(如 wlcore)。

    目前、同一个 WiFi 芯片正在不同芯片供应商的另一个主机处理器上工作、我们不需要提及 DTS 的 MMC 节点中针对无线器件所做的更改(如 wlcore)。 我是说、如果使用 WLAN_PD 引脚完成 WLAN 芯片复位、WLAN 器件检测/识别将在内核启动或 MMC 子系统初始化期间完成。

    我认为这可能是 MMC 初始化时 WLAN 芯片检测的问题。 我将与 dmesg 日志一起共享修补程序文件、并在我的末尾进行当前更改。


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

    我已恢复 dtsi 文件中的更改。 与 DTS 文件和 MMC 主机驱动程序文件以及 dmesg 日志相关的 PFA 补丁更改。

    WiFi 芯片复位使用" WLAN-PD-GPIO"引脚完成。 它在 DTS 中设置为低电平有效、并通过 MMC 主机驱动程序设置为高电平。
    对于这些更改、您可以参阅补丁文件。 尝试切换此 GPIO 引脚或设置为高电平或低电平状态的实验已经很少、但没有成功。

    从 dmesg 中、我们可以看到 SDIO 初始化失败。 不确定此故障的确切原因。
    "mmc2:初始化 SDIO 卡时出错-110 "

    此外、最新更新的 dra7 DTS 文件未进行任何更改。
    mmc3:MMC@480ad000{
    兼容="ti、dra7-hsmmc"、"ti、omAP4-hsmmc";
    REG =<0x480ad000 0x400>;
    中断= ;
    ti、hwmds ="mmc3";
    TI,需要特殊重置;
    DMA =<&sdma_Xbar 77>、<&sdma_Xbar 78>;
    dma-names ="TX"、"Rx";
    STATUS ="禁用";
    SD-UHS-SDDR12;
    SD-UHS-SDDR25;
    SD-UHS-SDDR50;
    };


    只是另一个查询、
    > arch/arm/boot/dts/am57xx-evm-common.dtsi
    它定义了 mmc3的显式引脚多路复用。 我们是否需要为 J6的 mmc3引脚设置类似的引脚多?

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

    e2e.ti.com/.../0535.dmesg.txte2e.ti.com/.../mmc3_5F00_wlan.zip

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

    是的、您需要添加 MMC3引脚多路复用器。

    此致、
    Vishal