Skip to content

Commit 4e59679

Browse files
CkovMknashif
authored andcommitted
soc: imx93: enable rgpio driver
Add HAS_MCUX_RGPIO to Kconfig.soc Add gpio1 ~ gpio4 dts node and pinctrl node in nxp_mimx93_a55.dtsi Signed-off-by: Chekhov Ma <[email protected]>
1 parent e1d495b commit 4e59679

File tree

2 files changed

+162
-0
lines changed

2 files changed

+162
-0
lines changed

boards/arm64/mimx93_evk/mimx93_evk_a55_defconfig

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ CONFIG_BOARD_MIMX93_EVK_A55=y
2222

2323
# Zephyr Kernel Configuration
2424
CONFIG_XIP=n
25+
CONFIG_KERNEL_DIRECT_MAP=y
2526

2627
# Serial Drivers
2728
CONFIG_SERIAL=y

dts/arm64/nxp/nxp_mimx93_a55.dtsi

Lines changed: 161 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
#include <freq.h>
99
#include <arm64/armv8-a.dtsi>
1010
#include <zephyr/dt-bindings/clock/imx_ccm_rev2.h>
11+
#include <zephyr/dt-bindings/gpio/gpio.h>
1112
#include <zephyr/dt-bindings/interrupt-controller/arm-gic.h>
1213
#include <zephyr/dt-bindings/i2c/i2c.h>
1314

@@ -76,6 +77,46 @@
7677
#clock-cells = <3>;
7778
};
7879

