[PATCH] platform: kendryte/k210: fixup FDT

Anup Patel Anup.Patel at wdc.com
Thu Aug 20 07:39:55 EDT 2020



> -----Original Message-----
> From: Atish Patra <atishp at atishpatra.org>
> Sent: 18 August 2020 22:47
> To: Heinrich Schuchardt <xypron.glpk at gmx.de>
> Cc: Anup Patel <Anup.Patel at wdc.com>; Atish Patra
> <Atish.Patra at wdc.com>; Damien Le Moal <Damien.LeMoal at wdc.com>; Bin
> Meng <bmeng.cn at gmail.com>; OpenSBI list <opensbi at lists.infradead.org>
> Subject: Re: [PATCH] platform: kendryte/k210: fixup FDT
> 
> On Tue, Aug 18, 2020 at 8:54 AM Heinrich Schuchardt <xypron.glpk at gmx.de>
> wrote:
> >
> > When passing the device tree to the next stage we should apply
> > necessary device tree fix-ups first. These include:
> >
> > * fix up the CPU node in the device tree
> > * fix up the PLIC node in the device tree
> > * fix up the reserved memory node in the device tree
> >
> > Signed-off-by: Heinrich Schuchardt <xypron.glpk at gmx.de>
> > ---
> >  platform/kendryte/k210/platform.c | 18 ++++++++++++++++++
> >  1 file changed, 18 insertions(+)
> >
> > diff --git a/platform/kendryte/k210/platform.c
> > b/platform/kendryte/k210/platform.c
> > index 5c28fd9..75883ed 100644
> > --- a/platform/kendryte/k210/platform.c
> > +++ b/platform/kendryte/k210/platform.c
> > @@ -12,6 +12,7 @@
> >  #include <sbi/sbi_console.h>
> >  #include <sbi/sbi_const.h>
> >  #include <sbi/sbi_platform.h>
> > +#include <sbi_utils/fdt/fdt_fixup.h>
> >  #include <sbi_utils/irqchip/plic.h>
> >  #include <sbi_utils/serial/sifive-uart.h>  #include
> > <sbi_utils/sys/clint.h> @@ -67,6 +68,21 @@ static u32
> > k210_get_clk_freq(void)
> >         return pll0_freq / div;
> >  }
> >
> > +static int k210_final_init(bool cold_boot) {
> > +       void *fdt;
> > +
> > +       if (!cold_boot)
> > +               return 0;
> > +
> > +       fdt = sbi_scratch_thishart_arg1_ptr();
> > +
> > +       fdt_cpu_fixup(fdt);
> > +       fdt_fixups(fdt);
> > +
> > +       return 0;
> > +}
> > +
> >  static int k210_console_init(void)
> >  {
> >         return sifive_uart_init(K210_UART_BASE_ADDR,
> > k210_get_clk_freq(), @@ -122,6 +138,8 @@ static int
> > k210_system_reset(u32 type)  }
> >
> >  const struct sbi_platform_operations platform_ops = {
> > +       .final_init     = k210_final_init,
> > +
> >         .console_init   = k210_console_init,
> >         .console_putc   = sifive_uart_putc,
> >         .console_getc   = sifive_uart_getc,
> > --
> > 2.28.0
> >
> >
> > --
> > opensbi mailing list
> > opensbi at lists.infradead.org
> > http://lists.infradead.org/mailman/listinfo/opensbi
> 
> Reviewed-by: Atish Patra <atish.patra at wdc.com>
> 

Applied this patch to the riscv/opensbi repo

Regards,
Anup


More information about the opensbi mailing list