From mboxrd@z Thu Jan 1 00:00:00 1970 From: Icenowy Zheng Date: Sat, 21 Jan 2017 10:16:55 +0800 Subject: [U-Boot] [linux-sunxi] Re: [RFC PATCH 08/11] sunxi: SPL: add FIT config selector for Pine64 boards In-Reply-To: References: <1484877211-19332-1-git-send-email-andre.przywara@arm.com> <1484877211-19332-9-git-send-email-andre.przywara@arm.com> <20170120213507.fe6ul4ygvuwrrm56@lukather> Message-ID: <1546411484965015@web12g.yandex.ru> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de 21.01.2017, 05:56, "Andr? Przywara" : > 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 >>> ?--- >>> ??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.