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.

[参考译文] CC3301:适用于 AM62A7的 CC33XX-LINUX-AM62驱动程序

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

https://e2e.ti.com/support/wireless-connectivity/wi-fi-group/wifi/f/wi-fi-forum/1363897/cc3301-cc33xx-linux-am62-driver-for-am62a7

器件型号:CC3301
主题中讨论的其他器件:AM625AM62A7、AM62A3 CC3300

我想将 CC3301 IC 与 AM62A7一起使用。 使用 CC33XX-LINUX-AM62驱动程序进行集成时、未在器件上检测到硬件。 是驱动程序补丁问题、因为它适用于 am625、还是也可以使用 am62a7补丁。  

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

    尊敬的 Alok:

    实际上、我们已将现成的映像发布到 TI.com 上、适用于 AM62A7、可以使用 Balena Etcher 或类似实用程序进行刷写。 请 尝试刷写此图像并以这种方式启动器件。

    如果您还有我可以支持的其他问题、请告诉我。

    链接: https://www.ti.com/tool/download/CC33XX-LINUX-MPU 

    此致!
    Corinne

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

    我也尝试过。 由于某种原因未加载驱动程序。 以下是我在 /usr/share/cc33xx/wifible_provisioning_demo 中运行演示脚本时收到的错误  

    问题是什么?  

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

    您能否向我展示以下命令的结果:

    • ifconfig
    • 烟雾

    如果在运行 ifconfig 时 wlan0出现 、您是否可以尝试连接到 wifi 网络? 为此、请转到目录/usr/share/cc33xx、然后运行 sta_start.sh 和 sta_connect.sh。 请注意、sta_connect 脚本要求您输入依赖于 AP 的参数、并通过运行 sta_connect.sh -h 进行说明

    此致!
    Corinne

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

    否、我没有获得 wlan0。  

    root@am62axx-evm:~# ifconfig
    Lo: flags=73. MTU 65536
    INET 127.0.0.1网络掩码255.0.0.0
    inet6 ::1 prefixlen 128 scopeid 0x10.
    loop txqueuelen 1000 (本地环回)
    RX 数据包92字节7660 (7.4 KiB)
    RX 错误0丢弃0溢出0帧0
    TX 数据包92字节7660 (7.4 KiB)
    TX 错误0丢弃0溢出0载波0冲突0

    root@am62axx-evm:~# lsmod
    使用的模块大小
    cc33xx_SPI 20480 0
    cc33xx_sDIO 16384 0
    cc33xx 270336 0
    mac80211 548864 1 cc33xx
    libarc4 16384 1 mac80211
    覆盖122880 0
    rpmsg_ctrl 16384 0
    rpmsg_char 16384 1 rpmsg_ctrl
    cdns_csi2rx 20480 1.
    cfg80211 385024 2 mac80211、cc33xx
    Panel_sitronix_st7789v 20480 0
    ST_lsm6dsx_SPI 20480 0
    crct10dif_ce 16384 1.
    SND_SoC_simple_card 20480 0
    SND_SoC_simple_card_utils 24576 1 SND_SoC_simple_card
    LEDS_GPIO 16384 0
    k3_j72xx_B带 隙16384 0
    dwc3_am62 16384 0
    TI_K3_R5_remoteproc 28672 0
    e5010_jpeg_enc 40960 0
    tidss 61440 1.
    drm_dma_helper 20480 1个 tidss
    tevi_ap1302 28672 0
    ST_lsm6dsx_i2c 20480 0
    v4l2_fwnode 20480 2 tevi_ap1302、cdns_csi2rx
    ST_lsm6dsx 45056 2 st_lsm6dsx_i2c、st_lsm6dsx_spi
    BTTI_UART 20480 0
    drm_kms_helper 184320 5 drm_dma_helper、tidss
    kfifo_buf 16384 1 st_lsm6dsx
    syscopyarea 16384 1 drm_kms_helper
    sysfillrect 16384 1 drm_kms_helper
    第1集0
    j721e_csi2rx 24576 0
    RTC_ds1307 28672 0
    sysimgblt 16384 1 drm_kms_helper
    v4l2_mem2mem 36864 2 e5010_jpeg_enc、wave5
    videobuf2_dma_contig 20480 3 j721e_csi2rx、e5010_jpeg_enc、wave5
    FB_sys_FOPS 16384 1 drm_kms_helper
    蓝牙507904 3 BTTI_UART
    videobuf2_memops 16384 1 videobuf2_dma_contig
    TI_k3_dsp_remoteproc 16384 0
    SA2ul 368640
    Virtio_rpmsg_BUS 20480 0
    videobuf2_v4l2 32768 4 j721e_csi2rx、v4l2_mem2mem、e5010_jpeg_enc、wave5
    v4l2_async 24576 3 v4l2_fwnode、j721e_csi2rx、cdns_csi2rx
    videobuf2_common 57344 7 j721e_csi2rx、videobuf2_dma_contig、videobuf2_v4l2、v4l2_mem2mem、e5010_jpeg_enc、wave5、videobuf2_memops
    SND_SoC_Davinci_McASP 32768 2.
    ECDH_GENERICAL 16384 1蓝牙
    SND_SoC_ti_uDMA 16384 1 SND_SoC_Davinci_McASP
    SND_SoC_ti_EDMA 16384 1 SND_SoC_Davinci_McASP
    rpmsg_ns 16384 1 virtio_rpmsg_BUS
    ti_k3_common 16384 1 ti_k3_dsp_remoteproc
    videodev 245760 9 v4l2_async、j721e_csi2rx、tevi_ap1302、videobuf2_v4l2、cdns_csi2rx、videobuf2_common、v4l2_mem2mem、e5010_jpeg_enc、wave5
    SND_SoC_tlv320aic3x_i2c 16384 1.
    SND_SoC_ti_sdma 16384 1 SND_SoC_Davinci_McASP
    ECC 368664 1 ECDH_GENERICAL
    rfkill 24576 3蓝牙、cfg80211
    cdns_dphy_rx 16384 0
    SND_SoC_tlv320aic3x 77824 1 SND_SoC_tlv320aic3x_i2c
    SPI_omap2_mcspi 24576 0
    optee_rng 16384 0
    rNG_CORE 20480 1个 optee_rng
    第1集0
    保险丝131072 1.
    DRM 561152 5 drm_kms_helper、panel_sitronix_st7789v、drm_dma_helper、tidss
    drm_panel_orientation_quirks 28672 1 drm
    第四十二章42.

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

    您好、Alon、

    我想我发现了这个问题、您可以试试此图片:e2e.ti.com/.../tisdk_2D00_default_2D00_image_2D00_am62axx_2D00_evm.wic.xz 吗

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

    尊敬的 Corinne:

    我仍然面临同样的问题。  

    您能否为 AM62A7提供迁移指南、包括 dts 和 dtsi 文件以及驱动程序代码(如果可能)。  
    这是 ifconfig 和 lsmod 的日志

    root@am62axx-evm:~# ifconfig
    Lo: flags=73. MTU 65536
    INET 127.0.0.1网络掩码255.0.0.0
    inet6 ::1 prefixlen 128 scopeid 0x10.
    loop txqueuelen 1000 (本地环回)
    RX 数据包92字节7660 (7.4 KiB)
    RX 错误0丢弃0溢出0帧0
    TX 数据包92字节7660 (7.4 KiB)
    TX 错误0丢弃0溢出0载波0冲突0

    root@am62axx-evm:~# lsmod
    使用的模块大小
    覆盖122880 0
    cfg80211 385024 0
    rpmsg_ctrl 16384 0
    xhci_plat_hcd 16384 0
    rpmsg_char 16384 1 rpmsg_ctrl
    cdns_csi2rx 20480 0
    v4l2_fwnode 20480 1个 cdns_csi2rx
    dwc3 98304 0
    SND_SoC_simple_card 20480 0
    crct10dif_ce 16384 1.
    SND_SoC_simple_card_utils 24576 1 SND_SoC_simple_card
    e5010_jpeg_enc 40960 0
    k3_j72xx_B带 隙16384 0
    RTC_ti_K3 16384 1.
    第1集0
    j721e_csi2rx 24576 0
    TI_K3_R5_remoteproc 28672 0
    TI_k3_dsp_remoteproc 16384 0
    videobuf2_dma_contig 20480 3 j721e_csi2rx、e5010_jpeg_enc、wave5
    videobuf2_memops 16384 1 videobuf2_dma_contig
    dwc3_am62 16384 0
    v4l2_mem2mem 36864 2 e5010_jpeg_enc、wave5
    videobuf2_v4l2 32768 4 j721e_csi2rx、v4l2_mem2mem、e5010_jpeg_enc、wave5
    videobuf2_common 57344 7 j721e_csi2rx、videobuf2_dma_contig、videobuf2_v4l2、v4l2_mem2mem、e5010_jpeg_enc、wave5、videobuf2_memops
    v4l2_async 24576 3 v4l2_fwnode、j721e_csi2rx、cdns_csi2rx
    tidss 61440 0
    Virtio_rpmsg_BUS 20480 0
    Display_Connector 16384 0
    videodev 245760 8 v4l2_async、j721e_csi2rx、videobuf2_v4l2、cdns_csi2rx、videobuf2_common、v4l2_mem2mem、e5010_jpeg_enc、wave5
    sii902x 20480 0
    tps6598x 20480 0
    drm_dma_helper 20480 1个 tidss
    rpmsg_ns 16384 1 virtio_rpmsg_BUS
    typec 73728 1 tps6598x
    mc 57344 7 v4l2_async、videodev、j721e_csi2rx、videobuf2_v4l2、cdns_csi2rx、videobuf2_common、v4l2_mem2mem
    SND_SoC_Davinci_McASP 32768 2.
    SND_SoC_tlv320aic3x_i2c 16384 1.
    drm_kms_helper 184320 4 sii902x、drm_dma_helper、display_connector、tidss
    BTTI_UART 20480 0
    SND_SoC_tlv320aic3x 77824 1 SND_SoC_tlv320aic3x_i2c
    SND_SoC_ti_uDMA 16384 1 SND_SoC_Davinci_McASP
    SA2ul 368640
    ti_k3_common 16384 1 ti_k3_dsp_remoteproc
    SND_SoC_ti_EDMA 16384 1 SND_SoC_Davinci_McASP
    cdns_dphy_rx 16384 0
    syscopyarea 16384 1 drm_kms_helper
    SND_SoC_ti_sdma 16384 1 SND_SoC_Davinci_McASP
    sysfillrect 16384 1 drm_kms_helper
    sysimgblt 16384 1 drm_kms_helper
    蓝牙548864 3 bttti_uart
    FB_sys_FOPS 16384 1 drm_kms_helper
    optee_rng 16384 0
    ECDH_GENERICAL 16384 1蓝牙
    ECC 368664 1 ECDH_GENERICAL
    rNG_CORE 20480 1个 optee_rng
    rfkill 24576 3蓝牙、cfg80211
    第1集0
    保险丝131072 1.
    DRM 561152 5 sii902x、drm_kms_helper、drm_dma_helper、display_connector、tidss
    drm_panel_orientation_quirks 28672 1 drm
    第四十二章42.

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

    尊敬的 Alok:

    我在将映像附加到这里之前仅检查了 AM62A 上的该映像、因此我担心这可能是硬件问题。 您能否附上您的设置的照片? 此外、请为我确认您使用的是哪种 M2卡版本? 如果您可以在此处提供、卡片上的"M.2.CC33001"下将会显示一组数字和字母。

    此致!
    Corinne

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

    尊敬的 Corinne:

    我正在使用具有 AM62A3处理器的低功耗 am62a SK EVM。 根据数据表、我将 Wi-Fi IC 连接到 MMC2端口。  

    我正在使用的 WiFi IC 在 IC CC3300 ENJA 418 AZ0R 64上具有以下值。

    cc3300和 CC3301具有相同的驱动程序代码、因此它应该可以正常运行、但不能正常运行。

    这是原理图、

     我们使用的是 CC3300ENJARSBR、而不是 XCC3301ENJARSBR  

    此致!  

    好的

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

    请允许我一直到星期一查看此内容并回复您。

    此致!
    Corinne

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

    嗨、Alok、

    您能在启动过程中提供您的 dmesg 供我回顾吗?

    此致!
    Corinne

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

    嗨、Corinne、

    我面临的一个问题是、在您提供的映像中未激活 mmc2端口。 我在应用补丁和遵循迁移指南后使用的映像会在日志中记录 mmc2、但驱动程序仍然没有加载。  

    这是您的和我的补丁程序构建的 dmesg 日志。

    e2e.ti.com/.../dmesg_5F00_log_5F00_ti_5F00_image.txt

    e2e.ti.com/.../1220.dmesg_5F00_log_5F00_patch_5F00_image.txt

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

    您好、Alon、

    感谢您提供日志、基于此、DTS 存在问题、这可能是硬件或软件问题。 我想探讨这两种途径、以便尽快解决这一问题。

    首先、我在下面附上了不会初始化 BLE 的 DTS 补丁、因为这是 CC3300和 CC3301之间的唯一区别。 BLE 的初始化在理论上不应导致任何问题、但我认为值得 验证它 不是引发问题的原因。 此外、您还提到了使用 补丁和迁移指南、哪些补丁?

    要应用 下面随附的补丁 、请按照以下步骤操作:  

    1. 使用 BalenaEtcher 下载并刷写以下映像(与之前相同)的 SD 卡
      来自 SDK (https://www.ti.com/tool/PROCESSOR-SDK-AM62A#downloads):tisdk-edgeai-image-am62axx-evm.wic.xz  

    2. 在以下目录中运行"git reset --hard"命令(在执行其余步骤时、将保留在此目录中):
      ~/ti-processor-sdk-linux-edgeai-am62axx-evm-09_00_01_03/board-support/linux-6.1.46+gitAUTOINC+f8110d9ce8-gf8110d9ce8
      这应该会从之前的任何补丁中清理 SDK。 要确认此工作状态、请运行 git 状态、如果没有、您也可以运行 git clean -f -d 来强制清除剩余的任何内容。

    3. 运行以下命令、其目录指向之前的 AM62补丁。 如果您运行该命令、它会询问您是否要跳过修补程序、请尝试切换到-p0命令、它应该会修复该错误:
      补丁-p1 < /patches/cc33xx_kernel.patch

    4. 若要设置路径、请运行此命令:
      export path=~/ti-processor-sdk-linux-edgeai-am62axx-evm-9_00_01_03/linux-devkit/sysroots/x86_64-arago-linux/usr/bin/aarch64-oe-linux:$path

    5. 现在、清理 SDK 并应用正确的 defconfig:
      make ARCH=ARM64 CROSS_COMPILE=AArch64-OE-Linux- distclean
      使 arch=arm64 cross_compile=aarch64-OE-linux- defconfig ti_arm64_prune.config

    6. 运行上面包含的补丁:
      补丁-p0 < /62a.patch
      补丁-p0 <补丁路径>/62a-main-dtsi.patch

    7. 重新构建内核模块并编译映像和 DTS
      make ARCH=ARM64 CROSS_COMPILE=AArch64-OE-Linux-图像模块 dtbs -j8

    8. 将 SD 卡插入主机 PC、然后安装内核模块和 dtbs ->*注意:以下每个目录中的 root 可能是 root 或 rootfs、请检查您的文件浏览器
      sudo cp arch/arm64/boot/image /media/ /rootfs/boot                  
      sudo make ARCH=ARM64 MODS_INSTALL INSTALL_MOD_PATH=/media/user/rootfs
      sudo cp arch/arm64/boot/dts/ti/k3-am62a7-sk.dtb /media/user/rootfs/boot/dtb/ti
      同步
    9. 弹出并启动 AM62A  

    如果这些补丁也不起作用、请提供 dmesg 日志。  

    除了 DTS 渠道之外、我想确保没有硬件问题。 您是否使用定制硬件? 您是否通过将原理图通过电子邮件发送至 connectivity-wifi-hw-reviews@list.ti.com 的方式获得了我们硬件团队的审阅? 如果您尚未这样做、请执行此操作。  

    此致!
    Corinne

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

    嗨、Alok、

    您正在使用哪个版本的 CC3300? 您是否正在使用定制硬件?

    此致!
    Corinne

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

    我们使用的是定制硬件、而我们使用的 IC 具有器件型号 CC3300ENJARSBR。  

    我不明白 IC 版本的含义。

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

    您是否得到了我们硬件团队的审核? 如果您尚未准备好、请将原理图发送至 connectivity-wifi-hw-reviews@list.ti.com

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

    尊敬的 Corinne:

    我们已经邮寄了原理图并等待他们的响应。  

    您能告诉我 IC 的版本是什么,使用 Linux 内核9.01、9.02或9.00时会有任何不同之处吗?

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

    嗨、Alok、

    芯片版本支持的固件版本各不相同、但这仅在您在 TI.com 上发布之前收到样片时才有意义、听起来不是这样。 关于 Linux 内核、我们为 CC33xx 提供的内核补丁特定于不同的内核版本。 在9.00至9.02版本内,应该没有足够的差异,但它总是值得确保。  

    但是、我认为这更有可能是硬件问题。 在等待硬件团队审查您的原理图的同时、您可以将此引脚排列与您的定制 M2卡引脚排列进行比较吗? 这是我们的原理图、遵循 PCIe M.2规格类型2230 Key E 标准。  

    此致!
    Corinne

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

    如果是硬件问题、为什么不调用内核驱动程序(不调用探测函数)


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

    您是否有机会比较原理图或获得我们硬件团队的响应?

    为了使探头功能正常工作、DTS 必须准确、这意味着它必须与硬件匹配。 如果不匹配、则探头功能不会显示。

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

    按照 https://www.ti.com/tool/CC33XX-SOFTWARE 所示、我们使用软件中的 DTS 文件

    1.造成问题的原因是什么?

    我刚在 AM62A 上检查了该映像、然后再将其附加到这里、因此我担心这可能是硬件问题。

    2.能否说明 AM62A 电路板的版本 以及您使用的 AM62A 系列处理器?

    3.我已经关注了您的 https://e2e.ti.com/support/wireless-connectivity/wi-fi-group/wifi/f/wi-fi-forum/1300544/m2-cc3301-kernel-driver-compilation-failled-for-sk-am62a-lp#pifragment-323407=2主题之一

    您刚刚提到了 rev2和 rev1板   

    它们之间有何区别?您有 Rev2板的原理图吗? 以及 DTS 文件中的内容?

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

    1.我觉得可能是在硬件上,但不确定。 您是否已经查看过我在上面提供的原理图并且/或者收到了我们硬件团队的回复?

    2.我将 SK-AM62A-LP 板 与 TI.com 上提供的最新 CC3301 M2卡配合使用。

    3.  在 TI 正式发布之前发布的 M2卡版本曾让部分客户选择使用、且正在使用的固件需要与电路板版本相匹配。 DTS 文件在修订版之间不会有显著变化。

    为了进一步工作、我认为我们需要检查硬件、因为它是定制的电路板、我担心存在不匹配问题。 如果您有机会查看 M2原理图并将其与您的引脚排列进行比较、敬请告知。