Skip to contentSkip to conversation

arm64: dts: Mark Variscite i.MX9 I2C recovery GPIOs as open drain

PATCH Applied Stefano Radaelli 3 participants 8 messages Oct 18 – Oct 27

Subsystems (2)
lore
Share & tools
lore
#0 lore raw

cover arm64: dts: Mark Variscite i.MX9 I2C recovery GPIOs as open drain

The I2C recovery GPIOs on VAR-SOM-MX91 and VAR-SOM-MX93, including their Symphony carrier boards, are missing the open-drain flag.

This series adds GPIO_OPEN_DRAIN to the SCL and SDA GPIO specifiers to match the I2C bus requirements and avoid the warning emitted when the I2C core enforces open-drain operation on SCL.

Stefano Radaelli (4):
arm64: dts: imx91-var-som: Mark I2C recovery GPIOs as open drain
arm64: dts: imx91-var-som-symphony: Mark I2C recovery GPIOs as open
drain
arm64: dts: imx93-var-som: Mark I2C recovery GPIOs as open drain
arm64: dts: imx93-var-som-symphony: Mark I2C recovery GPIOs as open
drain

 arch/arm64/boot/dts/freescale/imx91-var-som-symphony.dts | 4 ++--
 arch/arm64/boot/dts/freescale/imx91-var-som.dtsi         | 4 ++--
 arch/arm64/boot/dts/freescale/imx93-var-som-symphony.dts | 8 ++++----
 arch/arm64/boot/dts/freescale/imx93-var-som.dtsi         | 4 ++--
 4 files changed, 10 insertions(+), 10 deletions(-)

base-commit: 31f9ec9f38735f42e1f0ba57347c420e56b99824

Signature · 1 line
2.47.3
#1 lore raw

PATCH 1/4 arm64: dts: imx91-var-som: Mark I2C recovery GPIOs as open drain

From: Stefano Radaelli <[email protected]>

Mark the SCL and SDA GPIOs used for LPI2C3 bus recovery as open drain to match the I2C bus requirements.
This also avoids the warning emitted when the I2C core enforces open-drain operation on SCL.

---
 arch/arm64/boot/dts/freescale/imx91-var-som.dtsi | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
