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.

[参考译文] AM5716:U-boot 中未检测到 MMC 卡

Guru**** 2614265 points
Other Parts Discussed in Thread: AM5716, TMDXIDK5718

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/656910/am5716-mmc-card-not-detected-in-u-boot

器件型号:AM5716
主题中讨论的其他器件: TMDXIDK5718

我将定制板与 Sitara AM5716搭配使用。 我已通过 U-boot 通过 UART 发送 SPL 和 U-boot 映像成功引导它。 但在 U-Boot 中,未检测到 MMC 设备。 我在板上使用的 MMC 器件是 MTFC4GACAANA-4M IT。 该器件连接到 AM5716的 MMC2。  mux_data 以 mu u-boot 代码 显示如下:

const struct pad_conf_entry core_padconf_array_ess_am571x_idk[]={
   {GPMC_A3、(M1 | PIN_OUTPUT | MANUAL_MODE)}、   // GPMC_A3.qspi1_CS2 *
   {GPMC_A4、(M1 | PIN_OUTPUT | MANUAL_MODE)}、   // GPMC_A4.qspi1_CS3 *
   {GPMC_A13、(M1 | PIN_INPUT | MANUAL_MODE)}、   // GPMC_A13.qspi1_rtclk *
   {GPMC_A14、(M1 | PIN_INPUT | MANUAL_MODE)}、   // GPMC_A14.qspi1_D3 *
   {GPMC_A15、(M1 | PIN_INPUT | MANUAL_MODE)}、   // GPMC_a15.qspi1_D2 *
   {GPMC_A16、(M1 | PIN_INPUT | MANUAL_MODE)}、   // GPMC_A16.qspi1_d0 *
   {GPMC_A17、(M1 | PIN_INPUT | MANUAL_MODE)}、   // GPMC_a17.qspi1_D1 *
   {GPMC_A18、(M1 | PIN_OUTPUT | MANUAL_MODE)}、   // GPMC_A18.qspi1_SCLK *
   {GPMC_A19、(M1 | PIN_INPUT)}、   // GPMC_A19.mmc2_dat4 *
   {GPMC_A20、(M1 | PIN_INPUT)}、   // GPMC_A20.mmc2_dat5 *
   {GPMC_A21、(M1 | PIN_INPUT)}、   // GPMC_A21.mmc2_dat6 *
   {GPMC_A22、(M1 | PIN_INPUT)}、   // GPMC_A22.mmc2_dat7 *
   {GPMC_A23、(M1 | PIN_OUTPUT)}、   // GPMC_A23.mmc2_clk *
   {GPMC_A24、(M1 | PIN_INPUT)}、   // GPMC_A24.mmc2_dat0 *
   {GPMC_A25、(M1 | PIN_INPUT)}、   // GPMC_A25.mmc2_DAT1 *
   {GPMC_A26、(M1 | PIN_INPUT)}、   // GPMC_a26.mmc2_dat2 *
   {GPMC_A27、(M1 | PIN_INPUT)}、   // GPMC_A27.mmc2_dat3 *
   {GPMC_CS1、(M1 | PIN_INPUT)}、   // GPMC_CS1.mmc2_cmd *

u-boot 启动屏幕的屏幕截图如上所示。

请指导我如何访问 U-boot 中的 MMC。

 

 

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

    根据我的理解、您将使用基于 AM571x TI IDK 板- TMDXIDK5718的 AM571x 定制板。

    您是否使用 AM57x TI PSDK? 如果是、是哪个版本? 下面是 AM57x TI PSDK 最新版本的链接。

    software-dl.ti.com/.../index_FDS.html

    在 TI PSDK 中、pinmux 在 u-boot dts 文件中完成、其中包含 pinctrl 单个引脚条目。

    我建议您在加载 u-boot 后尝试 DTS 文件中的 pinmux、并/或检查您是否已正确地使用 pinmux (在 dts 或 pad_conf_entry core_padconf_array_ess_am571x_idk 中)。 验证控制模块寄存器中的 MMC2 pinmux 值是否正确、请使用 u-boot "MD"命令进行检查。

    此致、
    帕维尔
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Pavel、
    我已经使用 git.ti.com/.../master 上的 perl 脚本 生成了链接中提到的 pinmux:

    processors.wiki.ti.com/.../Pin_Mux_Utility_for_ARM_MPU_Processors

    我已将 u-boot 源文件与"ti-processor-sdk-linux-am57xx-evm-03.02.00.05"一起使用,并在中修改了引脚多路复用文件
    /home/quest/Nithin/U-Boot_Git/u-boot/board/ti/am57xx/mux_data.h 并构建了 u-boot 和 SPL 二进制文件、如中所述
    带有 defconfig "am57xx_evm_defconfig"的 processors.wiki.ti.com/.../Linux_Core_U-Boot_User's_Guide。

    我能够通过 UART 使用这些二进制文件引导系统、但在 U-boot 中未检测到 MMC 和 QSPI 闪存。
    我已经验证了引脚多路复用器文件、对于 MMC2来说似乎可以。

    我甚至尝试了它的 git 存储库中的最新 u-boot 源文件、并尝试了相同的文件。 但结果是相同的。

    请引导我,下一步该做什么。

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

    AM571x EVM 附带:

    SD/MMC 卡连接到 AM571x MMC1接口。

    连接到 AM571x MMC2接口的 eMMC (16GB)。


    关于您的 AM571x 定制板、您是否在 MMC1上附加了什么? 如果不是、则应禁用此 u-boot 代码、因为这些错误消息可能来自 MMC1、而不是 MMC2。 如果不使用 MMC1、则应禁用它。

    关于 MMC2的引脚多路复用、我看到默认情况下 MMC2引脚是正确的引脚多路复用。 您对 u-boot 代码库中有关 MMC2 pinmux 的具体更改(如果有)是什么?

    如果您使用的是最新的 TI PSDK u-boot、则无需更改。 请参阅以下文件:

    u-boot-2017.01/board/ti/am57xx/mux_data.h
    u-boot-2017.01/arch/arm/dts/am571x-idk.dts

    此致、
    帕维尔
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    根据您的建议,我将 u-boot/board/ti/am57xx/mux_data.h 引用,并将引脚复用修改为:

    {GPMC_A19、(M1 | PIN_INPUT_PULLUP)}、// GPMC_A19.mmc2_dat4 *
    {GPMC_A20、(M1 | PIN_INPUT_PULLUP)}、// GPMC_A20.mmc2_dat5 *
    {GPMC_A21、(M1 | PIN_INPUT_PULLUP)}、// GPMC_A21.mmc2_dat6 *
    {GPMC_A22、(M1 | PIN_INPUT_PULLUP)}、// GPMC_A22.mmc2_dat7 *
    {GPMC_A23、(M1 | PIN_INPUT_PULLUP)}、// GPMC_A23.mmc2_clk *
    {GPMC_A24、(M1 | PIN_INPUT_PULLUP)}、// GPMC_A24.mmc2_dat0 *
    {GPMC_A25、(M1 | PIN_INPUT_PULLUP)}、// GPMC_A25.mmc2_dat1 *
    {GPMC_A26、(M1 | PIN_INPUT_PULLUP)}、// GPMC_a26.mmc2_dat2 *
    {GPMC_A27、(M1 | PIN_INPUT_PULLUP)}、// GPMC_A27.mmc2_dat3 *
    {GPMC_CS1、(M1 | PIN_INPUT_PULLUP)}、// GPMC_CS1.mmc2_cmd *


    现在检测到 eMMC 设备。 非常感谢您的建议。 我现在可以使用 u-boot 命令从 eMMC 卡进行写入和读取。