On Sat, Oct 08, 2016 at 03:41:50PM -0700, Sergey Kubushyn wrote: > On Sat, 8 Oct 2016, Tom Rini wrote: > > >On Wed, Oct 05, 2016 at 01:28:07PM -0700, Sergey Kubushyn wrote: > > > >>This allows to place U-Boot environment into eMMC boot partition thus > >>saving space on user partition for the OS (or whatever.) When booting > >>off of eMMC many (all?) MCUs can use dedicated boot0/boot1 partitions > >>to boot so U-Boot (or SPL) is written to one (or both) such partitions. > >>When such boot configuration is used it makes sense to place environment > >>in the same partition where the U-Boot itself is so the entire user > >>partition is available for the OS. > >> > >>It might be not well polished yet but it is a simple patch that can be > >>reworked later. > >> > >>It uses 4 Kconfig variables right now which probably belong to the board > >>Kconfig. Those are: > >> > >>CONFIG_ENV_IN_EMMC_BOOT -- tells that environment is in eMMC boot > >> partition if defined > >> > >>CONFIG_EMMC_ENV_PART -- tells which boot partition environment should be > >> stored in (either 1 or 2) > >> > >>CONFIG_EMMC_BOOT_PART -- which boot partition will be used by eMMC to > >> read U-Boot/SPL binary for boot protocol (either 1 or 2.) That can be > >> different from the environment partition > >> > >>CONFIG_EMMC_BOOT_ACK -- tells that eMMC should provide boot ACKs if > >> defined > >> > >>Here is an excerpt from actual board Kconfig: > > > >I think what's missing is that in the other cases where we do > >environment in the eMMC boot partitions we don't need the boot ack part. > >Can you see if the existing hooks work, when you add in something for > >boot ack? > > Eh, I _DO_ use existing hook. And one of the parameters passed to that > hook is boot ack (drivers/mmc/mmc_boot.c, line 101): > > === Cut === > int mmc_set_part_conf(struct mmc *mmc, u8 ack, u8 part_num, u8 access) > === Cut === > > I could've just set it to 0 unconditionally but there might be some board > configs that might require it to be enabled so I made it configurable. > > And I don't think we have any boards with environment in boot partition > because there is simply no support for this in common/enc_mmc.c. Remember,
I've put environment on the boot partitions on the eMMC on Beaglebone black for a number of years. See include/configs/am335x_evm.h: #elif defined(CONFIG_EMMC_BOOT) #define CONFIG_ENV_IS_IN_MMC #define CONFIG_SYS_MMC_ENV_DEV 1 #define CONFIG_SYS_MMC_ENV_PART 2 #define CONFIG_ENV_OFFSET 0x0 #define CONFIG_ENV_OFFSET_REDUND (CONFIG_ENV_OFFSET + CONFIG_ENV_SIZE) #define CONFIG_SYS_REDUNDAND_ENVIRONMENT Now, I fully accept that it's not working in your case and there must be something further needed. -- Tom
signature.asc
Description: Digital signature
_______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot