Devicetree
 help / color / mirror / Atom feed
* [PATCH v2 0/4] arm64: dts: imx93-var-som-symphony: align DTS with hardware revision
@ 2026-05-29 10:52 Stefano Radaelli
  2026-05-29 10:52 ` [PATCH v2 1/4] arm64: dts: imx93-var-som-symphony: add TPM support Stefano Radaelli
                   ` (3 more replies)
  0 siblings, 4 replies; 6+ messages in thread
From: Stefano Radaelli @ 2026-05-29 10:52 UTC (permalink / raw)
  To: linux-kernel, devicetree, imx, linux-arm-kernel
  Cc: pierluigi.p, Stefano Radaelli, Rob Herring, Krzysztof Kozlowski,
	Conor Dooley, Frank Li, Sascha Hauer, Pengutronix Kernel Team,
	Fabio Estevam

This series updates the i.MX93 VAR-SOM Symphony device tree to match the
latest carrier board hardware revision.

The changes add support for onboard peripherals and complete the board
configuration with the required GPIO, pinctrl and PWM settings.

v1->v2:
 - Rename pca6408 label to pcal6408 to match the compatible
 - Clarify that the TPM enable line is a board-level GPIO hog

Stefano Radaelli (4):
  arm64: dts: imx93-var-som-symphony: add TPM support
  arm64: dts: imx93-var-som-symphony: enable UART7
  arm64: dts: imx93-var-som-symphony: keep RGB_SEL low
  arm64: dts: imx93-var-som-symphony: enable TPM3 PWM

 .../dts/freescale/imx93-var-som-symphony.dts  | 61 +++++++++++++++++++
 1 file changed, 61 insertions(+)


base-commit: b3c1d1631f097619f8091f0293e027c4301285d6
-- 
2.47.3


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

* [PATCH v2 1/4] arm64: dts: imx93-var-som-symphony: add TPM support
  2026-05-29 10:52 [PATCH v2 0/4] arm64: dts: imx93-var-som-symphony: align DTS with hardware revision Stefano Radaelli
@ 2026-05-29 10:52 ` Stefano Radaelli
  2026-05-29 11:10   ` sashiko-bot
  2026-05-29 10:52 ` [PATCH v2 2/4] arm64: dts: imx93-var-som-symphony: enable UART7 Stefano Radaelli
                   ` (2 subsequent siblings)
  3 siblings, 1 reply; 6+ messages in thread
From: Stefano Radaelli @ 2026-05-29 10:52 UTC (permalink / raw)
  To: linux-kernel, devicetree, imx, linux-arm-kernel
  Cc: pierluigi.p, Stefano Radaelli, Rob Herring, Krzysztof Kozlowski,
	Conor Dooley, Frank Li, Sascha Hauer, Pengutronix Kernel Team,
	Fabio Estevam

From: Stefano Radaelli <stefano.r@variscite.com>

Add the ST33KTPM2XI2C TPM device on the Symphony carrier board.

The TPM enable line is a board-level signal driven through the PCAL6408
GPIO expander. Keep it asserted with a GPIO hog so the TPM is enabled on
this board.

The TPM binding does not provide a dedicated enable GPIO or supply
property, so this cannot currently be expressed as a direct TPM
dependency.

Signed-off-by: Stefano Radaelli <stefano.r@variscite.com>
---
v1->v2:
 - Rename pca6408 label to pcal6408 to match the compatible
 - Clarify that the TPM enable line is a board-level GPIO hog

 .../dts/freescale/imx93-var-som-symphony.dts  | 20 +++++++++++++++++++
 1 file changed, 20 insertions(+)

