The eMMC boot works fine, but "env save" fails with message: Saving Environment to FAT... Failed (1)
That's because CONFIG_ENV_IS_IN_MMC=y is not enabled, which wouldn't work without CONFIG_SYS_EXTRA_OPTIONS="EMMC_BOOT", because in include/configs/am335x_evm.h it defines eMMC environment options: ... #elif defined(CONFIG_EMMC_BOOT) #define CONFIG_SYS_MMC_ENV_DEV 1 #define CONFIG_SYS_MMC_ENV_PART 0 #define CONFIG_ENV_OFFSET 0x260000 #define CONFIG_ENV_OFFSET_REDUND (CONFIG_ENV_OFFSET + CONFIG_ENV_SIZE) #define CONFIG_SYS_REDUNDAND_ENVIRONMENT #define CONFIG_SYS_MMC_MAX_DEVICE 2 And if we enable those two options in am335x_evm_defconfig, it leads to wrong pin-muxing in board/ti/am335x/mux.c (because CONFIG_NAND is also enabled in am335x_evm_defconfig): } else if (board_is_bone_lt()) { ... configure_module_pin_mux(mmc0_pin_mux); #if defined(CONFIG_NAND) && defined(CONFIG_EMMC_BOOT) configure_module_pin_mux(nand_pin_mux); <---- this line is executed #elif defined(CONFIG_NOR) && defined(CONFIG_EMMC_BOOT) configure_module_pin_mux(bone_norcape_pin_mux); #else configure_module_pin_mux(mmc1_pin_mux); #endif So I don't see any other way to overcome this issue other than keeping separate defconfig for NAND and eMMC board variants. Of course, I can fix commit message to state the reason more clearly. We can also rename am335x_boneblack_defconfig to am335x_evm_mmc_defconfig, but it doesn't change the fact it should be done. If somebody sees another way around, please do tell. Thanks! On Thu, Sep 12, 2019 at 6:43 PM Andre Heider <a.hei...@gmail.com> wrote: > > Hi, > > On 9/12/19 5:23 PM, Sam Protsenko wrote: > > Commit 8fa7f65dd02c ("configs: Remove am335x_boneblack_defconfig") > > removes defconfig for BeagleBone Black board, and it's advised to use > > am335x_evm_defconfig for all AM335x boards. But it's impossible to use > > am335x_evm_defconfig in eMMC use-case without modifications for BBB > > (NAND must be disabled, MMC enabled, etc). This is inconvenient for user > > to do such modifications via menuconfig (only developer knows what > > should be done). Furthermore, enabling MMC options in > > am335x_evm_defconfig leads to wrong pin-muxing scheme in > > board/ti/am335x/mux.c, because both NAND and MMC options are going to be > > enabled in the config, so that pins are muxed for BBB with NAND cape, > > which in turn leads to non-functioning eMMC. There is no way to make the > > single defconfig working for both eMMC and NAND use-cases, because we > > can't figure out in run-time which board configuration is used by user > > (EVM, BBB, or BBB with NAND cape). Hence we rely on CONFIG options to > > figure out which configuration is used. Because of this we can't use > > single defconfig for AM335x EVM and BBB. > > for the record: I booted my bbb with am335x_evm_defconfig without any > config changes from emmc using master a few days ago just fine. It works > just as well as booting from sd card. > > That's with using distro boot, the legacy env cmds don't try to boot off > emmc iirc. > > Regards, > Andre _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot