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.

[FAQ] [参考译文] [常见问题解答] AM62x:如何检查和配置 eMMC 闪存 RST_N 信号以支持从 AM62x-SK E2上引导的 eMMC 进行的 WARM_RESET

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1168342/faq-am62x-how-to-check-and-configure-emmc-flash-rst_n-signal-to-support-warm_reset-from-emmc-booting-on-am62x-sk-e2

在 AM62x-SK E2电路板上、eMMC 闪存和引导正常工作(来自上电复位(POR))、但在 AM62x-SK E2上观察到下面列出的问题。
发现问题
从冷 POR 成功引导 eMMC 后,下面列出的热复位选项不会从 eMMC 引导重新引导电路板
•发出“reset”cmd @u-boot 提示符
•发出“reboot”cmd @kernel
•按 SW3以发出 SOC WARM_RESET

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

    对该问题的解释指出:
    Micron eMMC 数据表[ https://www.mouser.com/datasheet/2/671/micron_technology_mict-s-a0006806196-1-1759129.pdf]
    •RST_n:主机使用 RST_n 信号复位器件、从而将器件移至预空闲状态。
    •默认情况下、器件中的 RST_n 信号被暂时禁用。
    •主机必须将 ECSD 寄存器的字节162、位[1:0]设置为0x1才能启用此功能、然后主机才能使用。

    如何通过读取 eMMC ECSD 寄存器来检查 eMMC RST_n
    引导至 Linux、下面的内核日志显示在一个 AM62x-SK E2板上的 eMMC ECSD 上未启用 RST_n
    root@am62xx-EVM:~# mmc extcsd 读取/dev/mmcblk0 | grep -i RST
    H/W 复位功能[RST_N_FUNCITY]:0x00

    如何通过对 eMMC ECSD 寄存器进行编程来启用 eMMC RST_n
    通过按@如下所示一次性对 eMMC ECSD 位进行编程、可以永久启用 eMMC 硬件复位信号 RST_n @
    •@U-boot:=> MMC rst-function 0 1
    •μ@内核:MMC hwreset 启用/dev/mmcblk0. 请注意,“/dev/mmcblk0”是 Linux 内核中安装的 eMMC 设备的一个示例。

    下面的内核日志显示 eMMC RST_n 已启用、任何 warm 复位选项现在都可以使用。
    root@am62xx-EVM:~# mmc extcsd 读取/dev/mmcblk0 | grep -i RST
    H/W 复位功能[RST_N_FUNCITY]:0x01