[PATCH] riscv: Only enable OF_BOARD_FIXUP for S-Mode

Bin Meng bmeng.cn at gmail.com
Fri Sep 11 16:43:14 CEST 2020


On Fri, Sep 11, 2020 at 6:20 PM Sean Anderson <seanga2 at gmail.com> wrote:
>
> On 9/11/20 3:29 AM, Bin Meng wrote:
> > Hi Sean,
> >
> > On Sat, Sep 5, 2020 at 9:22 PM Sean Anderson <seanga2 at gmail.com> wrote:
> >>
> >> 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
> >
> > typo: nonexistent
> >
> >> 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: 1c17e55594a394ced7de88d91be294eaf8c564c1
> >
> > nits: the format should be: commit_id ("description")>
> >> Signed-off-by: Sean Anderson <seanga2 at gmail.com>
> >> ---
> >>
> >>  arch/riscv/Kconfig | 2 +-
> >>  1 file changed, 1 insertion(+), 1 deletion(-)
> >>
> >> diff --git a/arch/riscv/Kconfig b/arch/riscv/Kconfig
> >> index 009a545fcf..13fac51483 100644
> >> --- a/arch/riscv/Kconfig
> >> +++ b/arch/riscv/Kconfig
> >> @@ -288,6 +288,6 @@ config STACK_SIZE_SHIFT
> >>         default 14
> >>
> >>  config OF_BOARD_FIXUP
> >> -       default y if OF_SEPARATE
> >> +       default y if OF_SEPARATE && RISCV_SMODE
> >
> > Is that your board is running U-Boot M-mode with OF_SEPARATE that does not work?
>
> Yes, because the reason we use OF_SEPARATE is because no device tree is
> passed to U-Boot. Trying to use the device tree passed to U-Boot even

I don't get it. If no device tree is passed to U-Boot, why using
OF_SEPARATE in the first place?

> though OF_SEPARATE is enabled results in garbage being written to the

What garbage data is written?

> actual device tree. Without this patch, booting on the K210 randomly
> fails.

Regards,
Bin


More information about the U-Boot mailing list