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 <[email protected]>
---
  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

Reply via email to