arm64: dts: imx943-evk: add i2c io expander support

Add i2c io expander support for imx943 evk board.

Signed-off-by: Carlos Song <carlos.song@nxp.com>
Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
Reviewed-by: Frank Li <Frank.Li@nxp.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
This commit is contained in:
Carlos Song
2025-05-28 09:58:34 +08:00
committed by Shawn Guo
parent 1bb57ed1b4
commit c757036a66

View File

@@ -62,6 +62,13 @@ &lpi2c3 {
pinctrl-names = "default";
status = "okay";
pca9670_i2c3: gpio@23 {
compatible = "nxp,pca9670";
reg = <0x23>;
#gpio-cells = <2>;
gpio-controller;
};
pca9548_i2c3: i2c-mux@77 {
compatible = "nxp,pca9548";
reg = <0x77>;
@@ -102,18 +109,63 @@ i2c@5 {
reg = <5>;
#address-cells = <1>;
#size-cells = <0>;
pcal6416_i2c3_u46: gpio@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@21 {
compatible = "nxp,pcal6416";
reg = <0x21>;
#gpio-cells = <2>;
gpio-controller;
};
};
i2c@6 {
reg = <6>;
#address-cells = <1>;
#size-cells = <0>;
pcal6416_i2c3_u48: gpio@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@7 {
reg = <7>;
#address-cells = <1>;
#size-cells = <0>;
pcal6408_i2c3_u172: gpio@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@1 {
reg = <1>;
#address-cells = <1>;
#size-cells = <0>;
pcal6416_i2c6_u50: gpio@21 {
compatible = "nxp,pcal6416";
reg = <0x21>;
#gpio-cells = <2>;
gpio-controller;
};
};
i2c@2 {
reg = <2>;
#address-cells = <1>;
#size-cells = <0>;
pcal6408_i2c6_u170: gpio@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@3 {
reg = <3>;
#address-cells = <1>;
#size-cells = <0>;
pcal6416_i2c6_u44: gpio@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