[PATCH 10/10] ARM: stm32mp: lxa: enable TLV support for TAC & FairyTux2

Ahmad Fatoum a.fatoum at pengutronix.de
Fri Apr 11 00:40:45 PDT 2025


Now that TLV support is in place and the LXA-specific parsers have been
added, enable them in the respective board code.

Signed-off-by: Ahmad Fatoum <a.fatoum at pengutronix.de>
---
 arch/arm/boards/lxa-fairytux2/board.c           | 8 ++++++++
 arch/arm/boards/lxa-tac/board.c                 | 8 ++++++++
 arch/arm/dts/stm32mp153c-lxa-fairytux2-gen2.dts | 1 +
 arch/arm/dts/stm32mp153c-lxa-fairytux2.dtsi     | 1 +
 arch/arm/dts/stm32mp15xc-lxa-tac.dtsi           | 2 ++
 arch/arm/mach-stm32mp/Kconfig                   | 2 ++
 6 files changed, 22 insertions(+)

diff --git a/arch/arm/boards/lxa-fairytux2/board.c b/arch/arm/boards/lxa-fairytux2/board.c
index 2dc625c40408..5c5a76353d32 100644
--- a/arch/arm/boards/lxa-fairytux2/board.c
+++ b/arch/arm/boards/lxa-fairytux2/board.c
@@ -7,13 +7,21 @@
 #include <bootsource.h>
 #include <deep-probe.h>
 #include <of.h>
+#include <tlv/tlv.h>
 
 static int fairytux2_probe(struct device *dev)
 {
+	struct tlv_device *tlvcpu;
+
 	barebox_set_hostname("fairytux2");
 
 	stm32mp_bbu_mmc_fip_register("mmc", "/dev/mmc1", BBU_HANDLER_FLAG_DEFAULT);
 
+	tlvcpu = tlv_ensure_probed_by_alias("baseboard-factory-data");
+	if (!IS_ERR(tlvcpu))
+		dev_info(dev, "HW release: %s\n",
+			 dev_get_param(&tlvcpu->dev, "device-hardware-release"));
+
 	return 0;
 }
 
diff --git a/arch/arm/boards/lxa-tac/board.c b/arch/arm/boards/lxa-tac/board.c
index 96ffc46500bf..e513175c1b04 100644
--- a/arch/arm/boards/lxa-tac/board.c
+++ b/arch/arm/boards/lxa-tac/board.c
@@ -7,13 +7,21 @@
 #include <bootsource.h>
 #include <deep-probe.h>
 #include <of.h>
+#include <tlv/tlv.h>
 
 static int tac_probe(struct device *dev)
 {
+	struct tlv_device *tlvcpu;
+
 	barebox_set_hostname("lxatac");
 
 	stm32mp_bbu_mmc_fip_register("mmc", "/dev/mmc1", BBU_HANDLER_FLAG_DEFAULT);
 
+	tlvcpu = tlv_ensure_probed_by_alias("baseboard-factory-data");
+	if (!IS_ERR(tlvcpu))
+		dev_info(dev, "HW release: %s\n",
+			 dev_get_param(&tlvcpu->dev, "device-hardware-release"));
+
 	return 0;
 }
 
diff --git a/arch/arm/dts/stm32mp153c-lxa-fairytux2-gen2.dts b/arch/arm/dts/stm32mp153c-lxa-fairytux2-gen2.dts
index 2040959965f3..fe549db3f30a 100644
--- a/arch/arm/dts/stm32mp153c-lxa-fairytux2-gen2.dts
+++ b/arch/arm/dts/stm32mp153c-lxa-fairytux2-gen2.dts
@@ -19,6 +19,7 @@ partitions {
 		#size-cells = <1>;
 
 		io_board_factory_data: factory-data at 0 {
+			compatible = "lxa,tlv-ioboard-v1";
 			reg = <0 0x100>;
 			label = "tlv";
 		};
diff --git a/arch/arm/dts/stm32mp153c-lxa-fairytux2.dtsi b/arch/arm/dts/stm32mp153c-lxa-fairytux2.dtsi
index 12a7c290dd0b..a5a5f6296558 100644
--- a/arch/arm/dts/stm32mp153c-lxa-fairytux2.dtsi
+++ b/arch/arm/dts/stm32mp153c-lxa-fairytux2.dtsi
@@ -96,6 +96,7 @@ partitions {
 		#size-cells = <1>;
 
 		baseboard_factory_data: factory-data at 0 {
+			compatible = "lxa,tlv-baseboard-v1";
 			reg = <0 0x400>;
 			label = "tlv";
 		};
diff --git a/arch/arm/dts/stm32mp15xc-lxa-tac.dtsi b/arch/arm/dts/stm32mp15xc-lxa-tac.dtsi
index 32f42e4b04d8..3437e81cc1af 100644
--- a/arch/arm/dts/stm32mp15xc-lxa-tac.dtsi
+++ b/arch/arm/dts/stm32mp15xc-lxa-tac.dtsi
@@ -88,6 +88,7 @@ partitions {
 		#size-cells = <1>;
 
 		baseboard_factory_data: factory-data at 0 {
+			compatible = "lxa,tlv-baseboard-v1";
 			reg = <0 0x400>;
 			label = "tlv";
 		};
@@ -101,6 +102,7 @@ partitions {
 		#size-cells = <1>;
 
 		powerboard_factory_data: factory-data at 0 {
+			compatible = "lxa,tlv-powerboard-v1";
 			reg = <0 0x100>;
 			label = "tlv";
 		};
diff --git a/arch/arm/mach-stm32mp/Kconfig b/arch/arm/mach-stm32mp/Kconfig
index ad6c4e202fc1..5ea0c4004f2c 100644
--- a/arch/arm/mach-stm32mp/Kconfig
+++ b/arch/arm/mach-stm32mp/Kconfig
@@ -32,10 +32,12 @@ config MACH_LXA_MC1
 config MACH_LXA_TAC
 	select ARCH_STM32MP157
 	bool "Linux Automation TAC board"
+	select BOARD_LXA
 
 config MACH_LXA_FAIRYTUX2
 	select ARCH_STM32MP157
 	bool "Linux Automation FairyTux 2"
+	select BOARD_LXA
 
 config MACH_SEEED_ODYSSEY
 	select ARCH_STM32MP157
-- 
2.39.5




More information about the barebox mailing list