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.

[参考译文] M2-CC3351:CC3351驱动程序未在内核6.1.x 的 BuildRoot 2024.05.3上进行探测的问题

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

https://e2e.ti.com/support/wireless-connectivity/wi-fi-group/wifi/f/wi-fi-forum/1503754/m2-cc3351-issue-with-cc3351-driver-not-probing-on-buildroot-2024-05-3-with-kernel-6-1-x

器件型号:M2-CC3351
Thread 中讨论的其他器件:CC3351

工具/软件:

你(们)好


构建 AM62处理器 SDK 09.01.00.08、安装了相关的 am62x wic 映像、wlan0接口正常工作。
现在、我使用 BuildRoot 2024.05.3并使用 buildroot-external-TI 10.01.10.04。 内核6.1.x 中没有 CC3351驱动程序 因此、我参考了 cCC33xx 迁移指南至 BuildRoot 的"patch" cc33xx_linux_package_1_0_0_8。 但 cc33xx 在启动时不进行探测。


[ 1.947785] mmc0:使用 ADMA 64位的 fa10000.mmc [fa10000.MMC]上的 SDHCI 控制器
[1.960553] mmc1:CQHCI 5.10版
[ 1.961208] cfg80211:为监管数据库加载已编译的 X.509证书
[ 1.973696]已加载 X.509证书"请求:00b28ddf47aef9cea7"
[1.980108]已加载 X.509证书'wens: 61c038651aabdcf94bd0ac7ff06c7248db18c600'
[ 1.987410] clk:禁用未使用的时钟
[ 1.991441] platform regulature.0:regulature.db 的直接固件加载失败、错误-2
[2.000091] cfg80211:无法加载 regulature.db
[2.007243] mmc1:使用 ADMA 64位的 fa00000.mmc [fa00000.MMC]上的 SDHCI 控制器
[ 2.016834] mmc2:CQHCI 版本5.10
[ 2.049947] mmc0:已启用队列引擎命令
[ 2.054434] mmc0:地址0001处的新 HS200 MMC 卡
[ 2.060228] mmcblk0:mmc0:0001 G1M15L 29.6 GiB
[ 2.061030] mmc2:使用 ADMA 64位的 fa20000.mmc [fa20000.MMC]上的 SDHCI 控制器
[2.066446] mmcblk0:p1 p2
[2.067772] mmc1:地址为 AAAA 的全新超高速 SDR104 SDHC 卡
[2.068576] mmcblk1:mmc1:AAAA SH32G 29.7 Gib
[ 2.070811] mmcblk1:P1 p2
[ 2.077600] sdhci-am654 fa20000.mmc:卡声明支持低于定义范围的电压
[ 2.082437] mmcblk0boot0:mmc0:0001 G1M15L 31.5 MIB
[2.098351] mmc2:地址0001处的新高速 SDIO 卡
[2.103076] mmcblk0boot1:mmc0:0001 G1M15L 31.5 MIB


k3-am625-sk.dts


