Skip to content

Commit

Permalink
soc: imx93: enable rgpio driver
Browse files Browse the repository at this point in the history
Add HAS_MCUX_RGPIO to Kconfig.soc
Add gpio1 ~ gpio4 dts node and pinctrl node in nxp_mimx93_a55.dtsi

(cherry picked from commit 4e59679)

Original-Signed-off-by: Chekhov Ma <chekhov.ma@nxp.com>
GitOrigin-RevId: 4e59679
Change-Id: Ib0dd181259780152abad8ff1eecf0a05788e6c4e
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/zephyr/+/5204723
Tested-by: ChromeOS Prod (Robot) <chromeos-ci-prod@chromeos-bot.iam.gserviceaccount.com>
Commit-Queue: Keith Short <keithshort@chromium.org>
Tested-by: Keith Short <keithshort@chromium.org>
Reviewed-by: Keith Short <keithshort@chromium.org>
  • Loading branch information
CkovMk authored and Chromeos LUCI committed Jan 22, 2024
1 parent 0333278 commit 6a298e8
Show file tree
Hide file tree
Showing 2 changed files with 162 additions and 0 deletions.
1 change: 1 addition & 0 deletions boards/arm64/mimx93_evk/mimx93_evk_a55_defconfig
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ CONFIG_BOARD_MIMX93_EVK_A55=y

# Zephyr Kernel Configuration
CONFIG_XIP=n
CONFIG_KERNEL_DIRECT_MAP=y

# Serial Drivers
CONFIG_SERIAL=y
Expand Down
161 changes: 161 additions & 0 deletions dts/arm64/nxp/nxp_mimx93_a55.dtsi
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
#include <freq.h>
#include <arm64/armv8-a.dtsi>
#include <zephyr/dt-bindings/clock/imx_ccm_rev2.h>
#include <zephyr/dt-bindings/gpio/gpio.h>
#include <zephyr/dt-bindings/interrupt-controller/arm-gic.h>
#include <zephyr/dt-bindings/i2c/i2c.h>

Expand Down Expand Up @@ -76,6 +77,46 @@
#clock-cells = <3>;
};

gpio1: gpio@47400000 {
compatible = "nxp,imx-rgpio";
reg = <0x47400000 DT_SIZE_K(64)>;
interrupt-parent = <&gic>;
interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL IRQ_DEFAULT_PRIORITY>,
<GIC_SPI 11 IRQ_TYPE_LEVEL IRQ_DEFAULT_PRIORITY>;
gpio-controller;
#gpio-cells = <2>;
};

gpio2: gpio@43810000 {
compatible = "nxp,imx-rgpio";
reg = <0x43810000 DT_SIZE_K(64)>;
interrupt-parent = <&gic>;
interrupts = <GIC_SPI 57 IRQ_TYPE_LEVEL IRQ_DEFAULT_PRIORITY>,
<GIC_SPI 58 IRQ_TYPE_LEVEL IRQ_DEFAULT_PRIORITY>;
gpio-controller;
#gpio-cells = <2>;
};

gpio3: gpio@43820000 {
compatible = "nxp,imx-rgpio";
reg = <0x43820000 DT_SIZE_K(64)>;
interrupt-parent = <&gic>;
interrupts = <GIC_SPI 59 IRQ_TYPE_LEVEL IRQ_DEFAULT_PRIORITY>,
<GIC_SPI 60 IRQ_TYPE_LEVEL IRQ_DEFAULT_PRIORITY>;
gpio-controller;
#gpio-cells = <2>;
};

gpio4: gpio@43830000 {
compatible = "nxp,imx-rgpio";
reg = <0x43830000 DT_SIZE_K(64)>;
interrupt-parent = <&gic>;
interrupts = <GIC_SPI 189 IRQ_TYPE_LEVEL IRQ_DEFAULT_PRIORITY>,
<GIC_SPI 190 IRQ_TYPE_LEVEL IRQ_DEFAULT_PRIORITY>;
gpio-controller;
#gpio-cells = <2>;
};

lpuart1: serial@44380000 {
compatible = "nxp,imx-lpuart", "nxp,kinetis-lpuart";
reg = <0x44380000 DT_SIZE_K(64)>;
Expand Down Expand Up @@ -280,3 +321,123 @@
#size-cells = <0>;
};
};

&gpio1{
pinmux = <&iomuxc1_i2c1_scl_gpio_io_gpio1_io00>,
<&iomuxc1_i2c1_sda_gpio_io_gpio1_io01>,
<&iomuxc1_i2c2_scl_gpio_io_gpio1_io02>,
<&iomuxc1_i2c2_sda_gpio_io_gpio1_io03>,
<&iomuxc1_uart1_rxd_gpio_io_gpio1_io04>,
<&iomuxc1_uart1_txd_gpio_io_gpio1_io05>,
<&iomuxc1_uart2_rxd_gpio_io_gpio1_io06>,
<&iomuxc1_uart2_txd_gpio_io_gpio1_io07>,
<&iomuxc1_pdm_clk_gpio_io_gpio1_io08>,
<&iomuxc1_pdm_bit_stream0_gpio_io_gpio1_io09>,
<&iomuxc1_pdm_bit_stream1_gpio_io_gpio1_io10>,
<&iomuxc1_sai1_txfs_gpio_io_gpio1_io11>,
<&iomuxc1_sai1_txc_gpio_io_gpio1_io12>,
<&iomuxc1_sai1_txd0_gpio_io_gpio1_io13>,
<&iomuxc1_sai1_rxd0_gpio_io_gpio1_io14>,
<&iomuxc1_wdog_any_gpio_io_gpio1_io15>;
};

&gpio2{
pinmux = <&iomuxc1_gpio_io00_gpio_io_gpio2_io00>,
<&iomuxc1_gpio_io01_gpio_io_gpio2_io01>,
<&iomuxc1_gpio_io02_gpio_io_gpio2_io02>,
<&iomuxc1_gpio_io03_gpio_io_gpio2_io03>,
<&iomuxc1_gpio_io04_gpio_io_gpio2_io04>,
<&iomuxc1_gpio_io05_gpio_io_gpio2_io05>,
<&iomuxc1_gpio_io06_gpio_io_gpio2_io06>,
<&iomuxc1_gpio_io07_gpio_io_gpio2_io07>,
<&iomuxc1_gpio_io08_gpio_io_gpio2_io08>,
<&iomuxc1_gpio_io09_gpio_io_gpio2_io09>,
<&iomuxc1_gpio_io10_gpio_io_gpio2_io10>,
<&iomuxc1_gpio_io11_gpio_io_gpio2_io11>,
<&iomuxc1_gpio_io12_gpio_io_gpio2_io12>,
<&iomuxc1_gpio_io13_gpio_io_gpio2_io13>,
<&iomuxc1_gpio_io14_gpio_io_gpio2_io14>,
<&iomuxc1_gpio_io15_gpio_io_gpio2_io15>,
<&iomuxc1_gpio_io16_gpio_io_gpio2_io16>,
<&iomuxc1_gpio_io17_gpio_io_gpio2_io17>,
<&iomuxc1_gpio_io18_gpio_io_gpio2_io18>,
<&iomuxc1_gpio_io19_gpio_io_gpio2_io19>,
<&iomuxc1_gpio_io20_gpio_io_gpio2_io20>,
<&iomuxc1_gpio_io21_gpio_io_gpio2_io21>,
<&iomuxc1_gpio_io22_gpio_io_gpio2_io22>,
<&iomuxc1_gpio_io23_gpio_io_gpio2_io23>,
<&iomuxc1_gpio_io24_gpio_io_gpio2_io24>,
<&iomuxc1_gpio_io25_gpio_io_gpio2_io25>,
<&iomuxc1_gpio_io26_gpio_io_gpio2_io26>,
<&iomuxc1_gpio_io27_gpio_io_gpio2_io27>,
<&iomuxc1_gpio_io28_gpio_io_gpio2_io28>,
<&iomuxc1_gpio_io29_gpio_io_gpio2_io29>;
};

&gpio3{
pinmux = <&iomuxc1_sd2_cd_b_gpio_io_gpio3_io00>,
<&iomuxc1_sd2_clk_gpio_io_gpio3_io01>,
<&iomuxc1_sd2_cmd_gpio_io_gpio3_io02>,
<&iomuxc1_sd2_data0_gpio_io_gpio3_io03>,
<&iomuxc1_sd2_data1_gpio_io_gpio3_io04>,
<&iomuxc1_sd2_data2_gpio_io_gpio3_io05>,
<&iomuxc1_sd2_data3_gpio_io_gpio3_io06>,
<&iomuxc1_sd2_reset_b_gpio_io_gpio3_io07>,
<&iomuxc1_sd1_clk_gpio_io_gpio3_io08>,
<&iomuxc1_sd1_cmd_gpio_io_gpio3_io09>,
<&iomuxc1_sd1_data0_gpio_io_gpio3_io10>,
<&iomuxc1_sd1_data1_gpio_io_gpio3_io11>,
<&iomuxc1_sd1_data2_gpio_io_gpio3_io12>,
<&iomuxc1_sd1_data3_gpio_io_gpio3_io13>,
<&iomuxc1_sd1_data4_gpio_io_gpio3_io14>,
<&iomuxc1_sd1_data5_gpio_io_gpio3_io15>,
<&iomuxc1_sd1_data6_gpio_io_gpio3_io16>,
<&iomuxc1_sd1_data7_gpio_io_gpio3_io17>,
<&iomuxc1_sd1_strobe_gpio_io_gpio3_io18>,
<&iomuxc1_sd2_vselect_gpio_io_gpio3_io19>,
<&iomuxc1_sd3_clk_gpio_io_gpio3_io20>,
<&iomuxc1_sd3_cmd_gpio_io_gpio3_io21>,
<&iomuxc1_sd3_data0_gpio_io_gpio3_io22>,
<&iomuxc1_sd3_data1_gpio_io_gpio3_io23>,
<&iomuxc1_sd3_data2_gpio_io_gpio3_io24>,
<&iomuxc1_sd3_data3_gpio_io_gpio3_io25>,
<&iomuxc1_ccm_clko1_gpio_io_gpio3_io26>,
<&iomuxc1_ccm_clko2_gpio_io_gpio3_io27>,
<&iomuxc1_dap_tdi_gpio_io_gpio3_io28>,
<&iomuxc1_dap_tms_swdio_gpio_io_gpio3_io29>,
<&iomuxc1_dap_tclk_swclk_gpio_io_gpio3_io30>,
<&iomuxc1_dap_tdo_traceswo_gpio_io_gpio3_io31>;
};

&gpio4{
pinmux = <&iomuxc1_enet1_mdc_gpio_io_gpio4_io00>,
<&iomuxc1_enet1_mdio_gpio_io_gpio4_io01>,
<&iomuxc1_enet1_td3_gpio_io_gpio4_io02>,
<&iomuxc1_enet1_td2_gpio_io_gpio4_io03>,
<&iomuxc1_enet1_td1_gpio_io_gpio4_io04>,
<&iomuxc1_enet1_td0_gpio_io_gpio4_io05>,
<&iomuxc1_enet1_tx_ctl_gpio_io_gpio4_io06>,
<&iomuxc1_enet1_txc_gpio_io_gpio4_io07>,
<&iomuxc1_enet1_rx_ctl_gpio_io_gpio4_io08>,
<&iomuxc1_enet1_rxc_gpio_io_gpio4_io09>,
<&iomuxc1_enet1_rd0_gpio_io_gpio4_io10>,
<&iomuxc1_enet1_rd1_gpio_io_gpio4_io11>,
<&iomuxc1_enet1_rd2_gpio_io_gpio4_io12>,
<&iomuxc1_enet1_rd3_gpio_io_gpio4_io13>,
<&iomuxc1_enet2_mdc_gpio_io_gpio4_io14>,
<&iomuxc1_enet2_mdio_gpio_io_gpio4_io15>,
<&iomuxc1_enet2_td3_gpio_io_gpio4_io16>,
<&iomuxc1_enet2_td2_gpio_io_gpio4_io17>,
<&iomuxc1_enet2_td1_gpio_io_gpio4_io18>,
<&iomuxc1_enet2_td0_gpio_io_gpio4_io19>,
<&iomuxc1_enet2_tx_ctl_gpio_io_gpio4_io20>,
<&iomuxc1_enet2_txc_gpio_io_gpio4_io21>,
<&iomuxc1_enet2_rx_ctl_gpio_io_gpio4_io22>,
<&iomuxc1_enet2_rxc_gpio_io_gpio4_io23>,
<&iomuxc1_enet2_rd0_gpio_io_gpio4_io24>,
<&iomuxc1_enet2_rd1_gpio_io_gpio4_io25>,
<&iomuxc1_enet2_rd2_gpio_io_gpio4_io26>,
<&iomuxc1_enet2_rd3_gpio_io_gpio4_io27>,
<&iomuxc1_ccm_clko3_gpio_io_gpio4_io28>,
<&iomuxc1_ccm_clko4_gpio_io_gpio4_io29>;
};

0 comments on commit 6a298e8

Please sign in to comment.