[PATCH V2 2/2] imx8mp_evk: simplify board spl code

Peng Fan peng.fan at nxp.com
Mon May 11 14:25:17 CEST 2020


> Subject: Re: [PATCH V2 2/2] imx8mp_evk: simplify board spl code
> 
> Hi Peng,
> 
> On Mon, May 11, 2020 at 3:55 AM Peng Fan <peng.fan at nxp.com> wrote:
> >
> > Simplify board SPL code
> >  - BSS area will be cleared by crt0_64.S
> >  - No need to get ccm device in spl_board_init
> >  - Use spl_early_init, not spl_init
> >  - timer_init has been invoked in arch_cpu_init
> 
> These are several changes in the same patch. It would be better to split them..

ok

> 
> >
> > Signed-off-by: Peng Fan <peng.fan at nxp.com>
> > ---
> >
> > V2:
> >  Fix build warning
> >
> >  board/freescale/imx8mp_evk/spl.c | 30 ++----------------------------
> >  1 file changed, 2 insertions(+), 28 deletions(-)
> >
> > diff --git a/board/freescale/imx8mp_evk/spl.c
> > b/board/freescale/imx8mp_evk/spl.c
> > index c5f640dc7b..7b02f43d95 100644
> > --- a/board/freescale/imx8mp_evk/spl.c
> > +++ b/board/freescale/imx8mp_evk/spl.c
> > @@ -25,11 +25,6 @@
> >  #include <mmc.h>
> >  #include <asm/arch/ddr.h>
> >
> > -#include <dm/uclass.h>
> > -#include <dm/device.h>
> > -#include <dm/uclass-internal.h>
> > -#include <dm/device-internal.h>
> > -
> >  DECLARE_GLOBAL_DATA_PTR;
> >
> >  int spl_board_boot_device(enum boot_device boot_dev_spl) @@ -44,16
> > +39,7 @@ void spl_dram_init(void)
> >
> >  void spl_board_init(void)
> >  {
> > -       struct udevice *dev;
> > -       int ret;
> > -
> >         puts("Normal Boot\n");
> > -
> > -       ret = uclass_get_device_by_name(UCLASS_CLK,
> > -
> "clock-controller at 30380000",
> > -                                       &dev);
> 
> We need this for the SPL watchdog driver, no?

No. clk is enabled in clock_imx8mm.c.

> 
> I tried selecting CONFIG_SPL_CLK_IMX8MP=y and then the board does not
> boot anymore, so it looks like we need a better solution.

Let's not enable this for SPL. We have limited ram, I plan to disable CCF in SPL.

> 
> > -       if (ret < 0)
> > -               printf("Failed to find clock node. Check device tree\n");
> >  }
> >
> >  #define I2C_PAD_CTRL (PAD_CTL_DSE6 | PAD_CTL_HYS | PAD_CTL_PUE
> |
> > PAD_CTL_PE) @@ -114,29 +100,19 @@ int
> > board_fit_config_name_match(const char *name)  }  #endif
> >
> > +/* Do not use BSS area in this phase */
> >  void board_init_f(ulong dummy)
> >  {
> > -       int ret;
> > -
> >         arch_cpu_init();
> >
> >         init_uart_clk(1);
> >
> >         board_early_init_f();
> >
> > -       timer_init();
> > +       spl_early_init();
> 
> You should check the returned value from spl_early_init().

ok.

Thanks,
Peng.

> 
> If you send a v2, could you please:
> 
> Thanks


More information about the U-Boot mailing list