Devicetree
 help / color / mirror / Atom feed
* [PATCH v3 00/14] arm64: dts: imx8mp-var-som-symphony: align DTS with hardware revision
@ 2026-06-03 14:37 Stefano Radaelli
  2026-06-03 14:37 ` [PATCH v3 01/14] arm64: dts: imx8mp-var-som-symphony: add input keys Stefano Radaelli
                   ` (13 more replies)
  0 siblings, 14 replies; 21+ messages in thread
From: Stefano Radaelli @ 2026-06-03 14:37 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.MX8MP VAR-SOM and Symphony device trees to
better align them with the current hardware configuration.

It adds the missing board peripherals and completes the related pinctrl,
GPIO and bus configuration.

v2->v3:
 - Add FlexCAN2 controller support
 - Add FEC controller and MaxLinear MXL86110 PHY support
 - Describe PCIe PERST# reset GPIO

v1->v2:
 - Add missing HDMI pinctrl configuration
 - Enable LCDIF3 for the HDMI display pipeline
 - Adjust PCIe controller configuration
 - Update PTN5150 interrupt trigger type

Stefano Radaelli (14):
  arm64: dts: imx8mp-var-som-symphony: add input keys
  arm64: dts: imx8mp-var-som-symphony: enable USB support
  arm64: dts: imx8mp-var-som-symphony: add TPM support
  arm64: dts: imx8mp-var-som-symphony: add external RTC
  arm64: dts: imx8mp-var-som-symphony: enable header UARTs
  arm64: dts: imx8mp-var-som-symphony: enable PCIe
  arm64: dts: imx8mp-var-som-symphony: add HDMI support
  arm64: dts: imx8mp-var-som-symphony: add capacitive touchscreen
  arm64: dts: imx8mp-var-som-symphony: enable ECSPI2
  arm64: dts: imx8mp-var-som-symphony: keep RGB_SEL low
  arm64: dts: imx8mp-var-som-symphony: enable PWM1
  arm64: dts: imx8mp-var-som-symphony: enable CAN
  arm64: dts: imx8mp-var-som-symphony: add second Ethernet port
  arm64: dts: freescale: imx8mp-var-som: add I2C1 bus recovery GPIOs

 .../dts/freescale/imx8mp-var-som-symphony.dts | 394 +++++++++++++++++-
 .../boot/dts/freescale/imx8mp-var-som.dtsi    |  12 +-
 2 files changed, 404 insertions(+), 2 deletions(-)


base-commit: b3c1d1631f097619f8091f0293e027c4301285d6
-- 
2.47.3


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

* [PATCH v3 01/14] arm64: dts: imx8mp-var-som-symphony: add input keys
  2026-06-03 14:37 [PATCH v3 00/14] arm64: dts: imx8mp-var-som-symphony: align DTS with hardware revision Stefano Radaelli
@ 2026-06-03 14:37 ` Stefano Radaelli
  2026-06-03 14:37 ` [PATCH v3 02/14] arm64: dts: imx8mp-var-som-symphony: enable USB support Stefano Radaelli
                   ` (12 subsequent siblings)
  13 siblings, 0 replies; 21+ messages in thread
From: Stefano Radaelli @ 2026-06-03 14:37 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

Add the Back, Home and Menu keys connected through the GPIO expander on
the Symphony carrier board.

Also enable the SNVS power key.

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

v1->v2:
 - 

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

diff --git a/arch/arm64/boot/dts/freescale/imx8mp-var-som-symphony.dts b/arch/arm64/boot/dts/freescale/imx8mp-var-som-symphony.dts
index 291f65e36865..25f707012f62 100644
--- a/arch/arm64/boot/dts/freescale/imx8mp-var-som-symphony.dts
+++ b/arch/arm64/boot/dts/freescale/imx8mp-var-som-symphony.dts
@@ -13,6 +13,31 @@ chosen {
 		stdout-path = &uart2;
 	};
 
+	gpio-keys {
+		compatible = "gpio-keys";
+
+		button-back {
+			label = "Back";
+			linux,code = <KEY_BACK>;
+			gpios = <&pca9534 1 GPIO_ACTIVE_LOW>;
+			wakeup-source;
+		};
+
+		button-home {
+			label = "Home";
+			linux,code = <KEY_HOME>;
+			gpios = <&pca9534 2 GPIO_ACTIVE_LOW>;
+			wakeup-source;
+		};
+
+		button-menu {
+			label = "Menu";
+			linux,code = <KEY_MENU>;
+			gpios = <&pca9534 3 GPIO_ACTIVE_LOW>;
+			wakeup-source;
+		};
+	};
+
 	gpio-leds {
 		compatible = "gpio-leds";
 
@@ -72,6 +97,10 @@ usb3-sata-sel-hog {
 	};
 };
 
+&snvs_pwrkey {
+	status = "okay";
+};
+
 /* Console */
 &uart2 {
 	pinctrl-names = "default";
-- 
2.47.3


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

* [PATCH v3 02/14] arm64: dts: imx8mp-var-som-symphony: enable USB support
  2026-06-03 14:37 [PATCH v3 00/14] arm64: dts: imx8mp-var-som-symphony: align DTS with hardware revision Stefano Radaelli
  2026-06-03 14:37 ` [PATCH v3 01/14] arm64: dts: imx8mp-var-som-symphony: add input keys Stefano Radaelli
@ 2026-06-03 14:37 ` Stefano Radaelli
  2026-06-03 14:50   ` sashiko-bot
  2026-06-03 14:37 ` [PATCH v3 03/14] arm64: dts: imx8mp-var-som-symphony: add TPM support Stefano Radaelli
                   ` (11 subsequent siblings)
  13 siblings, 1 reply; 21+ messages in thread
From: Stefano Radaelli @ 2026-06-03 14:37 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 the USB controllers on the Symphony carrier board.

Add the PTN5150 Type-C controller for USB role switching, enable the USB3
PHYs and controllers, configure the I2C bus used by the Type-C
controller, and set the first USB port in OTG mode and the second port
in host mode.

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

v1->v2:
 - Update PTN5150 interrupt trigger type

 .../dts/freescale/imx8mp-var-som-symphony.dts | 80 ++++++++++++++++++-
 1 file changed, 79 insertions(+), 1 deletion(-)

