View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0004887 | UBoot | U-Boot | public | 2021-10-05 08:59 | 2021-10-05 10:55 |
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 | 0004887: fsimx8mm: Add nboot-info for BOARD-CFGs, use .*.tmp files in Makefile | ||||
Description | fsimx8mm: Add nboot-info for BOARD-CFGs, use .*.tmp files in Makefile When NBoot information (FIRMWARE, BOARD-CFG) is stored by U-Boot, having compiled in offsets for NAND and eMMC may be dangerous. Assume that a new NBoot needs these images at different places, then an old U-Boot will still store them at the old places and the board will not boot. Therefore add an nboot-info node to each BOARD-CFG that holds this information. U-Boot can read this information from the new NBoot image and can store everything at the right places. So U-Boot just needs one fix information: where it can find the BOARD-CFG in OCRAM, e.g. it needs CONFIG_FUS_BOARDCFG_ADDR. All other values are only necessary in SPL and can be renamed to CONFIG_SPL_*. Remove the previous CONFIG_FUS_* names from scripts/config_whitelist.txt again. In fact this nboot-info node is the same for all BOARD-CFGs. So add a separate file nboot-info.dtsi and include it in all configurations. There are some values in nand-info that are defined in fsimx8mm.h. So only add kind of variables (strings that start and end with three hashmarks) and let NBoot's Makefile replace them with the according values from fsimx8mm.h. There is easy access to these values by including spl/include/autoconf.mk. In the same manner also replace similar variables in dram-timings.lds. Also add an NBOOT_VERSION to the NBoot Makefile. This is now part of the name of the generated nboot file and it is also included in the nboot-info for runtime reference. Instead of using .bin and other intermediate filenames when building NBoot, use names of the form .*.tmp. These files are automatically removed when calling make clean. Remove the clean target in the NBoot Makefile, this never worked anyway. There is also an extra copy step of the NBoot file at the end of the build process that can be dropped. Move CONFIG_FUS_BOARDCFG_ADDR to the front of the OCRAM. If nothing is before it, it does not need to be moved around if areas grow or shrink in the future. This means CONFIG_SPL_BSS_START_ADDR is now behind it. There is enough room for the DRAM timings in TCM, so move them to 0x81C000. Then the whole ATF area stays empty and it is more similar to the original NXP code, where the timings are part of the SPL code and thus also in TCM. | ||||
Forum Link | |||||