工具/软件:
您好、
使用较旧的 SDK 版本验证电路板功能后、我已开始将支持移植到较新的 BSP 版本。 在此次迁移中、DDR 配置在 Arm Trusted Firmware (ATF) 级别更新、以反映电路板的特定存储器设置。 此外、还sdhci0对设备树中的配置进行了修订k3-am62l-evm.dts、以遵循中使用的结构、包括分配适当的vmmc-supply调节器为 SD/eMMC 接口供电。此处的问题可能是什么? 
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.
工具/软件:
您好、
使用较旧的 SDK 版本验证电路板功能后、我已开始将支持移植到较新的 BSP 版本。 在此次迁移中、DDR 配置在 Arm Trusted Firmware (ATF) 级别更新、以反映电路板的特定存储器设置。 此外、还sdhci0对设备树中的配置进行了修订k3-am62l-evm.dts、以遵循中使用的结构、包括分配适当的vmmc-supply调节器为 SD/eMMC 接口供电。此处的问题可能是什么? 
您好、
感谢您的答复。
为了进行确认、您已在 11.00.05.02 — 是上验证了定制电路板设置
此问题已解决、现在我已完全启动电路板。问题与 sdhci1 dts 节点有关。 我又增加了一个额外的属性。 但没有这一点、我就能够在旧版本中正确引导。这可能是什么原因、它仅在 HS 和传统模式下工作。 
只是为了确认 :我能够看到 eMMC 速度模式已更改为 HS200 ,但 SD 卡无法在默认设置中启动,即 SDR104。这种支持尚未添加?
您好:
但如果不这样、我能够在旧版本中正确引导
这是因为先前版本中不支持 UHS 速度模式。 因此、SD 卡仅在 HS 模式下被枚举。
这可能是什么原因、它仅适用于 HS 和传统模式。
这可能是由于您的定制板造成的。 UHS 模式需要 3.3V 至 1.8V 的电压开关机制、这在电路板上可能不存在。 请查看以下主题:
e2e.ti.com/.../sk-am62p-lp-how-to-set-sd-card-to-3-3v-only-low-speed
您好、
我注意到了关于这个速度的事情我似乎喜欢在 EVM 板上也 SD 卡仅在 eMMC 支持 200MHz 的情况下支持高达 SD HS 模式!!
EVM 板-
mmc dev 1 switch to partitions #0, OK mmc1 is current device => mmc info Device: mmc@fa00000 Manufacturer ID: ad OEM: 4c53 Name: LX32G Bus Speed: 50000000 Mode: SD High Speed (50MHz) Rd Block Len: 512 SD version 3.0 High Capacity: Yes Capacity: 29.5 GiB Bus Width: 4-bit Erase Group Size: 512 Bytes => mmc dev 0 switch to partitions #0, OK mmc0(part 0) is current device => mmc info Device: mmc@fa10000 Manufacturer ID: 13 OEM: 4e Name: 0IM20 Bus Speed: 200000000 Mode: HS200 (200MHz) Rd Block Len: 512 MMC version 5.1 High Capacity: Yes Capacity: 29.6 GiB Bus Width: 8-bit Erase Group Size: 512 KiB HC WP Group Size: 8 MiB User Capacity: 29.6 GiB WRREL Boot Capacity: 31.5 MiB ENH RPMB Capacity: 4 MiB ENH Boot area 0 is not write protected Boot area 1 is not write protected
3] iWave-G69M > mmc dev 1 [2025-06-27 09:42:30.735] switch to partitions #0, OK [2025-06-27 09:42:30.735] mmc1 is current device [2025-06-27 09:42:30.751] iWave-G69M > mmc info [2025-06-27 09:42:34.038] Device: mmc@fa00000 [2025-06-27 09:42:34.038] Manufacturer ID: ad [2025-06-27 09:42:34.038] OEM: 4c53 [2025-06-27 09:42:34.038] Name: LX32G [2025-06-27 09:42:34.038] Bus Speed: 50000000 [2025-06-27 09:42:34.038] Mode: SD High Speed (50MHz) [2025-06-27 09:42:34.038] Rd Block Len: 512 [2025-06-27 09:42:34.038] SD version 3.0 [2025-06-27 09:42:34.038] High Capacity: Yes [2025-06-27 09:42:34.038] Capacity: 29.5 GiB [2025-06-27 09:42:34.038] Bus Width: 4-bit [2025-06-27 09:42:34.038] Erase Group Size: 512 Bytes [2025-06-27 09:42:34.038] iWave-G69M > mmc dev 0 [2025-06-27 09:42:37.098] switch to partitions #0, OK [2025-06-27 09:42:37.098] mmc0(part 0) is current device [2025-06-27 09:42:37.098] iWave-G69M > mmc info [2025-06-27 09:42:39.331] Device: mmc@fa10000 [2025-06-27 09:42:39.331] Manufacturer ID: 45 [2025-06-27 09:42:39.331] OEM: 0 [2025-06-27 09:42:39.331] Name: DG4008 [2025-06-27 09:42:39.331] Bus Speed: 200000000 [2025-06-27 09:42:39.331] Mode: HS200 (200MHz) [2025-06-27 09:42:39.331] Rd Block Len: 512 [2025-06-27 09:42:39.332] MMC version 5.1 [2025-06-27 09:42:39.332] High Capacity: Yes [2025-06-27 09:42:39.332] Capacity: 7.3 GiB [2025-06-27 09:42:39.332] Bus Width: 8-bit [2025-06-27 09:42:39.332] Erase Group Size: 512 KiB [2025-06-27 09:42:39.332] HC WP Group Size: 8 MiB [2025-06-27 09:42:39.332] User Capacity: 7.3 GiB WRREL [2025-06-27 09:42:39.332] Boot Capacity: 4 MiB ENH [2025-06-27 09:42:39.332] RPMB Capacity: 4 MiB ENH [2025-06-27 09:42:39.332] Boot area 0 is not write protected [2025-06-27 09:42:39.332] Boot area 1 is not write protected [2025-06-27 09:42:39.333] iWave-G69M >
我注意到了关于这个速度的事情我似乎喜欢在 EVM 板也 SD 卡仅支持高达 SD HS 模式
这应该是特定的 SD 卡问题、而不是 EVM 问题。
我有两张不同的 SD 卡、这些卡由 A53 U-Boot 在 HS 和 SDR104 中枚举、具体取决于卡功能:
[15:51:46.125] U-Boot 2025.01-00464-g1d6ba4a32cdd-dirty (Jun 27 2025 - 15:51:23 +0530) [15:51:46.128] SoC: AM62LX SR1.0 HS-FS [15:51:46.129] Model: Texas Instruments AM62L3 Evaluation Module [15:51:46.131] DRAM: 2 GiB [15:51:46.397] ERROR: Agent 0 Protocol 0x10 Message 0x7: not supported [15:51:46.399] Core: 80 devices, 31 uclasses, devicetree: separate [15:51:46.414] MMC: mmc@fa10000: 0, mmc@fa00000: 1 [15:51:46.415] Loading Environment from nowhere... OK [15:51:46.429] In: serial@2800000 [15:51:46.430] Out: serial@2800000 [15:51:46.431] Err: serial@2800000 [15:51:46.432] Net: eth0: ethernet@8000000port@1 [15:51:46.733] Warning: ethernet@8000000port@2 (eth1) using random MAC address - 2a:4c:5b:4c:a2:1e [15:51:46.749] , eth1: ethernet@8000000port@2 [15:51:46.751] Hit any key to stop autoboot: 0 [15:51:46.753] => mmc dev 1 [15:51:48.653] mmc@fa00000: No vqmmc supply [15:51:48.656] selecting mode MMC legacy (freq : 0 MHz) [15:51:48.749] selecting mode MMC legacy (freq : 25 MHz) [15:51:48.765] trying mode UHS SDR104 (208MHz) width 4 (at 208 MHz) [15:51:48.769] selecting mode UHS SDR104 (208MHz) (freq : 208 MHz) [15:51:48.797] switch to partitions #0, OK [15:51:48.799] mmc1 is current device [15:51:48.800] => mmc info [15:51:50.125] Device: mmc@fa00000 [15:51:50.126] Manufacturer ID: 3 [15:51:50.141] OEM: 5344 [15:51:50.143] Name: SD32G [15:51:50.144] Bus Speed: 200000000 [15:51:50.146] Mode: UHS SDR104 (208MHz) [15:51:50.147] card capabilities: widths [4, 1] modes [MMC legacy, SD High Speed (50MHz), UHS SDR12 (25MHz), UHS SDR25 (50MHz), UHS SDR50 (100MHz), UHS DDR50 (50MHz), UHS SDR104 (208MHz], [15:51:50.160] host capabilities: widths [4, 1] modes [MMC legacy, SD High Speed (50MHz), UHS SDR12 (25MHz), UHS SDR25 (50MHz), UHS SDR50 (100MHz), UHS DDR50 (50MHz), UHS SDR104 (208MHz], [15:51:50.178] Rd Block Len: 512 [15:51:50.179] SD version 3.0 [15:51:50.180] High Capacity: Yes [15:51:50.181] Capacity: 29.7 GiB [15:51:50.182] Bus Width: 4-bit [15:51:50.183] Erase Group Size: 512 Bytes [15:51:50.190] =>
[15:53:17.658] U-Boot 2025.01-00464-g1d6ba4a32cdd-dirty (Jun 27 2025 - 15:51:23 +0530) [15:53:17.674] SoC: AM62LX SR1.0 HS-FS [15:53:17.675] Model: Texas Instruments AM62L3 Evaluation Module [15:53:17.677] DRAM: 2 GiB [15:53:17.929] ERROR: Agent 0 Protocol 0x10 Message 0x7: not supported [15:53:17.945] Core: 80 devices, 31 uclasses, devicetree: separate [15:53:17.948] MMC: mmc@fa10000: 0, mmc@fa00000: 1 [15:53:17.962] Loading Environment from nowhere... OK [15:53:17.963] In: serial@2800000 [15:53:17.964] Out: serial@2800000 [15:53:17.965] Err: serial@2800000 [15:53:17.976] Net: eth0: ethernet@8000000port@1 [15:53:18.282] Warning: ethernet@8000000port@2 (eth1) using random MAC address - 36:79:71:a8:a1:ad [15:53:18.293] , eth1: ethernet@8000000port@2 [15:53:18.295] Hit any key to stop autoboot: 0 [15:53:18.537] => mmc dev 1 [15:53:21.352] mmc@fa00000: No vqmmc supply [15:53:21.369] selecting mode MMC legacy (freq : 0 MHz) [15:53:21.561] selecting mode MMC legacy (freq : 0 MHz) [15:53:21.705] selecting mode MMC legacy (freq : 25 MHz) [15:53:21.721] trying mode SD High Speed (50MHz) width 4 (at 50 MHz) [15:53:21.722] selecting mode SD High Speed (50MHz) (freq : 50 MHz) [15:53:21.738] switch to partitions #0, OK [15:53:21.739] mmc1 is current device [15:53:21.753] => mmc info [15:53:23.097] Device: mmc@fa00000 [15:53:23.099] Manufacturer ID: 1b [15:53:23.101] OEM: 534d [15:53:23.102] Name: EC1S5 [15:53:23.103] Bus Speed: 50000000 [15:53:23.104] Mode: SD High Speed (50MHz) [15:53:23.105] card capabilities: widths [4, 1] modes [MMC legacy, SD High Speed (50MHz), UHS SDR12 (25MHz), UHS SDR25 (50MHz)] [15:53:23.119] host capabilities: widths [4, 1] modes [MMC legacy, SD High Speed (50MHz), UHS SDR12 (25MHz), UHS SDR25 (50MHz), UHS SDR50 (100MHz), UHS DDR50 (50MHz), UHS SDR104 (208MHz], [15:53:23.132] Rd Block Len: 512 [15:53:23.133] SD version 3.0 [15:53:23.134] High Capacity: Yes [15:53:23.136] Capacity: 59.7 GiB [15:53:23.144] Bus Width: 4-bit [15:53:23.145] Erase Group Size: 512 Bytes [15:53:23.146] =>
请应用以下补丁以转储卡功能(作为“MMC info“命令的一部分)、并查看它是否支持 SDR104:
diff --git a/drivers/mmc/mmc.c b/drivers/mmc/mmc.c index 799586891af..26f6af085b5 100644 --- a/drivers/mmc/mmc.c +++ b/drivers/mmc/mmc.c @@ -29,6 +29,7 @@ #include "mmc_private.h" #define DEFAULT_CMD6_TIMEOUT_MS 500 +#define pr_debug printf /** * names of emmc BOOT_PARTITION_ENABLE values
您好、
主板挂起问题不再存在。但我试过一些测试用例、事情是它甚至没有检测到 SDR104 速度。我会分享日志和我做的 DTS 更改。 请告诉我应该在哪里更改源、以便在 SDR104 速度模式下检测 Micro SD 卡。
此更改也会导致电路板复位失败。
e2e.ti.com/.../Updated_2D00_with_2D00_vmmc_2D00_suuply.loge2e.ti.com/.../Updated_2D00_without_2D00_vmmc_2D00_supply.log
更新后的 VMMC-SUPPLY 的 DTS 更改:-
&sdhci1 {
/* SD/MMC */
vmmc-supply = <&vdd_mmc1>;
pinctrl-names = "default";
pinctrl-0 = <&main_mmc1_pins_default>;
status = "okay";
disable-wp;
bootph-all;
};
vdd_mmc1: regulator-2 {
/* TPS22918DBVR */
bootph-all;
compatible = "regulator-fixed";
regulator-name = "vdd_mmc1";
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
regulator-boot-on;
enable-active-high;
vin-supply = <&vcc_3v3_sys>;
};
vcc_3v3_sys: regulator-1 {
/* output of LM61460-Q1 */
compatible = "regulator-fixed";
regulator-name = "vcc_3v3_sys";
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
vin-supply = <&vmain_pd>;
regulator-always-on;
regulator-boot-on;
};
sdhci1 {
/* SD/MMC */
// vmmc-supply = <&vdd_mmc1>;
pinctrl-names = "default";
pinctrl-0 = <&main_mmc1_pins_default>;
/delete-property/ ti,otap-del-sel-sdr12;
/delete-property/ ti,otap-del-sel-sdr25;
/delete-property/ ti,otap-del-sel-sdr50;
/delete-property/ ti,otap-del-sel-sdr104;
/delete-property/ ti,otap-del-sel-ddr50;
/delete-property/ ti,itap-del-sel-sdr12;
/delete-property/ ti,itap-del-sel-sdr25;
status = "okay";
disable-wp;
bootph-all;
};
您好、
看看 mmcinfo 它说主机不支持 HS200 /SDR104 速度. 这是否意味着也不支持电压切换?
iWave-G69M > mmc info Device: mmc@fa00000 Manufacturer ID: 3 OEM: 5344 Name: SC16G Bus Speed: 50000000 Mode: SD High Speed (50MHz) card capabilities: widths [4, 1] modes [MMC legacy, SD High Speed (50MHz), UHS SDR12 (25MHz), UHS SDR]5 host capabilities: widths [4, 1] modes [MMC legacy, SD High Speed (50MHz)] Rd Block Len: 512 SD version 3.0 High Capacity: Yes Capacity: 14.8 GiB Bus Width: 4-bit Erase Group Size: 512 Bytes iWave-G69M > mmc dev 0 mmc@fa10000: No vmmc supply mmc@fa10000: No vqmmc supply selecting mode MMC legacy (freq : 0 MHz) selecting mode MMC legacy (freq : 25 MHz) trying mode HS200 (200MHz) width 8 (at 200 MHz) selecting mode HS200 (200MHz) (freq : 200 MHz) switch to partitions #0, OK mmc0(part 0) is current device iWave-G69M > mmc info Device: mmc@fa10000 Manufacturer ID: 45 OEM: 0 Name: DG4008 Bus Speed: 200000000 Mode: HS200 (200MHz) card capabilities: widths [8, 4, 1] modes [MMC legacy, MMC High Speed (26MHz), SD High Speed (50MHz),]M host capabilities: widths [8, 4, 1] modes [MMC legacy, MMC High Speed (52MHz), HS200 (200MHz)] Rd Block Len: 512 MMC version 5.1 High Capacity: Yes Capacity: 7.3 GiB Bus Width: 8-bit Erase Group Size: 512 KiB HC WP Group Size: 8 MiB User Capacity: 7.3 GiB WRREL Boot Capacity: 4 MiB ENH RPMB Capacity: 4 MiB ENH Boot area 0 is not write protected Boot area 1 is not write protected iWave-G69M >
NOTICE: bl1_plat_arch_setup arch setup NOTICE: Booting Trusted Firmware NOTICE: BL1: v2.12.0(release):11.00.15-dirty NOTICE: BL1: Built : 05:53:30, Jun 27 2025 NOTICE: BL1: dram_class: 11 NOTICE: lpddr4: post start - PI training status=0x27c0a000 NOTICE: bl1_platform_setup DDR init done NOTICE: k3_bl1_handoff ENTERING WFI - end of bl1 NOTICE: BL31: v2.12.0(release):11.00.15-dirty NOTICE: BL31: Built : 05:53:32, Jun 27 2025 NOTICE: SYSFW ABI: 4.0 (firmware rev 0x000b '11.0.12-v11.00.12 (Fancy Rat)') ERROR: Agent 0 Protocol 0x10 Message 0x7: not supported U-Boot SPL 2025.01-g1d6ba4a32cdd-dirty (Jun 30 2025 - 18:10:53 +0530) SPL initial stack usage: 1744 bytes Trying to boot from MMC2 mmc@fa00000: No vmmc supply mmc@fa00000: No vqmmc supply selecting mode MMC legacy (freq : 0 MHz) selecting mode MMC legacy (freq : 0 MHz) Card did not respond to voltage select! : -110 spl: mmc init failed with error: -95 SPL: failed to boot from all boot devices ### ERROR ### Please RESET the board ###
那么是否需要额外完成任何类型的软件配置。
除了根据电路板设计修改“VMMC-Supply"外“外、无需执行任何其他操作。
如果在器件树中启用了 UHS 模式并且 SD 卡初始化失败、则主要是特定的 SD 卡问题或硬件问题。
是的、我只使用 USH micro SD 卡
我指的是来自不同品牌的 UHS SD 卡。
否则、请应用以下补丁并在器件树中启用和不启用 UHS 模式的情况下共享日志:
diff --git a/configs/am62lx_evm_defconfig b/configs/am62lx_evm_defconfig index b1674642e0f..1027e836d31 100644 --- a/configs/am62lx_evm_defconfig +++ b/configs/am62lx_evm_defconfig @@ -146,4 +146,6 @@ CONFIG_SPL_SYSRESET=y CONFIG_DM_THERMAL=y CONFIG_FS_FAT_MAX_CLUSTSIZE=16384 +CONFIG_MMC_TRACE=y + #include <configs/am62x_a53_usbdfu.config>
这可以让您了解哪个命令实际上失败了。
谢谢!