[PATCH 08/10] ARM: mvebu: clearfog: run-time selection of DT file
Baruch Siach
baruch at tkos.co.il
Tue Jan 14 11:26:12 CET 2020
Hi Stefan,
On Mon, Jan 13, 2020 at 08:27:31AM +0100, Stefan Roese wrote:
> 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 <baruch at tkos.co.il>
> > ---
> > 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.
sr_product_is() is added in patch #6 of this series. Match is tested against
TLV stored product name string.
> Does it make sense to match string values here or wouldn't it be better
> to match board ID's (enum)?
sr_product_is() matches also string prefixes. I use this feature in patch #9
to set Clearfog GTR S4/L8 serdes configuration.
baruch
--
http://baruch.siach.name/blog/ ~. .~ Tk Open Systems
=}------------------------------------------------ooO--U--Ooo------------{=
- baruch at tkos.co.il - tel: +972.2.679.5364, http://www.tkos.co.il -
More information about the U-Boot
mailing list