[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