&main_pmx0{
main_rgmii2_pins_default:main-rgmii2-default-pins{
全部引导;
pinctrl-single、pins =<
AM62X_IOPAD (0x184、PIN_INPUT、0)/(AE23) RGMII2_RD0/
AM62X_IOPAD (0x188、PIN_INPUT、0)/(AB20) RGMII2_RD1/
AM62X_IOPAD (0x18c、PIN_INPUT、0)/(AC21) RGMII2_RD2/
AM62X_IOPAD (0x190、PIN_INPUT、0)/(AE22) RGMII2_RD3/
AM62X_IOPAD (0x180、PIN_INPUT、0)/(AD23) RGMII2_RXC/
AM62X_IOPAD (0x17c、PIN_INPUT、0)/(AD22) RGMII2_RX_CTL /
AM62X_IOPAD (0x16c、PIN_OUTPUT、0)/(Y18) RGMII2_TD0/
AM62X_IOPAD (0x170、PIN_OUTPUT、0)/(AA18) RGMII2_TD1/
AM62X_IOPAD (0x174、PIN_OUTPUT、0)/(AD21) RGMII2_TD2/
AM62X_IOPAD (0x178、PIN_OUTPUT、0)/(AC20) RGMII2_TD3/
AM62X_IOPAD (0x168、PIN_OUTPUT、0)/(AE21) RGMII2_TXC/
AM62X_IOPAD (0x164、PIN_OUTPUT、0)/(AA19) RGMII2_TX_CTL
>;
};

ospi0_pins_default:ospi0-default-pins{
全部引导;
pinctrl-single、pins =<
AM62X_IOPAD (0x000、PIN_OUTPUT、0)/(H24) OSPI0_CLK/
AM62X_IOPAD (0x02c、PIN_OUTPUT、0)/(F23) OSPI0_CSn0/
AM62X_IOPAD (0x00c、PIN_INPUT、0)/(E25) OSPI0_D0 /
AM62X_IOPAD (0x010、PIN_INPUT、0)/(G24) OSPI0_D1/
AM62X_IOPAD (0x014、PIN_INPUT、0)/(F25) OSPI0_D2/
AM62X_IOPAD (0x018、PIN_INPUT、0)/(F24) OSPI0_D3/
AM62X_IOPAD (0x01c、PIN_INPUT、0)/(J23) OSPI0_D4/
AM62X_IOPAD (0x020、PIN_INPUT、0)/(J25) OSPI0_D5/
AM62X_IOPAD (0x024、PIN_INPUT、0)/(H25) OSPI0_D6/
AM62X_IOPAD (0x028、PIN_INPUT、0)/(J22) OSPI0_D7/
AM62X_IOPAD (0x008、PIN_INPUT、0)/(J24) OSPI0_DQS/
>;
};

VDD_SD_dv_pins_default:VDD-SD-dv-default-pins{
全部引导;
pinctrl-single、pins =<
AM62X_IOPAD (0x07c、PIN_OUTPUT、7)/(P25) GPMC0_CLK.GPIO0_31/
>;
};

MAIN_GPIO1_ioexp_intr_pins_default:main-ga1-ioexp-intr-default-pins{
全部引导;
pinctrl-single、pins =<
AM62X_IOPAD (0x01d4、PIN_INPUT、7)/(B15) UART0_RTSn.GPIO1_23 /
>;
};

wlan_en_pins_default:wlan-en-pins-default{
pinctrl-single、pins =<
AM62X_IOPAD (0x124、PIN_OUTPUT、7)/(A23) MMC2_SDCD1.GPIO0_71/
>;
};

main_mmc2_pins_default:main-mmc2-pins-default{
pinctrl-single、pins =<
AM62X_IOPAD (0x120、PIN_INPUT、0)/(C24) MMC2_CMD/
AM62X_IOPAD (0x118、PIN_INPUT、0)/(D25) MMC2_CLK/
AM62X_IOPAD (0x114、PIN_INPUT、0)/(B24) MMC2_DAT0/
AM62X_IOPAD (0x110、PIN_INPUT、0)/(C25) MMC2_DAT1/
AM62X_IOPAD (0x10c、PIN_INPUT、0)/(E23) MMC2_DAT2/
AM62X_IOPAD (0x108、PIN_INPUT、0)/(D24) MMC2_DAT3/
AM62X_IOPAD (0x11c、PIN_INPUT、0)/(#N/A) MMC2_CLKB/
>;
};

main_wlirq_pins_default:main-wlirq-pins-default{
pinctrl-single、pins =<
AM62X_IOPAD (0x128、PIN_INPUT、7)/(B23) MMC2_SDWP.GPIO0_72/
>;
};

MAIN_uart1_pins_new:main-uart1-pins-new{
pinctrl-single、pins =<
AM62X_IOPAD (0x1ac、PIN_INPUT、2)/(E19) McASP0_AFSR.UART1_RXD/
AM62X_IOPAD (0x198、PIN_OUTPUT、2)/(A19) McASP0_AXR2.UART1_RTSn /
AM62X_IOPAD (0x194、PIN_INPUT、2)/(B19) McASP0_AXR3.UART1_CTSN/
AM62X_IOPAD (0x1b0、PIN_OUTPUT、2)/(A20) McASP0_ACLKR.UART1_TXD/
>;
};

};
&sdhci2{
状态="正常";
VMMC-SUPPLY =<&WLAN_EN>;
pinctrl-names ="default";
pinctrl-0 =<&main_mmc2_pins_default>;
总线宽度=<4>;
不可拆卸;
TI、未通过测试的故障 CD;
电容断电卡;
保持电源处于挂起状态;
assigned-clocks =<&K3_CLKS 157 158>;
assigned-clock-parament=<&k3_CLKS 157 160>;

#address-cells =<1>;
#size-cells =<0>;
wlcore:wlcore@0{
compatible ="ti、cc3351";
reg =<2>;
pinctrl-names ="default";
pinctrl-0 =<&main_wlirq_pins_default>;
中断父级=<&MAIN_GPIO0>;
中断=<72 IRQ_TYPE_EDGE_FALLING>;
};
};

谢谢、

Sheng

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

    您好:

    您可以尝试加载 cc33xx 模块吗? 您可以使用"modprobe cc33xx"执行此操作。

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

    尊敬的 Sabeeh:

    我无法加载。

    谢谢。

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

    https://github.com/TexasInstruments-Sandbox/cc33xx-linux-mpu-ports/blob/main/ti-linux-6.6.y/drivers-cc33xx-update-to-1.0.0.8.patch#L31

    此补丁无法修补到 TI 内核6.6.58。  我在这个补丁中看到了一个逻辑冲突。 该补丁 在 WAIT_FOR_BOOT_IRQ()中添加了 cc33xx_IRQ()、但 从 cc33xx_IRQ()中将函数名称更改为 cc33xx_enable_interrupts()。  没有任何函数调用 cc33xx_enable_interrupts()。

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

    尊敬的 Sabeeh:
    我在修改一些代码后取得了一些进展。  

    TI-connectivity/cc33xx-conf.bin 配置二进制大小错误? 这些二进制文件来自 cc33xx_Linux_package_1_0_0_8。 如何解决?

    我无法 通过校准器命令生成 cc33xx-nvs.bin。 无法执行该命令、因为它是使用 ARM 而非 AARM64进行编译的。 如何解决?



    [ 3.195156] cc33xx_SDIO mmc2:0001:2:使用 GPIO 作为 IRQ
    [ 3.261866] cfg80211:为监管数据库加载已编译的 X.509证书
    [ 3.302422]已加载 X.509证书"请求:00b28ddf47aef9cea7"
    [ 3.308788]加载的 X.509证书'wens:61c038651aabdcf94bd0ac7ff06c7248db18c600'
    [ 3.410242] cc33xx_driver cc33xx.5.auto:直接加载 ti-connectivity/cc33xx-nvs.bin 固件失败、出现错误-2
    [ 3.422424] cc33xx:ti-connectivity/cc33xx-conf.bin 配置二进制文件大小错误、预计1133得到1353
    [ 3.433090] cc33xx:警告返回默认配置
    [ 3.571827] am65-cpsw-Nuss 8000000.Ethernet eth0:PHY [8000f00.MDIO:00]驱动程序[TI DP83867](IRQ=POLL)
    [ 3.581348] am65-cpsw-Nuss 8000000.Ethernet eth0:配置 phy/rgmii-rxid 链路模式
    [5.508259] cc33xx:错误 FW 卡滞、触发恢复
    [ 5.513779] cc33xx:错误驱动程序初始化期间发生致命错误、无法恢复
    [ 6.740639] am65-cpsw-Nuss 8000000.Ethernet eth1:PHY [8000f00.MDIO:01]驱动程序[TI DP83867](IRQ=POLL)
    [ 6.749984] am65-cpsw-Nuss 8000000.Ethernet eth1:配置 phy/rgmii-rxid 链路模式
    [7.509400] cc33xx:警告:将 INI params 下载到 FW 命令发送失败:-5
    [7.516892] cc33xx:错误固件下载失败
    [9.969853] NET:注册的 PF_inet6协议系列

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

    您好、

    您应该从 CC33xx SDK 1.0.0.8: https://www.ti.com/tool/download/CC33XX-LINUX-MPU/1.0.0.8拉取固件二进制文件 

    安装 CC33xx SDK 后、转到 SDK 目录 cc33xx/cc33xx_rootfs/lib/firmware/ti-connectivity/*、并将这些二进制文件复制到目标上的同一目录(root/lib/firmware/ti-connectivity)。

    我无法 通过校准器命令生成 cc33xx-nvs.bin。

    NVS.bin 文件不是必需的、可以安全地忽略它。

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

    您好、

    我不确定您的意思。 我刚刚进行了测试、然后能够直接将此补丁应用到 TI 内核6.6.58中。 您能说明遇到的错误吗?