[U-Boot] [linux-sunxi] Re: [RFC PATCH 08/11] sunxi: SPL: add FIT config selector for Pine64 boards

Icenowy Zheng icenowy at aosc.xyz
Sat Jan 21 03:16:55 CET 2017



21.01.2017, 05:56, "André Przywara" <andre.przywara at arm.com>:
> On 20/01/17 21:35, Maxime Ripard wrote:
>
> Hi Maxime,
>
> thanks for having a look!
>
>>  On Fri, Jan 20, 2017 at 01:53:28AM +0000, Andre Przywara wrote:
>>>  For a board or platform to support FIT loading in the SPL, it has to
>>>  provide a board_fit_config_name_match() routine, which helps to select
>>>  one of possibly multiple DTBs contained in a FIT image.
>>>  Provide a simple function to cover the two different Pine64 models,
>>>  which can be easily told apart by looking at the amount of installed
>>>  RAM.
>>>
>>>  Signed-off-by: Andre Przywara <andre.przywara at arm.com>
>>>  ---
>>>   board/sunxi/board.c | 13 +++++++++++++
>>>   1 file changed, 13 insertions(+)
>>>
>>>  diff --git a/board/sunxi/board.c b/board/sunxi/board.c
>>>  index 5365638..bbbb826 100644
>>>  --- a/board/sunxi/board.c
>>>  +++ b/board/sunxi/board.c
>>>  @@ -726,3 +726,16 @@ int ft_board_setup(void *blob, bd_t *bd)
>>>   #endif
>>>           return 0;
>>>   }
>>>  +
>>>  +#ifdef CONFIG_SPL_LOAD_FIT
>>>  +int board_fit_config_name_match(const char *name)
>>>  +{
>>>  +#ifdef CONFIG_MACH_SUN50I
>>>  + if ((gd->ram_size > 512 * 1024 * 1024))
>>>  + return !strcmp(name, "sun50i-a64-pine64-plus");
>>>  + else
>>>  + return !strcmp(name, "sun50i-a64-pine64");
>>>  +#endif
>>>  + return -1;
>>>  +}
>>
>>  That looks fishy. It means that any A64 board with CONFIG_SPL_LOAD_FIT
>>  enabled will be considered a pine64 board?
>
> Yes, at least for now, because that's the only A64 board we officially
> support so far.
> And yes again, it is fishy. It is more a demo or a placeholder for now,
> because you _need_ an implementation of board_fit_config_name_match()
> once you enable CONFIG_SPL_LOAD_FIT.

You have a Banana Pi M64, right?

And I do not want to change code every time we have a new A64 board...

> One solution would be to have only one DTB supported per build, so
> board_fit_config_name_match() always returns 0.
>

I think that's what we're did in previous u-boot-sunxi-with-spl.bin .

> Another (better) solution would be to store the board name in the SPL
> header, which could be done later when flashing the image. Then this
> function would just return strcmp(name, spl_header_name) or 0 if no name
> is found for whatever reason.
>
> Ideas welcome. To be honest, this .dtb selection is nice, but I am not
> married to it. It usefulness maybe limited at the moment.
>
> Cheers,
> Andre.
>
> --
> You received this message because you are subscribed to the Google Groups "linux-sunxi" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to linux-sunxi+unsubscribe at googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.


More information about the U-Boot mailing list