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.

[参考译文] AM3352:内核 6.1.97 的 SDK 兼容性

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1517423/am3352-sdk-compatibility-for-kernel-6-1-97

器件型号:AM3352

工具/软件:

尊敬的团队:

我们使用 AM3352 主机处理器的定制 Linux 板。 之前、我们使用了带有内核 5.4 的 TISDK 07.03.00.5、所有驱动程序和外设均按预期运行。 现在、我们将更新到最新的 SDK 版本 09.03.05.02。

在最新的 SDK 中、我们使用了processor-sdk-09.01.00-config.txt配置文件、其中包括内核版本 6.1.119。 我们目前正在移植 Infineon (v6.1.97) 针对内核 6.1.119 发布的 Wi-Fi/BLE 驱动程序、但我们面临一些挑战。

为了解决这个问题、我们计划使用 6.1.97 内核版本、该版本已确认支持 Infineon Wi-Fi/BLE 驱动器。

鉴于此、我应该使用哪个配置文件、或者为 TISDK 09.xx 构建内核 6.1.97 的建议过程是什么?

我已经使用以下配置文件构建了 SDK:

  • processor-sdk-09.01.00-config.txt (内核 6.1.119)

  • processor-sdk-09.00.00-config.txt(内核 6.1.33)

  • processor-sdk-09.01.00-legacy-config.txt(内核 6.1.46)

  • processor-sdk-09.03.05.02-legacy-config.txt (内核 6.1.119)

对于内核 6.1.97 版本的 AM335x、应该使用哪个配置文件?

