[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