mirror of
https://github.com/u-boot/u-boot.git
synced 2025-04-16 01:44:34 +00:00
cmd: fdt: skip board specific fixup using env variable
Sometimes it is useful to boot OS with already fixed-up device tree. Check for env variable 'skip_board_fixup' before calling ft_board_setup(). Current behaviour is unchanged, additionally user can set skip_board_fixup to 1 to skip the fixup. Signed-off-by: Wasim Khan <wasim.khan@nxp.com>
This commit is contained in:
parent
220fa478fb
commit
402558b1fe
2 changed files with 18 additions and 5 deletions
|
@ -576,11 +576,18 @@ int image_setup_libfdt(bootm_headers_t *images, void *blob,
|
|||
fdt_fixup_pstore(blob);
|
||||
#endif
|
||||
if (IMAGE_OF_BOARD_SETUP) {
|
||||
fdt_ret = ft_board_setup(blob, gd->bd);
|
||||
if (fdt_ret) {
|
||||
printf("ERROR: board-specific fdt fixup failed: %s\n",
|
||||
fdt_strerror(fdt_ret));
|
||||
goto err;
|
||||
const char *skip_board_fixup;
|
||||
|
||||
skip_board_fixup = env_get("skip_board_fixup");
|
||||
if (skip_board_fixup && ((int)simple_strtol(skip_board_fixup, NULL, 10) == 1)) {
|
||||
printf("skip board fdt fixup\n");
|
||||
} else {
|
||||
fdt_ret = ft_board_setup(blob, gd->bd);
|
||||
if (fdt_ret) {
|
||||
printf("ERROR: board-specific fdt fixup failed: %s\n",
|
||||
fdt_strerror(fdt_ret));
|
||||
goto err;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (IMAGE_OF_SYSTEM_SETUP) {
|
||||
|
|
|
@ -2383,6 +2383,12 @@ sub u_boot_line {
|
|||
"fdt or initrd relocation disabled at boot time\n" . $herecurr);
|
||||
}
|
||||
|
||||
# make sure 'skip_board_fixup' is not
|
||||
if ($rawline =~ /.*skip_board_fixup.*/) {
|
||||
ERROR("SKIP_BOARD_FIXUP",
|
||||
"Avoid setting skip_board_fixup env variable\n" . $herecurr);
|
||||
}
|
||||
|
||||
# Do not use CONFIG_ prefix in CONFIG_IS_ENABLED() calls
|
||||
if ($line =~ /^\+.*CONFIG_IS_ENABLED\(CONFIG_\w*\).*/) {
|
||||
ERROR("CONFIG_IS_ENABLED_CONFIG",
|
||||
|
|
Loading…
Add table
Reference in a new issue