此致、
Pratik P.

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    在最新的 SDK 中、我们使用了processor-sdk-09.01.00-config.txt

    在此 SDK 上下文中、我们正式支持的唯一内核是与该 SDK 的 Yocto 配置相关联的内核、即 processor-sdk-09.03.05.02-legacy-config.txt 、请参阅 https://software-dl.ti.com/processor-sdk-linux/esd/AM335X/09_03_05_02/exports/docs/linux/Release_Specific_Yocto_ layer_Configuration.html#Yocto-layer-configuration。 这是我们发布的经过测试和认证的配置。 任何其他配置都可能导致我们无法轻易支持的问题。

    在最新的 SDK 中、我们使用了processor-sdk-09.01.00-config.txt配置文件、其中包括内核版本 6.1.119。 我们目前正在移植 Infineon (v6.1.97) 针对内核 6.1.119 发布的 Wi-Fi/BLE 驱动程序、但我们面临一些挑战。

    这些版本似乎足够接近、您面临什么问题? 看来应该能够解决这些问题。

    此致、Andreas

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

    尊敬的 Andreas:

    我们交叉编译了内核 6.1.119 的 Wi-Fi 驱动程序、每当我尝试加载驱动程序时、都会持续收到以下错误:

    root@EVC89898989:/opt/data/pp# insmod compat.ko
    [ 1098.707902] Loading modules backported from Linux version v6.1.97-2024_1115-0-g1ecf8041f46a
    [ 1098.717407] Backport generated by backports.git v6.1.97-1-0-g2431d56e
    root@EVC89898989:/opt/data/pp# insmod cfg80211.ko
    root@EVC89898989:/opt/data/pp# insmod brcmutil.ko
    root@EVC89898989:/opt/data/pp# insmod brcmfmac.ko
    [ 1123.311150] brcmfmac: brcmf_fw_alloc_request: using cypress/cyfmac43455-sdio for chip BCM4345/6
    [ 1123.332124] brcmfmac mmc2:0001:1: Direct firmware load for cypress/cyfmac43455-sdio.ti,am335x-bone-black.bin failed with error -2
    [ 1123.363894] usbcore: registered new interface driver brcmfmac
    root@EVC89898989:/opt/data/pp# [ 1123.418577] brcmfmac: brcmf_fw_request_firmware: no board-specific nvram available (ret=-2), device will use cypress/cyfmac43455-sdio.txt
    [ 1123.484473] brcmfmac: brcmf_fw_request_firmware: no board-specific nvram available (ret=-2), device will use cypress/cyfmac43455-sdio.clm_blob
    [ 1123.816903] brcmfmac: brcmf_c_preinit_dcmds: Firmware: BCM4345/6 wl0: Apr 15 2021 03:03:20 version 7.45.234 (4ca95bb CY) FWID 01-996384e2
    [ 1124.891497] brcmfmac: inf_btsdio_init: bt over uart
    [ 1125.076789] brcmfmac: brcmf_sdio_kso_control: ERR: KSO=1 sequence took 116219037ns > expected 10000000ns try_cnt=1
    [ 1125.076789] err_cnt=1 rd_val=0x3 err=0
    [ 1125.590812] brcmfmac: brcmf_sdio_kso_control: ERR: KSO=1 sequence took 107830044ns > expected 10000000ns try_cnt=1
    [ 1125.590812] err_cnt=1 rd_val=0x3 err=0
    [ 1125.656092] mmc2: Cannot use external DMA, switch to the DMA/PIO which standard SDHCI provides.
    [ 1125.664907] ------------[ cut here ]------------
    [ 1125.669549] WARNING: CPU: 0 PID: 10830 at drivers/mmc/host/sdhci.c:1200 sdhci_prepare_data+0x628/0x650
    [ 1125.678948] Modules linked in: brcmfmac(O) brcmutil(O) cfg80211(O) compat(O) qcaspi pn5xx_i2c snd_soc_simple_card snd_soc_simple_card_utils omap_aes_driver omap_sham crypto_engine omap_crypto pm33xx ti_emif_sram tilcdc drm_dma_helper bluetooth omap_hwspinlock snd_soc_davinci_mcasp snd_soc_ti_udma snd_soc_ti_edma snd_soc_ti_sdma ecdh_generic ecc libaes snd_soc_core snd_pcm_dmaengine ac97_bus snd_pcm snd_timer snd soundcore musb_dsps rtc_omap musb_hdrc phy_am335x cppi41 omap_wdt wkup_m3_ipc phy_am335x_control tda998x wkup_m3_rproc cta_spi cryptodev(O)
    [ 1125.728090] CPU: 0 PID: 10830 Comm: kworker/u3:1 Tainted: G           O       6.1.119-ti-gaa2e8c81ff89 #1
    [ 1125.737713] Hardware name: Generic AM33XX (Flattened Device Tree)
    [ 1125.743841] Workqueue: brcmf_wq/mmc2:0001:1 brcmf_sdio_dataworker [brcmfmac]
    [ 1125.751325]  unwind_backtrace from show_stack+0x10/0x14
    [ 1125.756607]  show_stack from dump_stack_lvl+0x24/0x2c
    [ 1125.761717]  dump_stack_lvl from __warn+0x7c/0x130
    [ 1125.766574]  __warn from warn_slowpath_fmt+0x194/0x1a0
    [ 1125.771767]  warn_slowpath_fmt from sdhci_prepare_data+0x628/0x650
    [ 1125.778010]  sdhci_prepare_data from sdhci_send_command+0x1e8/0x810
    [ 1125.784331]  sdhci_send_command from sdhci_send_command_retry+0x28/0x130
    [ 1125.791089]  sdhci_send_command_retry from sdhci_request+0x6c/0xc8
    [ 1125.797322]  sdhci_request from mmc_start_request+0x84/0xac
    [ 1125.802956]  mmc_start_request from mmc_wait_for_req+0x64/0xd0
    [ 1125.808842]  mmc_wait_for_req from mmc_submit_one+0xa8/0x1ac [brcmfmac]
    [ 1125.815760]  mmc_submit_one [brcmfmac] from brcmf_sdiod_sglist_rw+0x1e8/0x534 [brcmfmac]
    [ 1125.824306]  brcmf_sdiod_sglist_rw [brcmfmac] from brcmf_sdiod_recv_chain+0x68/0x114 [brcmfmac]
    [ 1125.833455]  brcmf_sdiod_recv_chain [brcmfmac] from brcmf_sdio_dpc+0x7b8/0x2730 [brcmfmac]
    [ 1125.842168]  brcmf_sdio_dpc [brcmfmac] from brcmf_sdio_dataworker+0xdc/0x108 [brcmfmac]
    [ 1125.850618]  brcmf_sdio_dataworker [brcmfmac] from process_one_work+0x1c0/0x4c0
    [ 1125.858179]  process_one_work from worker_thread+0x78/0x5b0
    [ 1125.863789]  worker_thread from kthread+0xdc/0x10c
    [ 1125.868627]  kthread from ret_from_fork+0x14/0x28
    [ 1125.873371] Exception stack(0xf055dfb0 to 0xf055dff8)
    [ 1125.878453] dfa0:                                     00000000 00000000 00000000 00000000
    [ 1125.886676] dfc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
    [ 1125.894897] dfe0: 00000000 00000000 00000000 00000000 00000013 00000000
    [ 1125.901544] ---[ end trace 0000000000000000 ]---
    
    root@EVC89898989:/opt/data/pp#
    root@EVC89898989:/opt/data/pp#
    root@EVC89898989:/opt/data/pp#
    root@EVC89898989:/opt/data/pp#
    root@EVC89898989:/opt/data/pp# ifconfig wlan0 up
    [ 1135.810876] mmc2: Timeout waiting for hardware interrupt.
    [ 1135.816402] mmc2: sdhci: ============ SDHCI REGISTER DUMP ===========
    [ 1135.822890] mmc2: sdhci: Sys addr:  0x00000000 | Version:  0x00003101
    [ 1135.829381] mmc2: sdhci: Blk size:  0x00000200 | Blk cnt:  0x00000001
    [ 1135.835868] mmc2: sdhci: Argument:  0x29000001 | Trn mode: 0x00000013
    [ 1135.842357] mmc2: sdhci: Present:   0x01f70a06 | Host ctl: 0x00000002
    [ 1135.848845] mmc2: sdhci: Power:     0x0000000f | Blk gap:  0x00000000
    [ 1135.855332] mmc2: sdhci: Wake-up:   0x00000000 | Clock:    0x00000087
    [ 1135.861818] mmc2: sdhci: Timeout:   0x0000000d | Int stat: 0x00000000
    [ 1135.868303] mmc2: sdhci: Int enab:  0x027f010b | Sig enab: 0x027f010b
    [ 1135.874790] mmc2: sdhci: ACmd stat: 0x00000000 | Slot int: 0x00000000
    [ 1135.881276] mmc2: sdhci: Caps:      0x07e10080 | Caps_1:   0x00000000
    [ 1135.887763] mmc2: sdhci: Cmd:       0x0000353a | Max curr: 0x00000000
    [ 1135.894251] mmc2: sdhci: Resp[0]:   0x00001000 | Resp[1]:  0x00000000
    [ 1135.900736] mmc2: sdhci: Resp[2]:   0x00000000 | Resp[3]:  0x00000000
    [ 1135.907221] mmc2: sdhci: Host ctl2: 0x00000000
    [ 1135.911698] mmc2: sdhci: ============================================
    [ 1135.993845] brcmfmac: mmc_submit_one: CMD53 sg block read failed -110
    [ 1136.000744] brcmfmac: brcmf_sdio_rxglom: glom read of 512 bytes failed: -5
    [ 1136.007705] brcmfmac: brcmf_sdio_rxfail: abort command, terminate frame
    [ 1146.050312] mmc2: Timeout waiting for hardware interrupt.
    [ 1146.055837] mmc2: sdhci: ============ SDHCI REGISTER DUMP ===========
    [ 1146.062326] mmc2: sdhci: Sys addr:  0x00000000 | Version:  0x00003101
    [ 1146.068818] mmc2: sdhci: Blk size:  0x00000040 | Blk cnt:  0x00000001
    [ 1146.075307] mmc2: sdhci: Argument:  0x21000040 | Trn mode: 0x00000013
    [ 1146.081794] mmc2: sdhci: Present:   0x01f70a06 | Host ctl: 0x00000002
    [ 1146.088281] mmc2: sdhci: Power:     0x0000000f | Blk gap:  0x00000000
    [ 1146.094768] mmc2: sdhci: Wake-up:   0x00000000 | Clock:    0x00000087
    [ 1146.101256] mmc2: sdhci: Timeout:   0x0000000d | Int stat: 0x00000000
    [ 1146.107743] mmc2: sdhci: Int enab:  0x027f010b | Sig enab: 0x027f010b
    [ 1146.114230] mmc2: sdhci: ACmd stat: 0x00000000 | Slot int: 0x00000000
    [ 1146.120715] mmc2: sdhci: Caps:      0x07e10080 | Caps_1:   0x00000000
    [ 1146.127201] mmc2: sdhci: Cmd:       0x0000353a | Max curr: 0x00000000
    [ 1146.133687] mmc2: sdhci: Resp[0]:   0x00001000 | Resp[1]:  0x00000000
    [ 1146.140175] mmc2: sdhci: Resp[2]:   0x00000000 | Resp[3]:  0x00000000
    [ 1146.146661] mmc2: sdhci: Host ctl2: 0x00000000
    [ 1146.151139] mmc2: sdhci: ============================================
    [ 1146.220607] brcmfmac: brcmf_sdio_readframes: RXHEADER FAILED: -110
    [ 1146.228989] brcmfmac: brcmf_sdio_rxfail: abort command, terminate frame, send NAK


    此致、
    Pratik P.

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

    我本周在 PTO 上、但下周我将再次获得 E2E 支持。 谢谢。

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

    尊敬的 Andreas:

    是否有任何更新?

    此致、
    Pratik P.

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

    尊敬的 Andreas:

    温柔的提醒。

    此致、
    Pratik P.

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

    尊敬的 Pratik:

    这是一个第三方驱动程序、因此我们在这里可以支持的内容方面受到限制。 我在您的日志中看到有关固件加载和 DMA 的错误、这些错误可能对模块的运行至关重要、也可能不重要。 您应与供应商核实这些错误消息是否具有任何重要性、并将它们提供给您的日志以供查看。

    我在线搜索速度非常快、找到了这篇 E2E 帖子、您可能需要尝试一下: https://e2e.ti.com/support/processors-group/processors/f/processors-forum/541016/am335x-error-message-in-sdio-driver/1972129#1972129

    另一方面、为了进行测试、我还会尝试最新的上游内核。 AM335x 通常受到很好的支持、因此您应该能够仅构建内核/模块(包括您的 WiFi 驱动程序)/dtb 并将其放入您的系统中进行测试、看看这是否有任何区别。

    此致、Andreas