diff --git a/arch/arm64/boot/dts/freescale/imx93-var-som-symphony.dts b/arch/arm64/boot/dts/freescale/imx93-var-som-symphony.dts
index c0842fb3cfa3..f541308ebf6b 100644
--- a/arch/arm64/boot/dts/freescale/imx93-var-som-symphony.dts
+++ b/arch/arm64/boot/dts/freescale/imx93-var-som-symphony.dts
@@ -208,6 +208,26 @@ &lpi2c1 {
 	sda-gpios = <&gpio1 1 GPIO_ACTIVE_HIGH>;
 	status = "okay";
 
+	pcal6408: gpio@21 {
+		compatible = "nxp,pcal6408";
+		reg = <0x21>;
+		gpio-controller;
+		#gpio-cells = <2>;
+		status = "okay";
+
+		tpm-enable-hog {
+			gpio-hog;
+			gpios = <4 GPIO_ACTIVE_HIGH>;
+			output-high;
+			line-name = "tpm_en";
+		};
+	};
+
+	st33ktpm2xi2c: tpm@2e {
+		compatible = "st,st33ktpm2xi2c", "tcg,tpm-tis-i2c";
+		reg = <0x2e>;
+	};
+
 	/* Capacitive touch controller */
 	ft5x06_ts: touchscreen@38 {
 		compatible = "edt,edt-ft5206";
-- 
2.47.3


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

* [PATCH v2 2/4] arm64: dts: imx93-var-som-symphony: enable UART7
  2026-05-29 10:52 [PATCH v2 0/4] arm64: dts: imx93-var-som-symphony: align DTS with hardware revision Stefano Radaelli
  2026-05-29 10:52 ` [PATCH v2 1/4] arm64: dts: imx93-var-som-symphony: add TPM support Stefano Radaelli
@ 2026-05-29 10:52 ` Stefano Radaelli
  2026-05-29 10:52 ` [PATCH v2 3/4] arm64: dts: imx93-var-som-symphony: keep RGB_SEL low Stefano Radaelli
  2026-05-29 10:52 ` [PATCH v2 4/4] arm64: dts: imx93-var-som-symphony: enable TPM3 PWM Stefano Radaelli
  3 siblings, 0 replies; 6+ messages in thread
From: Stefano Radaelli @ 2026-05-29 10:52 UTC (permalink / raw)
  To: linux-kernel, devicetree, imx, linux-arm-kernel
  Cc: pierluigi.p, Stefano Radaelli, Rob Herring, Krzysztof Kozlowski,
	Conor Dooley, Frank Li, Sascha Hauer, Pengutronix Kernel Team,
	Fabio Estevam

From: Stefano Radaelli <stefano.r@variscite.com>

Enable UART7 on the Symphony carrier board and add its pinctrl
configuration.

Signed-off-by: Stefano Radaelli <stefano.r@variscite.com>
---
v1->v2:
 - 

 .../boot/dts/freescale/imx93-var-som-symphony.dts  | 14 ++++++++++++++
 1 file changed, 14 insertions(+)

diff --git a/arch/arm64/boot/dts/freescale/imx93-var-som-symphony.dts b/arch/arm64/boot/dts/freescale/imx93-var-som-symphony.dts
index f541308ebf6b..f313f168cfb4 100644
--- a/arch/arm64/boot/dts/freescale/imx93-var-som-symphony.dts
+++ b/arch/arm64/boot/dts/freescale/imx93-var-som-symphony.dts
@@ -35,6 +35,7 @@ aliases {
 		serial3 = &lpuart4;
 		serial4 = &lpuart5;
 		serial5 = &lpuart6;
+		serial6 = &lpuart7;
 	};
 
 
@@ -310,6 +311,12 @@ &lpuart6 {
 	status = "okay";
 };
 
+&lpuart7 {
+	pinctrl-names = "default";
+	pinctrl-0 = <&pinctrl_uart7>;
+	status = "okay";
+};
+
 &usbotg1 {
 	dr_mode = "otg";
 	hnp-disable;
@@ -446,6 +453,13 @@ MX93_PAD_GPIO_IO04__LPUART6_TX			0x31e
 		>;
 	};
 
+	pinctrl_uart7: uart7grp {
+		fsl,pins = <
+			MX93_PAD_GPIO_IO09__LPUART7_RX			0x31e
+			MX93_PAD_GPIO_IO08__LPUART7_TX			0x31e
+		>;
+	};
+
 	pinctrl_reg_usdhc2_vmmc: regusdhc2vmmcgrp {
 		fsl,pins = <
 			MX93_PAD_GPIO_IO18__GPIO2_IO18		0x31e
-- 
2.47.3


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

* [PATCH v2 3/4] arm64: dts: imx93-var-som-symphony: keep RGB_SEL low
  2026-05-29 10:52 [PATCH v2 0/4] arm64: dts: imx93-var-som-symphony: align DTS with hardware revision Stefano Radaelli
  2026-05-29 10:52 ` [PATCH v2 1/4] arm64: dts: imx93-var-som-symphony: add TPM support Stefano Radaelli
  2026-05-29 10:52 ` [PATCH v2 2/4] arm64: dts: imx93-var-som-symphony: enable UART7 Stefano Radaelli
@ 2026-05-29 10:52 ` Stefano Radaelli
  2026-05-29 10:52 ` [PATCH v2 4/4] arm64: dts: imx93-var-som-symphony: enable TPM3 PWM Stefano Radaelli
  3 siblings, 0 replies; 6+ messages in thread
From: Stefano Radaelli @ 2026-05-29 10:52 UTC (permalink / raw)
  To: linux-kernel, devicetree, imx, linux-arm-kernel
  Cc: pierluigi.p, Stefano Radaelli, Rob Herring, Krzysztof Kozlowski,
	Conor Dooley, Frank Li, Sascha Hauer, Pengutronix Kernel Team,
	Fabio Estevam

From: Stefano Radaelli <stefano.r@variscite.com>

Keep the RGB_SEL line driven low on the Symphony carrier board.

This avoids leaving the line floating and ensures the board remains in
the expected display configuration.

Signed-off-by: Stefano Radaelli <stefano.r@variscite.com>
---
v1->v2:
 - 

 arch/arm64/boot/dts/freescale/imx93-var-som-symphony.dts | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/arch/arm64/boot/dts/freescale/imx93-var-som-symphony.dts b/arch/arm64/boot/dts/freescale/imx93-var-som-symphony.dts
index f313f168cfb4..37bae4913bcf 100644
--- a/arch/arm64/boot/dts/freescale/imx93-var-som-symphony.dts
+++ b/arch/arm64/boot/dts/freescale/imx93-var-som-symphony.dts
@@ -222,6 +222,14 @@ tpm-enable-hog {
 			output-high;
 			line-name = "tpm_en";
 		};
+
+		/* RGB_SEL */
+		lvds-brg-enable-hog {
+			gpio-hog;
+			gpios = <7 GPIO_ACTIVE_HIGH>;
+			output-low;
+			line-name = "lvds_brg_en";
+		};
 	};
 
 	st33ktpm2xi2c: tpm@2e {
-- 
2.47.3


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

* [PATCH v2 4/4] arm64: dts: imx93-var-som-symphony: enable TPM3 PWM
  2026-05-29 10:52 [PATCH v2 0/4] arm64: dts: imx93-var-som-symphony: align DTS with hardware revision Stefano Radaelli
                   ` (2 preceding siblings ...)
  2026-05-29 10:52 ` [PATCH v2 3/4] arm64: dts: imx93-var-som-symphony: keep RGB_SEL low Stefano Radaelli
@ 2026-05-29 10:52 ` Stefano Radaelli
  3 siblings, 0 replies; 6+ messages in thread
From: Stefano Radaelli @ 2026-05-29 10:52 UTC (permalink / raw)
  To: linux-kernel, devicetree, imx, linux-arm-kernel
  Cc: pierluigi.p, Stefano Radaelli, Rob Herring, Krzysztof Kozlowski,
	Conor Dooley, Frank Li, Sascha Hauer, Pengutronix Kernel Team,
	Fabio Estevam

From: Stefano Radaelli <stefano.r@variscite.com>

Enable TPM3 on the Symphony carrier board and add the pinctrl states for
the PWM output and sleep configuration.

Signed-off-by: Stefano Radaelli <stefano.r@variscite.com>
---
v1->v2:
 - 

 .../dts/freescale/imx93-var-som-symphony.dts  | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)

diff --git a/arch/arm64/boot/dts/freescale/imx93-var-som-symphony.dts b/arch/arm64/boot/dts/freescale/imx93-var-som-symphony.dts
index 37bae4913bcf..a49c8aebfead 100644
--- a/arch/arm64/boot/dts/freescale/imx93-var-som-symphony.dts
+++ b/arch/arm64/boot/dts/freescale/imx93-var-som-symphony.dts
@@ -325,6 +325,13 @@ &lpuart7 {
 	status = "okay";
 };
 
+&tpm3 {
+	pinctrl-0 = <&pinctrl_tpm3>;
+	pinctrl-1 = <&pinctrl_tpm3_sleep>;
+	pinctrl-names = "default", "sleep";
+	status = "okay";
+};
+
 &usbotg1 {
 	dr_mode = "otg";
 	hnp-disable;
@@ -447,6 +454,18 @@ MX93_PAD_PDM_BIT_STREAM1__GPIO1_IO10            0x31e
 		>;
 	};
 
+	pinctrl_tpm3: tpm3grp {
+		fsl,pins = <
+			MX93_PAD_GPIO_IO24__TPM3_CH3			0x51e
+		>;
+	};
+
+	pinctrl_tpm3_sleep: tpm3sleepgrp {
+		fsl,pins = <
+			MX93_PAD_GPIO_IO24__GPIO2_IO24			0x51e
+		>;
+	};
+
 	pinctrl_uart1: uart1grp {
 		fsl,pins = <
 			MX93_PAD_UART1_RXD__LPUART1_RX			0x31e
-- 
2.47.3


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

* Re: [PATCH v2 1/4] arm64: dts: imx93-var-som-symphony: add TPM support
  2026-05-29 10:52 ` [PATCH v2 1/4] arm64: dts: imx93-var-som-symphony: add TPM support Stefano Radaelli
@ 2026-05-29 11:10   ` sashiko-bot
  0 siblings, 0 replies; 6+ messages in thread
From: sashiko-bot @ 2026-05-29 11:10 UTC (permalink / raw)
  To: Stefano Radaelli; +Cc: robh, conor+dt, devicetree, Frank.Li, imx

Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
- [High] The TPM device relies on a GPIO hog from a sibling I2C GPIO expander to be enabled, but lacks a structural device dependency, leading to a probe race condition and potential initialization failures.
--

commit 2c29a43f4e74b7d0f118dc8b7401c07e3617e874
Author: Stefano Radaelli <stefano.r@variscite.com>

arm64: dts: imx93-var-som-symphony: add TPM support

This commit adds the ST33KTPM2XI2C TPM device to the Symphony carrier
board. It uses a GPIO hog on the PCAL6408 GPIO expander to assert the
TPM enable line, since the binding lacks a dedicated enable GPIO property.

> diff --git a/arch/arm64/boot/dts/freescale/imx93-var-som-symphony.dts b/arch/arm64/boot/dts/freescale/imx93-var-som-symphony.dts
> index c0842fb3cfa33..f541308ebf6b8 100644
> --- a/arch/arm64/boot/dts/freescale/imx93-var-som-symphony.dts
> +++ b/arch/arm64/boot/dts/freescale/imx93-var-som-symphony.dts
[ ... ]
> @@ -208,6 +208,26 @@ &lpi2c1 {
>  	sda-gpios = <&gpio1 1 GPIO_ACTIVE_HIGH>;
>  	status = "okay";
>  
> +	pcal6408: gpio@21 {
> +		compatible = "nxp,pcal6408";
> +		reg = <0x21>;
> +		gpio-controller;
> +		#gpio-cells = <2>;
> +		status = "okay";
> +
> +		tpm-enable-hog {
> +			gpio-hog;
> +			gpios = <4 GPIO_ACTIVE_HIGH>;
> +			output-high;
> +			line-name = "tpm_en";
> +		};
> +	};
> +
> +	st33ktpm2xi2c: tpm@2e {
> +		compatible = "st,st33ktpm2xi2c", "tcg,tpm-tis-i2c";
> +		reg = <0x2e>;
> +	};

[Severity: High]
Since there is no explicit structural dependency between the TPM device and
the GPIO expander, could this introduce a probe order race condition?

Because fw_devlink is unaware of this relationship, if the drivers are
loaded asynchronously and the tpm_tis_i2c driver probes before the
gpio-pca953x driver, the enable line will remain deasserted. 

The TPM driver's initial I2C read might receive a NACK and return a
permanent error like -ENXIO instead of returning -EPROBE_DEFER.

Does this setup inadvertently rely on undefined probe ordering to ensure
the TPM is enabled before it is initialized?

-- 
Sashiko AI review · https://sashiko.dev/#/patchset/cover.1780051874.git.stefano.r@variscite.com?part=1

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

end of thread, other threads:[~2026-05-29 11:10 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-05-29 10:52 [PATCH v2 0/4] arm64: dts: imx93-var-som-symphony: align DTS with hardware revision Stefano Radaelli
2026-05-29 10:52 ` [PATCH v2 1/4] arm64: dts: imx93-var-som-symphony: add TPM support Stefano Radaelli
2026-05-29 11:10   ` sashiko-bot
2026-05-29 10:52 ` [PATCH v2 2/4] arm64: dts: imx93-var-som-symphony: enable UART7 Stefano Radaelli
2026-05-29 10:52 ` [PATCH v2 3/4] arm64: dts: imx93-var-som-symphony: keep RGB_SEL low Stefano Radaelli
2026-05-29 10:52 ` [PATCH v2 4/4] arm64: dts: imx93-var-som-symphony: enable TPM3 PWM Stefano Radaelli

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