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/DRA77P:内核版本4.14中的 mmc3所需的更改

Guru**** 2549240 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/822789/linux-dra77p-changes-required-for-mmc3-in-kernel-version-4-14

器件型号:DRA77P

工具/软件:Linux

您好!

之前、我在 dra77x 中使用内核版本4.4 处理器 SDK Linux Automotive v5_00_00_01启动了 mmc3接口(用于 WIFI 模块)、并成功实现了这一目的。

在移植到 v4.14时、我发现在应用此处器件树文件的先前更改时出现一些问题。

在插入驱动程序时、会出现以下消息、

WLAN:加载 mWLAN 驱动
程序[48.754770] vendor=0x02DF device=0x9135 class="0" function=1
[48.755562] SDIO:Max_segs=128 max_seg_size=65536
[48.755569] r_work =1 cpu_num=2
[48.759056] WLAN:启用 TX 模式[48.779sg

sduart8887_combo_a2.bin
硬件请求超时[r42:rwlan 请求等待时间:4r72]
[49.911616] mmc2:sdhci:================= SDHCI 寄存器转储====
[ 49.91162] mmc2:sshci:sys addr:0xae0e0010 |版本:0x00003302
[ 49.911631] mmc2:sshci:blk size:0x00000100 | blk cnt:0x00000001
[ 49.911637] mmc2:sshci:参数:0x92000100 | trn
:0x000000049] mmc502[主机:0x00009491642]
0x0000000f | Blk GAP:0x00000000
[ 49.911655] mmc2:sshci:WAKE-UP:0x00000000 |时钟:0x00000c07
[ 49.911660] mmc2:sshci:timeout:0x00000007 | int stat:0x00000000
[ 49.911666] mmc2:sdhcb:0x00000007b
:0x00000007b:0x000000072| mmcr:0x0000049000b:0x0000000b:0x0000000b:0x000000072xtf
电容: 0x25e10080 | caps_1:0x00000f77
[49.911683] mmc2:sdhci:cmd: 0x0000353a |最大电流:0x00000000
[ 49.911688] mmc2:sdhci:RESP[0]:0x00002000 | Resp[1]:0x00000000
[ 49.911694] mmc2:sdhci:RESP[2]:0x00000000 | Resp[3]:0x00000000
[ 49.911699] mmc==========mmc==============0x00002============================.000========.000==.000==.000=.000=.000=.000=.000=.000=.000=.000=.000=.000=.000=

[ 49.911803] cmd53写入错误=-110
[ 49.911973] WLAN:固件下载、写入 iomem (0)失败@ 0
[49.912263] WLAN_dnld _fw 失败 ret=0xffffffffff
[ 49.912270] WLAN:无法下载固件、且 nowwait:0
[ Fun915065] SDIO c0 (0x0-0x02 0x02 0x02 0x22 0x00 c0
)[49.0217-025] 00 00 00 00 00 00 00 00 00
[49.920754] SDIO 功能1:(0x8) 00 (0x58) 00 (0x5c) 0d (0x5d) 00 (0x60) 01 (0x61) 00 (0x62) 00 (0x64) 10 (0x65) 01 (0x66) 00 (0x68) 00 (0x69) 00 (0x6A) 00 (0x949-0x40
) 00) SDIO 功能1 (0x99a 00) 00) 00:0x99940-00 (0x99a 00) 00 00 00 00 00 00 00 00
[50.026560] SDIO 功能1 (0x90-0x9a):00 00 00 00 00 00 00 00 00 00 00
[50.026626] woal_request_FW failed
[50.026629] Firmware Init failed
[50.031862] woal_add_card failed
[50.032403] wlan_SDIO:probe of mmc2:0001:1 failed with error -1
[50.033512] wlan:driver loaded successfully. 

此版本的内核可能需要进行哪些更改?

我尝试从 prev 应用 dra7.dtsi、dra76-evm.dts 和 dra76x-MMC-iodelay.dtsi 的确切更改。 最新版本、但仍然找不到任何希望。

此致、

