[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