diff --git a/arch/arm64/boot/dts/freescale/imx8mp-var-som-symphony.dts b/arch/arm64/boot/dts/freescale/imx8mp-var-som-symphony.dts
index 25f707012f62..76928b005826 100644
--- a/arch/arm64/boot/dts/freescale/imx8mp-var-som-symphony.dts
+++ b/arch/arm64/boot/dts/freescale/imx8mp-var-som-symphony.dts
@@ -72,8 +72,11 @@ reg_usdhc2_vqmmc: regulator-usdhc2-vqmmc {
 
 &i2c3 {
 	clock-frequency = <400000>;
-	pinctrl-names = "default";
+	pinctrl-names = "default", "gpio";
 	pinctrl-0 = <&pinctrl_i2c3>;
+	pinctrl-1 = <&pinctrl_i2c3_gpio>;
+	scl-gpios = <&gpio5 18 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
+	sda-gpios = <&gpio5 19 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
 	status = "okay";
 
 	/* GPIO expander */
@@ -95,6 +98,22 @@ usb3-sata-sel-hog {
 			line-name = "usb3_sata_sel";
 		};
 	};
+
+	/* USB Type-C Controller */
+	typec@3d {
+		compatible = "nxp,ptn5150";
+		reg = <0x3d>;
+		pinctrl-names = "default";
+		pinctrl-0 = <&pinctrl_ptn5150>;
+		interrupt-parent = <&gpio1>;
+		interrupts = <5 IRQ_TYPE_NONE>;
+
+		port {
+			typec_dr_sw: endpoint {
+				remote-endpoint = <&usb3_drd_sw>;
+			};
+		};
+	};
 };
 
 &snvs_pwrkey {
@@ -108,6 +127,52 @@ &uart2 {
 	status = "okay";
 };
 
+&usb3_0 {
+	status = "okay";
+};
+
+&usb3_1 {
+	status = "okay";
+};
+
+&usb_dwc3_0 {
+	adp-disable;
+	dr_mode = "otg";
+	hnp-disable;
+	snps,dis-u1-entry-quirk;
+	snps,dis-u2-entry-quirk;
+	srp-disable;
+	usb-role-switch;
+	status = "okay";
+
+	port {
+		usb3_drd_sw: endpoint {
+			remote-endpoint = <&typec_dr_sw>;
+		};
+	};
+};
+
+&usb_dwc3_1 {
+	dr_mode = "host";
+	status = "okay";
+};
+
+&usb3_phy0 {
+	fsl,phy-comp-dis-tune-percent = <115>;
+	fsl,phy-pcs-tx-deemph-3p5db-attenuation-db = <33>;
+	fsl,phy-pcs-tx-swing-full-percent = <100>;
+	fsl,phy-tx-preemp-amp-tune-microamp = <1800>;
+	fsl,phy-tx-vboost-level-microvolt = <1156>;
+	fsl,phy-tx-vref-tune-percent = <122>;
+	status = "okay";
+};
+
+&usb3_phy1 {
+	fsl,phy-tx-preemp-amp-tune-microamp = <1800>;
+	fsl,phy-tx-vref-tune-percent = <116>;
+	status = "okay";
+};
+
 /* SD-card */
 &usdhc2 {
 	pinctrl-names = "default", "state_100mhz", "state_200mhz";
@@ -129,12 +194,25 @@ MX8MP_IOMUXC_I2C3_SDA__I2C3_SDA                                 0x400001c2
 		>;
 	};
 
+	pinctrl_i2c3_gpio: i2c3gpiogrp {
+		fsl,pins = <
+			MX8MP_IOMUXC_I2C3_SCL__GPIO5_IO18				0x1c2
+			MX8MP_IOMUXC_I2C3_SDA__GPIO5_IO19				0x1c2
+		>;
+	};
+
 	pinctrl_pca9534: pca9534grp {
 		fsl,pins = <
 			MX8MP_IOMUXC_GPIO1_IO15__GPIO1_IO15                             0xc0
 		>;
 	};
 
+	pinctrl_ptn5150: ptn5150grp {
+		fsl,pins = <
+			MX8MP_IOMUXC_GPIO1_IO05__GPIO1_IO05				0x10
+		>;
+	};
+
 	pinctrl_uart2: uart2grp {
 		fsl,pins = <
 			MX8MP_IOMUXC_UART2_RXD__UART2_DCE_RX                            0x40
-- 
2.47.3


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

* [PATCH v3 03/14] arm64: dts: imx8mp-var-som-symphony: add TPM support
  2026-06-03 14:37 [PATCH v3 00/14] arm64: dts: imx8mp-var-som-symphony: align DTS with hardware revision Stefano Radaelli
  2026-06-03 14:37 ` [PATCH v3 01/14] arm64: dts: imx8mp-var-som-symphony: add input keys Stefano Radaelli
  2026-06-03 14:37 ` [PATCH v3 02/14] arm64: dts: imx8mp-var-som-symphony: enable USB support Stefano Radaelli
@ 2026-06-03 14:37 ` Stefano Radaelli
  2026-06-03 14:37 ` [PATCH v3 04/14] arm64: dts: imx8mp-var-som-symphony: add external RTC Stefano Radaelli
                   ` (10 subsequent siblings)
  13 siblings, 0 replies; 21+ messages in thread
From: Stefano Radaelli @ 2026-06-03 14:37 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.

Enable the I2C4 bus, add the PCAL6408 GPIO expander used by the TPM and
describe the TPM reset line.

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

v1->v2:
 - 

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

diff --git a/arch/arm64/boot/dts/freescale/imx8mp-var-som-symphony.dts b/arch/arm64/boot/dts/freescale/imx8mp-var-som-symphony.dts
index 76928b005826..6c19a63ce405 100644
--- a/arch/arm64/boot/dts/freescale/imx8mp-var-som-symphony.dts
+++ b/arch/arm64/boot/dts/freescale/imx8mp-var-som-symphony.dts
@@ -116,6 +116,31 @@ typec_dr_sw: endpoint {
 	};
 };
 
+&i2c4 {
+	clock-frequency = <400000>;
+	pinctrl-names = "default", "gpio", "sleep";
+	pinctrl-0 = <&pinctrl_i2c4>;
+	pinctrl-1 = <&pinctrl_i2c4_gpio>;
+	pinctrl-2 = <&pinctrl_i2c4_gpio>;
+	scl-gpios = <&gpio5 20 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
+	sda-gpios = <&gpio5 21 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
+	status = "okay";
+
+	pcal6408: gpio@21 {
+		compatible = "nxp,pcal6408";
+		reg = <0x21>;
+		#gpio-cells = <2>;
+		gpio-controller;
+	};
+
+	st33ktpm2xi2c: tpm@2e {
+		compatible = "st,st33ktpm2xi2c", "tcg,tpm-tis-i2c";
+		reg = <0x2e>;
+		label = "tpm";
+		reset-gpios = <&pcal6408 4 GPIO_ACTIVE_LOW>;
+	};
+};
+
 &snvs_pwrkey {
 	status = "okay";
 };
@@ -201,6 +226,20 @@ MX8MP_IOMUXC_I2C3_SDA__GPIO5_IO19				0x1c2
 		>;
 	};
 
+	pinctrl_i2c4: i2c4grp {
+		fsl,pins = <
+			MX8MP_IOMUXC_I2C4_SCL__I2C4_SCL					0x400001c2
+			MX8MP_IOMUXC_I2C4_SDA__I2C4_SDA					0x400001c2
+		>;
+	};
+
+	pinctrl_i2c4_gpio: i2c4gpiogrp {
+		fsl,pins = <
+			MX8MP_IOMUXC_I2C4_SCL__GPIO5_IO20				0x1c2
+			MX8MP_IOMUXC_I2C4_SDA__GPIO5_IO21				0x1c2
+		>;
+	};
+
 	pinctrl_pca9534: pca9534grp {
 		fsl,pins = <
 			MX8MP_IOMUXC_GPIO1_IO15__GPIO1_IO15                             0xc0
-- 
2.47.3


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

* [PATCH v3 04/14] arm64: dts: imx8mp-var-som-symphony: add external RTC
  2026-06-03 14:37 [PATCH v3 00/14] arm64: dts: imx8mp-var-som-symphony: align DTS with hardware revision Stefano Radaelli
                   ` (2 preceding siblings ...)
  2026-06-03 14:37 ` [PATCH v3 03/14] arm64: dts: imx8mp-var-som-symphony: add TPM support Stefano Radaelli
@ 2026-06-03 14:37 ` Stefano Radaelli
  2026-06-03 14:37 ` [PATCH v3 05/14] arm64: dts: imx8mp-var-som-symphony: enable header UARTs Stefano Radaelli
                   ` (9 subsequent siblings)
  13 siblings, 0 replies; 21+ messages in thread
From: Stefano Radaelli @ 2026-06-03 14:37 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 DS1337 RTC on the Symphony carrier board and disable the internal
SNVS RTC.

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

v1->v2:
 - 

 .../arm64/boot/dts/freescale/imx8mp-var-som-symphony.dts | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/arch/arm64/boot/dts/freescale/imx8mp-var-som-symphony.dts b/arch/arm64/boot/dts/freescale/imx8mp-var-som-symphony.dts
index 6c19a63ce405..b15ca44b9a92 100644
--- a/arch/arm64/boot/dts/freescale/imx8mp-var-som-symphony.dts
+++ b/arch/arm64/boot/dts/freescale/imx8mp-var-som-symphony.dts
@@ -139,12 +139,21 @@ st33ktpm2xi2c: tpm@2e {
 		label = "tpm";
 		reset-gpios = <&pcal6408 4 GPIO_ACTIVE_LOW>;
 	};
+
+	rtc@68 {
+		compatible = "dallas,ds1337";
+		reg = <0x68>;
+	};
 };
 
 &snvs_pwrkey {
 	status = "okay";
 };
 
+&snvs_rtc {
+	status = "disabled";
+};
+
 /* Console */
 &uart2 {
 	pinctrl-names = "default";
-- 
2.47.3


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

* [PATCH v3 05/14] arm64: dts: imx8mp-var-som-symphony: enable header UARTs
  2026-06-03 14:37 [PATCH v3 00/14] arm64: dts: imx8mp-var-som-symphony: align DTS with hardware revision Stefano Radaelli
                   ` (3 preceding siblings ...)
  2026-06-03 14:37 ` [PATCH v3 04/14] arm64: dts: imx8mp-var-som-symphony: add external RTC Stefano Radaelli
@ 2026-06-03 14:37 ` Stefano Radaelli
  2026-06-03 14:37 ` [PATCH v3 06/14] arm64: dts: imx8mp-var-som-symphony: enable PCIe Stefano Radaelli
                   ` (8 subsequent siblings)
  13 siblings, 0 replies; 21+ messages in thread
From: Stefano Radaelli @ 2026-06-03 14:37 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 UART1 and UART4 on the Symphony carrier board and add the
corresponding pinctrl configurations.

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

v1->v2:
 - 

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

diff --git a/arch/arm64/boot/dts/freescale/imx8mp-var-som-symphony.dts b/arch/arm64/boot/dts/freescale/imx8mp-var-som-symphony.dts
index b15ca44b9a92..9500c9bf0f42 100644
--- a/arch/arm64/boot/dts/freescale/imx8mp-var-som-symphony.dts
+++ b/arch/arm64/boot/dts/freescale/imx8mp-var-som-symphony.dts
@@ -154,6 +154,13 @@ &snvs_rtc {
 	status = "disabled";
 };
 
+/* Header UART */
+&uart1 {
+	pinctrl-names = "default";
+	pinctrl-0 = <&pinctrl_uart1>;
+	status = "okay";
+};
+
 /* Console */
 &uart2 {
 	pinctrl-names = "default";
@@ -161,6 +168,13 @@ &uart2 {
 	status = "okay";
 };
 
+/* Header UART */
+&uart4 {
+	pinctrl-names = "default";
+	pinctrl-0 = <&pinctrl_uart4>;
+	status = "okay";
+};
+
 &usb3_0 {
 	status = "okay";
 };
@@ -261,6 +275,13 @@ MX8MP_IOMUXC_GPIO1_IO05__GPIO1_IO05				0x10
 		>;
 	};
 
+	pinctrl_uart1: uart1grp {
+		fsl,pins = <
+			MX8MP_IOMUXC_UART1_RXD__UART1_DCE_RX				0x40
+			MX8MP_IOMUXC_UART1_TXD__UART1_DCE_TX				0x40
+		>;
+	};
+
 	pinctrl_uart2: uart2grp {
 		fsl,pins = <
 			MX8MP_IOMUXC_UART2_RXD__UART2_DCE_RX                            0x40
@@ -268,6 +289,13 @@ MX8MP_IOMUXC_UART2_TXD__UART2_DCE_TX                            0x40
 		>;
 	};
 
+	pinctrl_uart4: uart4grp {
+		fsl,pins = <
+			MX8MP_IOMUXC_UART4_RXD__UART4_DCE_RX				0x40
+			MX8MP_IOMUXC_UART4_TXD__UART4_DCE_TX				0x40
+		>;
+	};
+
 	pinctrl_usdhc2_gpio: usdhc2-gpiogrp {
 		fsl,pins = <
 			MX8MP_IOMUXC_GPIO1_IO14__GPIO1_IO14                             0x1c4
-- 
2.47.3


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

* [PATCH v3 06/14] arm64: dts: imx8mp-var-som-symphony: enable PCIe
  2026-06-03 14:37 [PATCH v3 00/14] arm64: dts: imx8mp-var-som-symphony: align DTS with hardware revision Stefano Radaelli
                   ` (4 preceding siblings ...)
  2026-06-03 14:37 ` [PATCH v3 05/14] arm64: dts: imx8mp-var-som-symphony: enable header UARTs Stefano Radaelli
@ 2026-06-03 14:37 ` Stefano Radaelli
  2026-06-03 17:27   ` Frank Li
  2026-06-03 14:37 ` [PATCH v3 07/14] arm64: dts: imx8mp-var-som-symphony: add HDMI support Stefano Radaelli
                   ` (7 subsequent siblings)
  13 siblings, 1 reply; 21+ messages in thread
From: Stefano Radaelli @ 2026-06-03 14:37 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 PCIe reference clock and enable the PCIe controller and PHY on
the Symphony carrier board.

Describe the PERST# reset GPIO and configure the PHY to use an external
reference clock input.

Signed-off-by: Stefano Radaelli <stefano.r@variscite.com>
---
v2->v3:
 - Describe PCIe PERST# reset GPIO

v1->v2:
 - Adjust PCIe controller configuration

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

diff --git a/arch/arm64/boot/dts/freescale/imx8mp-var-som-symphony.dts b/arch/arm64/boot/dts/freescale/imx8mp-var-som-symphony.dts
index 9500c9bf0f42..db0ae706f648 100644
--- a/arch/arm64/boot/dts/freescale/imx8mp-var-som-symphony.dts
+++ b/arch/arm64/boot/dts/freescale/imx8mp-var-som-symphony.dts
@@ -48,6 +48,12 @@ led-0 {
 		};
 	};
 
+	pcie0_refclk: pcie0-refclk {
+		compatible = "fixed-clock";
+		#clock-cells = <0>;
+		clock-frequency = <100000000>;
+	};
+
 	reg_usdhc2_vmmc: regulator-usdhc2-vmmc {
 		compatible = "regulator-fixed";
 		regulator-name = "VSD_3V3";
@@ -146,6 +152,18 @@ rtc@68 {
 	};
 };
 
+&pcie {
+	reset-gpio = <&pcal6408 1 GPIO_ACTIVE_LOW>;
+	status = "okay";
+};
+
+&pcie_phy {
+	clocks = <&pcie0_refclk>;
+	clock-names = "ref";
+	fsl,refclk-pad-mode = <IMX8_PCIE_REFCLK_PAD_INPUT>;
+	status = "okay";
+};
+
 &snvs_pwrkey {
 	status = "okay";
 };
-- 
2.47.3


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

* [PATCH v3 07/14] arm64: dts: imx8mp-var-som-symphony: add HDMI support
  2026-06-03 14:37 [PATCH v3 00/14] arm64: dts: imx8mp-var-som-symphony: align DTS with hardware revision Stefano Radaelli
                   ` (5 preceding siblings ...)
  2026-06-03 14:37 ` [PATCH v3 06/14] arm64: dts: imx8mp-var-som-symphony: enable PCIe Stefano Radaelli
@ 2026-06-03 14:37 ` Stefano Radaelli
  2026-06-03 15:20   ` sashiko-bot
  2026-06-03 14:37 ` [PATCH v3 08/14] arm64: dts: imx8mp-var-som-symphony: add capacitive touchscreen Stefano Radaelli
                   ` (6 subsequent siblings)
  13 siblings, 1 reply; 21+ messages in thread
From: Stefano Radaelli @ 2026-06-03 14:37 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 the HDMI display pipeline and HDMI audio support on the Symphony
carrier board.

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

v1->v2:
 - Add missing HDMI pinctrl configuration
 - Enable LCDIF3 for the HDMI display pipeline

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

diff --git a/arch/arm64/boot/dts/freescale/imx8mp-var-som-symphony.dts b/arch/arm64/boot/dts/freescale/imx8mp-var-som-symphony.dts
index db0ae706f648..f7eebf265fab 100644
--- a/arch/arm64/boot/dts/freescale/imx8mp-var-som-symphony.dts
+++ b/arch/arm64/boot/dts/freescale/imx8mp-var-som-symphony.dts
@@ -48,6 +48,18 @@ led-0 {
 		};
 	};
 
+	native-hdmi-connector {
+		compatible = "hdmi-connector";
+		label = "HDMI OUT";
+		type = "a";
+
+		port {
+			hdmi_in: endpoint {
+				remote-endpoint = <&hdmi_tx_out>;
+			};
+		};
+	};
+
 	pcie0_refclk: pcie0-refclk {
 		compatible = "fixed-clock";
 		#clock-cells = <0>;
@@ -74,6 +86,43 @@ reg_usdhc2_vqmmc: regulator-usdhc2-vqmmc {
 		states = <3300000 0x0 1800000 0x1>;
 		vin-supply = <&ldo5>;
 	};
+
+	sound-hdmi {
+		compatible = "fsl,imx-audio-hdmi";
+		model = "audio-hdmi";
+		audio-cpu = <&aud2htx>;
+		hdmi-out;
+	};
+};
+
+&aud2htx {
+	status = "okay";
+};
+
+&hdmi_pai {
+	status = "okay";
+};
+
+&hdmi_pvi {
+	status = "okay";
+};
+
+&hdmi_tx {
+	pinctrl-names = "default";
+	pinctrl-0 = <&pinctrl_hdmi>;
+	status = "okay";
+
+	ports {
+		port@1 {
+			hdmi_tx_out: endpoint {
+				remote-endpoint = <&hdmi_in>;
+			};
+		};
+	};
+};
+
+&hdmi_tx_phy {
+	status = "okay";
 };
 
 &i2c3 {
@@ -152,6 +201,10 @@ rtc@68 {
 	};
 };
 
+&lcdif3 {
+	status = "okay";
+};
+
 &pcie {
 	reset-gpio = <&pcal6408 1 GPIO_ACTIVE_LOW>;
 	status = "okay";
@@ -253,6 +306,14 @@ &usdhc2 {
 };
 
 &iomuxc {
+	pinctrl_hdmi: hdmigrp {
+		fsl,pins = <
+			MX8MP_IOMUXC_HDMI_DDC_SCL__HDMIMIX_HDMI_SCL			0x1c2
+			MX8MP_IOMUXC_HDMI_DDC_SDA__HDMIMIX_HDMI_SDA			0x1c2
+			MX8MP_IOMUXC_HDMI_CEC__HDMIMIX_HDMI_CEC				0x10
+		>;
+	};
+
 	pinctrl_i2c3: i2c3grp {
 		fsl,pins = <
 			MX8MP_IOMUXC_I2C3_SCL__I2C3_SCL                                 0x400001c2
-- 
2.47.3


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

* [PATCH v3 08/14] arm64: dts: imx8mp-var-som-symphony: add capacitive touchscreen
  2026-06-03 14:37 [PATCH v3 00/14] arm64: dts: imx8mp-var-som-symphony: align DTS with hardware revision Stefano Radaelli
                   ` (6 preceding siblings ...)
  2026-06-03 14:37 ` [PATCH v3 07/14] arm64: dts: imx8mp-var-som-symphony: add HDMI support Stefano Radaelli
@ 2026-06-03 14:37 ` Stefano Radaelli
  2026-06-03 14:37 ` [PATCH v3 09/14] arm64: dts: imx8mp-var-som-symphony: enable ECSPI2 Stefano Radaelli
                   ` (5 subsequent siblings)
  13 siblings, 0 replies; 21+ messages in thread
From: Stefano Radaelli @ 2026-06-03 14:37 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 FT5206 capacitive touchscreen controller on the Symphony carrier
board.
Describe the interrupt pin and touchscreen geometry.

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

v1->v2:
 - 

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

diff --git a/arch/arm64/boot/dts/freescale/imx8mp-var-som-symphony.dts b/arch/arm64/boot/dts/freescale/imx8mp-var-som-symphony.dts
index f7eebf265fab..93098799211b 100644
--- a/arch/arm64/boot/dts/freescale/imx8mp-var-som-symphony.dts
+++ b/arch/arm64/boot/dts/freescale/imx8mp-var-som-symphony.dts
@@ -195,6 +195,21 @@ st33ktpm2xi2c: tpm@2e {
 		reset-gpios = <&pcal6408 4 GPIO_ACTIVE_LOW>;
 	};
 
+	/* Capacitive touch controller */
+	ft5x06_ts: touchscreen@38 {
+		compatible = "edt,edt-ft5206";
+		reg = <0x38>;
+		pinctrl-names = "default";
+		pinctrl-0 = <&pinctrl_captouch>;
+		interrupt-parent = <&gpio5>;
+		interrupts = <3 IRQ_TYPE_EDGE_FALLING>;
+		touchscreen-size-x = <800>;
+		touchscreen-size-y = <480>;
+		touchscreen-inverted-x;
+		touchscreen-inverted-y;
+		wakeup-source;
+	};
+
 	rtc@68 {
 		compatible = "dallas,ds1337";
 		reg = <0x68>;
@@ -306,6 +321,12 @@ &usdhc2 {
 };
 
 &iomuxc {
+	pinctrl_captouch: captouchgrp {
+		fsl,pins = <
+			MX8MP_IOMUXC_SPDIF_TX__GPIO5_IO03				0x16
+		>;
+	};
+
 	pinctrl_hdmi: hdmigrp {
 		fsl,pins = <
 			MX8MP_IOMUXC_HDMI_DDC_SCL__HDMIMIX_HDMI_SCL			0x1c2
-- 
2.47.3


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

* [PATCH v3 09/14] arm64: dts: imx8mp-var-som-symphony: enable ECSPI2
  2026-06-03 14:37 [PATCH v3 00/14] arm64: dts: imx8mp-var-som-symphony: align DTS with hardware revision Stefano Radaelli
                   ` (7 preceding siblings ...)
  2026-06-03 14:37 ` [PATCH v3 08/14] arm64: dts: imx8mp-var-som-symphony: add capacitive touchscreen Stefano Radaelli
@ 2026-06-03 14:37 ` Stefano Radaelli
  2026-06-03 14:37 ` [PATCH v3 10/14] arm64: dts: imx8mp-var-som-symphony: keep RGB_SEL low Stefano Radaelli
                   ` (4 subsequent siblings)
  13 siblings, 0 replies; 21+ messages in thread
From: Stefano Radaelli @ 2026-06-03 14:37 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 the ECSPI2 bus on the Symphony carrier board and add the pinctrl
configuration for the SPI signals and chip select GPIO.

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

v1->v2:
 - 

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

diff --git a/arch/arm64/boot/dts/freescale/imx8mp-var-som-symphony.dts b/arch/arm64/boot/dts/freescale/imx8mp-var-som-symphony.dts
index 93098799211b..9d08785cdae8 100644
--- a/arch/arm64/boot/dts/freescale/imx8mp-var-som-symphony.dts
+++ b/arch/arm64/boot/dts/freescale/imx8mp-var-som-symphony.dts
@@ -99,6 +99,13 @@ &aud2htx {
 	status = "okay";
 };
 
+&ecspi2 {
+	pinctrl-names = "default";
+	pinctrl-0 = <&pinctrl_ecspi2>;
+	cs-gpios = <&gpio5 13 GPIO_ACTIVE_LOW>;
+	status = "okay";
+};
+
 &hdmi_pai {
 	status = "okay";
 };
@@ -327,6 +334,15 @@ MX8MP_IOMUXC_SPDIF_TX__GPIO5_IO03				0x16
 		>;
 	};
 
+	pinctrl_ecspi2: ecspi2grp {
+		fsl,pins = <
+			MX8MP_IOMUXC_ECSPI2_SCLK__ECSPI2_SCLK				0x12
+			MX8MP_IOMUXC_ECSPI2_MOSI__ECSPI2_MOSI				0x12
+			MX8MP_IOMUXC_ECSPI2_MISO__ECSPI2_MISO				0x12
+			MX8MP_IOMUXC_ECSPI2_SS0__GPIO5_IO13				0x12
+		>;
+	};
+
 	pinctrl_hdmi: hdmigrp {
 		fsl,pins = <
 			MX8MP_IOMUXC_HDMI_DDC_SCL__HDMIMIX_HDMI_SCL			0x1c2
-- 
2.47.3


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

* [PATCH v3 10/14] arm64: dts: imx8mp-var-som-symphony: keep RGB_SEL low
  2026-06-03 14:37 [PATCH v3 00/14] arm64: dts: imx8mp-var-som-symphony: align DTS with hardware revision Stefano Radaelli
                   ` (8 preceding siblings ...)
  2026-06-03 14:37 ` [PATCH v3 09/14] arm64: dts: imx8mp-var-som-symphony: enable ECSPI2 Stefano Radaelli
@ 2026-06-03 14:37 ` Stefano Radaelli
  2026-06-03 14:37 ` [PATCH v3 11/14] arm64: dts: imx8mp-var-som-symphony: enable PWM1 Stefano Radaelli
                   ` (3 subsequent siblings)
  13 siblings, 0 replies; 21+ messages in thread
From: Stefano Radaelli @ 2026-06-03 14:37 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>
---
v2->v3:
 - 

v1->v2:
 - 

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

diff --git a/arch/arm64/boot/dts/freescale/imx8mp-var-som-symphony.dts b/arch/arm64/boot/dts/freescale/imx8mp-var-som-symphony.dts
index 9d08785cdae8..06d8dd7a5b54 100644
--- a/arch/arm64/boot/dts/freescale/imx8mp-var-som-symphony.dts
+++ b/arch/arm64/boot/dts/freescale/imx8mp-var-som-symphony.dts
@@ -193,6 +193,14 @@ pcal6408: gpio@21 {
 		reg = <0x21>;
 		#gpio-cells = <2>;
 		gpio-controller;
+
+		/* RGB_SEL */
+		lvds-brg-enable-hog {
+			gpio-hog;
+			gpios = <7 GPIO_ACTIVE_HIGH>;
+			output-low;
+			line-name = "rgb_sel";
+		};
 	};
 
 	st33ktpm2xi2c: tpm@2e {
-- 
2.47.3


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

* [PATCH v3 11/14] arm64: dts: imx8mp-var-som-symphony: enable PWM1
  2026-06-03 14:37 [PATCH v3 00/14] arm64: dts: imx8mp-var-som-symphony: align DTS with hardware revision Stefano Radaelli
                   ` (9 preceding siblings ...)
  2026-06-03 14:37 ` [PATCH v3 10/14] arm64: dts: imx8mp-var-som-symphony: keep RGB_SEL low Stefano Radaelli
@ 2026-06-03 14:37 ` Stefano Radaelli
  2026-06-03 14:37 ` [PATCH v3 12/14] arm64: dts: imx8mp-var-som-symphony: enable CAN Stefano Radaelli
                   ` (2 subsequent siblings)
  13 siblings, 0 replies; 21+ messages in thread
From: Stefano Radaelli @ 2026-06-03 14:37 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 PWM1 on the Symphony carrier board and add the corresponding
pinctrl configuration.

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

v1->v2:
 - 

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

diff --git a/arch/arm64/boot/dts/freescale/imx8mp-var-som-symphony.dts b/arch/arm64/boot/dts/freescale/imx8mp-var-som-symphony.dts
index 06d8dd7a5b54..28424c2405cf 100644
--- a/arch/arm64/boot/dts/freescale/imx8mp-var-som-symphony.dts
+++ b/arch/arm64/boot/dts/freescale/imx8mp-var-som-symphony.dts
@@ -247,6 +247,12 @@ &pcie_phy {
 	status = "okay";
 };
 
+&pwm1 {
+	pinctrl-names = "default";
+	pinctrl-0 = <&pinctrl_pwm1>;
+	status = "okay";
+};
+
 &snvs_pwrkey {
 	status = "okay";
 };
@@ -399,6 +405,12 @@ MX8MP_IOMUXC_GPIO1_IO05__GPIO1_IO05				0x10
 		>;
 	};
 
+	pinctrl_pwm1: pwm1grp {
+		fsl,pins = <
+			MX8MP_IOMUXC_SPDIF_EXT_CLK__PWM1_OUT				0x116
+		>;
+	};
+
 	pinctrl_uart1: uart1grp {
 		fsl,pins = <
 			MX8MP_IOMUXC_UART1_RXD__UART1_DCE_RX				0x40
-- 
2.47.3


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

* [PATCH v3 12/14] arm64: dts: imx8mp-var-som-symphony: enable CAN
  2026-06-03 14:37 [PATCH v3 00/14] arm64: dts: imx8mp-var-som-symphony: align DTS with hardware revision Stefano Radaelli
                   ` (10 preceding siblings ...)
  2026-06-03 14:37 ` [PATCH v3 11/14] arm64: dts: imx8mp-var-som-symphony: enable PWM1 Stefano Radaelli
@ 2026-06-03 14:37 ` Stefano Radaelli
  2026-06-03 14:37 ` [PATCH v3 13/14] arm64: dts: imx8mp-var-som-symphony: add second Ethernet port Stefano Radaelli
  2026-06-03 14:37 ` [PATCH v3 14/14] arm64: dts: freescale: imx8mp-var-som: add I2C1 bus recovery GPIOs Stefano Radaelli
  13 siblings, 0 replies; 21+ messages in thread
From: Stefano Radaelli @ 2026-06-03 14:37 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 the FlexCAN2 controller on the Symphony carrier board and add the
corresponding pinctrl configuration.

Signed-off-by: Stefano Radaelli <stefano.r@variscite.com>
---
v2->v3:
 - Add FlexCAN2 controller support

v1->v2:
 - 

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

diff --git a/arch/arm64/boot/dts/freescale/imx8mp-var-som-symphony.dts b/arch/arm64/boot/dts/freescale/imx8mp-var-som-symphony.dts
index 28424c2405cf..6b2aaf6bae07 100644
--- a/arch/arm64/boot/dts/freescale/imx8mp-var-som-symphony.dts
+++ b/arch/arm64/boot/dts/freescale/imx8mp-var-som-symphony.dts
@@ -106,6 +106,12 @@ &ecspi2 {
 	status = "okay";
 };
 
+&flexcan2 {
+	pinctrl-names = "default";
+	pinctrl-0 = <&pinctrl_flexcan2>;
+	status = "okay";
+};
+
 &hdmi_pai {
 	status = "okay";
 };
@@ -357,6 +363,13 @@ MX8MP_IOMUXC_ECSPI2_SS0__GPIO5_IO13				0x12
 		>;
 	};
 
+	pinctrl_flexcan2: flexcan2grp {
+		fsl,pins = <
+			MX8MP_IOMUXC_UART3_RXD__CAN2_TX					0x154
+			MX8MP_IOMUXC_UART3_TXD__CAN2_RX					0x154
+		>;
+	};
+
 	pinctrl_hdmi: hdmigrp {
 		fsl,pins = <
 			MX8MP_IOMUXC_HDMI_DDC_SCL__HDMIMIX_HDMI_SCL			0x1c2
-- 
2.47.3


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

* [PATCH v3 13/14] arm64: dts: imx8mp-var-som-symphony: add second Ethernet port
  2026-06-03 14:37 [PATCH v3 00/14] arm64: dts: imx8mp-var-som-symphony: align DTS with hardware revision Stefano Radaelli
                   ` (11 preceding siblings ...)
  2026-06-03 14:37 ` [PATCH v3 12/14] arm64: dts: imx8mp-var-som-symphony: enable CAN Stefano Radaelli
@ 2026-06-03 14:37 ` Stefano Radaelli
  2026-06-03 15:51   ` sashiko-bot
  2026-06-03 14:37 ` [PATCH v3 14/14] arm64: dts: freescale: imx8mp-var-som: add I2C1 bus recovery GPIOs Stefano Radaelli
  13 siblings, 1 reply; 21+ messages in thread
From: Stefano Radaelli @ 2026-06-03 14:37 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 support for the second Ethernet interface available on the Symphony
carrier board.

Enable the FEC controller, add the MaxLinear MXL86110 Gigabit Ethernet
PHY on the MDIO bus, describe its reset and power configuration, and add
the required RGMII pinctrl settings.

Signed-off-by: Stefano Radaelli <stefano.r@variscite.com>
---
v2->v3:
 - Add FEC controller and MaxLinear MXL86110 PHY support

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

diff --git a/arch/arm64/boot/dts/freescale/imx8mp-var-som-symphony.dts b/arch/arm64/boot/dts/freescale/imx8mp-var-som-symphony.dts
index 6b2aaf6bae07..f4926ce0aec7 100644
--- a/arch/arm64/boot/dts/freescale/imx8mp-var-som-symphony.dts
+++ b/arch/arm64/boot/dts/freescale/imx8mp-var-som-symphony.dts
@@ -66,6 +66,17 @@ pcie0_refclk: pcie0-refclk {
 		clock-frequency = <100000000>;
 	};
 
+	reg_fec_phy: regulator-fec-phy {
+		compatible = "regulator-fixed";
+		regulator-name = "fec-phy";
+		regulator-min-microvolt = <1800000>;
+		regulator-max-microvolt = <1800000>;
+		regulator-enable-ramp-delay = <20000>;
+		gpio = <&pca9534 7 GPIO_ACTIVE_HIGH>;
+		enable-active-high;
+		regulator-always-on;
+	};
+
 	reg_usdhc2_vmmc: regulator-usdhc2-vmmc {
 		compatible = "regulator-fixed";
 		regulator-name = "VSD_3V3";
@@ -106,6 +117,38 @@ &ecspi2 {
 	status = "okay";
 };
 
+&eqos {
+	mdio {
+		ethphy1: ethernet-phy@5 {
+			compatible = "ethernet-phy-ieee802.3-c22";
+			reg = <5>;
+			reset-gpios = <&pca9534 5 GPIO_ACTIVE_LOW>;
+			reset-assert-us = <10000>;
+			reset-deassert-us = <20000>;
+			vddio-supply = <&vddio1>;
+
+			vddio1: vddio-regulator {
+				regulator-min-microvolt = <1800000>;
+				regulator-max-microvolt = <1800000>;
+			};
+		};
+	};
+};
+
+&fec {
+	pinctrl-names = "default";
+	pinctrl-0 = <&pinctrl_fec>;
+	/*
+	 * The required RGMII TX and RX 2ns delays are implemented directly
+	 * in hardware via passive delay elements on the SOM PCB.
+	 * No delay configuration is needed in software via PHY driver.
+	 */
+	phy-mode = "rgmii";
+	phy-handle = <&ethphy1>;
+	phy-supply = <&reg_fec_phy>;
+	status = "okay";
+};
+
 &flexcan2 {
 	pinctrl-names = "default";
 	pinctrl-0 = <&pinctrl_flexcan2>;
@@ -363,6 +406,23 @@ MX8MP_IOMUXC_ECSPI2_SS0__GPIO5_IO13				0x12
 		>;
 	};
 
+	pinctrl_fec: fecgrp {
+		fsl,pins = <
+			MX8MP_IOMUXC_SAI1_RXD4__ENET1_RGMII_RD0				0x90
+			MX8MP_IOMUXC_SAI1_RXD5__ENET1_RGMII_RD1				0x90
+			MX8MP_IOMUXC_SAI1_RXD6__ENET1_RGMII_RD2				0x90
+			MX8MP_IOMUXC_SAI1_RXD7__ENET1_RGMII_RD3				0x90
+			MX8MP_IOMUXC_SAI1_TXC__ENET1_RGMII_RXC				0x90
+			MX8MP_IOMUXC_SAI1_TXFS__ENET1_RGMII_RX_CTL			0x90
+			MX8MP_IOMUXC_SAI1_TXD0__ENET1_RGMII_TD0				0x00
+			MX8MP_IOMUXC_SAI1_TXD1__ENET1_RGMII_TD1				0x00
+			MX8MP_IOMUXC_SAI1_TXD2__ENET1_RGMII_TD2				0x00
+			MX8MP_IOMUXC_SAI1_TXD3__ENET1_RGMII_TD3				0x00
+			MX8MP_IOMUXC_SAI1_TXD4__ENET1_RGMII_TX_CTL			0x00
+			MX8MP_IOMUXC_SAI1_TXD5__ENET1_RGMII_TXC				0x00
+		>;
+	};
+
 	pinctrl_flexcan2: flexcan2grp {
 		fsl,pins = <
 			MX8MP_IOMUXC_UART3_RXD__CAN2_TX					0x154
-- 
2.47.3


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

* [PATCH v3 14/14] arm64: dts: freescale: imx8mp-var-som: add I2C1 bus recovery GPIOs
  2026-06-03 14:37 [PATCH v3 00/14] arm64: dts: imx8mp-var-som-symphony: align DTS with hardware revision Stefano Radaelli
                   ` (12 preceding siblings ...)
  2026-06-03 14:37 ` [PATCH v3 13/14] arm64: dts: imx8mp-var-som-symphony: add second Ethernet port Stefano Radaelli
@ 2026-06-03 14:37 ` Stefano Radaelli
  13 siblings, 0 replies; 21+ messages in thread
From: Stefano Radaelli @ 2026-06-03 14:37 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 GPIO pinctrl state and GPIO descriptors required for I2C1 bus
recovery on the VAR-SOM-MX8M-PLUS.

This allows the I2C controller to recover the bus if SDA or SCL are held
low by a device.

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

 arch/arm64/boot/dts/freescale/imx8mp-var-som.dtsi | 12 +++++++++++-
 1 file changed, 11 insertions(+), 1 deletion(-)

diff --git a/arch/arm64/boot/dts/freescale/imx8mp-var-som.dtsi b/arch/arm64/boot/dts/freescale/imx8mp-var-som.dtsi
index 49467b48d0b0..61786eee0e82 100644
--- a/arch/arm64/boot/dts/freescale/imx8mp-var-som.dtsi
+++ b/arch/arm64/boot/dts/freescale/imx8mp-var-som.dtsi
@@ -180,8 +180,11 @@ led@1 {
 
 &i2c1 {
 	clock-frequency = <400000>;
-	pinctrl-names = "default";
+	pinctrl-names = "default", "gpio";
 	pinctrl-0 = <&pinctrl_i2c1>;
+	pinctrl-1 = <&pinctrl_i2c1_gpio>;
+	scl-gpios = <&gpio2 6 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
+	sda-gpios = <&gpio2 7 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
 	status = "okay";
 
 	pmic@25 {
@@ -415,6 +418,13 @@ MX8MP_IOMUXC_SD1_DATA5__I2C1_SDA				0x400001c2
 		>;
 	};
 
+	pinctrl_i2c1_gpio: i2c1gpiogrp {
+		fsl,pins = <
+			MX8MP_IOMUXC_SD1_DATA4__GPIO2_IO06				0x1c2
+			MX8MP_IOMUXC_SD1_DATA5__GPIO2_IO07				0x1c2
+		>;
+	};
+
 	pinctrl_pmic: pmicgrp {
 		fsl,pins = <
 			MX8MP_IOMUXC_SPDIF_RX__GPIO5_IO04				0x1c0
-- 
2.47.3


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

* Re: [PATCH v3 02/14] arm64: dts: imx8mp-var-som-symphony: enable USB support
  2026-06-03 14:37 ` [PATCH v3 02/14] arm64: dts: imx8mp-var-som-symphony: enable USB support Stefano Radaelli
@ 2026-06-03 14:50   ` sashiko-bot
  2026-06-03 16:35     ` Frank Li
  0 siblings, 1 reply; 21+ messages in thread
From: sashiko-bot @ 2026-06-03 14:50 UTC (permalink / raw)
  To: Stefano Radaelli; +Cc: conor+dt, robh, Frank.Li, imx, devicetree

Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
- [Low] Invalid interrupt trigger type (IRQ_TYPE_NONE) specified for the PTN5150 Type-C controller.
--

commit 5a2bed0fe2fb89d900dd21def4f8d915e89c7039
Author: Stefano Radaelli <stefano.r@variscite.com>

arm64: dts: imx8mp-var-som-symphony: enable USB support

This commit enables USB support on the Symphony carrier board. It configures
the PTN5150 Type-C controller, enables the USB3 controllers and PHYs, and sets
up the appropriate I2C and GPIO bindings.

> diff --git a/arch/arm64/boot/dts/freescale/imx8mp-var-som-symphony.dts b/arch/arm64/boot/dts/freescale/imx8mp-var-som-symphony.dts
> index 25f707012f62c..76928b0058265 100644
> --- a/arch/arm64/boot/dts/freescale/imx8mp-var-som-symphony.dts
> +++ b/arch/arm64/boot/dts/freescale/imx8mp-var-som-symphony.dts

[ ... ]

> @@ -95,6 +98,22 @@ usb3-sata-sel-hog {
>  			line-name = "usb3_sata_sel";
>  		};
>  	};
> +
> +	/* USB Type-C Controller */
> +	typec@3d {
> +		compatible = "nxp,ptn5150";
> +		reg = <0x3d>;
> +		pinctrl-names = "default";
> +		pinctrl-0 = <&pinctrl_ptn5150>;
> +		interrupt-parent = <&gpio1>;
> +		interrupts = <5 IRQ_TYPE_NONE>;

[Severity: Low]
Is IRQ_TYPE_NONE the correct trigger type to describe this hardware?

While the extcon-ptn5150 driver hardcodes IRQF_TRIGGER_FALLING when requesting
the interrupt (which mitigates this on Linux), device trees should accurately
describe the hardware independently of driver defaults. 

Would it be better to explicitly specify the active-low or falling-edge
interrupt trigger (e.g., IRQ_TYPE_LEVEL_LOW or IRQ_TYPE_EDGE_FALLING) in
the typec@3d node instead of leaving it unconfigured?

> +
> +		port {
> +			typec_dr_sw: endpoint {
> +				remote-endpoint = <&usb3_drd_sw>;
> +			};
> +		};
> +	};
>  };

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

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

* Re: [PATCH v3 07/14] arm64: dts: imx8mp-var-som-symphony: add HDMI support
  2026-06-03 14:37 ` [PATCH v3 07/14] arm64: dts: imx8mp-var-som-symphony: add HDMI support Stefano Radaelli
@ 2026-06-03 15:20   ` sashiko-bot
  0 siblings, 0 replies; 21+ messages in thread
From: sashiko-bot @ 2026-06-03 15:20 UTC (permalink / raw)
  To: Stefano Radaelli; +Cc: Frank.Li, imx, robh, conor+dt, devicetree

Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
- [Medium] The HDMI Hot Plug Detect (HPD) pin configuration is missing from the pinctrl group, breaking HDMI display detection.
--

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

arm64: dts: imx8mp-var-som-symphony: add HDMI support

Enable the HDMI display pipeline and HDMI audio support on the Symphony
carrier board.

> diff --git a/arch/arm64/boot/dts/freescale/imx8mp-var-som-symphony.dts b/arch/arm64/boot/dts/freescale/imx8mp-var-som-symphony.dts
> index db0ae706f6487..f7eebf265fab2 100644
> --- a/arch/arm64/boot/dts/freescale/imx8mp-var-som-symphony.dts
> +++ b/arch/arm64/boot/dts/freescale/imx8mp-var-som-symphony.dts

[ ... ]

> @@ -253,6 +306,14 @@ &usdhc2 {
>  };
>  
>  &iomuxc {
> +	pinctrl_hdmi: hdmigrp {
> +		fsl,pins = <
> +			MX8MP_IOMUXC_HDMI_DDC_SCL__HDMIMIX_HDMI_SCL			0x1c2
> +			MX8MP_IOMUXC_HDMI_DDC_SDA__HDMIMIX_HDMI_SDA			0x1c2
> +			MX8MP_IOMUXC_HDMI_CEC__HDMIMIX_HDMI_CEC				0x10

[Severity: Medium]
Will this configuration allow the driver to reliably detect monitor hotplug
events?

It appears the Hot Plug Detect (HPD) pin configuration (such as
MX8MP_IOMUXC_HDMI_HPD__HDMIMIX_HDMI_HPD) is missing from this pinctrl group,
and there is no hpd-gpios property specified for the HDMI node. Without a
configured HPD pin, the display driver may fail to detect when a monitor is
connected, potentially leaving the display undetected or blank.

> +		>;
> +	};
> +
>  	pinctrl_i2c3: i2c3grp {
>  		fsl,pins = <
>  			MX8MP_IOMUXC_I2C3_SCL__I2C3_SCL                                 0x400001c2

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

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

* Re: [PATCH v3 13/14] arm64: dts: imx8mp-var-som-symphony: add second Ethernet port
  2026-06-03 14:37 ` [PATCH v3 13/14] arm64: dts: imx8mp-var-som-symphony: add second Ethernet port Stefano Radaelli
@ 2026-06-03 15:51   ` sashiko-bot
  2026-06-03 17:33     ` Frank Li
  0 siblings, 1 reply; 21+ messages in thread
From: sashiko-bot @ 2026-06-03 15:51 UTC (permalink / raw)
  To: Stefano Radaelli; +Cc: conor+dt, robh, Frank.Li, imx, devicetree

Thank you for your contribution! Sashiko AI review found 3 potential issue(s) to consider:
- [High] RGMII TX pads are configured with lowest drive strength and slow slew rate, degrading the 125MHz Gigabit Ethernet transmission.
- [High] Race condition in PHY power initialization due to misplaced `phy-supply`.
- [Medium] The `vddio-regulator` subnode inside `ethphy1` lacks a `compatible` string and will be ignored by the regulator core.
--

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

arm64: dts: imx8mp-var-som-symphony: add second Ethernet port

Add support for the second Ethernet interface available on the Symphony
carrier board. Enable the FEC controller, add the MaxLinear MXL86110 Gigabit
Ethernet PHY on the MDIO bus, describe its reset and power configuration, and
add the required RGMII pinctrl settings.

> diff --git a/arch/arm64/boot/dts/freescale/imx8mp-var-som-symphony.dts b/arch/arm64/boot/dts/freescale/imx8mp-var-som-symphony.dts
> index 6b2aaf6bae071..f4926ce0aec7e 100644
> --- a/arch/arm64/boot/dts/freescale/imx8mp-var-som-symphony.dts
> +++ b/arch/arm64/boot/dts/freescale/imx8mp-var-som-symphony.dts

[ ... ]

> @@ -106,6 +117,38 @@ &ecspi2 {
>  	status = "okay";
>  };
>  
> +&eqos {
> +	mdio {
> +		ethphy1: ethernet-phy@5 {
> +			compatible = "ethernet-phy-ieee802.3-c22";
> +			reg = <5>;
> +			reset-gpios = <&pca9534 5 GPIO_ACTIVE_LOW>;
> +			reset-assert-us = <10000>;
> +			reset-deassert-us = <20000>;
> +			vddio-supply = <&vddio1>;
> +
> +			vddio1: vddio-regulator {
> +				regulator-min-microvolt = <1800000>;
> +				regulator-max-microvolt = <1800000>;
> +			};

[Severity: Medium]
Does this subnode need a compatible string?

Without a string like "regulator-fixed", the Linux regulator framework might
not instantiate a regulator device for this node, rendering the vddio-supply
reference dead.

> +		};
> +	};
> +};
> +
> +&fec {
> +	pinctrl-names = "default";
> +	pinctrl-0 = <&pinctrl_fec>;
> +	/*
> +	 * The required RGMII TX and RX 2ns delays are implemented directly
> +	 * in hardware via passive delay elements on the SOM PCB.
> +	 * No delay configuration is needed in software via PHY driver.
> +	 */
> +	phy-mode = "rgmii";
> +	phy-handle = <&ethphy1>;
> +	phy-supply = <&reg_fec_phy>;

[Severity: High]
Can this cause a race condition during PHY power initialization?

Since the phy-supply is assigned to the fec MAC node while the PHY is on the
eqos MDIO bus, eqos could probe and scan the MDIO bus before reg_fec_phy
powers up the PHY. Should phy-supply be placed inside the ethphy1 node to
ensure proper probe ordering?

> +	status = "okay";
> +};

[ ... ]

> @@ -363,6 +406,23 @@ MX8MP_IOMUXC_ECSPI2_SS0__GPIO5_IO13				0x12
>  		>;
>  	};
>  
> +	pinctrl_fec: fecgrp {
> +		fsl,pins = <
> +			MX8MP_IOMUXC_SAI1_RXD4__ENET1_RGMII_RD0				0x90
> +			MX8MP_IOMUXC_SAI1_RXD5__ENET1_RGMII_RD1				0x90
> +			MX8MP_IOMUXC_SAI1_RXD6__ENET1_RGMII_RD2				0x90
> +			MX8MP_IOMUXC_SAI1_RXD7__ENET1_RGMII_RD3				0x90
> +			MX8MP_IOMUXC_SAI1_TXC__ENET1_RGMII_RXC				0x90
> +			MX8MP_IOMUXC_SAI1_TXFS__ENET1_RGMII_RX_CTL			0x90
> +			MX8MP_IOMUXC_SAI1_TXD0__ENET1_RGMII_TD0				0x00
> +			MX8MP_IOMUXC_SAI1_TXD1__ENET1_RGMII_TD1				0x00
> +			MX8MP_IOMUXC_SAI1_TXD2__ENET1_RGMII_TD2				0x00
> +			MX8MP_IOMUXC_SAI1_TXD3__ENET1_RGMII_TD3				0x00
> +			MX8MP_IOMUXC_SAI1_TXD4__ENET1_RGMII_TX_CTL			0x00
> +			MX8MP_IOMUXC_SAI1_TXD5__ENET1_RGMII_TXC				0x00

[Severity: High]
Are these pad control values correct?

On the i.MX8MP, 0x00 maps to DSE_X1 (lowest drive strength) and FSEL=0 (slow
slew rate). For 125 MHz Gigabit Ethernet, could this cause severe signal edge
rounding and potential failure to negotiate a link?

> +		>;
> +	};

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

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

* Re: [PATCH v3 02/14] arm64: dts: imx8mp-var-som-symphony: enable USB support
  2026-06-03 14:50   ` sashiko-bot
@ 2026-06-03 16:35     ` Frank Li
  0 siblings, 0 replies; 21+ messages in thread
From: Frank Li @ 2026-06-03 16:35 UTC (permalink / raw)
  To: sashiko-reviews
  Cc: Stefano Radaelli, conor+dt, robh, Frank.Li, imx, devicetree

On Wed, Jun 03, 2026 at 02:50:18PM +0000, sashiko-bot@kernel.org wrote:
> Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
> - [Low] Invalid interrupt trigger type (IRQ_TYPE_NONE) specified for the PTN5150 Type-C controller.
> --
>
> commit 5a2bed0fe2fb89d900dd21def4f8d915e89c7039
> Author: Stefano Radaelli <stefano.r@variscite.com>
>
> arm64: dts: imx8mp-var-som-symphony: enable USB support
>
> This commit enables USB support on the Symphony carrier board. It configures
> the PTN5150 Type-C controller, enables the USB3 controllers and PHYs, and sets
> up the appropriate I2C and GPIO bindings.
>
> > diff --git a/arch/arm64/boot/dts/freescale/imx8mp-var-som-symphony.dts b/arch/arm64/boot/dts/freescale/imx8mp-var-som-symphony.dts
> > index 25f707012f62c..76928b0058265 100644
> > --- a/arch/arm64/boot/dts/freescale/imx8mp-var-som-symphony.dts
> > +++ b/arch/arm64/boot/dts/freescale/imx8mp-var-som-symphony.dts
>
> [ ... ]
>
> > @@ -95,6 +98,22 @@ usb3-sata-sel-hog {
> >  			line-name = "usb3_sata_sel";
> >  		};
> >  	};
> > +
> > +	/* USB Type-C Controller */
> > +	typec@3d {
> > +		compatible = "nxp,ptn5150";
> > +		reg = <0x3d>;
> > +		pinctrl-names = "default";
> > +		pinctrl-0 = <&pinctrl_ptn5150>;
> > +		interrupt-parent = <&gpio1>;
> > +		interrupts = <5 IRQ_TYPE_NONE>;
>
> [Severity: Low]
> Is IRQ_TYPE_NONE the correct trigger type to describe this hardware?
>
> While the extcon-ptn5150 driver hardcodes IRQF_TRIGGER_FALLING when requesting
> the interrupt (which mitigates this on Linux), device trees should accurately
> describe the hardware independently of driver defaults.
>
> Would it be better to explicitly specify the active-low or falling-edge
> interrupt trigger (e.g., IRQ_TYPE_LEVEL_LOW or IRQ_TYPE_EDGE_FALLING) in
> the typec@3d node instead of leaving it unconfigured?

Looks make sense, why use IRQ_TYPE_NONE?

Frank

>
> > +
> > +		port {
> > +			typec_dr_sw: endpoint {
> > +				remote-endpoint = <&usb3_drd_sw>;
> > +			};
> > +		};
> > +	};
> >  };
>
> --
> Sashiko AI review · https://sashiko.dev/#/patchset/cover.1780497188.git.stefano.r@variscite.com?part=2

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

* Re: [PATCH v3 06/14] arm64: dts: imx8mp-var-som-symphony: enable PCIe
  2026-06-03 14:37 ` [PATCH v3 06/14] arm64: dts: imx8mp-var-som-symphony: enable PCIe Stefano Radaelli
@ 2026-06-03 17:27   ` Frank Li
  0 siblings, 0 replies; 21+ messages in thread
From: Frank Li @ 2026-06-03 17:27 UTC (permalink / raw)
  To: Stefano Radaelli
  Cc: linux-kernel, devicetree, imx, linux-arm-kernel, pierluigi.p,
	Stefano Radaelli, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
	Sascha Hauer, Pengutronix Kernel Team, Fabio Estevam

On Wed, Jun 03, 2026 at 04:37:13PM +0200, Stefano Radaelli wrote:
> From: Stefano Radaelli <stefano.r@variscite.com>
>
> Add the PCIe reference clock and enable the PCIe controller and PHY on
> the Symphony carrier board.
>
> Describe the PERST# reset GPIO and configure the PHY to use an external
> reference clock input.
>
> Signed-off-by: Stefano Radaelli <stefano.r@variscite.com>
> ---
> v2->v3:
>  - Describe PCIe PERST# reset GPIO
>
> v1->v2:
>  - Adjust PCIe controller configuration
>
>  .../dts/freescale/imx8mp-var-som-symphony.dts  | 18 ++++++++++++++++++
>  1 file changed, 18 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/freescale/imx8mp-var-som-symphony.dts b/arch/arm64/boot/dts/freescale/imx8mp-var-som-symphony.dts
> index 9500c9bf0f42..db0ae706f648 100644
> --- a/arch/arm64/boot/dts/freescale/imx8mp-var-som-symphony.dts
> +++ b/arch/arm64/boot/dts/freescale/imx8mp-var-som-symphony.dts
> @@ -48,6 +48,12 @@ led-0 {
>  		};
>  	};
>
> +	pcie0_refclk: pcie0-refclk {
> +		compatible = "fixed-clock";
> +		#clock-cells = <0>;
> +		clock-frequency = <100000000>;
> +	};
> +
>  	reg_usdhc2_vmmc: regulator-usdhc2-vmmc {
>  		compatible = "regulator-fixed";
>  		regulator-name = "VSD_3V3";
> @@ -146,6 +152,18 @@ rtc@68 {
>  	};
>  };
>
> +&pcie {
> +	reset-gpio = <&pcal6408 1 GPIO_ACTIVE_LOW>;

Please new reset-gpios

see https://patchwork.kernel.org/project/imx/patch/20260312-dts-snps-reset-gpios-v2-1-0d5040eb4a1e@oss.qualcomm.com/

Frank
> +	status = "okay";
> +};
> +
> +&pcie_phy {
> +	clocks = <&pcie0_refclk>;
> +	clock-names = "ref";
> +	fsl,refclk-pad-mode = <IMX8_PCIE_REFCLK_PAD_INPUT>;
> +	status = "okay";
> +};
> +
>  &snvs_pwrkey {
>  	status = "okay";
>  };
> --
> 2.47.3
>

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

* Re: [PATCH v3 13/14] arm64: dts: imx8mp-var-som-symphony: add second Ethernet port
  2026-06-03 15:51   ` sashiko-bot
@ 2026-06-03 17:33     ` Frank Li
  0 siblings, 0 replies; 21+ messages in thread
From: Frank Li @ 2026-06-03 17:33 UTC (permalink / raw)
  To: sashiko-reviews
  Cc: Stefano Radaelli, conor+dt, robh, Frank.Li, imx, devicetree

On Wed, Jun 03, 2026 at 03:51:35PM +0000, sashiko-bot@kernel.org wrote:
> Thank you for your contribution! Sashiko AI review found 3 potential issue(s) to consider:
> - [High] RGMII TX pads are configured with lowest drive strength and slow slew rate, degrading the 125MHz Gigabit Ethernet transmission.
> - [High] Race condition in PHY power initialization due to misplaced `phy-supply`.
> - [Medium] The `vddio-regulator` subnode inside `ethphy1` lacks a `compatible` string and will be ignored by the regulator core.
> --
>
> commit fb47dd91efd03a99780078ebbf8ddbd840e641f1
> Author: Stefano Radaelli <stefano.r@variscite.com>
>
> arm64: dts: imx8mp-var-som-symphony: add second Ethernet port
>
> Add support for the second Ethernet interface available on the Symphony
> carrier board. Enable the FEC controller, add the MaxLinear MXL86110 Gigabit
> Ethernet PHY on the MDIO bus, describe its reset and power configuration, and
> add the required RGMII pinctrl settings.
>
> > diff --git a/arch/arm64/boot/dts/freescale/imx8mp-var-som-symphony.dts b/arch/arm64/boot/dts/freescale/imx8mp-var-som-symphony.dts
> > index 6b2aaf6bae071..f4926ce0aec7e 100644
> > --- a/arch/arm64/boot/dts/freescale/imx8mp-var-som-symphony.dts
> > +++ b/arch/arm64/boot/dts/freescale/imx8mp-var-som-symphony.dts
>
> [ ... ]
>
> > @@ -106,6 +117,38 @@ &ecspi2 {
> >  	status = "okay";
> >  };
> >
> > +&eqos {
> > +	mdio {
> > +		ethphy1: ethernet-phy@5 {
> > +			compatible = "ethernet-phy-ieee802.3-c22";
> > +			reg = <5>;
> > +			reset-gpios = <&pca9534 5 GPIO_ACTIVE_LOW>;
> > +			reset-assert-us = <10000>;
> > +			reset-deassert-us = <20000>;
> > +			vddio-supply = <&vddio1>;
> > +
> > +			vddio1: vddio-regulator {
> > +				regulator-min-microvolt = <1800000>;
> > +				regulator-max-microvolt = <1800000>;
> > +			};
>
> [Severity: Medium]
> Does this subnode need a compatible string?
>
> Without a string like "regulator-fixed", the Linux regulator framework might
> not instantiate a regulator device for this node, rendering the vddio-supply
> reference dead.

It should be correct, and move vddio-regulator into root {/}

>
> > +		};
> > +	};
> > +};
> > +
> > +&fec {
> > +	pinctrl-names = "default";
> > +	pinctrl-0 = <&pinctrl_fec>;
> > +	/*
> > +	 * The required RGMII TX and RX 2ns delays are implemented directly
> > +	 * in hardware via passive delay elements on the SOM PCB.
> > +	 * No delay configuration is needed in software via PHY driver.
> > +	 */
> > +	phy-mode = "rgmii";
> > +	phy-handle = <&ethphy1>;
> > +	phy-supply = <&reg_fec_phy>;
>
> [Severity: High]
> Can this cause a race condition during PHY power initialization?
>
> Since the phy-supply is assigned to the fec MAC node while the PHY is on the
> eqos MDIO bus, eqos could probe and scan the MDIO bus before reg_fec_phy
> powers up the PHY. Should phy-supply be placed inside the ethphy1 node to
> ensure proper probe ordering?

look like make sense.

Frank
>
> > +	status = "okay";
> > +};
>
> [ ... ]
>
> > @@ -363,6 +406,23 @@ MX8MP_IOMUXC_ECSPI2_SS0__GPIO5_IO13				0x12
> >  		>;
> >  	};
> >
> > +	pinctrl_fec: fecgrp {
> > +		fsl,pins = <
> > +			MX8MP_IOMUXC_SAI1_RXD4__ENET1_RGMII_RD0				0x90
> > +			MX8MP_IOMUXC_SAI1_RXD5__ENET1_RGMII_RD1				0x90
> > +			MX8MP_IOMUXC_SAI1_RXD6__ENET1_RGMII_RD2				0x90
> > +			MX8MP_IOMUXC_SAI1_RXD7__ENET1_RGMII_RD3				0x90
> > +			MX8MP_IOMUXC_SAI1_TXC__ENET1_RGMII_RXC				0x90
> > +			MX8MP_IOMUXC_SAI1_TXFS__ENET1_RGMII_RX_CTL			0x90
> > +			MX8MP_IOMUXC_SAI1_TXD0__ENET1_RGMII_TD0				0x00
> > +			MX8MP_IOMUXC_SAI1_TXD1__ENET1_RGMII_TD1				0x00
> > +			MX8MP_IOMUXC_SAI1_TXD2__ENET1_RGMII_TD2				0x00
> > +			MX8MP_IOMUXC_SAI1_TXD3__ENET1_RGMII_TD3				0x00
> > +			MX8MP_IOMUXC_SAI1_TXD4__ENET1_RGMII_TX_CTL			0x00
> > +			MX8MP_IOMUXC_SAI1_TXD5__ENET1_RGMII_TXC				0x00
>
> [Severity: High]
> Are these pad control values correct?
>
> On the i.MX8MP, 0x00 maps to DSE_X1 (lowest drive strength) and FSEL=0 (slow
> slew rate). For 125 MHz Gigabit Ethernet, could this cause severe signal edge
> rounding and potential failure to negotiate a link?
>
> > +		>;
> > +	};
>
> --
> Sashiko AI review · https://sashiko.dev/#/patchset/cover.1780497188.git.stefano.r@variscite.com?part=13

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

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

Thread overview: 21+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-06-03 14:37 [PATCH v3 00/14] arm64: dts: imx8mp-var-som-symphony: align DTS with hardware revision Stefano Radaelli
2026-06-03 14:37 ` [PATCH v3 01/14] arm64: dts: imx8mp-var-som-symphony: add input keys Stefano Radaelli
2026-06-03 14:37 ` [PATCH v3 02/14] arm64: dts: imx8mp-var-som-symphony: enable USB support Stefano Radaelli
2026-06-03 14:50   ` sashiko-bot
2026-06-03 16:35     ` Frank Li
2026-06-03 14:37 ` [PATCH v3 03/14] arm64: dts: imx8mp-var-som-symphony: add TPM support Stefano Radaelli
2026-06-03 14:37 ` [PATCH v3 04/14] arm64: dts: imx8mp-var-som-symphony: add external RTC Stefano Radaelli
2026-06-03 14:37 ` [PATCH v3 05/14] arm64: dts: imx8mp-var-som-symphony: enable header UARTs Stefano Radaelli
2026-06-03 14:37 ` [PATCH v3 06/14] arm64: dts: imx8mp-var-som-symphony: enable PCIe Stefano Radaelli
2026-06-03 17:27   ` Frank Li
2026-06-03 14:37 ` [PATCH v3 07/14] arm64: dts: imx8mp-var-som-symphony: add HDMI support Stefano Radaelli
2026-06-03 15:20   ` sashiko-bot
2026-06-03 14:37 ` [PATCH v3 08/14] arm64: dts: imx8mp-var-som-symphony: add capacitive touchscreen Stefano Radaelli
2026-06-03 14:37 ` [PATCH v3 09/14] arm64: dts: imx8mp-var-som-symphony: enable ECSPI2 Stefano Radaelli
2026-06-03 14:37 ` [PATCH v3 10/14] arm64: dts: imx8mp-var-som-symphony: keep RGB_SEL low Stefano Radaelli
2026-06-03 14:37 ` [PATCH v3 11/14] arm64: dts: imx8mp-var-som-symphony: enable PWM1 Stefano Radaelli
2026-06-03 14:37 ` [PATCH v3 12/14] arm64: dts: imx8mp-var-som-symphony: enable CAN Stefano Radaelli
2026-06-03 14:37 ` [PATCH v3 13/14] arm64: dts: imx8mp-var-som-symphony: add second Ethernet port Stefano Radaelli
2026-06-03 15:51   ` sashiko-bot
2026-06-03 17:33     ` Frank Li
2026-06-03 14:37 ` [PATCH v3 14/14] arm64: dts: freescale: imx8mp-var-som: add I2C1 bus recovery GPIOs Stefano Radaelli

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