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.

[参考译文] AM4376:EMMC u-boot 启动帮助

Guru**** 2540720 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/948712/am4376-help-with-emmc-u-boot-bringup

器件型号:AM4376

大家好、

我正在尝试基于 AM43xx EVM 平台的定制板、它非常靠近 SK、但没有 SD 卡插槽、只有 eMMC 5.1连接到 MMC1端口。

按照 u-boot Linux 端口步骤 software-dl.ti.com/.../U-Boot.html、我达到了我想要进行分区的点、并从 u-boot 控制台整体检查 eMMC。

我正在从 UART0引导、在引导时我正在执行以下操作:

U-Boot 2019.01-ge4efe2e437-脏(2020年10月15日-10:35:54 -0400)



CPU:AM437x-GP rev 1.2

型号:TI AM437x HUBPLUS

DRAM:256 MIB

PMIC:TPS65218

OMAP NAND:0 MIB

MMC:SD/MMC:0

Net:未找到以太网。

按任意键停止自动引导:0

##错误:"update_to _fit" not defined

##错误:"envboot" not defined

##错误:"mmcboot" not defined

##错误:"usbboot" not defined

=> MMC info

Card did not respond to voltage select! 

我为将 eMMC 添加到 devicetree 而执行的步骤为:

  1. 在 DTS 文件中添加了以下 pinmux 配置:
    eMMC_PINS:eMMC_PINS{
    pinctrl-single、PIN=<
    AM4372_IOPAD (0x880、PIN_INPUT | MUX_MODE2)/*(B9) GPMC_csn1.mmc1_clk *
    AM4372_MODIOPAD (0x884、PIN_MODE2)/AM4372*
    
    
    
    (0x802_MODEUX_1*)/AM4UX_INPUT (0x372*)/AM4MMC_MO1*(0x372_MO1_MODE1)*(0x372_MOUX_1*(0x372*)/AM4PC0_MODIO1*(0x372_MO1*) /*(A6) GPMC_ad3.mmc1_data3 */
    AM4372_IOPAD (0x810、PIN_INPUT | MUX_MODE1)/*(B7) GPMC_AD4.mmc1_data4 */
    AM4372_IOPAD (0x810、PIN_INPUT | MUX_MODE1)/*(B372_MODE8
    
    
    )*(0x372_AM4_MODE8)*(0x372_AM4_MODE8372*)*(0x372_MODE8_MODIO6*)**(0x372_MODE8_MODE8_MODE1)*)*(0x372_AM4_MODIO6_MODIO8372_AD8_0187_MODIO6*(0x372*)*)*(0x372_MODIO8_MODIO8_MODE1)*(0x372_
    
    &mmc1{
    status ="oke";
    pinctrl-names ="default";
    pinctrl-0 =<&eMMC_PINs>;
    VMMC-supply =<&vmmcsd_fixed>;
    vqmmc-supply =<&vmmcsd_fixed>;
    总线宽度=<8>;
    ti、不可拆卸;
    最大频率=<26000000>;
    no-1-8-v;
    reset-GPIO =<&GPIO1 13 GPIO_ACTIVE_HIGe>;
    };
    
    vmmcsd_fixed:fixedreguler-SD{
    compatible ="reguler-fixed";
    reguler-name ="vmmcsd_fixed";
    reguler-min-microvolt =<3300000>;
    reguler-max-microvolt =<3300000>;
    enable-active-high;
    }; 
  2. 已将以下引脚多路复用器添加至 mux.c
    静态结构
    
    
    
    
    | MODULE_PIN_mux mmc1_PIN_mux[]={offset (GPMC_AD7)、(MODE (1)| RXACTIVE | PULLUP_EN)}、// MMC1_DAT7 *{offset (GPMC_AD6)、(MODE (1)| RXACTIVE | PULLUP)|(UCC1)* AM4_EN1 (GPMCUCC1)、{AMUCC1)* 1 (GPMCUCC1)| AMUCC1)、AMUCC1 (GPMC_AD4)*(AMUCC1)、AMUCC1 (AM_1)、AMUCC1)、(GPMC1)、AMUCC1 (GPMC1)、AM_AD4 (GPMC1)、AMUCC1 (GPMC1)、AM_AD4 (AMUCC1)、AMUCC1 (GPMC1)、AM_AD4 (AM_MODE/(GPMC1)(AMUCC1/* MMC1_DAT3 */
    {offset (GPMC_ad2)、(mode (1)| RXACTIVE | PULLUP_EN)}、/* MMC1_DAT2 */
    {offset (GPMC_ad1)、(mode (1)| RXACTIVE | PULLUP_EN)}、/* MMC1_DATA1 (GPMC_1
    )
    
    | AMCC1 (AMCC1)、
    * 1 (GPMC2_1)、AMCCL1*(AM_1)、AMCC1)| AMCCL1_1 (AMUTE_1)| AMCC1 (AM_1)、AMCC1 (AM_1)、AMCC1 (AM_1)、AMCC1 (AM_1)、* AMCCL1_1 (AMCCL1_1)、*(AMCC1)、AMCC1 (AM_1)、AM_1 (AMCC1)、*(AMW1)、*(AMCC1)、AMCCL1_1 (AM_1)、*(
    
  3. 已添加  
    CONFIG_MODULE_PIN_mux (mmc1_PIN_mux); 
    更改为  
    void enable_board_pin_mux (void){} 
    在 mux.c 中

  4. 已确保进入 eMMC 的 RST_n GPIO 保持高电平。

我是否错过了需要添加额外配置以初始化 eMMC 的某个位置?

为了实现向后兼容性、我是否必须添加一些额外配置、我使用的 eMMC 与5.1 HS400兼容。

感谢您的所有帮助!

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

    您好、Kamil、

    [引用 USER="Kamil Muza1"]我正在尝试基于 AM43xx EVM 平台的定制板、它非常接近 SK、但没有 SD 卡插槽、只有 eMMC 5.1连接到 MMC1端口。

    我们能否在您的电路板设计中确认"MMC1端口"连接?
    是"mmc1:MMC@48060000"还是"mmc2:MMC@481d8000"?

    在 TRM 中、MMC 端口编号为"MMC0端口"、"MMC1端口"...、但在器件树中、它们编号为"mmc1"、"mmc2"。

    最棒的
    -香港

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

    您好、Hong、

    感谢您的回答。 请检查原理图、我连接到 GPMC_ADX/MMC1_DATX 多路复用引脚。 它是一个嵌入式 MMC、它必须位于 AM437x 上的 MMC1上。 您说的是、在器件树部分、我应该使用&mmc2吗?

    谢谢!

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

    该解决方案正如 Hong 所提到的、devicetree 是错误的、需要是&mmc2

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

    您好、Kamil、

    是的、在器件树中使用&mmc2来匹配电路板设计中的 MMC1端口。 TRM 和器件压力之间的 MMC 端口匹配是容易被忽略的项目之一。

    最棒的

    -香港