* [DistroKit] [PATCH 0/1] Add TQ-STKa93xx board
@ 2025-04-22 8:54 Fabian Pflug
2025-04-22 8:54 ` [DistroKit] [PATCH 1/1] v8a: Add support for tq-ma93xxca Fabian Pflug
0 siblings, 1 reply; 7+ messages in thread
From: Fabian Pflug @ 2025-04-22 8:54 UTC (permalink / raw)
To: distrokit; +Cc: Fabian Pflug
The Barebox-patch has been send upstream and is already applied.
There is still a small issues to fix over:
```
barebox@TQ-Systems i.MX93 TQMa93xxLA/TQMa93xxCA on MBa93xxCA starter kit:/ detect -a
usb1: Bus 001 Device 001: ID 0000:0000 EHCI Host Controller
usb1-0: Bus 001 Device 002: ID 0424:2517
ERROR: usb1-0-1: unable to get device descriptor (error=-110)
ERROR: usb1-0-1: USB device not accepting new address (error=80000000)
eth1: 1000Mbps full duplex link detected
```
Which seems to be related to the WLAN-Module, that is fix on the board.
Maybe a power issue. I have requested the datasheet and waiting for it
to fix it. Will probably result in an additional Barebox patch, that is
for a later time.
Board itself boots and can be used.
Fabian Pflug (1):
v8a: Add support for tq-ma93xxca
.../barebox-common-defaultenv/init/bootsource | 2 +-
configs/platform-v8a/barebox.config | 25 +++++++---
.../platform-v8a/config/images/imx93.config | 21 +++++++++
configs/platform-v8a/dts/bootstate.dtsi | 21 +++++++++
configs/platform-v8a/kernelconfig | 9 ++--
...ma93xx-add-dummy-supply-to-regulator.patch | 38 +++++++++++++++
.../patches/barebox-2025.03.0/series | 1 +
configs/platform-v8a/platformconfig | 5 +-
.../platforms/image-tq-mba93xxca.in | 10 ++++
configs/platform-v8a/rules/firmware-imx.make | 1 +
.../rules/image-tq-mba93xxca.make | 35 ++++++++++++++
doc/hardware.rst | 1 +
doc/hardware_v8a_tqma93xxca.rst | 47 +++++++++++++++++++
13 files changed, 203 insertions(+), 13 deletions(-)
create mode 100644 configs/platform-v8a/config/images/imx93.config
create mode 100644 configs/platform-v8a/patches/barebox-2025.03.0/0001-ARM-dts-tqma93xx-add-dummy-supply-to-regulator.patch
create mode 100644 configs/platform-v8a/patches/barebox-2025.03.0/series
create mode 100644 configs/platform-v8a/platforms/image-tq-mba93xxca.in
create mode 100644 configs/platform-v8a/rules/image-tq-mba93xxca.make
create mode 100644 doc/hardware_v8a_tqma93xxca.rst
--
2.39.5
^ permalink raw reply [flat|nested] 7+ messages in thread
* [DistroKit] [PATCH 1/1] v8a: Add support for tq-ma93xxca
2025-04-22 8:54 [DistroKit] [PATCH 0/1] Add TQ-STKa93xx board Fabian Pflug
@ 2025-04-22 8:54 ` Fabian Pflug
2025-04-22 9:09 ` Ahmad Fatoum
0 siblings, 1 reply; 7+ messages in thread
From: Fabian Pflug @ 2025-04-22 8:54 UTC (permalink / raw)
To: distrokit; +Cc: Fabian Pflug
A new board, with an IMX93 processor.
- Barebox patch has been send upstream
- magic number ist choosen at reandom
- has been tested on real hardware
Signed-off-by: Fabian Pflug <f.pflug@pengutronix.de>
---
.../barebox-common-defaultenv/init/bootsource | 2 +-
configs/platform-v8a/barebox.config | 25 +++++++---
.../platform-v8a/config/images/imx93.config | 21 +++++++++
configs/platform-v8a/dts/bootstate.dtsi | 21 +++++++++
configs/platform-v8a/kernelconfig | 9 ++--
...ma93xx-add-dummy-supply-to-regulator.patch | 38 +++++++++++++++
.../patches/barebox-2025.03.0/series | 1 +
configs/platform-v8a/platformconfig | 5 +-
.../platforms/image-tq-mba93xxca.in | 10 ++++
configs/platform-v8a/rules/firmware-imx.make | 1 +
.../rules/image-tq-mba93xxca.make | 35 ++++++++++++++
doc/hardware.rst | 1 +
doc/hardware_v8a_tqma93xxca.rst | 47 +++++++++++++++++++
13 files changed, 203 insertions(+), 13 deletions(-)
create mode 100644 configs/platform-v8a/config/images/imx93.config
create mode 100644 configs/platform-v8a/patches/barebox-2025.03.0/0001-ARM-dts-tqma93xx-add-dummy-supply-to-regulator.patch
create mode 100644 configs/platform-v8a/patches/barebox-2025.03.0/series
create mode 100644 configs/platform-v8a/platforms/image-tq-mba93xxca.in
create mode 100644 configs/platform-v8a/rules/image-tq-mba93xxca.make
create mode 100644 doc/hardware_v8a_tqma93xxca.rst
diff --git a/configs/platform-v8a/barebox-common-defaultenv/init/bootsource b/configs/platform-v8a/barebox-common-defaultenv/init/bootsource
index aa1d06d..19a0429 100644
--- a/configs/platform-v8a/barebox-common-defaultenv/init/bootsource
+++ b/configs/platform-v8a/barebox-common-defaultenv/init/bootsource
@@ -10,7 +10,7 @@ if [ "$bootsource" = mmc ]; then
global.boot.default="mmc$bootsource_instance net"
fi
-if of_compatible -k radxa,rock3a tq,imx8mp-tqma8mpql-mba8mpxl; then
+if of_compatible -k radxa,rock3a tq,imx8mp-tqma8mpql-mba8mpxl tq,imx93-tqma9352; then
global.boot.default="bootchooser net"
global bootchooser.state_prefix="state.bootstate"
global bootchooser.targets="system0 system1"
diff --git a/configs/platform-v8a/barebox.config b/configs/platform-v8a/barebox.config
index 7d3794a..1576088 100644
--- a/configs/platform-v8a/barebox.config
+++ b/configs/platform-v8a/barebox.config
@@ -48,6 +48,8 @@ CONFIG_ARCH_IMX8MM=y
CONFIG_ARCH_IMX8MN=y
CONFIG_ARCH_IMX8MP=y
CONFIG_ARCH_IMX8MQ=y
+CONFIG_ARCH_IMX9=y
+CONFIG_ARCH_IMX93=y
#
# i.MX8M boards
@@ -72,7 +74,7 @@ CONFIG_MACH_TQ_MBA8MPXL=y
#
# i.MX93 boards
#
-# CONFIG_MACH_TQMA93XX is not set
+CONFIG_MACH_TQMA93XX=y
# end of i.MX boards
#
@@ -80,7 +82,10 @@ CONFIG_MACH_TQ_MBA8MPXL=y
#
# CONFIG_IMX_IIM is not set
CONFIG_IMX_SAVE_BOOTROM_LOG=y
+CONFIG_HAB=y
+CONFIG_AHAB=y
# CONFIG_HABV4 is not set
+# CONFIG_HAB_CERTS_ENV is not set
# end of i.MX specific settings
#
@@ -138,6 +143,7 @@ CONFIG_BOARD_GENERIC_DT=y
# CONFIG_BOARD_GENERIC_FIT is not set
# end of General architecture-dependent options
+CONFIG_BOARD_TQ=y
CONFIG_CC_IS_GCC=y
CONFIG_GCC_VERSION=140201
CONFIG_CLANG_VERSION=0
@@ -517,6 +523,7 @@ CONFIG_CMD_USB=y
CONFIG_CMD_USBGADGET=y
CONFIG_CMD_WD=y
CONFIG_CMD_WD_DEFAULT_TIMOUT=0
+# CONFIG_CMD_HAB is not set
# end of Hardware manipulation
#
@@ -591,7 +598,7 @@ CONFIG_SERIAL_DEV_BUS=y
CONFIG_DRIVER_SERIAL_IMX=y
CONFIG_DRIVER_SERIAL_NS16550=y
# CONFIG_DRIVER_SERIAL_CADENCE is not set
-# CONFIG_DRIVER_SERIAL_LPUART32 is not set
+CONFIG_DRIVER_SERIAL_LPUART32=y
# CONFIG_SERIAL_SIFIVE is not set
# end of serial drivers
@@ -664,7 +671,7 @@ CONFIG_SPI_MEM=y
CONFIG_DRIVER_SPI_IMX=y
CONFIG_DRIVER_SPI_IMX_2_3=y
# CONFIG_DRIVER_SPI_LITEX_SPIFLASH is not set
-# CONFIG_SPI_NXP_FLEXSPI is not set
+CONFIG_SPI_NXP_FLEXSPI=y
CONFIG_SPI_ROCKCHIP=y
# end of SPI drivers
@@ -675,7 +682,7 @@ CONFIG_I2C=y
#
# CONFIG_I2C_GPIO is not set
CONFIG_I2C_IMX=y
-# CONFIG_I2C_IMX_LPI2C is not set
+CONFIG_I2C_IMX_LPI2C=y
# CONFIG_I2C_DESIGNWARE is not set
# CONFIG_I2C_MV64XXX is not set
CONFIG_I2C_RK3X=y
@@ -748,7 +755,7 @@ CONFIG_USB_DWC3=y
# CONFIG_USB_DWC3_GADGET is not set
CONFIG_USB_DWC3_DUAL_ROLE=y
CONFIG_USB_DWC3_OF_SIMPLE=y
-# CONFIG_USB_EHCI is not set
+CONFIG_USB_EHCI=y
CONFIG_USB_XHCI=y
# CONFIG_USB_ULPI is not set
CONFIG_USB_OTGDEV=y
@@ -908,7 +915,8 @@ CONFIG_GPIO_GENERIC=y
# CONFIG_GPIO_74XX_MMIO is not set
# CONFIG_GPIO_GENERIC_PLATFORM is not set
CONFIG_GPIO_IMX=y
-# CONFIG_GPIO_PCA953X is not set
+CONFIG_GPIO_VF610=y
+CONFIG_GPIO_PCA953X=y
# CONFIG_GPIO_PCF857X is not set
# CONFIG_GPIO_PL061 is not set
CONFIG_GPIO_ROCKCHIP=y
@@ -934,6 +942,7 @@ CONFIG_NVMEM=y
# CONFIG_NVMEM_SNVS_LPGPR is not set
CONFIG_IMX_OCOTP=y
# CONFIG_IMX_OCOTP_WRITE is not set
+# CONFIG_IMX_OCOTP_ELE is not set
# CONFIG_EEPROM_93XX46 is not set
CONFIG_NVMEM_ROCKCHIP_OTP=y
@@ -1064,6 +1073,7 @@ CONFIG_IMX8M_BLK_CTRL=y
#
CONFIG_IMX_DRAM=y
CONFIG_IMX8M_DRAM=y
+CONFIG_IMX9_DRAM=y
# end of i.MX DDR controllers
CONFIG_REBOOT_MODE=y
@@ -1216,6 +1226,7 @@ CONFIG_PBL_STACKPROTECTOR_NONE=y
# Crypto support
#
CONFIG_CRC32=y
+CONFIG_CRC_ITU_T=y
CONFIG_DIGEST=y
CONFIG_HAVE_DIGEST_MD5=y
CONFIG_HAVE_DIGEST_SHA1=y
@@ -1249,6 +1260,7 @@ CONFIG_FIRMWARE_IMX8MM_ATF=y
CONFIG_FIRMWARE_IMX8MN_ATF=y
CONFIG_FIRMWARE_IMX8MP_ATF=y
CONFIG_FIRMWARE_IMX8MQ_ATF=y
+CONFIG_FIRMWARE_IMX93_ATF=y
# end of Firmware files
#
@@ -1256,6 +1268,7 @@ CONFIG_FIRMWARE_IMX8MQ_ATF=y
#
# CONFIG_COMPILE_HOST_TOOLS is not set
CONFIG_ARCH_IMX_USBLOADER=y
+CONFIG_IMX9_IMAGE=y
CONFIG_RK_IMAGE=y
CONFIG_RK_USB_LOADER=y
# end of Host Tools
diff --git a/configs/platform-v8a/config/images/imx93.config b/configs/platform-v8a/config/images/imx93.config
new file mode 100644
index 0000000..bbdb232
--- /dev/null
+++ b/configs/platform-v8a/config/images/imx93.config
@@ -0,0 +1,21 @@
+image @IMAGE@ {
+ hdimage {
+ align = 1M
+ partition-table-type = gpt
+ }
+ partition barebox {
+ image = "@BAREBOX_IMAGE@"
+ offset = 32k
+ in-partition-table = false
+ }
+ partition barebox-state {
+ offset = 3M
+ size = 1M
+ partition-type-uuid = barebox-state
+ }
+ partition root-A {
+ offset = 4M
+ image = "root.ext2"
+ partition-type-uuid = root-arm64
+ }
+}
diff --git a/configs/platform-v8a/dts/bootstate.dtsi b/configs/platform-v8a/dts/bootstate.dtsi
index 1a8fe3f..4d16623 100644
--- a/configs/platform-v8a/dts/bootstate.dtsi
+++ b/configs/platform-v8a/dts/bootstate.dtsi
@@ -40,6 +40,27 @@
#endif
+/** TQ-Systems i.MX93 TQMa93xxLA/TQMa93xxCA on MBa93xxCA starter kit **********/
+#ifdef imx93_tqma9352_mba93xxca_dts
+/ {
+ aliases {
+ state = &state_sd;
+ };
+
+ state_sd: state {
+ #address-cells = <1>;
+ #size-cells = <1>;
+ compatible = "barebox,state";
+ magic = <0xd46d4d28>;
+ backend = <&usdhc2>; // via GPT Type UUID
+ backend-type = "raw";
+ backend-storage-type = "direct";
+ backend-stridesize = <0x40>;
+ };
+};
+
+#endif
+
/** Generic bootstate node for all platforms **********************************/
/ {
state: state {
diff --git a/configs/platform-v8a/kernelconfig b/configs/platform-v8a/kernelconfig
index 3e226b9..0513e64 100644
--- a/configs/platform-v8a/kernelconfig
+++ b/configs/platform-v8a/kernelconfig
@@ -2313,7 +2313,8 @@ CONFIG_SERIAL_CORE_CONSOLE=y
# CONFIG_SERIAL_XILINX_PS_UART is not set
# CONFIG_SERIAL_ARC is not set
# CONFIG_SERIAL_RP2 is not set
-# CONFIG_SERIAL_FSL_LPUART is not set
+CONFIG_SERIAL_FSL_LPUART=y
+CONFIG_SERIAL_FSL_LPUART_CONSOLE=y
# CONFIG_SERIAL_FSL_LINFLEXUART is not set
# CONFIG_SERIAL_CONEXANT_DIGICOLOR is not set
# CONFIG_SERIAL_SPRD is not set
@@ -2564,7 +2565,7 @@ CONFIG_PINCTRL_IMX8MP=y
CONFIG_PINCTRL_IMX8MQ=y
# CONFIG_PINCTRL_IMX8ULP is not set
# CONFIG_PINCTRL_IMX91 is not set
-# CONFIG_PINCTRL_IMX93 is not set
+CONFIG_PINCTRL_IMX93=y
CONFIG_PINCTRL_MVEBU=y
CONFIG_PINCTRL_ARMADA_AP806=y
CONFIG_PINCTRL_ARMADA_CP110=y
@@ -3986,8 +3987,8 @@ CONFIG_CLK_IMX8MN=y
CONFIG_CLK_IMX8MP=y
CONFIG_CLK_IMX8MQ=y
# CONFIG_CLK_IMX8ULP is not set
-# CONFIG_CLK_IMX93 is not set
-# CONFIG_CLK_IMX95_BLK_CTL is not set
+CONFIG_CLK_IMX93=y
+CONFIG_CLK_IMX95_BLK_CTL=y
CONFIG_ARMADA_AP_CP_HELPER=y
CONFIG_ARMADA_37XX_CLK=y
CONFIG_ARMADA_AP806_SYSCON=y
diff --git a/configs/platform-v8a/patches/barebox-2025.03.0/0001-ARM-dts-tqma93xx-add-dummy-supply-to-regulator.patch b/configs/platform-v8a/patches/barebox-2025.03.0/0001-ARM-dts-tqma93xx-add-dummy-supply-to-regulator.patch
new file mode 100644
index 0000000..11786ad
--- /dev/null
+++ b/configs/platform-v8a/patches/barebox-2025.03.0/0001-ARM-dts-tqma93xx-add-dummy-supply-to-regulator.patch
@@ -0,0 +1,38 @@
+From b46d4de70f4b9b96ee5277037dd79ba2d7f75751 Mon Sep 17 00:00:00 2001
+From: Fabian Pflug <f.pflug@pengutronix.de>
+Date: Thu, 17 Apr 2025 10:35:16 +0200
+Subject: [PATCH] ARM: dts: tqma93xx add dummy supply to regulator
+
+The regulator for the usdhc2 references the BUCK4 as its input.
+The BUCK4 is part of the pca9451, which in turn is not a regulator
+in barebox, so there is a problem during initialisation:
+
+WARNING: imx-esdhc 42860000.mmc@42860000.of: Failed to get 'vmmc' regulator (ignored)
+
+Since the dependency could not be resolved, the reg_usdhc2_vmmc
+regulator is not correctly initialized, leaving the gpio in a floating
+state, which results in the GPIO being low, which in turn disables
+the SD-Card.
+
+Signed-off-by: Fabian Pflug <f.pflug@pengutronix.de>
+---
+ arch/arm/dts/imx93-tqma93xx.dtsi | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/arch/arm/dts/imx93-tqma93xx.dtsi b/arch/arm/dts/imx93-tqma93xx.dtsi
+index 40425e39a7..aafeadc275 100644
+--- a/arch/arm/dts/imx93-tqma93xx.dtsi
++++ b/arch/arm/dts/imx93-tqma93xx.dtsi
+@@ -15,6 +15,9 @@ pca9451a: pmic@25 {
+ reg = <0x25>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_pca9451>;
++ regulators {
++ barebox,allow-dummy-supply;
++ };
+ };
+ };
+
+--
+2.39.5
+
diff --git a/configs/platform-v8a/patches/barebox-2025.03.0/series b/configs/platform-v8a/patches/barebox-2025.03.0/series
new file mode 100644
index 0000000..2d4b3ce
--- /dev/null
+++ b/configs/platform-v8a/patches/barebox-2025.03.0/series
@@ -0,0 +1 @@
+0001-ARM-dts-tqma93xx-add-dummy-supply-to-regulator.patch
diff --git a/configs/platform-v8a/platformconfig b/configs/platform-v8a/platformconfig
index fb1019c..fde26da 100644
--- a/configs/platform-v8a/platformconfig
+++ b/configs/platform-v8a/platformconfig
@@ -137,7 +137,7 @@ PTXCONF_KERNEL_IMAGE_RAW=y
PTXCONF_KERNEL_IMAGE="Image"
PTXCONF_KERNEL_DTB=y
PTXCONF_KERNEL_DTS_PATH="${PTXDIST_PLATFORMCONFIG_SUBDIR}/dts:${KERNEL_DIR}/arch/${GENERIC_KERNEL_ARCH}/boot/dts"
-PTXCONF_KERNEL_DTS="armada-3720-community.dts freescale/imx8mm-evk.dts freescale/imx8mn-ddr4-evk.dts freescale/imx8mn-ddr4-evk.dts freescale/imx8mp-evk.dts freescale/imx8mq-evk.dts rockchip/rk3568-rock-3a.dts freescale/imx8mp-tqma8mpql-mba8mpxl.dts"
+PTXCONF_KERNEL_DTS="armada-3720-community.dts freescale/imx8mm-evk.dts freescale/imx8mn-ddr4-evk.dts freescale/imx8mn-ddr4-evk.dts freescale/imx8mp-evk.dts freescale/imx8mq-evk.dts rockchip/rk3568-rock-3a.dts freescale/imx8mp-tqma8mpql-mba8mpxl.dts freescale/imx93-tqma9352-mba93xxca.dts"
# PTXCONF_KERNEL_DTBO is not set
# PTXCONF_KERNEL_CODE_SIGNING is not set
# PTXCONF_KERNEL_ZSTD is not set
@@ -213,7 +213,7 @@ PTXCONF_TF_A_MD5="dea016f3707117c7935a8a26433a1e46 5b90a1c21210702e64234a2beb79f
PTXCONF_TF_A_ARCH_STRING="aarch64"
PTXCONF_TF_A_ARM_ARCH_MAJOR_8=y
PTXCONF_TF_A_ARM_ARCH_MAJOR=8
-PTXCONF_TF_A_PLATFORMS="imx8mq imx8mm imx8mn imx8mp"
+PTXCONF_TF_A_PLATFORMS="imx8mq imx8mm imx8mn imx8mp imx93"
PTXCONF_TF_A_ARM_ARCH_MINOR=0
PTXCONF_TF_A_EXTRA_ARGS="IMX_BOOT_UART_BASE=auto"
PTXCONF_TF_A_ARTIFACTS="bl31.bin"
@@ -291,6 +291,7 @@ PTXCONF_IMAGE_ROOT_TGZ_LABEL=""
# PTXCONF_IMAGE_ROOT_UBI is not set
# PTXCONF_IMAGE_ROOT_UBIFS is not set
PTXCONF_IMAGE_TQ_MBA8MPXL=y
+PTXCONF_IMAGE_TQ_MBA93XXCA=y
#
# ipkg options
diff --git a/configs/platform-v8a/platforms/image-tq-mba93xxca.in b/configs/platform-v8a/platforms/image-tq-mba93xxca.in
new file mode 100644
index 0000000..b36e285
--- /dev/null
+++ b/configs/platform-v8a/platforms/image-tq-mba93xxca.in
@@ -0,0 +1,10 @@
+## SECTION=image
+
+config IMAGE_TQ_MBA93XXCA
+ tristate
+ select HOST_GENIMAGE
+ select IMAGE_ROOT_EXT
+ select BAREBOX
+ prompt "Generate images/tq-mba93xxca.img"
+ help
+ Generate a bootable SD card image to deploy on a TQ MBa93xxCA board.
diff --git a/configs/platform-v8a/rules/firmware-imx.make b/configs/platform-v8a/rules/firmware-imx.make
index 1cdc3ee..6b01af3 100644
--- a/configs/platform-v8a/rules/firmware-imx.make
+++ b/configs/platform-v8a/rules/firmware-imx.make
@@ -34,6 +34,7 @@ BAREBOX_INJECT_FILES += imx8mm-bl31.bin:firmware/imx8mm-bl31.bin
BAREBOX_INJECT_FILES += imx8mn-bl31.bin:firmware/imx8mn-bl31.bin
BAREBOX_INJECT_FILES += imx8mp-bl31.bin:firmware/imx8mp-bl31.bin
BAREBOX_INJECT_FILES += imx8mq-bl31.bin:firmware/imx8mq-bl31.bin
+BAREBOX_INJECT_FILES += imx93-bl31.bin:firmware/imx93-bl31.bin
ifdef PTXCONF_FIRMWARE_IMX_BOOTIMAGE_IMX8
BAREBOX_INJECT_FILES += ddr/synopsys/lpddr4_pmu_train_1d_dmem.bin:firmware/lpddr4_pmu_train_1d_dmem.bin
BAREBOX_INJECT_FILES += ddr/synopsys/lpddr4_pmu_train_1d_imem.bin:firmware/lpddr4_pmu_train_1d_imem.bin
diff --git a/configs/platform-v8a/rules/image-tq-mba93xxca.make b/configs/platform-v8a/rules/image-tq-mba93xxca.make
new file mode 100644
index 0000000..5e6bcd7
--- /dev/null
+++ b/configs/platform-v8a/rules/image-tq-mba93xxca.make
@@ -0,0 +1,35 @@
+# -*-makefile-*-
+#
+# Copyright (C) 2025 by Fabian Pflug <f.pflug@pengutronix.de>
+#
+# For further information about the PTXdist project and license conditions
+# see the README file.
+#
+
+#
+# We provide this package
+#
+IMAGE_PACKAGES-$(PTXCONF_IMAGE_TQ_MBA93XXCA) += image-tq-mba93xxca
+
+#
+# Paths and names
+#
+IMAGE_TQ_MBA93XXCA := image-tq-mba93xxca
+IMAGE_TQ_MBA93XXCA_DIR := $(BUILDDIR)/$(IMAGE_TQ_MBA93XXCA)
+IMAGE_TQ_MBA93XXCA_IMAGE := $(IMAGEDIR)/tq-mba93xxca.img
+IMAGE_TQ_MBA93XXCA_FILES := $(IMAGEDIR)/root.tgz
+IMAGE_TQ_MBA93XXCA_CONFIG := imx93.config
+
+# ----------------------------------------------------------------------------
+# Image
+# ----------------------------------------------------------------------------
+
+IMAGE_TQ_MBA93XXCA_ENV := \
+ BAREBOX_IMAGE=barebox-tqma93xx.img
+
+$(IMAGE_TQ_MBA93XXCA_IMAGE):
+ @$(call targetinfo)
+ @$(call image/genimage, IMAGE_TQ_MBA93XXCA)
+ @$(call finish)
+
+# vim: syntax=make
diff --git a/doc/hardware.rst b/doc/hardware.rst
index 5c9a0df..ccec2b4 100644
--- a/doc/hardware.rst
+++ b/doc/hardware.rst
@@ -131,6 +131,7 @@ Currently, DistroKit supports the following hardware:
hardware_v8a_espressobin
hardware_v8a_rock3a
+ hardware_v8a_tqma93xxca
rpi1 Platform
diff --git a/doc/hardware_v8a_tqma93xxca.rst b/doc/hardware_v8a_tqma93xxca.rst
new file mode 100644
index 0000000..93353a6
--- /dev/null
+++ b/doc/hardware_v8a_tqma93xxca.rst
@@ -0,0 +1,47 @@
+TQ-Systems i.MX93 TQMa93xxLA/TQMa93xxCA on MBa93xxCA starter kit
+================================================================
+
+
+Boot Media
+----------
+
+Booting is available via multiple sources (Compare Table 6: Boot configuration i.MX 93 from .
+
+.. csv-table:: Example :rst:dir:`csv-table`
+ :header: "Boot Source", "BOOT_MODE2", "BOOT_MODE1", "BOOT_MODE0"
+
+ "Boot from eFuse", "0", "0", "0"
+ "Serial Downloader (USB1)", "0", "0", "1"
+ "Boot from eMMC 5.1", "0", "1", "0"
+ "Boot from SD 3.0 card", "0", "1", "1"
+ "Boot from FlexSPI Serial NOR", "1", "0", "0"
+
+
+Booting from USB and NFS
+~~~~~~~~~~~~~~~~~~~~~~~~
+
+Write the bootloader ``platform-v8a/images/barebox-tqma93xx.img`` to USB:
+
+.. code-block:: shell
+
+ platform-v8a/sysroot-host/bin/imx-usb-loader platform-v8a/images/barebox-tqma93xx.img
+
+In Barebox, set the default boot location to nfs:
+
+ nv boot.default: nfs://dude06//ptx/work/user/fpg/DistroKit/platform-v8a/root
+
+replace the path to one, where you have compiled your Distrokit
+
+
+Booting via SD-Card
+~~~~~~~~~~~~~~~~~~~
+
+Write the image ``platform-v8a/images/tq-mba93xxca.img`` to a microSD card. Put the
+microSD card into the TQMa93xxCA and boot it.
+
+
+Serial Console
+--------------
+
+The serial boot console is available via the microUSB Connector on the board.
+It brings 4 UARTS, whereas the first is the Serial console used by kernel and bootloader.
--
2.39.5
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [DistroKit] [PATCH 1/1] v8a: Add support for tq-ma93xxca
2025-04-22 8:54 ` [DistroKit] [PATCH 1/1] v8a: Add support for tq-ma93xxca Fabian Pflug
@ 2025-04-22 9:09 ` Ahmad Fatoum
2025-04-22 9:26 ` Fabian Pflug
0 siblings, 1 reply; 7+ messages in thread
From: Ahmad Fatoum @ 2025-04-22 9:09 UTC (permalink / raw)
To: Fabian Pflug, distrokit
Hello Fabian,
On 4/22/25 10:54, Fabian Pflug wrote:
> A new board, with an IMX93 processor.
>
> - Barebox patch has been send upstream
> - magic number ist choosen at reandom
Nitpick: chosen, random
> -if of_compatible -k radxa,rock3a tq,imx8mp-tqma8mpql-mba8mpxl; then
> +if of_compatible -k radxa,rock3a tq,imx8mp-tqma8mpql-mba8mpxl tq,imx93-tqma9352; then
When the bootsource patch land in a barebox release, we'll be able
to drop this init script, but for now this is ok.
> +CONFIG_HAB=y
> +CONFIG_AHAB=y
I think we should leave this disabled, until we start actually doing
verified boot in DistroKit.
> +CONFIG_USB_EHCI=y
Interesting. I thought the i.MX93 would use a USB 3.0 capable controller
like the i.MX8MP, but apparently it's not so.
> diff --git a/configs/platform-v8a/config/images/imx93.config b/configs/platform-v8a/config/images/imx93.config
> new file mode 100644
> index 0000000..bbdb232
> --- /dev/null
> +++ b/configs/platform-v8a/config/images/imx93.config
> @@ -0,0 +1,21 @@
> +image @IMAGE@ {
> + hdimage {
> + align = 1M
> + partition-table-type = gpt
> + }
> + partition barebox {
> + image = "@BAREBOX_IMAGE@"
> + offset = 32k
> + in-partition-table = false
Why not make it a proper GPT partition? I know we are not consistent
with that in existing boards, but for new board support, we should put
everything into a GPT partition from the get-go.
> + }
> + partition barebox-state {
Please add a barebox-environment partition as well with a comment that
it's currently unused as the environment comes from the SPI flash.
That way, we'll be able to just switch over to using environment on the
boot medium in future without changing the partition layout again.
> + offset = 3M
> + size = 1M
> + partition-type-uuid = barebox-state
> + }
> + partition root-A {
> + offset = 4M
If everything has a size and is described in the partition table, do
we still need the offset (except of course for the barebox partition).
> +Boot Media
> +----------
> +
> +Booting is available via multiple sources (Compare Table 6: Boot configuration i.MX 93 from .
from? missing rest of line?
> +Write the bootloader ``platform-v8a/images/barebox-tqma93xx.img`` to USB:
s/Write to/Upload via/
Maybe even add the full command:
imx-usb-loader platform-v8a/images/barebox-tqma93xx.img
> +
> +.. code-block:: shell
> +
> + platform-v8a/sysroot-host/bin/imx-usb-loader platform-v8a/images/barebox-tqma93xx.img
> +
> +In Barebox, set the default boot location to nfs:
> +
> + nv boot.default: nfs://dude06//ptx/work/user/fpg/DistroKit/platform-v8a/root
Drop the colon, so it's an executable command.
FYI, you can also use the barebox /mnt/nfs automount:
dude06$ ln -s /ptx/work/user/fpg/DistroKit/platform-v8a/root \
~fpg/nfsroot/${global.hostname-from-barebox}
barebox$ nv net.server=dude05
barebox$ nv user=fpg
barebox$ boot /mnt/nfs
> +replace the path to one, where you have compiled your Distrokit
> +
> +
> +Booting via SD-Card
> +~~~~~~~~~~~~~~~~~~~
> +
> +Write the image ``platform-v8a/images/tq-mba93xxca.img`` to a microSD card. Put the
> +microSD card into the TQMa93xxCA and boot it.
> +
> +
> +Serial Console
> +--------------
> +
> +The serial boot console is available via the microUSB Connector on the board.
> +It brings 4 UARTS, whereas the first is the Serial console used by kernel and bootloader.
Thanks for including docs.
Cheers,
Ahmad
--
Pengutronix e.K. | |
Steuerwalder Str. 21 | http://www.pengutronix.de/ |
31137 Hildesheim, Germany | Phone: +49-5121-206917-0 |
Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [DistroKit] [PATCH 1/1] v8a: Add support for tq-ma93xxca
2025-04-22 9:09 ` Ahmad Fatoum
@ 2025-04-22 9:26 ` Fabian Pflug
2025-04-22 9:31 ` Ahmad Fatoum
0 siblings, 1 reply; 7+ messages in thread
From: Fabian Pflug @ 2025-04-22 9:26 UTC (permalink / raw)
To: Ahmad Fatoum, distrokit
Hello Ahmad,
> Nitpick: chosen, random
Fixed
>
> > +CONFIG_HAB=y
> > +CONFIG_AHAB=y
>
> I think we should leave this disabled, until we start actually doing
> verified boot in DistroKit.
CONFIG_IMX93 sets CONFIG_AHAB, which in turn sets CONFIG_HAB
Not really possible to disable.
>
> > +CONFIG_USB_EHCI=y
>
> Interesting. I thought the i.MX93 would use a USB 3.0 capable
> controller
> like the i.MX8MP, but apparently it's not so.
Nope, USB2.0 only
>
> > diff --git a/configs/platform-v8a/config/images/imx93.config
> > b/configs/platform-v8a/config/images/imx93.config
> > new file mode 100644
> > index 0000000..bbdb232
> > --- /dev/null
> > +++ b/configs/platform-v8a/config/images/imx93.config
> > @@ -0,0 +1,21 @@
> > +image @IMAGE@ {
> > + hdimage {
> > + align = 1M
> > + partition-table-type = gpt
> > + }
> > + partition barebox {
> > + image = "@BAREBOX_IMAGE@"
> > + offset = 32k
> > + in-partition-table = false
>
> Why not make it a proper GPT partition? I know we are not consistent
> with that in existing boards, but for new board support, we should
> put
> everything into a GPT partition from the get-go.
I have no opinion about it. It was just copy & paste from all the other
boards. Will do what the majority agrees upon.
>
> > + }
> > + partition barebox-state {
>
> Please add a barebox-environment partition as well with a comment
> that
> it's currently unused as the environment comes from the SPI flash.
>
> That way, we'll be able to just switch over to using environment on
> the
> boot medium in future without changing the partition layout again.
>
> > + offset = 3M
> > + size = 1M
> > + partition-type-uuid = barebox-state
> > + }
> > + partition root-A {
> > + offset = 4M
>
> If everything has a size and is described in the partition table, do
> we still need the offset (except of course for the barebox
> partition).
>
> > +Boot Media
> > +----------
> > +
> > +Booting is available via multiple sources (Compare Table 6: Boot
> > configuration i.MX 93 from .
>
> from? missing rest of line?
Good catch. Yeah missing.
>
>
> > +Write the bootloader ``platform-v8a/images/barebox-tqma93xx.img``
> > to USB:
>
> s/Write to/Upload via/
>
> Maybe even add the full command:
>
> imx-usb-loader platform-v8a/images/barebox-tqma93xx.img
See next line on the RST:
>
> > +
> > +.. code-block:: shell
> > +
> > + platform-v8a/sysroot-host/bin/imx-usb-loader platform-
> > v8a/images/barebox-tqma93xx.img
> > +
> > +In Barebox, set the default boot location to nfs:
> > +
> > + nv boot.default:
> > nfs://dude06//ptx/work/user/fpg/DistroKit/platform-v8a/root
>
> Drop the colon, so it's an executable command.
Done
>
> Thanks for including docs.
You're welcome :)
Will send a new patch later, with your and other remarks.
Fabian
>
> Cheers,
> Ahmad
>
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [DistroKit] [PATCH 1/1] v8a: Add support for tq-ma93xxca
2025-04-22 9:26 ` Fabian Pflug
@ 2025-04-22 9:31 ` Ahmad Fatoum
2025-04-29 12:13 ` Robert Schwebel
0 siblings, 1 reply; 7+ messages in thread
From: Ahmad Fatoum @ 2025-04-22 9:31 UTC (permalink / raw)
To: Fabian Pflug, distrokit
Hello Fabian,
On 4/22/25 11:26, Fabian Pflug wrote:
> CONFIG_IMX93 sets CONFIG_AHAB, which in turn sets CONFIG_HAB
> Not really possible to disable.
Ah, ok. Fine by me then.
>> Why not make it a proper GPT partition? I know we are not consistent
>> with that in existing boards, but for new board support, we should
>> put
>> everything into a GPT partition from the get-go.
>
> I have no opinion about it. It was just copy & paste from all the other
> boards. Will do what the majority agrees upon.
If the majority is what's already being done, then no progress is
possible ;)
Please try describing all partitions in the GPT. If there are unforeseen
problems, we can revert back to the old scheme with a comment explaining
it. :)
>>> +Write the bootloader ``platform-v8a/images/barebox-tqma93xx.img``
>>> to USB:
>>
>> s/Write to/Upload via/
>>
>> Maybe even add the full command:
>>
>> imx-usb-loader platform-v8a/images/barebox-tqma93xx.img
>
> See next line on the RST:
Ah didn't read beyond the platform-v8a/ :-)
>> Thanks for including docs.
>
> You're welcome :)
>
> Will send a new patch later, with your and other remarks.
Thanks,
Ahmad
>
> Fabian
>
>>
>> Cheers,
>> Ahmad
>>
>
>
--
Pengutronix e.K. | |
Steuerwalder Str. 21 | http://www.pengutronix.de/ |
31137 Hildesheim, Germany | Phone: +49-5121-206917-0 |
Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [DistroKit] [PATCH 1/1] v8a: Add support for tq-ma93xxca
2025-04-22 9:31 ` Ahmad Fatoum
@ 2025-04-29 12:13 ` Robert Schwebel
2025-04-29 12:14 ` Robert Schwebel
0 siblings, 1 reply; 7+ messages in thread
From: Robert Schwebel @ 2025-04-29 12:13 UTC (permalink / raw)
To: Fabian Pflug; +Cc: distrokit, Ahmad Fatoum
Hi Fabian,
On Tue, Apr 22, 2025 at 11:31:03AM +0200, Ahmad Fatoum wrote:
> On 4/22/25 11:26, Fabian Pflug wrote:
> > CONFIG_IMX93 sets CONFIG_AHAB, which in turn sets CONFIG_HAB
> > Not really possible to disable.
>
> Ah, ok. Fine by me then.
>
> >> Why not make it a proper GPT partition? I know we are not consistent
> >> with that in existing boards, but for new board support, we should
> >> put
> >> everything into a GPT partition from the get-go.
> >
> > I have no opinion about it. It was just copy & paste from all the other
> > boards. Will do what the majority agrees upon.
>
> If the majority is what's already being done, then no progress is
> possible ;)
>
> Please try describing all partitions in the GPT. If there are unforeseen
> problems, we can revert back to the old scheme with a comment explaining
> it. :)
>
> >>> +Write the bootloader ``platform-v8a/images/barebox-tqma93xx.img``
> >>> to USB:
> >>
> >> s/Write to/Upload via/
> >>
> >> Maybe even add the full command:
> >>
> >> imx-usb-loader platform-v8a/images/barebox-tqma93xx.img
> >
> > See next line on the RST:
>
> Ah didn't read beyond the platform-v8a/ :-)
>
> >> Thanks for including docs.
> >
> > You're welcome :)
> >
> > Will send a new patch later, with your and other remarks.
You'll send an update with afa's points addressed, right?
rsc
--
Pengutronix e.K. | Dipl.-Ing. Robert Schwebel |
Steuerwalder Str. 21 | https://www.pengutronix.de/ |
31137 Hildesheim, Germany | Phone: +49-5121-206917-0 |
Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-9 |
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [DistroKit] [PATCH 1/1] v8a: Add support for tq-ma93xxca
2025-04-29 12:13 ` Robert Schwebel
@ 2025-04-29 12:14 ` Robert Schwebel
0 siblings, 0 replies; 7+ messages in thread
From: Robert Schwebel @ 2025-04-29 12:14 UTC (permalink / raw)
To: Fabian Pflug; +Cc: distrokit, Ahmad Fatoum
On Tue, Apr 29, 2025 at 02:13:25PM +0200, Robert Schwebel wrote:
> You'll send an update with afa's points addressed, right?
Ah, missed it, it's already in next. Case closed.
rsc
--
Pengutronix e.K. | Dipl.-Ing. Robert Schwebel |
Steuerwalder Str. 21 | https://www.pengutronix.de/ |
31137 Hildesheim, Germany | Phone: +49-5121-206917-0 |
Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-9 |
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2025-04-29 12:15 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2025-04-22 8:54 [DistroKit] [PATCH 0/1] Add TQ-STKa93xx board Fabian Pflug
2025-04-22 8:54 ` [DistroKit] [PATCH 1/1] v8a: Add support for tq-ma93xxca Fabian Pflug
2025-04-22 9:09 ` Ahmad Fatoum
2025-04-22 9:26 ` Fabian Pflug
2025-04-22 9:31 ` Ahmad Fatoum
2025-04-29 12:13 ` Robert Schwebel
2025-04-29 12:14 ` Robert Schwebel
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox