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.

[参考译文] AM62L:MMC 高速模式错误

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1513516/am62l-mmc-high-speed-mode-error

器件型号:AM62L

工具/软件:

您好、

参考: 待定:arm64:dts:TI:k3-am62l:启用 MMC 高速模式 — ti-linux-kernel/ti-linux-kernel — 此存储库包含一个 Linux 内核、该内核已与基于 kernel.org 上的开源 Linux 内核的出色 TI 开源补丁集成。 需要将对此内核的贡献发送到开源社区进行审核。

在器件树中切换到高速模式后、sdhci0 和 sdhci2 都会显示以下错误。 此问题偶尔会发生、而且概率较低。

[288941.496857] ------------[ cut here ]------------
[288941.496883] WARNING: CPU: 0 PID: 2401320 at /drivers/mmc/core/sdio_irq.c:35 process_sdio_pending_irqs+0x1a8/0x1b8
[288941.496917] Modules linked in: can_raw can af_alg gpmc_bram ti_am335x_adc kfifo_buf snd_soc_simple_card snd_soc_simple_card_utils crct10dif_ce rti_wdt k3_j72xx_bandgap m_can_platform m_can omap_gpmc at24 tcpci tcpm snd_soc_davinci_mcasp snd_soc_ti_udma snd_soc_ti_edma snd_soc_ti_sdma typec snd_soc_es8388 ti_am335x_tscadc can_dev overlay cryptodev(O) drm fuse drm_panel_orientation_quirks backlight ipv6
[288941.497048] CPU: 0 UID: 0 PID: 2401320 Comm: kworker/0:0 Tainted: G        W  O       6.12.13-ti-g37aeb688db33 #1
[288941.497064] Tainted: [W]=WARN, [O]=OOT_MODULE
[288941.497069] Hardware name: AM62L Module (DT)
[288941.497076] Workqueue: events sdio_irq_work
[288941.497088] pstate: 40000005 (nZcv daif -PAN -UAO -TCO -DIT -SSBS BTYPE=--)
[288941.497098] pc : process_sdio_pending_irqs+0x1a8/0x1b8
[288941.497107] lr : sdio_irq_work+0x4c/0x7c
[288941.497116] sp : ffff8000861fbd40
[288941.497121] x29: ffff8000861fbd50 x28: 0000000000000000 x27: 0000000000000000
[288941.497136] x26: ffff00003fcafb68 x25: ffff000013d16940 x24: ffff000000c12005
[288941.497151] x23: 0000000000000000 x22: ffff00003fcafb40 x21: ffff000004477000
[288941.497166] x20: 0000000000000000 x19: ffff000004465000 x18: 0000000000000000
[288941.497181] x17: ffff7fffbe8db000 x16: ffff800080000000 x15: 0000000000000000
[288941.497196] x14: 0000000000000000 x13: 00000000000003d8 x12: 0000000000000000
[288941.497210] x11: 0000000000000001 x10: 00000000000009e0 x9 : ffff8000861fbc20
[288941.497226] x8 : ffff00000c87bbc0 x7 : ffff00003fcb0200 x6 : 0000000000000000
[288941.497240] x5 : dead000000000122 x4 : 0000000000000000 x3 : 0000000000000001
[288941.497255] x2 : 0000000000000000 x1 : 0000000000000001 x0 : 0000000000000088
[288941.497270] Call trace:
[288941.497275]  process_sdio_pending_irqs+0x1a8/0x1b8
[288941.497285]  sdio_irq_work+0x4c/0x7c
[288941.497293]  process_one_work+0x148/0x28c
[288941.497308]  worker_thread+0x2cc/0x3d4
[288941.497319]  kthread+0x110/0x114
[288941.497331]  ret_from_fork+0x10/0x20
[288941.497343] ---[ end trace 0000000000000000 ]---
[288941.497406] ------------[ cut here ]------------
[288941.497414] WARNING: CPU: 1 PID: 90 at /drivers/mmc/host/sdhci.c:1636 sdhci_send_command+0x744/0xec4
[288941.497433] Modules linked in: can_raw can af_alg gpmc_bram ti_am335x_adc kfifo_buf snd_soc_simple_card snd_soc_simple_card_utils crct10dif_ce rti_wdt k3_j72xx_bandgap m_can_platform m_can omap_gpmc at24 tcpci tcpm snd_soc_davinci_mcasp snd_soc_ti_udma snd_soc_ti_edma snd_soc_ti_sdma typec snd_soc_es8388 ti_am335x_tscadc can_dev overlay cryptodev(O) drm fuse drm_panel_orientation_quirks backlight ipv6
[288941.497547] CPU: 1 UID: 0 PID: 90 Comm: dhd_watchdog_th Tainted: G        W  O       6.12.13-ti-g37aeb688db33 #1
[288941.497559] Tainted: [W]=WARN, [O]=OOT_MODULE
[288941.497564] Hardware name: MYIR MYD-YM62L Module (DT)
[288941.497570] pstate: 200000c5 (nzCv daIF -PAN -UAO -TCO -DIT -SSBS BTYPE=--)
[288941.497579] pc : sdhci_send_command+0x744/0xec4
[288941.497590] lr : sdhci_send_command_retry+0x40/0x138
[288941.497602] sp : ffff80008214b7d0
[288941.497606] x29: ffff80008214b7f0 x28: ffff8000816b2000 x27: 0000000000000000
[288941.497622] x26: ffff80008176c000 x25: 0000000000000000 x24: ffff000004465860
[288941.497637] x23: ffff80008214ba30 x22: 000000000000000b x21: 0000000000000000
[288941.497653] x20: ffff80008214ba30 x19: ffff000004465580 x18: 0000000000000000
[288941.497668] x17: ffff7fffbe8f1000 x16: ffff800080008000 x15: 01e382c027338936
[288941.497684] x14: 00000e45fcf2b7bc x13: 000000000000013a x12: 000000000000013a
[288941.497699] x11: 0000000000000001 x10: 00000000000009e0 x9 : ffff80008214b770
[288941.497713] x8 : ffff80008214b9f8 x7 : 0000000000000000 x6 : ffff000003b68000
[288941.497729] x5 : ffff80008214bab7 x4 : 0000000000000000 x3 : 0000000000000001
[288941.497743] x2 : ffff000003b68000 x1 : ffff80008214ba30 x0 : ffff8000861fbcc0
[288941.497758] Call trace:
[288941.497763]  sdhci_send_command+0x744/0xec4
[288941.497774]  sdhci_send_command_retry+0x40/0x138
[288941.497786]  sdhci_request+0x70/0xc0
[288941.497797]  __mmc_start_request+0x68/0x138
[288941.497810]  mmc_start_request+0x84/0xac
[288941.497821]  mmc_wait_for_req+0x6c/0xf8
[288941.497832]  mmc_wait_for_cmd+0x68/0xa8
[288941.497843]  mmc_io_rw_direct+0xa0/0x13c
[288941.497856]  sdio_readb+0x50/0xa4
[288941.497863]  sdioh_request_byte+0x13c/0x50c
[288941.497877]  sdioh_cfg_read+0x24/0x30
[288941.497887]  bcmsdh_cfg_read+0x68/0xec
[288941.497897]  dhdsdio_clk_kso_enab+0x184/0x474
[288941.497908]  dhdsdio_clk_devsleep_iovar+0x84/0x654
[288941.497918]  dhdsdio_bussleep+0x35c/0x560
[288941.497926]  dhd_bus_watchdog+0x704/0x7e4
[288941.497935]  dhd_watchdog_thread+0xb4/0x16c
[288941.497947]  kthread+0x110/0x114
[288941.497957]  ret_from_fork+0x10/0x20
[288941.497966] ---[ end trace 0000000000000000 ]---
[288941.497975] mmc2: Got command interrupt 0x00000001 even though no command operation was in progress.
[288941.497983] mmc2: sdhci: ============ SDHCI REGISTER DUMP ===========
[288941.497989] mmc2: sdhci: Sys addr:  0x00000000 | Version:  0x00001004
[288941.497996] mmc2: sdhci: Blk size:  0x00007020 | Blk cnt:  0x00000000
[288941.498003] mmc2: sdhci: Argument:  0x12003e00 | Trn mode: 0x00000013
[288941.498010] mmc2: sdhci: Present:   0x01df0000 | Host ctl: 0x000000df
[288941.498018] mmc2: sdhci: Power:     0x0000000f | Blk gap:  0x00000080
[288941.498024] mmc2: sdhci: Wake-up:   0x00000000 | Clock:    0x00000007
[288941.498031] mmc2: sdhci: Timeout:   0x00000000 | Int stat: 0x00000000
[288941.498038] mmc2: sdhci: Int enab:  0x03ff000b | Sig enab: 0x03ff000b
[288941.498045] mmc2: sdhci: ACmd stat: 0x00000000 | Slot int: 0x00000000
[288941.498051] mmc2: sdhci: Caps:      0x7de8c801 | Caps_1:   0x18002407
[288941.498058] mmc2: sdhci: Cmd:       0x0000341a | Max curr: 0x00000000
[288941.498065] mmc2: sdhci: Resp[0]:   0x00001002 | Resp[1]:  0x00000000
[288941.498072] mmc2: sdhci: Resp[2]:   0x00000000 | Resp[3]:  0x00000000
[288941.498078] mmc2: sdhci: Host ctl2: 0x00000003
[288941.498084] mmc2: sdhci: ADMA Err:  0x00000000 | ADMA Ptr: 0x0000000081ce220c
[288941.498091] mmc2: sdhci: ============================================

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

    您好:

    已发布的 SDK v11.0 中未启用 HS200 模式。 那么、您是在处理“ti-linux-6.12.y"分支“分支、还是将该补丁反向移植到内核标签  11.00.05?

    谢谢!

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

    您好、

    修补程序仅回移植到内核标签 11.00.05。

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

    您好、

    对此问题有任何更新? 目前、我已从内核标签 11.00.05 中删除 MMC 高速模式补丁并恢复到默认 MMC 设备树、但问题仍然存在。

    &sdhci0 {
    	/* eMMC */
    	non-removable;
    	pinctrl-names = "default";
    	pinctrl-0 = <&main_mmc0_pins_default>;
    	status = "okay";
    	bootph-all;
    };
    
    &sdhci1 {
    	/* SD/MMC */
    	pinctrl-names = "default";
    	pinctrl-0 = <&main_mmc1_pins_default>;
    	status = "okay";
    	bootph-all;
    };
    
    &sdhci2 {
    	/* WIFI */
    	bootph-all;
    	pinctrl-names = "default";
    	pinctrl-0 = <&main_mmc2_pins_default>;
    	bus-width = <4>;
    	non-removable;
    	ti,fails-without-test-cd;
    	cap-power-off-card;
    	keep-power-in-suspend;
    	ti,driver-strength-ohm = <50>;
    	mmc-pwrseq = <&wifi_pwrseq>;
    	status = "okay";
    };

    内核日志:

    [ 2472.591038] ------------[ cut here ]------------
    [ 2472.595684] WARNING: CPU: 0 PID: 15598 at /drivers/mmc/host/sdhci.c:1636 sdhci_send_command+0x744/0xec4
    [ 2472.605084] Modules linked in: can_raw can gpmc_bram af_alg ti_am335x_adc kfifo_buf snd_soc_simple_card crct10dif_ce snd_soc_simple_card_utils rti_wdt k3_j72xx_bandgap m_can_platform m_can omap_gpmc snd_soc_davinci_mcasp snd_soc_ti_udma snd_soc_ti_edma snd_soc_ti_sdma ti_am335x_tscadc tcpci tcpm goodix_ts at24 typec snd_soc_es8388 can_dev overlay cryptodev(O) fuse ipv6
    [ 2472.637810] CPU: 0 UID: 0 PID: 15598 Comm: kworker/0:0 Tainted: G           O       6.12.13-ti-g721874740a5f #1
    [ 2472.647884] Tainted: [O]=OOT_MODULE
    [ 2472.651361] Hardware name: MYIR MYD-YM62L Module (DT)
    [ 2472.656404] Workqueue: events sdio_irq_work
    [ 2472.660587] pstate: 400000c5 (nZcv daIF -PAN -UAO -TCO -DIT -SSBS BTYPE=--)
    [ 2472.667540] pc : sdhci_send_command+0x744/0xec4
    [ 2472.672066] lr : sdhci_send_command_retry+0x40/0x138
    [ 2472.677022] sp : ffff800086db3a60
    [ 2472.680326] x29: ffff800086db3a80 x28: 0000000000000000 x27: 0000000000000000
    [ 2472.687454] x26: ffff00003fcabce8 x25: 0000000000000000 x24: ffff0000047ce860
    [ 2472.694581] x23: ffff800086db3cc0 x22: 000000000000000b x21: 0000000000000000
    [ 2472.701708] x20: ffff800086db3cc0 x19: ffff0000047ce580 x18: 0000000000000000
    [ 2472.708835] x17: ffff7fffbe807000 x16: ffff800080000000 x15: 0000000000000000
    [ 2472.715966] x14: 0000000000000000 x13: 00000000000000fd x12: 0000000000000000
    [ 2472.723108] x11: 0000000000000001 x10: 00000000000009e0 x9 : ffff800086db3c20
    [ 2472.730249] x8 : ffff800086db3c88 x7 : 0000000000000000 x6 : ffff00000bd68000
    [ 2472.737391] x5 : ffff800086db3d46 x4 : 0000000000000001 x3 : 0000000000000000
    [ 2472.744529] x2 : ffff00000bd68000 x1 : ffff800086db3cc0 x0 : ffff800082563a40
    [ 2472.751671] Call trace:
    [ 2472.754123]  sdhci_send_command+0x744/0xec4
    [ 2472.758317]  sdhci_send_command_retry+0x40/0x138
    [ 2472.762939]  sdhci_request+0x70/0xc0
    [ 2472.766520]  __mmc_start_request+0x68/0x138
    [ 2472.770712]  mmc_start_request+0x84/0xac
    [ 2472.774632]  mmc_wait_for_req+0x6c/0xf8
    [ 2472.778471]  mmc_wait_for_cmd+0x68/0xa8
    [ 2472.782320]  mmc_io_rw_direct+0xa0/0x13c
    [ 2472.786241]  process_sdio_pending_irqs+0xbc/0x1b8
    [ 2472.790941]  sdio_irq_work+0x4c/0x7c
    [ 2472.794515]  process_one_work+0x148/0x28c
    [ 2472.798526]  worker_thread+0x2cc/0x3d4
    [ 2472.802278]  kthread+0x110/0x114
    [ 2472.805514]  ret_from_fork+0x10/0x20
    [ 2472.809097] ---[ end trace 0000000000000000 ]---

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

    您好:

    根据日志、我没有看到 MMC0 接口有任何问题。 问题似乎出在连接到 MMC2 接口的 WIFI 器件上。

    您是否按照以下指南为 wifi 器件应用 DTB 覆盖:

    https://software-dl.ti.com/processor-sdk-linux/esd/AM62LX/11_00_15_05/exports/docs/linux/How_to_Guides/Target/How_To_Enable_ BM2CC3301 _ in_linux.html#enable-m2cc3301

    请也尝试使用最近发布的 v11.00.15.05:

    https://www.ti.com/tool/download/AM62L-LINUX-SDK/11.00.15.05