DistroKit Mailinglist
 help / color / mirror / Atom feed
* [DistroKit] [PATCH 1/5] v7a: tf-a: version bump v2.12 -> v2.14
@ 2026-02-03 17:33 Roland Hieber
  2026-02-03 17:33 ` [DistroKit] [PATCH 2/5] v7a: tf-a: enable support for LXA FairyTux 2 Roland Hieber
                   ` (3 more replies)
  0 siblings, 4 replies; 6+ messages in thread
From: Roland Hieber @ 2026-02-03 17:33 UTC (permalink / raw)
  To: distrokit; +Cc: Ahmad Fatoum, Roland Hieber

Update to the new version, which includes support for the Linux
Automation FairyTux 2. A regression prevents building the LXA TAC, so
add a patch, which is currently in upstream review.

Helped-by: Ahmad Fatoum <a.fatoum@pengutronix.de>
Signed-off-by: Roland Hieber <rhi@pengutronix.de>
---
 ...upport-for-multiple-entries-in-DTB_F.patch | 58 +++++++++++++++++++
 .../platform-v7a/patches/tf-a-v2.14/series    |  4 ++
 configs/platform-v7a/platformconfig           |  4 +-
 3 files changed, 64 insertions(+), 2 deletions(-)
 create mode 100644 configs/platform-v7a/patches/tf-a-v2.14/0001-fix-st-restore-support-for-multiple-entries-in-DTB_F.patch
 create mode 100644 configs/platform-v7a/patches/tf-a-v2.14/series