80+
gpio1: gpio@47400000 {
81+
compatible = "nxp,imx-rgpio";
82+
reg = <0x47400000 DT_SIZE_K(64)>;
83+
interrupt-parent = <&gic>;
84+
interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL IRQ_DEFAULT_PRIORITY>,
85+
<GIC_SPI 11 IRQ_TYPE_LEVEL IRQ_DEFAULT_PRIORITY>;
86+
gpio-controller;
87+
#gpio-cells = <2>;
88+
};
89+
90+
gpio2: gpio@43810000 {
91+
compatible = "nxp,imx-rgpio";
92+
reg = <0x43810000 DT_SIZE_K(64)>;
93+
interrupt-parent = <&gic>;
94+
interrupts = <GIC_SPI 57 IRQ_TYPE_LEVEL IRQ_DEFAULT_PRIORITY>,
95+
<GIC_SPI 58 IRQ_TYPE_LEVEL IRQ_DEFAULT_PRIORITY>;
96+
gpio-controller;
97+
#gpio-cells = <2>;
98+
};
99+
100+
gpio3: gpio@43820000 {
101+
compatible = "nxp,imx-rgpio";
102+
reg = <0x43820000 DT_SIZE_K(64)>;
103+
interrupt-parent = <&gic>;
104+
interrupts = <GIC_SPI 59 IRQ_TYPE_LEVEL IRQ_DEFAULT_PRIORITY>,
105+
<GIC_SPI 60 IRQ_TYPE_LEVEL IRQ_DEFAULT_PRIORITY>;
106+
gpio-controller;
107+
#gpio-cells = <2>;
108+
};
109+
110+
gpio4: gpio@43830000 {
111+
compatible = "nxp,imx-rgpio";
112+
reg = <0x43830000 DT_SIZE_K(64)>;
113+
interrupt-parent = <&gic>;
114+
interrupts = <GIC_SPI 189 IRQ_TYPE_LEVEL IRQ_DEFAULT_PRIORITY>,
115+
<GIC_SPI 190 IRQ_TYPE_LEVEL IRQ_DEFAULT_PRIORITY>;
116+
gpio-controller;
117+
#gpio-cells = <2>;
118+
};
119+
79120
lpuart1: serial@44380000 {
80121
compatible = "nxp,imx-lpuart", "nxp,kinetis-lpuart";
81122
reg = <0x44380000 DT_SIZE_K(64)>;
@@ -280,3 +321,123 @@
280321
#size-cells = <0>;
281322
};
282323
};
324+
325+
&gpio1{
326+
pinmux = <&iomuxc1_i2c1_scl_gpio_io_gpio1_io00>,
327+
<&iomuxc1_i2c1_sda_gpio_io_gpio1_io01>,
328+
<&iomuxc1_i2c2_scl_gpio_io_gpio1_io02>,
329+
<&iomuxc1_i2c2_sda_gpio_io_gpio1_io03>,
330+
<&iomuxc1_uart1_rxd_gpio_io_gpio1_io04>,
331+
<&iomuxc1_uart1_txd_gpio_io_gpio1_io05>,
332+
<&iomuxc1_uart2_rxd_gpio_io_gpio1_io06>,
333+
<&iomuxc1_uart2_txd_gpio_io_gpio1_io07>,
334+
<&iomuxc1_pdm_clk_gpio_io_gpio1_io08>,
335+
<&iomuxc1_pdm_bit_stream0_gpio_io_gpio1_io09>,
336+
<&iomuxc1_pdm_bit_stream1_gpio_io_gpio1_io10>,
337+
<&iomuxc1_sai1_txfs_gpio_io_gpio1_io11>,
338+
<&iomuxc1_sai1_txc_gpio_io_gpio1_io12>,
339+
<&iomuxc1_sai1_txd0_gpio_io_gpio1_io13>,
340+
<&iomuxc1_sai1_rxd0_gpio_io_gpio1_io14>,
341+
<&iomuxc1_wdog_any_gpio_io_gpio1_io15>;
342+
};
343+
344+
&gpio2{
345+
pinmux = <&iomuxc1_gpio_io00_gpio_io_gpio2_io00>,
346+
<&iomuxc1_gpio_io01_gpio_io_gpio2_io01>,
347+
<&iomuxc1_gpio_io02_gpio_io_gpio2_io02>,
348+
<&iomuxc1_gpio_io03_gpio_io_gpio2_io03>,
349+
<&iomuxc1_gpio_io04_gpio_io_gpio2_io04>,
350+
<&iomuxc1_gpio_io05_gpio_io_gpio2_io05>,
351+
<&iomuxc1_gpio_io06_gpio_io_gpio2_io06>,
352+
<&iomuxc1_gpio_io07_gpio_io_gpio2_io07>,
353+
<&iomuxc1_gpio_io08_gpio_io_gpio2_io08>,
354+
<&iomuxc1_gpio_io09_gpio_io_gpio2_io09>,
355+
<&iomuxc1_gpio_io10_gpio_io_gpio2_io10>,
356+
<&iomuxc1_gpio_io11_gpio_io_gpio2_io11>,
357+
<&iomuxc1_gpio_io12_gpio_io_gpio2_io12>,
358+
<&iomuxc1_gpio_io13_gpio_io_gpio2_io13>,
359+
<&iomuxc1_gpio_io14_gpio_io_gpio2_io14>,
360+
<&iomuxc1_gpio_io15_gpio_io_gpio2_io15>,
361+
<&iomuxc1_gpio_io16_gpio_io_gpio2_io16>,
362+
<&iomuxc1_gpio_io17_gpio_io_gpio2_io17>,
363+
<&iomuxc1_gpio_io18_gpio_io_gpio2_io18>,
364+
<&iomuxc1_gpio_io19_gpio_io_gpio2_io19>,
365+
<&iomuxc1_gpio_io20_gpio_io_gpio2_io20>,
366+
<&iomuxc1_gpio_io21_gpio_io_gpio2_io21>,
367+
<&iomuxc1_gpio_io22_gpio_io_gpio2_io22>,
368+
<&iomuxc1_gpio_io23_gpio_io_gpio2_io23>,
369+
<&iomuxc1_gpio_io24_gpio_io_gpio2_io24>,
370+
<&iomuxc1_gpio_io25_gpio_io_gpio2_io25>,
371+
<&iomuxc1_gpio_io26_gpio_io_gpio2_io26>,
372+
<&iomuxc1_gpio_io27_gpio_io_gpio2_io27>,
373+
<&iomuxc1_gpio_io28_gpio_io_gpio2_io28>,
374+
<&iomuxc1_gpio_io29_gpio_io_gpio2_io29>;
375+
};
376+
377+
&gpio3{
378+
pinmux = <&iomuxc1_sd2_cd_b_gpio_io_gpio3_io00>,
379+
<&iomuxc1_sd2_clk_gpio_io_gpio3_io01>,
380+
<&iomuxc1_sd2_cmd_gpio_io_gpio3_io02>,
381+
<&iomuxc1_sd2_data0_gpio_io_gpio3_io03>,
382+
<&iomuxc1_sd2_data1_gpio_io_gpio3_io04>,
383+
<&iomuxc1_sd2_data2_gpio_io_gpio3_io05>,
384+
<&iomuxc1_sd2_data3_gpio_io_gpio3_io06>,
385+
<&iomuxc1_sd2_reset_b_gpio_io_gpio3_io07>,
386+
<&iomuxc1_sd1_clk_gpio_io_gpio3_io08>,
387+
<&iomuxc1_sd1_cmd_gpio_io_gpio3_io09>,
388+
<&iomuxc1_sd1_data0_gpio_io_gpio3_io10>,
389+
<&iomuxc1_sd1_data1_gpio_io_gpio3_io11>,
390+
<&iomuxc1_sd1_data2_gpio_io_gpio3_io12>,
391+
<&iomuxc1_sd1_data3_gpio_io_gpio3_io13>,
392+
<&iomuxc1_sd1_data4_gpio_io_gpio3_io14>,
393+
<&iomuxc1_sd1_data5_gpio_io_gpio3_io15>,
394+
<&iomuxc1_sd1_data6_gpio_io_gpio3_io16>,
395+
<&iomuxc1_sd1_data7_gpio_io_gpio3_io17>,
396+
<&iomuxc1_sd1_strobe_gpio_io_gpio3_io18>,
397+
<&iomuxc1_sd2_vselect_gpio_io_gpio3_io19>,
398+
<&iomuxc1_sd3_clk_gpio_io_gpio3_io20>,
399+
<&iomuxc1_sd3_cmd_gpio_io_gpio3_io21>,
400+
<&iomuxc1_sd3_data0_gpio_io_gpio3_io22>,
401+
<&iomuxc1_sd3_data1_gpio_io_gpio3_io23>,
402+
<&iomuxc1_sd3_data2_gpio_io_gpio3_io24>,
403+
<&iomuxc1_sd3_data3_gpio_io_gpio3_io25>,
404+
<&iomuxc1_ccm_clko1_gpio_io_gpio3_io26>,
405+
<&iomuxc1_ccm_clko2_gpio_io_gpio3_io27>,
406+
<&iomuxc1_dap_tdi_gpio_io_gpio3_io28>,
407+
<&iomuxc1_dap_tms_swdio_gpio_io_gpio3_io29>,
408+
<&iomuxc1_dap_tclk_swclk_gpio_io_gpio3_io30>,
409+
<&iomuxc1_dap_tdo_traceswo_gpio_io_gpio3_io31>;
410+
};
411+
412+
&gpio4{
413+
pinmux = <&iomuxc1_enet1_mdc_gpio_io_gpio4_io00>,
414+
<&iomuxc1_enet1_mdio_gpio_io_gpio4_io01>,
415+
<&iomuxc1_enet1_td3_gpio_io_gpio4_io02>,
416+
<&iomuxc1_enet1_td2_gpio_io_gpio4_io03>,
417+
<&iomuxc1_enet1_td1_gpio_io_gpio4_io04>,
418+
<&iomuxc1_enet1_td0_gpio_io_gpio4_io05>,
419+
<&iomuxc1_enet1_tx_ctl_gpio_io_gpio4_io06>,
420+
<&iomuxc1_enet1_txc_gpio_io_gpio4_io07>,
421+
<&iomuxc1_enet1_rx_ctl_gpio_io_gpio4_io08>,
422+
<&iomuxc1_enet1_rxc_gpio_io_gpio4_io09>,
423+
<&iomuxc1_enet1_rd0_gpio_io_gpio4_io10>,
424+
<&iomuxc1_enet1_rd1_gpio_io_gpio4_io11>,
425+
<&iomuxc1_enet1_rd2_gpio_io_gpio4_io12>,
426+
<&iomuxc1_enet1_rd3_gpio_io_gpio4_io13>,
427+
<&iomuxc1_enet2_mdc_gpio_io_gpio4_io14>,
428+
<&iomuxc1_enet2_mdio_gpio_io_gpio4_io15>,
429+
<&iomuxc1_enet2_td3_gpio_io_gpio4_io16>,
430+
<&iomuxc1_enet2_td2_gpio_io_gpio4_io17>,
431+
<&iomuxc1_enet2_td1_gpio_io_gpio4_io18>,
432+
<&iomuxc1_enet2_td0_gpio_io_gpio4_io19>,
433+
<&iomuxc1_enet2_tx_ctl_gpio_io_gpio4_io20>,
434+
<&iomuxc1_enet2_txc_gpio_io_gpio4_io21>,
435+
<&iomuxc1_enet2_rx_ctl_gpio_io_gpio4_io22>,
436+
<&iomuxc1_enet2_rxc_gpio_io_gpio4_io23>,
437+
<&iomuxc1_enet2_rd0_gpio_io_gpio4_io24>,
438+
<&iomuxc1_enet2_rd1_gpio_io_gpio4_io25>,
439+
<&iomuxc1_enet2_rd2_gpio_io_gpio4_io26>,
440+
<&iomuxc1_enet2_rd3_gpio_io_gpio4_io27>,
441+
<&iomuxc1_ccm_clko3_gpio_io_gpio4_io28>,
442+
<&iomuxc1_ccm_clko4_gpio_io_gpio4_io29>;
443+
};

0 commit comments

Comments
 (0)