Padmesh

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

    您好、Padmesh、

    MMC 控制器驱动程序从 OMAP-hsmmc (内核4.4)切换到了 sdhci-OMAP (内核4.14)驱动程序。
    您对内核4.4中的 DTS 文件进行了哪些更改?  

    此致、
    Vishal

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

    您好、Vishal、

    我已经实现了一个虚拟 VMMC_辅助 电源稳压器(WLAN_电脑 控制器)作为电源、并在 mmc3节点中添加了引脚多路复用详细信息和其他设置、

    wlan_regulator:fixedreguler-wlan_regulator{
    compatible ="reguler-fixed";
    reguler-name ="wlan_regulator ";
    reguler-min-microvolt =<1800000>;
    reguler-max-microvolt =<1800000>;
    reguler-always 开启;
    reguler-boot-on;
    /*GPIO =<&GPIO3 29 GPIO_ACTIVE_HIGH>;
    启用-高电平有效;*/
    
    };
    
    &dra7_PMX_CORE{
    
    mmc3_PINS_DEFAULT: mmc3_PINS_DEFAULT{
    pinctrl-single、PIN=<
    DRA7XX_CORE_IOPAD (0x377c、(PIN_INPUT_PULLUP | MODE0))
    DRA7XX_CORE_IOPAD (0x3780、(PIN_INPUT_PULLUP | MOUX_MODE)
    
    
    
    
    
    
    
    
    
    
    
    |"0x378XX_MOUX_ODIOPAD (0x378_MODE)|(0x378_MOUX_MODE)= 0x378_PULLUC_PULLU_PULLU_OUX_MODE)|(0x378_MODE)|(0x378_MOUX_OUX_MODE)= 0x378_PULLU_PULLUP (0x37_MODE)| MOUX_MODE = 0x378_PULLU_MODE)|(0x37_OUX_OUX_OUX_MODE = 0x378_PULLUP)|(0x378_OUX_MODE)| MOUX_MODE) PULLUP (0x378_PULLUP (0x378_MOU
    VMMC-SUPPLY =<&VIO_3V3>;
    VMMC_aux-supply =<&WLAN_regulator >;
    总线宽度=<4>;
    ti、不可拆卸;
    Max-frequency =<50000000>;
    /* cap-SDIO-IRQ;*/
    cap-power-off-card;
    keep-power-in suspend;
    /* enable-SDIO-wakeup;*/
    pinctrl-names ="default";
    pinctrl-0 =<&mmc3_pins_default &mmc3_iodelay_manual1>
    
    ;}
    

    使用 mmc3节点的此配置、我获取日志、

    [545.000344] mlan:模块许可证“Movell 专有”提供内核。
    [545.000353]由于内核延迟禁用锁定调试
    [548.655718] WLAN:加载 mWLAN 驱动程序
    [548.758316] fendor=0x02DF device=0x9135 class=0 function=1
    [548.758746] SDIO:Max_segs=128 max_seg_size=524288
    [548.758751]
    
    
    :[548.758746] WLAN 工作模式:启用[548.60629] WLAN 请求:[548.60629] mrvl/sduart8887_combo_a2.bin
    [549.927780] WLAN:固件下载方式、 welelen=615340 Downloaded 615340
    [ 550.430070] WLAN FW 处于活动
    状态[ 555.445035]驱动程序版本= SD8887-0.0.0.p0-C4X15C620-GPL-(FP44)
    [ 555.445042] main_state = 1
    [555.445047] ioctl_pending = 0
    [555.445056][555.445056] malloc
    
    count = 555.445056][555.445056][_malloc = 555.445056][555.445056][_tx count 计数[555.445056][555.445056
    
    
    [555.445074] hs_skip_count = 0
    [555.445079] hs_force_count = 0
    [555.445198] woal_request_FW 失败
    [555.445203]固件初始化失败 

    之后、控制台中将没有响应。

    从我发现的控制台的 ssh 中、

    root@dra7xx-EVM:~# cat /sys/kernel/debug/mmc2/ios
    时钟:48000000 Hz
    VDD:21 (3.3 ~ 3.4V)
    总线模式:2 (推挽)
    芯片选择:0 (无关)
    功率模式:2 (开启)
    总线宽度:2 (4位)
    时序规格:0 (传统)
    信号电压:0 (3.30V)
    驱动器类型:0 (驱动器类型 B)
    root@draxx:#~ 7xx 

    我已连接整个引导 log.e2e.ti.com/.../5556.bootlog.txt

    此致、

    Padmesh

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

    您好、Padmesh、

    您是否知道这些行的含义、内核4.4中是否也存在这种情况?
    这些不是 MMC 驱动程序提供的。

    [555.445198] woal_request_FW 失败
    [555.445203]固件初始化失败


    此致、
    Vishal

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

    您好、Vishal、

    内核版本4.4中未发生此问题

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

    您能否向 WLAN 模块供应商咨询此模块的内核4.14支持?

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

    您好、Vishal、

    随附的日志是否意味着 anythinge2e.ti.com/.../wifilog.txt

    使用 sshci 驱动程序(内核版本4.14中)会影响 WLAN 卡的工作。 先前版本4.4中的 hsmmc workerd 正常。

    对于未初始化固件的原因、无法从日志中推断出任何差异。

    此致、

    Padmesh

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

    您好、Padmesh、

    您是否查看了器件树文档并查看了4.14的哪些 dt 字段已更新? 您可以检查一下吗?

    此致、

    Praveen

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

    您好、Padmesh、

    SDHCI 驱动程序也应适用于 SDIO 卡。

    您所附的日志不显示 SDHCI 驱动程序中的任何错误。 日志讨论特定的命令超时、您能否与 WLAN 供应商核实这些日志? 这将有助于了解哪些操作已完成以及哪些操作已超时。


    此致、
    Vishal

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

    您好、Vishal、

    插入和删除 cfg80211模块时、我用于在 prev 内核版本中查找某些日志。 此处不会出现此类消息。

    这是问题吗?

    我们拥有的固件是更新版本。

    此致、
    Padmesh

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

    MMC 驱动程序没有问题。
    请与模块供应商联系以获取内核4.14的支持。