diff --git a/configs/platform-v7a/patches/tf-a-v2.14/0001-fix-st-restore-support-for-multiple-entries-in-DTB_F.patch b/configs/platform-v7a/patches/tf-a-v2.14/0001-fix-st-restore-support-for-multiple-entries-in-DTB_F.patch
new file mode 100644
index 000000000000..bd1502a75b90
--- /dev/null
+++ b/configs/platform-v7a/patches/tf-a-v2.14/0001-fix-st-restore-support-for-multiple-entries-in-DTB_F.patch
@@ -0,0 +1,58 @@
+From: Ahmad Fatoum <a.fatoum@pengutronix.de>
+Date: Mon, 2 Feb 2026 16:49:02 +0100
+Subject: [PATCH] fix(st): restore support for multiple entries in
+ DTB_FILE_NAME
+
+Commit e772a6d1864a ("stm32mp1: platform.mk: support generating multiple
+images in one build") allowed DTB_FILE_NAME to contain multiple entries,
+thereby allowing to build all the executable code once and then link it
+against each device tree one by one.
+
+This makes for easier build system integration as one recipe/package can
+generate multiple images at once.
+
+This was broken by below mentioned commit, because it assumed
+DTB_FILE_NAME to contain only a single entry. Rework the -sp_min suffix
+logic to fix this regression.
+
+Fixes: 71ba1647e09c ("feat(st): use dedicated version of DT for SP_MIN")
+Change-Id: Ib596a404ccda92c3a3c29e276930a74f147734fc
+Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de>
+Upstream-Status: Submitted; https://review.trustedfirmware.org/c/TF-A/trusted-firmware-a/+/47888
+---
+ plat/st/stm32mp1/platform.mk | 12 ++++++------
+ 1 file changed, 6 insertions(+), 6 deletions(-)
+
+diff --git a/plat/st/stm32mp1/platform.mk b/plat/st/stm32mp1/platform.mk
+index 96856f88ba3a..8cb5e41a0488 100644
+--- a/plat/st/stm32mp1/platform.mk
++++ b/plat/st/stm32mp1/platform.mk
+@@ -109,14 +109,14 @@ FDT_SOURCES		:=	$(addprefix ${BUILD_PLAT}/fdts/, $(patsubst %.dtb,%-bl2.dts,$(DT
+ ifeq ($(AARCH32_SP),sp_min)
+ BL32_DTSI		:=	stm32mp15-bl32.dtsi
+ FDT_SOURCES		+=	$(addprefix ${BUILD_PLAT}/fdts/, $(patsubst %.dtb,%-bl32.dts,$(DTB_FILE_NAME)))
+-ifneq (,$(wildcard $(patsubst %.dtb,fdts/%-sp_min.dts,$(DTB_FILE_NAME))))
+-ifeq (,$(findstring -sp_min,$(DTB_FILE_NAME)))
+-SP_EXT			:=	-sp_min
+-endif
+-endif
+ endif
+ endif
+ 
++sp_dts_name = $(patsubst %.dts,%$(if $(and \
++    $(wildcard $(patsubst %.dts,fdts/%-sp_min.dts,$(notdir $(1)))), \
++    $(filter-out %-sp_min.dts,$(notdir $(1))) \
++  ),-sp_min).dts,$(notdir $(1)))
++
+ # Macros and rules to build TF binary
+ STM32_TF_STM32		:=	$(addprefix ${BUILD_PLAT}/tf-a-, $(patsubst %.dtb,%.stm32,$(DTB_FILE_NAME)))
+ STM32_LD_FILE		:=	plat/st/stm32mp1/stm32mp1.ld.S
+@@ -273,7 +273,7 @@ BL2_SOURCES		+=	plat/st/stm32mp1/plat_ddr.c
+ ifeq ($(AARCH32_SP),sp_min)
+ # Create DTB file for BL32
+ ${BUILD_PLAT}/fdts/%-bl32.dts: fdts/%.dts fdts/${BL32_DTSI} | $$(@D)/
+-	$(q)echo '#include "$(patsubst %.dts,%$(SP_EXT).dts,$(patsubst fdts/%,%,$<))"' > $@
++	$(q)echo '#include "$(call sp_dts_name,$(patsubst fdts/%,%,$<))"' > $@
+ 	$(q)echo '#include "${BL32_DTSI}"' >> $@
+ 
+ ${BUILD_PLAT}/fdts/%-bl32.dtb: ${BUILD_PLAT}/fdts/%-bl32.dts | $$(@D)/
diff --git a/configs/platform-v7a/patches/tf-a-v2.14/series b/configs/platform-v7a/patches/tf-a-v2.14/series
new file mode 100644
index 000000000000..06810e63ab39
--- /dev/null
+++ b/configs/platform-v7a/patches/tf-a-v2.14/series
@@ -0,0 +1,4 @@
+# generated by git-ptx-patches
+#tag:base --start-number 1
+0001-fix-st-restore-support-for-multiple-entries-in-DTB_F.patch
+# a5e0fa7c9e5657bac6944003d7969162  - git-ptx-patches magic
diff --git a/configs/platform-v7a/platformconfig b/configs/platform-v7a/platformconfig
index f3b380cfaee3..be011f93f8de 100644
--- a/configs/platform-v7a/platformconfig
+++ b/configs/platform-v7a/platformconfig
@@ -228,8 +228,8 @@ PTXCONF_OPTEE_CFG="CFG_TEE_CORE_LOG_LEVEL=2 CFG_WITH_PAGER=n CFG_GP_SOCKETS=n CF
 PTXCONF_TF_A_STM32MP13=y
 PTXCONF_TF_A=y
 PTXCONF_TF_A_URL="https://github.com/ARM-software/arm-trusted-firmware/archive/refs/tags"
-PTXCONF_TF_A_VERSION="v2.12"
-PTXCONF_TF_A_MD5="dea016f3707117c7935a8a26433a1e46 5b90a1c21210702e64234a2beb79f23a"
+PTXCONF_TF_A_VERSION="v2.14"
+PTXCONF_TF_A_MD5="c4c27a01a40d0608c326345df0990c38"
 PTXCONF_TF_A_ARCH_STRING="aarch32"
 PTXCONF_TF_A_ARM_ARCH_MAJOR_7=y
 # PTXCONF_TF_A_ARM_ARCH_MAJOR_8_32_BIT is not set
-- 
2.47.3




^ permalink raw reply	[flat|nested] 6+ messages in thread

* [DistroKit] [PATCH 2/5] v7a: tf-a: enable support for LXA FairyTux 2
  2026-02-03 17:33 [DistroKit] [PATCH 1/5] v7a: tf-a: version bump v2.12 -> v2.14 Roland Hieber
@ 2026-02-03 17:33 ` Roland Hieber
  2026-02-03 17:33 ` [DistroKit] [PATCH 3/5] v7a: barebox: " Roland Hieber
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 6+ messages in thread
From: Roland Hieber @ 2026-02-03 17:33 UTC (permalink / raw)
  To: distrokit; +Cc: Leonard Göhrs, Roland Hieber

From: Leonard Göhrs <l.goehrs@pengutronix.de>

Signed-off-by: Leonard Göhrs <l.goehrs@pengutronix.de>
[rhi: ported from distrokit-fairytux; all of the original patches have
 meanwhile been merged in upstream tf-a]
Signed-off-by: Roland Hieber <rhi@pengutronix.de>
---
 configs/platform-v7a/platformconfig | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/configs/platform-v7a/platformconfig b/configs/platform-v7a/platformconfig
index be011f93f8de..dcb55b529947 100644
--- a/configs/platform-v7a/platformconfig
+++ b/configs/platform-v7a/platformconfig
@@ -235,7 +235,7 @@ PTXCONF_TF_A_ARM_ARCH_MAJOR_7=y
 # PTXCONF_TF_A_ARM_ARCH_MAJOR_8_32_BIT is not set
 PTXCONF_TF_A_ARM_ARCH_MAJOR=7
 PTXCONF_TF_A_PLATFORMS="stm32mp1"
-PTXCONF_TF_A_EXTRA_ARGS="DTB_FILE_NAME='stm32mp157c-dk2.dtb stm32mp157c-ev1.dtb stm32mp157c-lxa-mc1.dtb' STM32MP_EMMC=1 STM32MP_SDMMC=1 STM32MP_USB_PROGRAMMER=1 STM32MP_EMMC_BOOT=1"
+PTXCONF_TF_A_EXTRA_ARGS="DTB_FILE_NAME='stm32mp157c-dk2.dtb stm32mp157c-ev1.dtb stm32mp153c-lxa-fairytux2.dtb stm32mp157c-lxa-mc1.dtb' STM32MP_EMMC=1 STM32MP_SDMMC=1 STM32MP_USB_PROGRAMMER=1 STM32MP_EMMC_BOOT=1"
 PTXCONF_TF_A_ARTIFACTS="tf-a-*.stm32 bl32.bin fdts/*-fw-config.dtb fdts/*-bl32.dtb"
 
 #
-- 
2.47.3




^ permalink raw reply	[flat|nested] 6+ messages in thread

* [DistroKit] [PATCH 3/5] v7a: barebox: enable support for LXA FairyTux 2
  2026-02-03 17:33 [DistroKit] [PATCH 1/5] v7a: tf-a: version bump v2.12 -> v2.14 Roland Hieber
  2026-02-03 17:33 ` [DistroKit] [PATCH 2/5] v7a: tf-a: enable support for LXA FairyTux 2 Roland Hieber
@ 2026-02-03 17:33 ` Roland Hieber
  2026-02-03 17:33 ` [DistroKit] [PATCH 4/5] v7a: add and enable image generation for the " Roland Hieber
  2026-02-03 17:33 ` [DistroKit] [PATCH 5/5] doc: add FairyTux 2 documentation Roland Hieber
  3 siblings, 0 replies; 6+ messages in thread
From: Roland Hieber @ 2026-02-03 17:33 UTC (permalink / raw)
  To: distrokit; +Cc: Leonard Göhrs, Roland Hieber

From: Leonard Göhrs <l.goehrs@pengutronix.de>

The board is already supported upstream. TLV support is needed for the
board code to read the EEPROM version info.

Signed-off-by: Leonard Göhrs <l.goehrs@pengutronix.de>
[rhi: ported from distrokit-fairytux; all of the original patches have
 meanwhile been merged in upstream projects. Also enable CMD_TLV for
 purposes of snooping around in the EEPROM, and the driver for the
 PCA953X GPIO extender as well.]
Tested-by: Roland Hieber <rhi@pengutronix.de>
Signed-off-by: Roland Hieber <rhi@pengutronix.de>
---
 configs/platform-v7a/barebox.config | 11 ++++++++---
 1 file changed, 8 insertions(+), 3 deletions(-)

diff --git a/configs/platform-v7a/barebox.config b/configs/platform-v7a/barebox.config
index 9b3cff897610..c1d52867b7d8 100644
--- a/configs/platform-v7a/barebox.config
+++ b/configs/platform-v7a/barebox.config
@@ -203,7 +203,7 @@ CONFIG_MACH_STM32MP13XX_DK=y
 CONFIG_MACH_STM32MP15XX_DKX=y
 CONFIG_MACH_LXA_MC1=y
 # CONFIG_MACH_LXA_TAC is not set
-# CONFIG_MACH_LXA_FAIRYTUX2 is not set
+CONFIG_MACH_LXA_FAIRYTUX2=y
 # CONFIG_MACH_SEEED_ODYSSEY is not set
 CONFIG_MACH_STM32MP15X_EV1=y
 # CONFIG_MACH_PROTONIC_STM32MP1 is not set
@@ -254,6 +254,7 @@ CONFIG_HAVE_MOD_ARCH_SPECIFIC=y
 CONFIG_ARCH_HAS_SJLJ=y
 CONFIG_HAS_DEBUG_LL=y
 CONFIG_HAVE_ARCH_KASAN=y
+CONFIG_BOARD_LXA=y
 CONFIG_CC_IS_GCC=y
 CONFIG_GCC_VERSION=150201
 CONFIG_CLANG_VERSION=0
@@ -392,7 +393,9 @@ CONFIG_HAS_SCHED=y
 CONFIG_POLLER=y
 CONFIG_POLLER_WARN_OVERTIME=y
 CONFIG_BTHREAD=y
-# CONFIG_TLV is not set
+CONFIG_TLV=y
+CONFIG_TLV_DRV=y
+CONFIG_TLV_BAREBOX=y
 CONFIG_STATE=y
 # CONFIG_STATE_CRYPTO is not set
 # CONFIG_STATE_BACKWARD_COMPATIBLE is not set
@@ -674,6 +677,7 @@ CONFIG_CMD_TIME=y
 CONFIG_CMD_WATCH=y
 # CONFIG_CMD_UPTIME is not set
 CONFIG_CMD_STATE=y
+CONFIG_CMD_TLV=y
 # CONFIG_CMD_DHRYSTONE is not set
 # CONFIG_CMD_SPD_DECODE is not set
 # CONFIG_CMD_SEED is not set
@@ -1145,7 +1149,7 @@ CONFIG_GPIO_PINCONF=y
 CONFIG_GPIO_GENERIC_PLATFORM=y
 CONFIG_GPIO_IMX=y
 CONFIG_GPIO_OMAP=y
-# CONFIG_GPIO_PCA953X is not set
+CONFIG_GPIO_PCA953X=y
 # CONFIG_GPIO_PCF857X is not set
 # CONFIG_GPIO_PL061 is not set
 CONFIG_GPIO_RASPBERRYPI_EXP=y
@@ -1515,6 +1519,7 @@ CONFIG_LODEPNG=y
 
 # CONFIG_BAREBOX_LOGO is not set
 CONFIG_PRINTF_UUID=y
+CONFIG_PRINTF_HEXSTR=y
 CONFIG_NLS=y
 CONFIG_IDR=y
 # end of Library routines
-- 
2.47.3




^ permalink raw reply	[flat|nested] 6+ messages in thread

* [DistroKit] [PATCH 4/5] v7a: add and enable image generation for the LXA FairyTux 2
  2026-02-03 17:33 [DistroKit] [PATCH 1/5] v7a: tf-a: version bump v2.12 -> v2.14 Roland Hieber
  2026-02-03 17:33 ` [DistroKit] [PATCH 2/5] v7a: tf-a: enable support for LXA FairyTux 2 Roland Hieber
  2026-02-03 17:33 ` [DistroKit] [PATCH 3/5] v7a: barebox: " Roland Hieber
@ 2026-02-03 17:33 ` Roland Hieber
  2026-02-03 17:33 ` [DistroKit] [PATCH 5/5] doc: add FairyTux 2 documentation Roland Hieber
  3 siblings, 0 replies; 6+ messages in thread
From: Roland Hieber @ 2026-02-03 17:33 UTC (permalink / raw)
  To: distrokit; +Cc: Leonard Göhrs, Roland Hieber

From: Leonard Göhrs <l.goehrs@pengutronix.de>

The LXA FairyTux exists in two different generational variants, which
are coded into the name of the device tree, so we need to introduce a
new environment variable in the image config for that case.

The barebox-stm32mp-generic-bl33.img image loads the device tree from
the FIP, but we want to support both FairyTux 2 generations in one image
(otherwise we would need to propagate the '-genX' prefix through all
other generated images), therefore build stm32mp153c-lxa-fairytux2.fip
with the specific barebox-stm32mp153c-lxa-fairytux2.img image which
contains the device trees for both generations, and chooses the correct
one in lowlevel board code based on GPIO strapping pins.

Co-authored-by: Roland Hieber <rhi@pengutronix.de>
Signed-off-by: Leonard Göhrs <l.goehrs@pengutronix.de>
[rhi: ported from distrokit-fairytux; adapt image recipe for both
 FairyTux 2 generations]
Tested-by: Roland Hieber <rhi@pengutronix.de>
Signed-off-by: Roland Hieber <rhi@pengutronix.de>
---
 .../platform-v7a/config/images/stm32mp.config |  4 +-
 configs/platform-v7a/platformconfig           |  3 +-
 .../platforms/image-lxa-fairytux2.in          | 12 +++++
 .../rules/image-lxa-fairytux2.make            | 44 +++++++++++++++++++
 .../rules/image-lxa-mc1-scmi.make             |  6 ++-
 configs/platform-v7a/rules/image-lxa-mc1.make |  6 ++-
 .../rules/image-stm32mp157c-dk2.make          |  6 ++-
 .../rules/image-stm32mp157c-ev1.make          |  6 ++-
 .../lib/udev/rules.d/90-rauc-partitions.rules |  1 +
 9 files changed, 81 insertions(+), 7 deletions(-)
 create mode 100644 configs/platform-v7a/platforms/image-lxa-fairytux2.in
 create mode 100644 configs/platform-v7a/rules/image-lxa-fairytux2.make

diff --git a/configs/platform-v7a/config/images/stm32mp.config b/configs/platform-v7a/config/images/stm32mp.config
index 93743b3c3d5e..5a9f8342acd4 100644
--- a/configs/platform-v7a/config/images/stm32mp.config
+++ b/configs/platform-v7a/config/images/stm32mp.config
@@ -53,8 +53,8 @@ image @STM32MP_BOARD@@SCMI@-emmcboot.img {
 image @STM32MP_BOARD@@SCMI@.fip {
 	fip {
 		fw-config = "stm32mp1-@STM32MP_BOARD@-fw-config.dtb"
-		hw-config = "barebox-@STM32MP_BOARD@@SCMI@.dtb"
-		nt-fw = "barebox-stm32mp-generic-bl33.img"
+		hw-config = "barebox-@BAREBOX_DTB@@SCMI@.dtb"
+		nt-fw = "@BAREBOX_IMAGE@"
 		tos-fw = { "stm32mp1-bl32.bin" }
 		tos-fw-config = "stm32mp1-@STM32MP_BOARD@-bl32.dtb"
 	}
diff --git a/configs/platform-v7a/platformconfig b/configs/platform-v7a/platformconfig
index dcb55b529947..d4b29309e460 100644
--- a/configs/platform-v7a/platformconfig
+++ b/configs/platform-v7a/platformconfig
@@ -140,7 +140,7 @@ PTXCONF_KERNEL_IMAGE_Z=y
 PTXCONF_KERNEL_IMAGE="zImage"
 PTXCONF_KERNEL_DTB=y
 PTXCONF_KERNEL_DTS_PATH="${PTXDIST_PLATFORMCONFIG_SUBDIR}/dts:${KERNEL_DIR}/arch/${GENERIC_KERNEL_ARCH}/boot/dts"
-PTXCONF_KERNEL_DTS="ti/omap/am335x-bone.dts ti/omap/am335x-boneblack.dts arm/vexpress-v2p-ca9.dts broadcom/bcm2836-rpi-2-b.dts nxp/imx/imx6q-sabrelite.dts nxp/imx/imx6sx-udoo-neo-full.dts nxp/imx/imx6dl-riotboard.dts nxp/imx/imx6q-nitrogen6x.dts nxp/imx/imx6qp-nitrogen6_max.dts nxp/imx/imx6ull-14x14-evk.dts broadcom/bcm2837-rpi-3-b.dts broadcom/bcm2837-rpi-cm3-io3.dts broadcom/bcm2711-rpi-4-b.dts broadcom/bcm2711-rpi-400.dts st/stm32mp157c-dk2.dts st/stm32mp157c-ev1.dts st/stm32mp157c-lxa-mc1.dts stm32mp157c-lxa-mc1-scmi.dts st/stm32mp135f-dk.dts microchip/at91-sama5d27_som1_ek.dts at91-sama5d27_giantboard.dts at91-sama5d4_wifx_l1.dts"
+PTXCONF_KERNEL_DTS="ti/omap/am335x-bone.dts ti/omap/am335x-boneblack.dts arm/vexpress-v2p-ca9.dts broadcom/bcm2836-rpi-2-b.dts nxp/imx/imx6q-sabrelite.dts nxp/imx/imx6sx-udoo-neo-full.dts nxp/imx/imx6dl-riotboard.dts nxp/imx/imx6q-nitrogen6x.dts nxp/imx/imx6qp-nitrogen6_max.dts nxp/imx/imx6ull-14x14-evk.dts broadcom/bcm2837-rpi-3-b.dts broadcom/bcm2837-rpi-cm3-io3.dts broadcom/bcm2711-rpi-4-b.dts broadcom/bcm2711-rpi-400.dts st/stm32mp157c-dk2.dts st/stm32mp157c-ev1.dts st/stm32mp157c-lxa-mc1.dts stm32mp157c-lxa-mc1-scmi.dts st/stm32mp153c-lxa-fairytux2-gen1.dts st/stm32mp153c-lxa-fairytux2-gen2.dts st/stm32mp135f-dk.dts microchip/at91-sama5d27_som1_ek.dts at91-sama5d27_giantboard.dts at91-sama5d4_wifx_l1.dts "
 # PTXCONF_KERNEL_DTBO is not set
 # PTXCONF_KERNEL_CODE_SIGNING is not set
 # PTXCONF_KERNEL_ZSTD is not set
@@ -281,6 +281,7 @@ PTXCONF_IMAGE_KERNEL_INSTALL_EARLY=y
 # PTXCONF_IMAGE_KERNEL_LZOP is not set
 # end of Generate images/linuximage    
 
+PTXCONF_IMAGE_LXA_FAIRYTUX2=y
 PTXCONF_IMAGE_LXA_MC1_SCMI=y
 PTXCONF_IMAGE_LXA_MC1=y
 PTXCONF_IMAGE_RAUC=y
diff --git a/configs/platform-v7a/platforms/image-lxa-fairytux2.in b/configs/platform-v7a/platforms/image-lxa-fairytux2.in
new file mode 100644
index 000000000000..06384168b70c
--- /dev/null
+++ b/configs/platform-v7a/platforms/image-lxa-fairytux2.in
@@ -0,0 +1,12 @@
+## SECTION=image
+
+config IMAGE_LXA_FAIRYTUX2
+	tristate
+	select HOST_GENIMAGE
+	select HOST_TF_A
+	select BAREBOX
+	select IMAGE_ROOT_EXT
+	select TF_A
+	prompt "Generate images/lxa-fairytux2.hdimg"
+	help
+	  Generate GPT image for the Linux Automation FairyTux 2
diff --git a/configs/platform-v7a/rules/image-lxa-fairytux2.make b/configs/platform-v7a/rules/image-lxa-fairytux2.make
new file mode 100644
index 000000000000..9332ccb2dd52
--- /dev/null
+++ b/configs/platform-v7a/rules/image-lxa-fairytux2.make
@@ -0,0 +1,44 @@
+# -*-makefile-*-
+#
+# Copyright (C) 2020 by Ahmad Fatoum <a.fatoum@pengutronix.de>
+# Copyright (C) 2024 by Leonard Göhrs <l.goehrs@pengutronix.de>
+# Copyright (C) 2026 Roland Hieber, Pengutronix <rhi@pengutronix.de>
+#
+# For further information about the PTXdist project and license conditions
+# see the README file.
+#
+
+#
+# We provide this package
+#
+IMAGE_PACKAGES-$(PTXCONF_IMAGE_LXA_FAIRYTUX2) += image-lxa-fairytux2
+
+# Note: though the -gen2 DTB is packaged into the FIP image, it is not really
+# used because barebox-stm32mp153c-lxa-fairytux2.img also contains both DTBs and
+# chooses the correct one in lowlevel code based on version strapping pins on
+# the board.
+IMAGE_LXA_FAIRYTUX2_ENV := \
+	STM32MP_BOARD=stm32mp153c-lxa-fairytux2 \
+	BAREBOX_DTB=stm32mp153c-lxa-fairytux2-gen2 \
+	BAREBOX_IMAGE=barebox-stm32mp153c-lxa-fairytux2.img \
+	SCMI=
+
+#
+# Paths and names
+#
+IMAGE_LXA_FAIRYTUX2		:= image-lxa-fairytux2
+IMAGE_LXA_FAIRYTUX2_DIR		:= $(BUILDDIR)/$(IMAGE_LXA_FAIRYTUX2)
+IMAGE_LXA_FAIRYTUX2_IMAGE	:= $(IMAGEDIR)/lxa-fairytux2.hdimg
+IMAGE_LXA_FAIRYTUX2_FILES	:= $(IMAGEDIR)/root.tgz
+IMAGE_LXA_FAIRYTUX2_CONFIG	:= stm32mp.config
+
+# ----------------------------------------------------------------------------
+# Image
+# ----------------------------------------------------------------------------
+
+$(IMAGE_LXA_FAIRYTUX2_IMAGE):
+	@$(call targetinfo)
+	@$(call image/genimage, IMAGE_LXA_FAIRYTUX2)
+	@$(call finish)
+
+# vim: syntax=make
diff --git a/configs/platform-v7a/rules/image-lxa-mc1-scmi.make b/configs/platform-v7a/rules/image-lxa-mc1-scmi.make
index 7dc7863012fa..16cec3413c8f 100644
--- a/configs/platform-v7a/rules/image-lxa-mc1-scmi.make
+++ b/configs/platform-v7a/rules/image-lxa-mc1-scmi.make
@@ -11,7 +11,11 @@
 #
 IMAGE_PACKAGES-$(PTXCONF_IMAGE_LXA_MC1_SCMI) += image-lxa-mc1-scmi
 
-IMAGE_LXA_MC1_SCMI_ENV := STM32MP_BOARD=stm32mp157c-lxa-mc1 SCMI=-scmi
+IMAGE_LXA_MC1_SCMI_ENV := \
+	STM32MP_BOARD=stm32mp157c-lxa-mc1 \
+	BAREBOX_DTB=stm32mp157c-lxa-mc1 \
+	BAREBOX_IMAGE=barebox-stm32mp-generic-bl33.img \
+	SCMI=-scmi
 
 #
 # Paths and names
diff --git a/configs/platform-v7a/rules/image-lxa-mc1.make b/configs/platform-v7a/rules/image-lxa-mc1.make
index 98a294304136..969de2874ab6 100644
--- a/configs/platform-v7a/rules/image-lxa-mc1.make
+++ b/configs/platform-v7a/rules/image-lxa-mc1.make
@@ -11,7 +11,11 @@
 #
 IMAGE_PACKAGES-$(PTXCONF_IMAGE_LXA_MC1) += image-lxa-mc1
 
-IMAGE_LXA_MC1_ENV := STM32MP_BOARD=stm32mp157c-lxa-mc1 SCMI=
+IMAGE_LXA_MC1_ENV := \
+	STM32MP_BOARD=stm32mp157c-lxa-mc1 \
+	BAREBOX_DTB=stm32mp157c-lxa-mc1 \
+	BAREBOX_IMAGE=barebox-stm32mp-generic-bl33.img \
+	SCMI=
 
 #
 # Paths and names
diff --git a/configs/platform-v7a/rules/image-stm32mp157c-dk2.make b/configs/platform-v7a/rules/image-stm32mp157c-dk2.make
index cc6c722a24e7..9a51469f4588 100644
--- a/configs/platform-v7a/rules/image-stm32mp157c-dk2.make
+++ b/configs/platform-v7a/rules/image-stm32mp157c-dk2.make
@@ -11,7 +11,11 @@
 #
 IMAGE_PACKAGES-$(PTXCONF_IMAGE_STM32MP157C_DK2) += image-stm32mp157c-dk2
 
-IMAGE_STM32MP157C_DK2_ENV := STM32MP_BOARD=stm32mp157c-dk2 SCMI=
+IMAGE_STM32MP157C_DK2_ENV := \
+	STM32MP_BOARD=stm32mp157c-dk2 \
+	BAREBOX_DTB=stm32mp157c-dk2 \
+	BAREBOX_IMAGE=barebox-stm32mp-generic-bl33.img \
+	SCMI=
 
 #
 # Paths and names
diff --git a/configs/platform-v7a/rules/image-stm32mp157c-ev1.make b/configs/platform-v7a/rules/image-stm32mp157c-ev1.make
index 081e2d93948c..1bdf960dc019 100644
--- a/configs/platform-v7a/rules/image-stm32mp157c-ev1.make
+++ b/configs/platform-v7a/rules/image-stm32mp157c-ev1.make
@@ -11,7 +11,11 @@
 #
 IMAGE_PACKAGES-$(PTXCONF_IMAGE_STM32MP157C_EV1) += image-stm32mp157c-ev1
 
-IMAGE_STM32MP157C_EV1_ENV := STM32MP_BOARD=stm32mp157c-ev1 SCMI=
+IMAGE_STM32MP157C_EV1_ENV := \
+	STM32MP_BOARD=stm32mp157c-ev1 \
+	BAREBOX_DTB=stm32mp157c-ev1 \
+	BAREBOX_IMAGE=barebox-stm32mp-generic-bl33.img \
+	SCMI=
 
 #
 # Paths and names
diff --git a/projectroot/usr/lib/udev/rules.d/90-rauc-partitions.rules b/projectroot/usr/lib/udev/rules.d/90-rauc-partitions.rules
index 8f918b1bdb0e..181f7e25c912 100644
--- a/projectroot/usr/lib/udev/rules.d/90-rauc-partitions.rules
+++ b/projectroot/usr/lib/udev/rules.d/90-rauc-partitions.rules
@@ -11,6 +11,7 @@ IMPORT{program}="of_base_compatible"
 
 # first part: find out the boot disk on known platforms
 ENV{OF_BASE_COMPATIBLE}=="*arm,vexpress,v2p-ca9*", ENV{ID_PATH}=="platform-bus@40000000:motherboard-bus@40000000:iofpga@7,00000000-amba-10005000.mmci", TAG+="boot_disk"
+ENV{OF_BASE_COMPATIBLE}=="*lxa,stm32mp153c-fairytux2*", ENV{ID_PATH}="=platform-soc-amba-58007000.mmc", TAG+="boot_disk"
 ENV{OF_BASE_COMPATIBLE}=="*lxa,stm32mp157c-mc1*", ENV{ID_PATH}=="platform-soc-amba-58005000.mmc", TAG+="boot_disk"
 ENV{OF_BASE_COMPATIBLE}=="*ti,am335x-bone-black*", ENV{ID_PATH}=="platform-48060000.mmc", TAG+="boot_disk"
 ENV{OF_BASE_COMPATIBLE}=="*raspberrypi,3-model-b*", ENV{ID_PATH}=="platform-3f202000.mmc", TAG+="boot_disk"
-- 
2.47.3




^ permalink raw reply	[flat|nested] 6+ messages in thread

* [DistroKit] [PATCH 5/5] doc: add FairyTux 2 documentation
  2026-02-03 17:33 [DistroKit] [PATCH 1/5] v7a: tf-a: version bump v2.12 -> v2.14 Roland Hieber
                   ` (2 preceding siblings ...)
  2026-02-03 17:33 ` [DistroKit] [PATCH 4/5] v7a: add and enable image generation for the " Roland Hieber
@ 2026-02-03 17:33 ` Roland Hieber
  2026-02-03 17:37   ` [DistroKit] [PATCH] fixup! " Roland Hieber
  3 siblings, 1 reply; 6+ messages in thread
From: Roland Hieber @ 2026-02-03 17:33 UTC (permalink / raw)
  To: distrokit; +Cc: Ahmad Fatoum, Roland Hieber

From: Ahmad Fatoum <a.fatoum@pengutronix.de>

These are the steps needed to flash the FairyTux 2 eMMC.

Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de>
Tested-by: Roland Hieber <rhi@pengutronix.de>
[rhi: ported from distrokit-fairytux; adapt the image paths and fastboot
 partition names, remove the unneccesary usbgadget call since it starts
 automatically at boot, reformulate to make the fastboot process a bit
 clearer, and add the short Maintenance Status section.]
Signed-off-by: Roland Hieber <rhi@pengutronix.de>
---
 doc/hardware_v7a_fairytux_2.rst | 55 +++++++++++++++++++++++++++++++++
 1 file changed, 55 insertions(+)
 create mode 100644 doc/hardware_v7a_fairytux_2.rst

diff --git a/doc/hardware_v7a_fairytux_2.rst b/doc/hardware_v7a_fairytux_2.rst
new file mode 100644
index 000000000000..ca9350ab7cac
--- /dev/null
+++ b/doc/hardware_v7a_fairytux_2.rst
@@ -0,0 +1,55 @@
+LXA FairyTux 2
+==============
+
+The FairyTux 2 is a Octavo STM32MP1 SiP-based board like the MC-1,
+but unlike it, exclusively boots from eMMC.
+
+Initial Setup
+-------------
+
+If the eMMC is unprovisioned, the system must be bootstrapped via USB DFU
+initially.
+
+On your development host, run:
+
+.. code-block:: bash
+
+  $ cd platform-v7a/images
+  $ dfu-util --alt 1 -D stm32mp1-tf-a-stm32mp153c-lxa-fairytux2.stm32
+  $ dfu-util --alt 3 -D stm32mp153c-lxa-fairytux2.fip
+  $ dfu-util --alt 0 -e
+
+Or via Labgrid:
+
+.. code-block:: bash
+
+  $ cd platform-v7a/images
+  $ labgrid-client dfu download 1 stm32mp1-tf-a-stm32mp153c-lxa-fairytux2.stm32
+  $ labgrid-client dfu download 3 stm32mp153c-lxa-fairytux2.fip
+  $ labgrid-client dfu detach 0
+
+Then flash the eMMC via Android Fastboot from your development host:
+
+.. code-block:: bash
+
+  $ fastboot flash bbu-mmc stm32mp153c-lxa-fairytux2-emmcboot.img
+
+Now Barebox will start from the eMMC boot partition on future boots.
+
+Flashing the eMMC
+-----------------
+
+When the board is running barebox,
+you can populate the eMMC with the Linux and userspace image with Fastboot:
+
+.. code-block:: bash
+
+  $ fastboot flash mmc1 lxa-fairytux2.hdimg
+
+When Fastboot has finished, type ``boot`` on the Barebox prompt.
+
+Maintenance Status
+------------------

+Pengutronix has at least two board running in a remote lab (labgrid place names
+``gutefee-00001`` (Gen 1) and ``gutefee-00011`` (Gen 2)).
-- 
2.47.3




^ permalink raw reply	[flat|nested] 6+ messages in thread

* [DistroKit] [PATCH] fixup! doc: add FairyTux 2 documentation
  2026-02-03 17:33 ` [DistroKit] [PATCH 5/5] doc: add FairyTux 2 documentation Roland Hieber
@ 2026-02-03 17:37   ` Roland Hieber
  0 siblings, 0 replies; 6+ messages in thread
From: Roland Hieber @ 2026-02-03 17:37 UTC (permalink / raw)
  To: distrokit; +Cc: Roland Hieber

Just a small typo that I noticed two seconds after sending…

Signed-off-by: Roland Hieber <rhi@pengutronix.de>
---
 doc/hardware_v7a_fairytux_2.rst | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/doc/hardware_v7a_fairytux_2.rst b/doc/hardware_v7a_fairytux_2.rst
index 582a0aec9a79..7640069bf30c 100644
--- a/doc/hardware_v7a_fairytux_2.rst
+++ b/doc/hardware_v7a_fairytux_2.rst
@@ -51,5 +51,5 @@ When Fastboot has finished, type ``boot`` on the Barebox prompt.
 Maintenance Status
 ------------------
 
-Pengutronix has at least two board running in a remote lab (labgrid place names
+Pengutronix has at least two boards running in a remote lab (labgrid place names
 ``gutefee-00001`` (Gen 1) and ``gutefee-00011`` (Gen 2)).
-- 
2.47.3




^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2026-02-03 17:37 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-02-03 17:33 [DistroKit] [PATCH 1/5] v7a: tf-a: version bump v2.12 -> v2.14 Roland Hieber
2026-02-03 17:33 ` [DistroKit] [PATCH 2/5] v7a: tf-a: enable support for LXA FairyTux 2 Roland Hieber
2026-02-03 17:33 ` [DistroKit] [PATCH 3/5] v7a: barebox: " Roland Hieber
2026-02-03 17:33 ` [DistroKit] [PATCH 4/5] v7a: add and enable image generation for the " Roland Hieber
2026-02-03 17:33 ` [DistroKit] [PATCH 5/5] doc: add FairyTux 2 documentation Roland Hieber
2026-02-03 17:37   ` [DistroKit] [PATCH] fixup! " Roland Hieber

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox