From a7b469c91fb1ee9dfe4db8ff2f35bd6ea7f7ce93 Mon Sep 17 00:00:00 2001 From: Jiafei Pan Date: Fri, 13 Dec 2024 17:56:35 +0800 Subject: [PATCH] boards: imx8mp_evk: add gpio expander pca6416 support Added device tree nodes in imx8mp_evk_mimx8ml8_a53.dts, and also added board overlay in gpio_basic_api test case. Signed-off-by: Jiafei Pan --- .../nxp/imx8mp_evk/imx8mp_evk_mimx8ml8_a53.dts | 16 +++++++++++++++- .../boards/imx8mp_evk_mimx8ml8_a53.overlay | 18 ++++++++++++++++++ 2 files changed, 33 insertions(+), 1 deletion(-) create mode 100644 tests/drivers/gpio/gpio_basic_api/boards/imx8mp_evk_mimx8ml8_a53.overlay diff --git a/boards/nxp/imx8mp_evk/imx8mp_evk_mimx8ml8_a53.dts b/boards/nxp/imx8mp_evk/imx8mp_evk_mimx8ml8_a53.dts index d21ee0793ec..01dd37b68c2 100644 --- a/boards/nxp/imx8mp_evk/imx8mp_evk_mimx8ml8_a53.dts +++ b/boards/nxp/imx8mp_evk/imx8mp_evk_mimx8ml8_a53.dts @@ -1,11 +1,12 @@ /* - * Copyright 2021-2024 NXP + * Copyright 2021-2025 NXP * * SPDX-License-Identifier: Apache-2.0 */ /dts-v1/; +#include #include #include #include "imx8mp_evk-pinctrl.dtsi" @@ -76,4 +77,17 @@ pinctrl-0 = <&pinmux_i2c3>; pinctrl-names = "default"; clock-frequency = ; + + gpio_exp1: pca6416@20 { + compatible = "nxp,pca6416"; + reg = <0x20>; + gpio-controller; + #gpio-cells = <2>; + interrupt-gpios = <&gpio1 12 (GPIO_ACTIVE_LOW|GPIO_PULL_UP)>; + status = "okay"; + }; +}; + +&gpio1 { + status = "okay"; }; diff --git a/tests/drivers/gpio/gpio_basic_api/boards/imx8mp_evk_mimx8ml8_a53.overlay b/tests/drivers/gpio/gpio_basic_api/boards/imx8mp_evk_mimx8ml8_a53.overlay new file mode 100644 index 00000000000..c43cf4c1b1b --- /dev/null +++ b/tests/drivers/gpio/gpio_basic_api/boards/imx8mp_evk_mimx8ml8_a53.overlay @@ -0,0 +1,18 @@ +/* + * Copyright 2024-2025 NXP + * + * SPDX-License-Identifier: Apache-2.0 + */ + +/{ + resources { + compatible = "test-gpio-basic-api"; + /* + * Use connector J21 GPIO.1 which connect to pca6416 EXP_P1_0 as input + * GPIO, and connector J21 GPIO.4 which connect to pca6416 EXP_P1_3 as + * output GPIO, connect these two pins with a Dupont Line. + */ + out-gpios = <&gpio_exp1 8 0>; + in-gpios = <&gpio_exp1 11 0>; + }; +};