From mboxrd@z Thu Jan 1 00:00:00 1970 From: Stefan Roese Date: Mon, 13 Jan 2020 08:27:31 +0100 Subject: [PATCH 08/10] ARM: mvebu: clearfog: run-time selection of DT file In-Reply-To: References: Message-ID: List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de On 25.11.19 11:30, Baruch Siach wrote: > Set the kernel device-tree file (fdtfile environment variable) based on > run-time detection of the platform. > > Signed-off-by: Baruch Siach > --- > arch/arm/mach-mvebu/Kconfig | 1 + > board/solidrun/clearfog/clearfog.c | 14 ++++++++++++++ > 2 files changed, 15 insertions(+) > > diff --git a/arch/arm/mach-mvebu/Kconfig b/arch/arm/mach-mvebu/Kconfig > index fdd39685b75d..bc5eaa5a7679 100644 > --- a/arch/arm/mach-mvebu/Kconfig > +++ b/arch/arm/mach-mvebu/Kconfig > @@ -91,6 +91,7 @@ choice > config TARGET_CLEARFOG > bool "Support ClearFog" > select 88F6820 > + select BOARD_LATE_INIT > > config TARGET_HELIOS4 > bool "Support Helios4" > diff --git a/board/solidrun/clearfog/clearfog.c b/board/solidrun/clearfog/clearfog.c > index 852b1ad71bb2..00c1306e9c80 100644 > --- a/board/solidrun/clearfog/clearfog.c > +++ b/board/solidrun/clearfog/clearfog.c > @@ -265,3 +265,17 @@ int board_eth_init(bd_t *bis) > cpu_eth_init(bis); /* Built in controller(s) come first */ > return pci_eth_init(bis); > } > + > +int board_late_init(void) > +{ > + read_tlv_data(); > + > + if (sr_product_is("Clearfog Base")) > + env_set("fdtfile", "armada-388-clearfog-base.dtb"); > + else if (sr_product_is("Clearfog GTR S4")) > + env_set("fdtfile", "armada-385-clearfog-gtr-s4.dtb"); > + else if (sr_product_is("Clearfog GTR L8")) > + env_set("fdtfile", "armada-385-clearfog-gtr-l8.dtb"); > + > + return 0; > +} > Where does this sr_product_is() function come from? I might have missed it in a previous patch - please point me to it, thanks. Does it make sense to match string values here or wouldn't it be better to match board ID's (enum)? Thanks, Stefan