View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0004885 | UBoot | U-Boot | public | 2021-10-05 08:57 | 2021-10-05 10:53 |
Reporter | derksen | Assigned To | |||
Priority | normal | Severity | minor | Reproducibility | have not tried |
Status | resolved | Resolution | fixed | ||
Target Version | fsimx8mm-Y2021.04 | Fixed in Version | fsimx8mm-Y2021.04 | ||
Summary | 0004885: Have environment in NAND or MMC on fsimx8mm | ||||
Description | Have environment in NAND or MMC on fsimx8mm U-Boot already has basic support for loading the environment from different sources, for example NAND and MMC. But this cannot be used at the moment, because all these variants use the same config settings CONFIG_ENV_OFFSET, CONFIG_ENV_OFFSET_REDUND, CONFIG_ENV_SIZE, etc. Introduce new configs CONFIG_ENV_NAND_RANGE, CONFIG_ENV_NAND_OFFSET, and CONFIG_ENV_NAND_OFFSET_REDUND. Use these settings in env/nand.c. Add new configs CONFIG_ENV_MMC_OFFSET and CONFIG_ENV_MMC_OFFSET_REDUND. Use these settings in env/mmc.c. If these new configs are not set, use the old settings to not break existing board configurations (in include/environment.h). Add the new settings to config_whitelist.txt to avoid build warnings. Remark: For now we assume that all environments have the same size, independent from the location. So all variants still use the generic CONFIG_ENV_SIZE. Actually use the new configs in include/configs/fsimx8mm.h. Remove the #ifdef around settings that were only valid when either the one or the other environment was active, now these settings have to be always active. Add function env_get_location() to board/F+S/fsimx8mm/fsimx8mm.c. This function is called several times from the environment core before the environment is loaded and has to return the location of the environment, i.e. ENVL_NAND when booting from NAND, and ENVL_MMC when booting from MMC. Add CONFIG_SD_BOOT and CONFIG_CMD_NAND to fsimx8mm_defconfig, so that both are available. | ||||
Forum Link | |||||