[PATCH v2 3/6] arm64: dts: imx943-evk: add i2c io expander support
Shengjiu Wang
shengjiu.wang at nxp.com
Tue May 27 18:58:34 PDT 2025
From: Carlos Song <carlos.song at nxp.com>
Add i2c io expander support for imx943 evk board.
Signed-off-by: Carlos Song <carlos.song at nxp.com>
Signed-off-by: Shengjiu Wang <shengjiu.wang at nxp.com>
Reviewed-by: Frank Li <Frank.Li at nxp.com>
---
arch/arm64/boot/dts/freescale/imx943-evk.dts | 105 +++++++++++++++++++
1 file changed, 105 insertions(+)
diff --git a/arch/arm64/boot/dts/freescale/imx943-evk.dts b/arch/arm64/boot/dts/freescale/imx943-evk.dts
index a566b9d8b813..ff6e9ac5477f 100644
--- a/arch/arm64/boot/dts/freescale/imx943-evk.dts
+++ b/arch/arm64/boot/dts/freescale/imx943-evk.dts
@@ -62,6 +62,13 @@ &lpi2c3 {
pinctrl-names = "default";
status = "okay";
+ pca9670_i2c3: gpio at 23 {
+ compatible = "nxp,pca9670";
+ reg = <0x23>;
+ #gpio-cells = <2>;
+ gpio-controller;
+ };
+
pca9548_i2c3: i2c-mux at 77 {
compatible = "nxp,pca9548";
reg = <0x77>;
@@ -102,18 +109,63 @@ i2c at 5 {
reg = <5>;
#address-cells = <1>;
#size-cells = <0>;
+
+ pcal6416_i2c3_u46: gpio at 20 {
+ compatible = "nxp,pcal6416";
+ reg = <0x20>;
+ #gpio-cells = <2>;
+ gpio-controller;
+
+ sd-card-on-hog {
+ gpios = <13 GPIO_ACTIVE_HIGH>;
+ gpio-hog;
+ output-high;
+ };
+ };
+
+ pcal6416_i2c3_u171: gpio at 21 {
+ compatible = "nxp,pcal6416";
+ reg = <0x21>;
+ #gpio-cells = <2>;
+ gpio-controller;
+ };
};
i2c at 6 {
reg = <6>;
#address-cells = <1>;
#size-cells = <0>;
+
+ pcal6416_i2c3_u48: gpio at 20 {
+ compatible = "nxp,pcal6416";
+ reg = <0x20>;
+ #interrupt-cells = <2>;
+ interrupt-controller;
+ interrupt-parent = <&gpio3>;
+ interrupts = <13 IRQ_TYPE_LEVEL_LOW>;
+ #gpio-cells = <2>;
+ gpio-controller;
+ pinctrl-0 = <&pinctrl_ioexpander_int>;
+ pinctrl-names = "default";
+ };
};
i2c at 7 {
reg = <7>;
#address-cells = <1>;
#size-cells = <0>;
+
+ pcal6408_i2c3_u172: gpio at 20 {
+ compatible = "nxp,pcal6408";
+ reg = <0x20>;
+ #interrupt-cells = <2>;
+ interrupt-controller;
+ interrupt-parent = <&gpio3>;
+ /* shared int pin with u48 */
+ interrupts = <13 IRQ_TYPE_LEVEL_LOW>;
+ #gpio-cells = <2>;
+ gpio-controller;
+ };
};
};
};
@@ -147,18 +199,59 @@ i2c at 1 {
reg = <1>;
#address-cells = <1>;
#size-cells = <0>;
+
+ pcal6416_i2c6_u50: gpio at 21 {
+ compatible = "nxp,pcal6416";
+ reg = <0x21>;
+ #gpio-cells = <2>;
+ gpio-controller;
+ };
};
i2c at 2 {
reg = <2>;
#address-cells = <1>;
#size-cells = <0>;
+
+ pcal6408_i2c6_u170: gpio at 20 {
+ compatible = "nxp,pcal6408";
+ reg = <0x20>;
+ #interrupt-cells = <2>;
+ interrupt-controller;
+ interrupt-parent = <&gpio4>;
+ interrupts = <3 IRQ_TYPE_LEVEL_LOW>;
+ #gpio-cells = <2>;
+ gpio-controller;
+ pinctrl-0 = <&pinctrl_ioexpander_int2>;
+ pinctrl-names = "default";
+ };
};
i2c at 3 {
reg = <3>;
#address-cells = <1>;
#size-cells = <0>;
+
+ pcal6416_i2c6_u44: gpio at 20 {
+ compatible = "nxp,pcal6416";
+ reg = <0x20>;
+ #gpio-cells = <2>;
+ gpio-controller;
+
+ /* eMMC IOMUX selection */
+ sd1-sel-hog {
+ gpios = <0 GPIO_ACTIVE_HIGH>;
+ gpio-hog;
+ output-high;
+ };
+
+ /* SD card IOMUX selection */
+ sd2-sel-hog {
+ gpios = <1 GPIO_ACTIVE_HIGH>;
+ gpio-hog;
+ output-high;
+ };
+ };
};
};
};
@@ -171,6 +264,18 @@ &lpuart1 {
&scmi_iomuxc {
+ pinctrl_ioexpander_int2: ioexpanderint2grp {
+ fsl,pins = <
+ IMX94_PAD_CCM_CLKO4__GPIO4_IO3 0x31e
+ >;
+ };
+
+ pinctrl_ioexpander_int: ioexpanderintgrp {
+ fsl,pins = <
+ IMX94_PAD_GPIO_IO45__GPIO3_IO13 0x31e
+ >;
+ };
+
pinctrl_lpi2c3: lpi2c3grp {
fsl,pins = <
IMX94_PAD_GPIO_IO16__LPI2C3_SDA 0x40000b9e
--
2.34.1
More information about the linux-arm-kernel
mailing list