arch/arm64/boot/dts/freescale/imx91-var-som.dtsi +2 -2
index b30a0d8a81ba..a90a784f1966 100644
@@ -89,8 +89,8 @@ &lpi2c3 {
 	pinctrl-0 = <&pinctrl_lpi2c3>;
 	pinctrl-1 = <&pinctrl_lpi2c3_gpio>;
 	pinctrl-2 = <&pinctrl_lpi2c3_gpio>;
-	scl-gpios = <&gpio2 29 GPIO_ACTIVE_HIGH>;
-	sda-gpios = <&gpio2 28 GPIO_ACTIVE_HIGH>;
+	scl-gpios = <&gpio2 29 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
+	sda-gpios = <&gpio2 28 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
 	status = "okay";
 
 	pmic@25 {
Signature · 1 line
2.47.3
#2 lore raw

PATCH 2/4 arm64: dts: imx91-var-som-symphony: Mark I2C recovery GPIOs as open drain

In reply to Stefano Radaelli

From: Stefano Radaelli <[email protected]>

Mark the SCL and SDA GPIOs used for LPI2C1 bus recovery as open drain to match the I2C bus requirements.
This also avoids the warning emitted when the I2C core enforces open-drain operation on SCL.

---
 arch/arm64/boot/dts/freescale/imx91-var-som-symphony.dts | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
arch/arm64/boot/dts/freescale/imx91-var-som-symphony.dts +2 -2
index c1e6c9978275..437a23840898 100644
@@ -224,8 +224,8 @@ &lpi2c1 {
 	pinctrl-0 = <&pinctrl_lpi2c1>;
 	pinctrl-1 = <&pinctrl_lpi2c1_gpio>;
 	pinctrl-2 = <&pinctrl_lpi2c1_gpio>;
-	scl-gpios = <&gpio1 0 GPIO_ACTIVE_HIGH>;
-	sda-gpios = <&gpio1 1 GPIO_ACTIVE_HIGH>;
+	scl-gpios = <&gpio1 0 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
+	sda-gpios = <&gpio1 1 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
 	status = "okay";
 
 	pca9534: gpio@20 {
Signature · 1 line
2.47.3
#3 lore raw

PATCH 3/4 arm64: dts: imx93-var-som: Mark I2C recovery GPIOs as open drain

In reply to Stefano Radaelli

From: Stefano Radaelli <[email protected]>

Mark the SCL and SDA GPIOs used for LPI2C3 bus recovery as open drain to match the I2C bus requirements.
This also avoids the warning emitted when the I2C core enforces open-drain operation on SCL.

---
 arch/arm64/boot/dts/freescale/imx93-var-som.dtsi | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
arch/arm64/boot/dts/freescale/imx93-var-som.dtsi +2 -2
index 24063bf8183d..b0ffcb534cb6 100644
@@ -104,8 +104,8 @@ &lpi2c3 {
 	pinctrl-0 = <&pinctrl_lpi2c3>;
 	pinctrl-1 = <&pinctrl_lpi2c3_gpio>;
 	pinctrl-2 = <&pinctrl_lpi2c3_gpio>;
-	scl-gpios = <&gpio2 29 GPIO_ACTIVE_HIGH>;
-	sda-gpios = <&gpio2 28 GPIO_ACTIVE_HIGH>;
+	scl-gpios = <&gpio2 29 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
+	sda-gpios = <&gpio2 28 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
 	status = "okay";
 
 	pmic@25 {
Signature · 1 line
2.47.3
#4 lore raw

PATCH 4/4 arm64: dts: imx93-var-som-symphony: Mark I2C recovery GPIOs as open drain

In reply to Stefano Radaelli

From: Stefano Radaelli <[email protected]>

Mark the SCL and SDA GPIOs used for LPI2C1 and LPI2C5 bus recovery as open drain to match the I2C bus requirements.
This also avoids the warning emitted when the I2C core enforces open-drain operation on SCL.

---
 arch/arm64/boot/dts/freescale/imx93-var-som-symphony.dts | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)
arch/arm64/boot/dts/freescale/imx93-var-som-symphony.dts +4 -4
index 409c7e74ffe3..1f0954620195 100644
@@ -210,8 +210,8 @@ &lpi2c1 {
 	pinctrl-0 = <&pinctrl_lpi2c1>;
 	pinctrl-1 = <&pinctrl_lpi2c1_gpio>;
 	pinctrl-2 = <&pinctrl_lpi2c1_gpio>;
-	scl-gpios = <&gpio1 0 GPIO_ACTIVE_HIGH>;
-	sda-gpios = <&gpio1 1 GPIO_ACTIVE_HIGH>;
+	scl-gpios = <&gpio1 0 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
+	sda-gpios = <&gpio1 1 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
 	status = "okay";
 
 	pcal6408: gpio@21 {
@@ -265,8 +265,8 @@ &lpi2c5 {
 	pinctrl-0 = <&pinctrl_lpi2c5>;
 	pinctrl-1 = <&pinctrl_lpi2c5_gpio>;
 	pinctrl-2 = <&pinctrl_lpi2c5_gpio>;
-	scl-gpios = <&gpio2 23 GPIO_ACTIVE_HIGH>;
-	sda-gpios = <&gpio2 22 GPIO_ACTIVE_HIGH>;
+	scl-gpios = <&gpio2 23 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
+	sda-gpios = <&gpio2 22 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
 	status = "okay";
 
 	pca9534: gpio@20 {
Signature · 1 line
2.47.3
Reviewed-by Peng Fan on the v1 series
#5 lore raw
In reply to Stefano Radaelli
Quoted 15 lines · On Sun, 18 Oct 2026 14:32:23 +0200 Stefano Radaelli…

The I2C recovery GPIOs on VAR-SOM-MX91 and VAR-SOM-MX93, including their Symphony carrier boards, are missing the open-drain flag.

This series adds GPIO_OPEN_DRAIN to the SCL and SDA GPIO specifiers to match the I2C bus requirements and avoid the warning emitted when the I2C core enforces open-drain operation on SCL.

Stefano Radaelli (4):
arm64: dts: imx91-var-som: Mark I2C recovery GPIOs as open drain
arm64: dts: imx91-var-som-symphony: Mark I2C recovery GPIOs as open
drain
arm64: dts: imx93-var-som: Mark I2C recovery GPIOs as open drain
arm64: dts: imx93-var-som-symphony: Mark I2C recovery GPIOs as open
drain

Quoted 6 lines
 arch/arm64/boot/dts/freescale/imx91-var-som-symphony.dts | 4 ++--
 arch/arm64/boot/dts/freescale/imx91-var-som.dtsi         | 4 ++--
 arch/arm64/boot/dts/freescale/imx93-var-som-symphony.dts | 8 ++++----
 arch/arm64/boot/dts/freescale/imx93-var-som.dtsi         | 4 ++--
 4 files changed, 10 insertions(+), 10 deletions(-)

LGTM:

BTW: Do you need fixes tag?

#6 lore raw
Quoted 24 lines · Peng Fan (OSS)
Quoted 15 lines · On Sun, 18 Oct 2026 14:32:23 +0200 Stefano Radaelli…

The I2C recovery GPIOs on VAR-SOM-MX91 and VAR-SOM-MX93, including their Symphony carrier boards, are missing the open-drain flag.

This series adds GPIO_OPEN_DRAIN to the SCL and SDA GPIO specifiers to match the I2C bus requirements and avoid the warning emitted when the I2C core enforces open-drain operation on SCL.

Stefano Radaelli (4):
arm64: dts: imx91-var-som: Mark I2C recovery GPIOs as open drain
arm64: dts: imx91-var-som-symphony: Mark I2C recovery GPIOs as open
drain
arm64: dts: imx93-var-som: Mark I2C recovery GPIOs as open drain
arm64: dts: imx93-var-som-symphony: Mark I2C recovery GPIOs as open
drain

Quoted 6 lines
 arch/arm64/boot/dts/freescale/imx91-var-som-symphony.dts | 4 ++--
 arch/arm64/boot/dts/freescale/imx91-var-som.dtsi         | 4 ++--
 arch/arm64/boot/dts/freescale/imx93-var-som-symphony.dts | 8 ++++----
 arch/arm64/boot/dts/freescale/imx93-var-som.dtsi         | 4 ++--
 4 files changed, 10 insertions(+), 10 deletions(-)
Quoted 5 lines

LGTM:

BTW: Do you need fixes tag?

Hi Peng,

Thanks for the review!
I treated this as a DT cleanup since the core already enforces open-drain operation on SCL, so I think it is fine to keep the series without Fixes tags.

Thanks,
Best Regards,
Stefano

#7 lore raw
In reply to Stefano Radaelli

From: Frank Li <[email protected]>

Quoted 8 lines · Stefano Radaelli

The I2C recovery GPIOs on VAR-SOM-MX91 and VAR-SOM-MX93, including their Symphony carrier boards, are missing the open-drain flag.

This series adds GPIO_OPEN_DRAIN to the SCL and SDA GPIO specifiers to match the I2C bus requirements and avoid the warning emitted when the I2C core enforces open-drain operation on SCL.

[...]

Applied to imx/dt64-intend, will see in linux-next after v7.4-rc1, thanks!

[1/4] arm64: dts: imx91-var-som: Mark I2C recovery GPIOs as open drain

      commit: 54f91a7c5523e651d5b5c77b5b369a5d627fcbe0
[2/4] arm64: dts: imx91-var-som-symphony: Mark I2C recovery GPIOs as open drain
      commit: 28db8e4df0f3401a6092427b8103a120ba94ac5c
[3/4] arm64: dts: imx93-var-som: Mark I2C recovery GPIOs as open drain
      commit: 990c890685ff00e03b85d6224cf97c6e0a94684f
[4/4] arm64: dts: imx93-var-som-symphony: Mark I2C recovery GPIOs as open drain
      commit: 0d8e8629b13aecf3467ab0c77e457f037f4be1cf

Best regards,
--
Frank Li <[email protected]>