大家好、
我正在尝试基于 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 而执行的步骤为:
- 在 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; };
- 已将以下引脚多路复用器添加至 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)、*(
- 已添加
CONFIG_MODULE_PIN_mux (mmc1_PIN_mux);
更改为void enable_board_pin_mux (void){}
在 mux.c 中 - 已确保进入 eMMC 的 RST_n GPIO 保持高电平。
我是否错过了需要添加额外配置以初始化 eMMC 的某个位置?
为了实现向后兼容性、我是否必须添加一些额外配置、我使用的 eMMC 与5.1 HS400兼容。
感谢您的所有帮助!
