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.

[参考译文] AM623:引导失败问题

Guru**** 2445440 points
Other Parts Discussed in Thread: SK-AM62B-P1, AM625

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1545164/am623-boot-fail-issue

器件型号:AM623
主题中讨论的其他器件:SK-AM62B-P1AM625

工具/软件:

你(们)好

我们参考 SK-AM62B-P1 的 EVM 设计了一个新电路板(DDR4 也使用相同的元件)
当前使用 MMC1 引导、但控制台在以下时继续停止。 (我们的 SD 卡可以在 EVM 中正常引导、但我们使用的 CPU 是 AM6234)

U-Boot SPL 2025.01-00406-gcd91d7360181 (2025 年 3 月 25 日 — 16:14:37 +0000)
SYSFW ABI:4.0(固件版本 0x000b'11.0.7--v11.00.07 (Fancy Rat)')
将 DT 中的 A53 CPU 频率更改为 1250000000Hz (T 级
SPL 初始栈使用量:13424 字节“

我们搜索了一些 E2E 信息、看到有人说控制台因为 DDR 初始化问题而停止在这里。 此信息是否正确?
此外、对于 DDR4 器件、硬件已确认电源和复位信号正常。
请问我们还可以寻找哪些其他可能的问题方向? 无论是软件还是硬件。

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

    请查看此页面以获取提示: https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1358039/faq-board-bring-up-tips-for-sitara-devices-am64x-am243x-am62x-am62l-am62ax-am62d-q1-am62px

    听起来像是 DDR 问题。  您能否按照链接页面中的步骤将补丁添加到代码中、以便将 DDR 寄存器转储到控制台。  一旦你得到这个转储,请发帖到这里。

    此外、您使用的 DDR 的特定器件型号是什么?  您是否在使用 SDK 中的 DDR 配置文件 (.dtsi)、或者使用 DDR 寄存器配置工具进行更改?

    此致、

    James

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

    HI JJD

    我们已经解决了 DDR 问题、但现在控制台显示类似这样的内容(此 SD 卡可在 EVM 中工作)

    U-Boot SPL 2025.01-00406-gcd91d7360181 (2025 年 3 月 25 日 — 16:14:37 +0000)
    SYSFW ABI:4.0(固件版本 0x000b'11.0.7--v11.00.07 (Fancy Rat)')
    将 DT 中的 A53 CPU 频率更改为 1250000000Hz (T 级
    SPL 初始栈使用量:13424 字节
    尝试从 MMC2 引导
    身份验证已通过
    身份验证已通过
    身份验证已通过
    身份验证已通过
    身份验证已通过
    在 ARM64 内核上启动 ATF……

    注意:BL31:v2.12.0(发行版):11.00.08-1-gb11beb2b6-dirty
    注意:BL31:建造时间:12:35:58, 2025 年 3 月 24 日

    U-Boot SPL 2025.01-00406-gcd91d7360181 (2025 年 3 月 25 日 — 16:14:37 +0000)
    SYSFW ABI:4.0(固件版本 0x000b'11.0.7--v11.00.07 (Fancy Rat)')
    SPL 初始堆栈使用量:1952 字节
    I2C_WRITE:等待数据 ACK (STATUS=0x116) 时出错
    pca953x GPIO@22:读取输出寄存器时出错
    卡未响应电压选择! :–110
    **坏的设备规格 MMC 1 **
    找不到分区 MMC 1:1
    错误:无法访问存储。
    尝试从 MMC2 引导
    I2C_WRITE:等待数据 ACK (STATUS=0x116) 时出错
    pca953x GPIO@22:读取输出寄存器时出错
    卡未响应电压选择! :–110
    SPL:MMC 初始化失败、错误:–95
    SPL:无法从所有引导设备引导
    ###错误###请重置主板###

    我检查了一些信息,但它没有帮助。 可能的问题是什么?

    此外、引导时通常会显示以下消息、而不是上面显示的 u-boot 日志。 哪个部件错了?

    02000000011a0000616d36327800000000004853465301000100010002a60000000000d68ecb2c055dff11ade95bd927e837d2a53bc23b0acafcebce4f106bcf309df2213912d77a157a7c7c700007c800002c00002c2c0000700000000007c2c2c0000007000070000007c00007c00007000070000700002c80000700001b00001b2c800001c00007c00001b00007000070000700007c00001b00001f0000000000001f00001b00001f000000

    谢谢。

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

    SD 卡应能够将电压从 3.3V 更改为 1.8V、以实现更高的频率。  引导日志指示在执行此电压开关时您的电路板有问题。   

    您是否可以尝试使用 sdHCI_CAPS_MASK、如下所述: https://software-dl.ti.com/processor-sdk-linux/esd/AM62X/latest/exports/docs/linux/Foundational_Components /U-Boot/UG-Memory-K3.html#steps-for-working-around-sd-card-issues-in-u-boot

    将速度限制为 SD 传统模式。  这将有助于查看电压开关是否是问题所在。   

    该 SDK 还使用 EVM 上的 IO 扩展器 (pca953x)。  如果您的电路板上未实现该功能、则必须更改设备树以适应这种情况。

    此致、

    James

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

    HI JJD

    修改后的当前状态如下:

    U-Boot SPL 2025.01-gcd91d7360181-脏污 (2025 年 7 月 29 日 — 10:42:04 +0800)
    SYSFW ABI:4.0(固件版本 0x000b'11.0.7--v11.00.07 (Fancy Rat)')
    将 DT 中的 A53 CPU 频率更改为 1250000000Hz (T 级
    SPL 初始栈使用量:13424 字节
    尝试从 MMC2 引导
    身份验证已通过
    身份验证已通过
    身份验证已通过
    身份验证已通过
    身份验证已通过
    在 ARM64 内核上启动 ATF……

    注意:BL31:v2.12.0(发行版):11.00.08-1-gb11beb2b6-dirty
    注意:BL31:建造时间:12:35:58, 2025 年 3 月 24 日

    U-Boot SPL 2025.01-gcd91d7360181-脏污 (2025 年 7 月 29 日 — 10:53:34 +0800)
    SYSFW ABI:4.0(固件版本 0x000b'11.0.7--v11.00.07 (Fancy Rat)')
    SPL 初始堆栈使用量:1952 字节
    卡未响应电压选择! :–110
    **坏的设备规格 MMC 1 **
    找不到分区 MMC 1:1
    错误:无法访问存储。
    尝试从 MMC2 引导
    卡未响应电压选择! :–110
    SPL:MMC 初始化失败、错误:–95
    SPL:无法从所有引导设备引导
    ###错误###请重置主板###

    情况仍然相同、“卡没有响应电压选择! :–110"。“。 还有其他的方向吗?

    谢谢。

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

    您好 JJJD

    客户的 SD 电压仍然无法从 3.3 降至 1.8。 有什么可以确认的吗?

    谢谢

    Daniel

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

    您能否发送所做更改的补丁?  您是否还能发送 SD 卡接口的原理图?  同时、我将咨询我们的软件团队。

    此致、

    James

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

    您好 JJJD

    我已向您发送了一条消息、请帮助我确认。

    谢谢。

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

    您好:

    请仅在此处分享您为限制 SD 卡速度所做的更改。

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

    如果您的定制电路板不支持电压开关、另请参阅以下主题:

    e2e.ti.com/.../sk-am62p-lp-how-to-set-sd-card-to-3-3v-only-low-speed

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

    您好 Prashant

    显示了以下内容:

    谢谢。

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

    您好  Prashant

    我们已经尝试过、电压未切割为 1.8V、但控制台在同一器件处停止

    谢谢。

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

    我看到您将速度限制为 DDR50。 请仅使用“sdhci-caps-mask =<0x00000007 0x00000000>“将其限制为 HS 模式。

    如果这也不起作用,请用 git diff 格式分享您的更改,以便我更好地理解您的更改。

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

    您好:

    您能否以 diff 格式分享 U-Boot 和 Linux 内核的更改?

    谢谢!

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

    您好 Prashant

    我们应该提供哪些文件?

    谢谢。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    能否以 diff 格式分享 U-Boot 和 Linux 内核的更改?

    U-Boot 和 Linux 内核是 Git 存储库。 运行命令“git diff“以获取存储库中的更改并共享输出。

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

    ㄧuboot
    diff --git a/arch/arm/dts/k3-am625-phyboard-lyra-rdk-u-boot.dtsi b/arch/arm/dts/k3-am625-phyboard-lyra-rdk-u-boot.dtsi
    index 2bc5acbe..743c6288 100644
    --- a/arch/arm/dts/k3-am625-phyboard-lyra-rdk-u-boot.dtsi
    +++ b/arch/arm/dts/k3-am625-phyboard-lyra-rdk-u-boot.dtsi
    @@ -138,15 +138,15 @@
     			};
     			partition@80000 {
     				label = "ospi.tispl";
    -				reg = <0x080000 0x200000>;
    +				reg = <0x080000 0x180000>;
     			};
    -			partition@280000 {
    +			partition@200000 {
     				label = "ospi.u-boot";
    -				reg = <0x280000 0x400000>;
    +				reg = <0x200000 0x1c0000>;
     			};
    -			partition@680000 {
    +			partition@3c0000 {
     				label = "ospi.env";
    -				reg = <0x680000 0x40000>;
    +				reg = <0x3c0000 0x40000>;
     			};
     			partition@6c0000 {
     				label = "ospi.env.backup";
    diff --git a/board/ti/am62x/evm.c b/board/ti/am62x/evm.c
    index 86f30c8b..8a4a5105 100644
    --- a/board/ti/am62x/evm.c
    +++ b/board/ti/am62x/evm.c
    @@ -21,6 +21,9 @@
     #include <asm/arch/hardware.h>
     #include <dm/uclass.h>
     #include <asm/arch/k3-ddr.h>
    +//charlie
    +#include <net-common.h>
    +#include <bootdev.h>
     
     #include "../common/fdt_ops.h"
     
    @@ -69,7 +72,7 @@ struct efi_fw_image fw_images[] = {
     
     struct efi_capsule_update_info update_info = {
     	.dfu_string = "sf 0:0=tiboot3.bin raw 0 80000;"
    -	"tispl.bin raw 80000 200000;u-boot.img raw 280000 400000",
    +	"tispl.bin raw 80000 180000;u-boot.img raw 200000 1c0000",
     	.num_images = ARRAY_SIZE(fw_images),
     	.images = fw_images,
     };
    @@ -84,7 +87,26 @@ void set_dfu_alt_info(char *interface, char *devstr)
     
     int board_init(void)
     {
    -	return 0;
    +	u8  mac[6], mac1[6];
    +  	//struct eth_pdata *pdata;
    +//	if (eth_get_dev()) {
    +//		pdata = dev_get_plat(eth_get_dev());
    +//    memcpy(mac, pdata->enetaddr, 6);
    + //   }
    +
    +      memcpy(mac, eth_get_ethaddr(), 6);
    +//  if (!eth_env_get_enetaddr_by_index("eth", 0, env_enetaddr)) {
    +      printf("Get ethaddr %pM\n", mac);
    +      memcpy(mac1, mac, 6);
    +      mac1[5] += 1;
    +      if (mac1[5] == 0)
    +         mac1[4] += 1;
    +      //eth_env_set_enetaddr("eth1addr", mac1);
    +      eth_env_set_enetaddr_by_index("eth1", 1,
    +					      mac1);
    +      printf("Auto set eth1addr %pM\n", mac1);
    + //   }
    +  return 0;
     }
     
     #ifdef CONFIG_BOARD_LATE_INIT
    diff --git a/board/ti/common/board_detect.c b/board/ti/common/board_detect.c
    index a43cc075..4ecac884 100644
    --- a/board/ti/common/board_detect.c
    +++ b/board/ti/common/board_detect.c
    @@ -775,7 +775,9 @@ void board_ti_set_ethaddr(int index)
     	 * The 2 MAC addresses in EEPROM define the address range.
     	 */
     	board_ti_get_eth_mac_addr(0, mac_addr1);
    -	board_ti_get_eth_mac_addr(1, mac_addr2);
    +  memcpy(mac_addr2, mac_addr1, 6);//charlie
    +  mac_addr2[5] += 1;  // 最後一字節加1 charlie
    +	//board_ti_get_eth_mac_addr(1, mac_addr2);//charlie
     
     	if (is_valid_ethaddr(mac_addr1) && is_valid_ethaddr(mac_addr2)) {
     		mac1 = mac_to_u64(mac_addr1);
    diff --git a/configs/verdin-am62_a53_defconfig b/configs/verdin-am62_a53_defconfig
    index 49fb9790..b36e6226 100644
    --- a/configs/verdin-am62_a53_defconfig
    +++ b/configs/verdin-am62_a53_defconfig
    @@ -14,7 +14,8 @@ CONFIG_CUSTOM_SYS_INIT_SP_ADDR=0x80b80000
     CONFIG_ENV_SIZE=0x2000
     CONFIG_ENV_OFFSET=0xFFFFDE00
     CONFIG_DM_GPIO=y
    -CONFIG_DEFAULT_DEVICE_TREE="ti/k3-am625-verdin-wifi-dev"
    +#CONFIG_DEFAULT_DEVICE_TREE="ti/k3-am625-verdin-wifi-dev"
    +CONFIG_DEFAULT_DEVICE_TREE="ti/k3-am625-sk"
     CONFIG_OF_LIBFDT_OVERLAY=y
     CONFIG_DM_RESET=y
     CONFIG_SPL_MMC=y
    diff --git a/drivers/mmc/mmc.c b/drivers/mmc/mmc.c
    index 79958689..f53512da 100644
    --- a/drivers/mmc/mmc.c
    +++ b/drivers/mmc/mmc.c
    @@ -2875,7 +2875,8 @@ static int mmc_power_cycle(struct mmc *mmc)
     	 * SD spec recommends at least 1ms of delay. Let's wait for 2ms
     	 * to be on the safer side.
     	 */
    -	udelay(2000);
    +//	udelay(2000);
    +  udelay(4000); //Charlie
     	return mmc_power_on(mmc);
     }
     
    diff --git a/dts/upstream/src/arm64/ti/k3-am62-main.dtsi b/dts/upstream/src/arm64/ti/k3-am62-main.dtsi
    index c7773e81..708786c6 100644
    --- a/dts/upstream/src/arm64/ti/k3-am62-main.dtsi
    +++ b/dts/upstream/src/arm64/ti/k3-am62-main.dtsi
    @@ -596,7 +596,8 @@
     		power-domains = <&k3_pds 58 TI_SCI_PD_EXCLUSIVE>;
     		clocks = <&k3_clks 58 5>, <&k3_clks 58 6>;
     		clock-names = "clk_ahb", "clk_xin";
    -		bus-width = <4>;
    +//		bus-width = <4>;
    +    bus-width = <1>; //Charlie
     		ti,clkbuf-sel = <0x7>;
     		ti,otap-del-sel-legacy = <0x0>;
     		ti,otap-del-sel-sd-hs = <0x0>;
    diff --git a/dts/upstream/src/arm64/ti/k3-am625-sk.dts b/dts/upstream/src/arm64/ti/k3-am625-sk.dts
    index b6373c1a..663388c7 100644
    --- a/dts/upstream/src/arm64/ti/k3-am625-sk.dts
    +++ b/dts/upstream/src/arm64/ti/k3-am625-sk.dts
    @@ -183,6 +183,12 @@
     &sdhci1 {
     	vmmc-supply = <&vdd_mmc1>;
     	vqmmc-supply = <&vdd_sd_dv>;
    +  pinctrl-names = "default";
    +  pinctrl-0 = <&main_mmc1_pins_default>;
    +  ti,driver-strength-ohm = <50>;
    +  disable-wp;
    +  //sdhci-caps-mask = <0x00000003 0x00000000>; /* Limiting to DDR50 speed mode */
    +  sdhci-caps-mask = <0x00000007 0x00000000>;/* Limiting to HS mode */ //Charlie
     };
     
     &cpsw3g {
    @@ -216,10 +222,10 @@
     &ospi0 {
     	flash@0 {
     		bootph-all;
    -		compatible = "jedec,spi-nor";
    +		compatible = "winbond,w25q64cv","jedec,spi-nor";
     		reg = <0x0>;
    -		spi-tx-bus-width = <8>;
    -		spi-rx-bus-width = <8>;
    +		spi-tx-bus-width = <4>;
    +		spi-rx-bus-width = <4>;
     		spi-max-frequency = <25000000>;
     		cdns,tshsl-ns = <60>;
     		cdns,tsd2d-ns = <60>;
    diff --git a/include/configs/am62x_evm.h b/include/configs/am62x_evm.h
    index 0d98f14a..426120c1 100644
    --- a/include/configs/am62x_evm.h
    +++ b/include/configs/am62x_evm.h
    @@ -35,5 +35,4 @@
     
     /* Now for the remaining common defines */
     #include <configs/ti_armv7_common.h>
    -
     #endif /* __CONFIG_AM625_EVM_H */
    diff --git a/include/env/ti/k3_dfu.env b/include/env/ti/k3_dfu.env
    index d89f8863..bd8336bf 100644
    --- a/include/env/ti/k3_dfu.env
    +++ b/include/env/ti/k3_dfu.env
    @@ -18,9 +18,9 @@ dfu_alt_info_emmc=
     
     dfu_alt_info_ospi=
     	tiboot3.bin raw 0x0 0x080000;
    -	tispl.bin raw 0x080000 0x200000;
    -	u-boot.img raw 0x280000 0x400000;
    -	u-boot-env raw 0x680000 0x020000;
    +	tispl.bin raw 0x080000 0x180000;
    +	u-boot.img raw 0x200000 0x1c0000;
    +	u-boot-env raw 0x3c0000 0x040000;
     	sysfw.itb raw 0x6c0000 0x100000;
     	rootfs raw 0x800000 0x3800000
     
    diff --git a/include/env/ti/k3_dfu.h b/include/env/ti/k3_dfu.h
    index 098f5f5d..baec54d0 100644
    --- a/include/env/ti/k3_dfu.h
    +++ b/include/env/ti/k3_dfu.h
    @@ -32,9 +32,9 @@
     #define DFU_ALT_INFO_OSPI \
     	"dfu_alt_info_ospi=" \
     	"tiboot3.bin raw 0x0 0x080000;" \
    -	"tispl.bin raw 0x080000 0x200000;" \
    -	"u-boot.img raw 0x280000 0x400000;" \
    -	"u-boot-env raw 0x680000 0x020000;" \
    +	"tispl.bin raw 0x080000 0x180000;" \
    +	"u-boot.img raw 0x200000 0x1c0000;" \
    +	"u-boot-env raw 0x3c0000 0x040000;" \
     	"sysfw.itb raw 0x6c0000 0x100000;" \
     	"rootfs raw 0x800000 0x3800000\0"

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

    内核

    diff -git a/arch/arm64/boot/dts/ti/k3-am625-sk.dts b/arch/arm64/boot/dts/ti/k3-am625-sk.dts
    索引 b6373c1a3..ce177abaf 100644.
    -- A/arch/arm64/boot/dts/ti/k3-am625-sk.dts
    ++ b/arch/arm64/boot/dts/ti/k3-am625-sk.dts
    @@–183、6 + 183、12 @@ exp1:GPIO@22{
    &sdhci1{
    VMMC-SUPPLY =<&VDD_mmc1>;
    vqmmc-supply =<&VDD_SD_dv>;
    + pinctrl-names=“default";“;
    + pinctrl-0 =<&main_mmc1_pins_default>;
    + ti,驱动器强度 — 欧姆=<50>;
    + disable-WP;
    +//sdhci-caps-mask =<0x00000003 0x00000000>;/*限制为 DDR50 速度模式*/
    + sdHCi-capsk =<0x00000007 0x00000000>;/*限制为 HS 模式*/
    };

    &cpsw3g{
    @@–218、8 +224、8 @@ FLASH@0{
    全部引导;
    兼容=“JEDEC、SPI-NOR“;
    REG =<0x0>;
    - SPI-TX-BUS-WIDTH =<8>;
    - spi-rx-bus-width =<8>;
    + SPI-TX-BUS-WIDTH =<4>;
    + SPI-Rx-BUS-WIDTH =<4>;
    SPI-max-frequency =<25000000>;
    CDN、tshsl-ns =<60>;
    CDN、tsd2d-ns =<60>;

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

    在共享日志中引导 Linux 之前存在一些错误:

    24046080 bytes read in 990 ms (23.2 MiB/s)
    64687 bytes read in 6 ms (10.3 MiB/s)
    Working FDT set to 88000000
    Bad Linux ARM64 Image magic!
    Scanning for bootflows in all bootdevs

    您能否共享本应在电路板上引导的 SD 卡中的 Linux 内核和 DTB 映像?

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

    抱歉!! 先前提供的日志放错了位置。 以下是最后一个正确的日志、供您参考。

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

    请根据 SD 卡接口的原理图修改“VMMC-Supply"稳“稳压器节点。 在 TI EVM 上、SD 卡电源是通过 IO 扩展器(根据其中定义了稳压器节点)进行控制的。

    作为快速测试、您可以注释“VMMC-Supply"属性“属性并尝试引导。

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

    此外、还请查看以下主题:

    e2e.ti.com/.../am62p-q1-platform-fa0000-mmc-deferred-probe-pending-the-sd-system-is-3-3v-only-any-debugging-suggestion

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

    [ 1.854389]正在等待根设备 PARTUID=076c4a2a-02...
    [ 12.015993] platform fa00000.mmc:递延探头待定: platform: supplier regulator-3 not ready
    [ 12.025078]平台调节器–3:延迟探头待定:平台:供应商 1-0022 未就绪
    [ 12.033620]平台 2b300050.目标模块:延迟探头待定:(原因未知)

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

    diff --git a/arch/arm64/boot/dts/ti/k3-am62-main.dtsi b/arch/arm64/boot/dts/ti/k3-am62-main.dtsi
    索引 c7773e81a..3f90da574 100644
    -- A/arch/arm64/boot/dts/ti/k3-am62-main.dtsi
    ++ b/arch/arm64/boot/dts/ti/k3-am62-main.dtsi
    @@–596,20 +596,22 @@ sdhci1: MMC@fa00000 {
    电源域=<&K3_PDS 58 TI_SCI_PD_EXCLUSTED>;
    Clocks =<&K3_CLKS 58 5>、<&K3_CLKS 58 6>;
    时钟名称=“clk_AHB",“,"clk_xin"、"clk_xin";“;</s>“
    -总线宽度=<4>;
    +//总线宽度=<4>;
    +总线宽度=<1>;//Charlie
    TI、clkbuf-SEL =<0x7>;
    TI、OTAP-del-SEL-legacy =<0x0>;
    TI、OTAP-DEL-SEL-SD-hs =<0x0>;
    - ti、otap-del-sel-sdr12 =<0xF>;
    - ti、otap-del-sel-sdr25 =<0xF>;
    - ti、otap-del-sel-sdr50 =<0xc>;
    - ti、otap-del-sel-sdr104 =<0x6>;
    - ti、otap-del-sel-ddr50 =<0x9>;
    +// ti、OTAP-del-sel-sdr12 =<0xF>;//Charlie
    +// ti、OTAP-del-sel-sdr25 =<0xF>;//Charlie
    +/- ti、OTAP-del-sel-sdr50 =<0xc>;//Charlie
    +/- ti、OTAP-del-sel-sdr104 =<0x6>;//Charlie
    +/- ti、OTAP-del-sel-ddr50 =<0x9>;//Charlie
    TI、ITAP-del-SEL-legacy =<0x0>;
    - ti、ITAP-del-SEL-SD-hs =<0x0>;
    - ti、ITAP-del-sel-sdr12 =<0x0>;
    - ti、ITAP-del-sel-sdr25 =<0x0>;
    +/- ti、ITAP-del-SEL-SD-hs =<0x0>;//Charlie
    +/- ti、ITAP-del-sel-sdr12 =<0x0>;//Charlie
    +/- ti、ITAP-del-sel-sdr25 =<0x0>;//Charlie
    STATUS =“已禁用“;
    + no-1-8-v;//Charlie
    };

    sdhci2:MMC@fa20000{
    diff -git a/arch/arm64/boot/dts/ti/k3-am625-sk.dts b/arch/arm64/boot/dts/ti/k3-am625-sk.dts
    索引 b6373c1a3..690ba5e0a 100644
    -- A/arch/arm64/boot/dts/ti/k3-am625-sk.dts
    ++ b/arch/arm64/boot/dts/ti/k3-am625-sk.dts
    @@- 13、8 + 13、8 @@

    /{
    兼容=“ti、am625-sk“、“ti、am625“;
    - model =“ Texas Instruments AM625 SK“;
    -
    +// model =“ Texas Instruments AM625 SK“;//Charlie
    + MODEL =“定制电路板 AM625 SK“;//Charlie
    opp 表{
    /*为 am625-sk 板添加 1.4GHz OPP。 要求 VDD_CORE 为 0.85V */
    OPP-1400000000{
    @@–74、9 +74、10 @@ VDD_mmc1:稳压器–3{
    稳压器 — 最小-微伏=<3300000>;
    稳压器最大微伏=<3300000>;
    稳压器启动;
    -使能 — 高电平有效;
    +//使能 — 高电平有效;//Charlie
    VIN-SUPPLY =<&VCC_3V3_SYS>;
    - GPIO =<&exp1 3 GPIO_ACTIVE_HIGH>;
    +/GPIO =<&exp1 3 GPIO_ACTIVE_HIGH>;//Charlie
    +调节器 — 始终开启;//Charlie
    };

    VDD_SD_DV:稳压器 4{
    @@–182、7 + 183、14 @@ exp1:GPIO@22{

    &sdhci1{
    VMMC-SUPPLY =<&VDD_mmc1>;
    - vqmmc-supply =<&VDD_SD_dv>;
    +//vqmmc-supply =<&VDD_SD_dv>;
    + no-1-8-v;//Charlie
    + pinctrl-names=“default";“;
    + pinctrl-0 =<&main_mmc1_pins_default>;
    + ti,驱动器强度 — 欧姆=<50>;
    + disable-WP;
    +//sdhci-caps-mask =<0x00000003 0x00000000>;/*限制为 DDR50 速度模式*/
    + sdhci-caps-mask =<0x00000007 0x00000000>;/*限制为 HS 模式*// Charlie
    };

    &cpsw3g{
    @@μ H –218、8 +226、8 @@ FLASH@0{
    全部引导;
    兼容=“JEDEC、SPI-NOR“;
    REG =<0x0>;
    - SPI-TX-BUS-WIDTH =<8>;
    - spi-rx-bus-width =<8>;
    + SPI-TX-BUS-WIDTH =<4>;
    + SPI-Rx-BUS-WIDTH =<4>;
    SPI-max-frequency =<25000000>;
    CDN、tshsl-ns =<60>;
    CDN、tsd2d-ns =<60>;
    diff --git a/drivers/mmc/core/core.c b/drivers/mmc/core/core.c
    索引 327029f5c..be83e2714 100644
    ---A/DRIVERS/MMC/CORE/CORE.c
    ++ b/drivers/MMC/core/core.c
    @@–1389、7 +1389、8 @@ void MMC_POWER_CYCLE(结构 MMC_host *主机、u32 OCR)

    MMC_POWER_OFF(主机);
    /*根据 SD 规范等待至少 1ms */
    - MMC_delay (1);
    +/- MMC_DELAY (1);
    + MMC_DELAY (4);//Charlie
    MMC_POWER_UP(主机,OCR);
    }

    diff -git a/sound/Kodecs/Kconfig soc b/sound/Kidecs/Kconfig soc
    索引 0d9d1d250.e2af62b4b 100644
    -- A/sound/Kconfig/codecs/Kconfig soc
    ++ b/sound/Kconfig/codecs/Kconfig soc
    @@–2578、7 +2578、14 @@ CONFIG SND_SOC_LPASS_WSA_MACRO
    选择 REGMAP_MMIO
    选择 snd_SOC_LPASS_MACROM_COMMON
    三态“LPASS(低功耗音频子系统)中的 Qualcomm WSA 宏“
    -
    +
    +config snd_SOC_dummy_codec
    +三态“ASOC 虚拟编解码器“
    +帮助
    +虚拟编解码器可用于在没有真实硬件的情况下测试 ASOC 链路。
    +
    +
    +
    配置 snd_SOC_LPASS_VA_MACRO
    取决于 COMMON_CLK
    选择 REGMAP_MMIO
    diff -git a/sound/Makefile soc b/sound/Makefile soc /codecs/Makefile
    索引 69cb0b39f..fc61304bc 100644
    -- A/sound/Makefile soc
    ++ b/sound/Makefile soc
    @@- 1、4 + 1、5 @@μ s
    # SPDX-License-Identifier: GPL-2.0
    +snd-dummy-codec-objs soc := dummy-codec.o
    snd-cm-88pm860x-y soc:= 88pm860x-codec.o
    snd-codec-y soc:= ab8500-codec.o
    snd-ac97-y soc := ac97.o

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

    测试结果仍然显示相同的误差、我不确定需要进一步校正的位置。 感谢您的帮助!!

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

    您好、您是否可以使用“sdhci-caps-mask  = <0x00000007 0x00200000>“尝试一次 SD 传统模式 。 如果这也不起作用、请分享最新构建的 DTB。

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

    您好 Prashant

    正常工作、可以正常输入内核。  非常感谢您的帮助