[PATCH 3/6] arm64: dts: imx943-evk: add i2c io expander support
Frank Li
Frank.li at nxp.com
Mon May 19 11:47:41 PDT 2025
On Thu, May 15, 2025 at 01:18:57PM +0800, Shengjiu Wang wrote:
> 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