riscv: Only enable OF_BOARD_FIXUP for S-Mode

It is unsafe to enable OF_BOARD_FIXUP only based on OF_SEPARATE.
OF_SEPARATE may indicate that the user wishes U-Boot to use a different
device tree than one obtained via OF_PRIOR_STAGE. However, OF_SEPARATE may
also indicate that the device tree which would be obtained via
OF_PRIOR_STAGE is invalid, nonexistant, or otherwise unusable. In this
latter case, enabling OF_BOARD_FIXUP will result in corruption of the
device tree. To remedy this, only enable OF_BOARD_FIXUP if U-Boot is
configured for S-Mode.

Fixes: 1c17e55594
Signed-off-by: Sean Anderson <seanga2@gmail.com>
Reviewed-by: Leo Liang <ycliang@andestech.com>
This commit is contained in:
Sean Anderson 2020-09-05 09:22:11 -04:00 committed by Andes
parent 8bb7496ef9
commit 32cef69da0

View file

@ -272,6 +272,6 @@ config STACK_SIZE_SHIFT
default 14
config OF_BOARD_FIXUP
default y if OF_SEPARATE
default y if OF_SEPARATE && RISCV_SMODE
endmenu