2021-07-23 09:52:31 +08:00
|
|
|
/*
|
|
|
|
* Copyright (c) 2021, Kwon Tae-young
|
|
|
|
*
|
|
|
|
* SPDX-License-Identifier: Apache-2.0
|
|
|
|
*/
|
|
|
|
|
|
|
|
#include <arm/armv7-m.dtsi>
|
2022-05-06 17:02:05 +08:00
|
|
|
#include <zephyr/dt-bindings/clock/imx_ccm.h>
|
|
|
|
#include <zephyr/dt-bindings/rdc/imx_rdc.h>
|
|
|
|
#include <zephyr/dt-bindings/gpio/gpio.h>
|
2021-07-23 09:52:31 +08:00
|
|
|
#include <mem.h>
|
|
|
|
|
|
|
|
/ {
|
|
|
|
cpus {
|
|
|
|
#address-cells = <1>;
|
|
|
|
#size-cells = <0>;
|
|
|
|
|
|
|
|
cpu@0 {
|
|
|
|
device_type = "cpu";
|
|
|
|
compatible = "arm,cortex-m4";
|
|
|
|
reg = <0>;
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
soc {
|
|
|
|
tcml_code: code@1ffe0000 {
|
|
|
|
compatible = "nxp,imx-itcm";
|
|
|
|
reg = <0x1ffe0000 DT_SIZE_K(128)>;
|
|
|
|
};
|
|
|
|
|
|
|
|
tcmu_sys: memory@20000000 {
|
|
|
|
compatible = "nxp,imx-dtcm";
|
|
|
|
reg = <0x20000000 DT_SIZE_K(128)>;
|
|
|
|
};
|
|
|
|
|
|
|
|
ocram_code: code@900000 {
|
|
|
|
compatible = "nxp,imx-code-bus";
|
|
|
|
reg = <0x00900000 DT_SIZE_K(256)>;
|
|
|
|
};
|
|
|
|
|
|
|
|
ocram_sys: memory@20200000 {
|
|
|
|
device_type = "memory";
|
|
|
|
compatible = "nxp,imx-sys-bus";
|
|
|
|
reg = <0x20200000 DT_SIZE_K(256)>;
|
|
|
|
};
|
|
|
|
|
|
|
|
ocram_s_code: code@180000 {
|
|
|
|
compatible = "nxp,imx-code-bus";
|
|
|
|
reg = <0x00180000 DT_SIZE_K(32)>;
|
|
|
|
};
|
|
|
|
|
|
|
|
ocram_s_sys: memory@20180000 {
|
|
|
|
device_type = "memory";
|
|
|
|
compatible = "nxp,imx-sys-bus";
|
|
|
|
reg = <0x20180000 DT_SIZE_K(32)>;
|
|
|
|
};
|
|
|
|
|
2022-01-28 16:13:07 +08:00
|
|
|
gpio1: gpio@30200000 {
|
|
|
|
compatible = "nxp,imx-gpio";
|
|
|
|
reg = <0x30200000 DT_SIZE_K(64)>;
|
|
|
|
interrupts = <64 0>, <65 0>;
|
|
|
|
rdc = <(RDC_DOMAIN_PERM(A7_DOMAIN_ID,\
|
|
|
|
RDC_DOMAIN_PERM_RW)|\
|
|
|
|
RDC_DOMAIN_PERM(M4_DOMAIN_ID,\
|
|
|
|
RDC_DOMAIN_PERM_RW))>;
|
|
|
|
gpio-controller;
|
|
|
|
#gpio-cells = <2>;
|
|
|
|
status = "disabled";
|
|
|
|
};
|
|
|
|
|
|
|
|
gpio2: gpio@30210000 {
|
|
|
|
compatible = "nxp,imx-gpio";
|
|
|
|
reg = <0x30210000 DT_SIZE_K(64)>;
|
|
|
|
interrupts = <66 0>, <67 0>;
|
|
|
|
rdc = <(RDC_DOMAIN_PERM(A7_DOMAIN_ID,\
|
|
|
|
RDC_DOMAIN_PERM_RW)|\
|
|
|
|
RDC_DOMAIN_PERM(M4_DOMAIN_ID,\
|
|
|
|
RDC_DOMAIN_PERM_RW))>;
|
|
|
|
gpio-controller;
|
|
|
|
#gpio-cells = <2>;
|
|
|
|
status = "disabled";
|
|
|
|
};
|
|
|
|
|
|
|
|
gpio3: gpio@30220000 {
|
|
|
|
compatible = "nxp,imx-gpio";
|
|
|
|
reg = <0x30220000 DT_SIZE_K(64)>;
|
|
|
|
interrupts = <68 0>, <69 0>;
|
|
|
|
rdc = <(RDC_DOMAIN_PERM(A7_DOMAIN_ID,\
|
|
|
|
RDC_DOMAIN_PERM_RW)|\
|
|
|
|
RDC_DOMAIN_PERM(M4_DOMAIN_ID,\
|
|
|
|
RDC_DOMAIN_PERM_RW))>;
|
|
|
|
gpio-controller;
|
|
|
|
#gpio-cells = <2>;
|
|
|
|
status = "disabled";
|
|
|
|
};
|
|
|
|
|
|
|
|
gpio4: gpio@30230000 {
|
|
|
|
compatible = "nxp,imx-gpio";
|
|
|
|
reg = <0x30230000 DT_SIZE_K(64)>;
|
|
|
|
interrupts = <70 0>, <71 0>;
|
|
|
|
rdc = <(RDC_DOMAIN_PERM(A7_DOMAIN_ID,\
|
|
|
|
RDC_DOMAIN_PERM_RW)|\
|
|
|
|
RDC_DOMAIN_PERM(M4_DOMAIN_ID,\
|
|
|
|
RDC_DOMAIN_PERM_RW))>;
|
|
|
|
gpio-controller;
|
|
|
|
#gpio-cells = <2>;
|
|
|
|
status = "disabled";
|
|
|
|
};
|
|
|
|
|
|
|
|
gpio5: gpio@30240000 {
|
|
|
|
compatible = "nxp,imx-gpio";
|
|
|
|
reg = <0x30240000 DT_SIZE_K(64)>;
|
|
|
|
interrupts = <72 0>, <73 0>;
|
|
|
|
rdc = <(RDC_DOMAIN_PERM(A7_DOMAIN_ID,\
|
|
|
|
RDC_DOMAIN_PERM_RW)|\
|
|
|
|
RDC_DOMAIN_PERM(M4_DOMAIN_ID,\
|
|
|
|
RDC_DOMAIN_PERM_RW))>;
|
|
|
|
gpio-controller;
|
|
|
|
#gpio-cells = <2>;
|
|
|
|
status = "disabled";
|
|
|
|
};
|
|
|
|
|
2022-04-26 05:56:40 +08:00
|
|
|
iomuxc: iomuxc@30330000 {
|
|
|
|
compatible = "nxp,imx-iomuxc";
|
|
|
|
reg = <0x30330000 DT_SIZE_K(64)>;
|
|
|
|
status = "okay";
|
|
|
|
pinctrl: pinctrl {
|
|
|
|
status = "okay";
|
|
|
|
compatible = "nxp,imx8m-pinctrl";
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
2021-07-23 09:52:31 +08:00
|
|
|
ccm: ccm@30380000 {
|
|
|
|
compatible = "nxp,imx-ccm";
|
|
|
|
reg = <0x30380000 DT_SIZE_K(64)>;
|
|
|
|
#clock-cells = <3>;
|
|
|
|
};
|
|
|
|
|
|
|
|
uart1: uart@30860000 {
|
|
|
|
compatible = "nxp,imx-iuart";
|
|
|
|
reg = <0x30860000 0x10000>;
|
|
|
|
interrupts = <26 3>;
|
2021-02-26 16:41:06 +08:00
|
|
|
clocks = <&ccm IMX_CCM_UART1_CLK 0x7c 24>;
|
2021-07-23 09:52:31 +08:00
|
|
|
status = "disabled";
|
|
|
|
};
|
|
|
|
|
|
|
|
uart2: uart@30890000 {
|
|
|
|
compatible = "nxp,imx-iuart";
|
|
|
|
reg = <0x30890000 0x10000>;
|
|
|
|
interrupts = <27 3>;
|
2021-02-26 16:41:06 +08:00
|
|
|
clocks = <&ccm IMX_CCM_UART2_CLK 0x68 28>;
|
2021-07-23 09:52:31 +08:00
|
|
|
status = "disabled";
|
|
|
|
};
|
|
|
|
|
|
|
|
uart3: uart@30880000 {
|
|
|
|
compatible = "nxp,imx-iuart";
|
|
|
|
reg = <0x30880000 0x10000>;
|
|
|
|
interrupts = <28 3>;
|
2021-02-26 16:41:06 +08:00
|
|
|
clocks = <&ccm IMX_CCM_UART3_CLK 0x68 12>;
|
2021-07-23 09:52:31 +08:00
|
|
|
status = "disabled";
|
|
|
|
};
|
|
|
|
|
|
|
|
uart4: uart@30a60000 {
|
|
|
|
compatible = "nxp,imx-iuart";
|
|
|
|
reg = <0x30a60000 0x10000>;
|
|
|
|
interrupts = <29 3>;
|
2021-02-26 16:41:06 +08:00
|
|
|
clocks = <&ccm IMX_CCM_UART4_CLK 0x6c 24>;
|
2021-07-23 09:52:31 +08:00
|
|
|
status = "disabled";
|
|
|
|
};
|
2022-04-07 16:23:22 +08:00
|
|
|
|
|
|
|
mailbox0: mailbox@30ab0000 {
|
|
|
|
compatible = "nxp,imx-mu";
|
|
|
|
reg = <0x30ab0000 DT_SIZE_K(64)>;
|
|
|
|
interrupts = <97 0>;
|
|
|
|
rdc = <(RDC_DOMAIN_PERM(A7_DOMAIN_ID,\
|
|
|
|
RDC_DOMAIN_PERM_RW)|\
|
|
|
|
RDC_DOMAIN_PERM(M4_DOMAIN_ID,\
|
|
|
|
RDC_DOMAIN_PERM_RW))>;
|
|
|
|
status = "disabled";
|
|
|
|
};
|
2021-07-23 09:52:31 +08:00
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
&nvic {
|
|
|
|
arm,num-irq-priority-bits = <4>;
|
|
|
|
};
|
2022-04-26 05:56:40 +08:00
|
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
* GPIO pinmux options. These options define the pinmux settings
|
|
|
|
* for GPIO ports on the package, so that the GPIO driver can
|
|
|
|
* select GPIO mux options during GPIO configuration.
|
|
|
|
*/
|
|
|
|
|
|
|
|
&gpio1{
|
|
|
|
pinmux = <&iomuxc_gpio1_io00_gpio_io_gpio1_io00>,
|
|
|
|
<&iomuxc_gpio1_io01_gpio_io_gpio1_io01>,
|
|
|
|
<&iomuxc_gpio1_io02_gpio_io_gpio1_io02>,
|
|
|
|
<&iomuxc_gpio1_io03_gpio_io_gpio1_io03>,
|
|
|
|
<&iomuxc_gpio1_io04_gpio_io_gpio1_io04>,
|
|
|
|
<&iomuxc_gpio1_io05_gpio_io_gpio1_io05>,
|
|
|
|
<&iomuxc_gpio1_io06_gpio_io_gpio1_io06>,
|
|
|
|
<&iomuxc_gpio1_io07_gpio_io_gpio1_io07>,
|
|
|
|
<&iomuxc_gpio1_io08_gpio_io_gpio1_io08>,
|
|
|
|
<&iomuxc_gpio1_io09_gpio_io_gpio1_io09>,
|
|
|
|
<&iomuxc_gpio1_io10_gpio_io_gpio1_io10>,
|
|
|
|
<&iomuxc_gpio1_io11_gpio_io_gpio1_io11>,
|
|
|
|
<&iomuxc_gpio1_io12_gpio_io_gpio1_io12>,
|
|
|
|
<&iomuxc_gpio1_io13_gpio_io_gpio1_io13>,
|
|
|
|
<&iomuxc_gpio1_io14_gpio_io_gpio1_io14>,
|
|
|
|
<&iomuxc_gpio1_io15_gpio_io_gpio1_io15>,
|
|
|
|
<&iomuxc_enet_mdc_gpio_io_gpio1_io16>,
|
|
|
|
<&iomuxc_enet_mdio_gpio_io_gpio1_io17>,
|
|
|
|
<&iomuxc_enet_td3_gpio_io_gpio1_io18>,
|
|
|
|
<&iomuxc_enet_td2_gpio_io_gpio1_io19>,
|
|
|
|
<&iomuxc_enet_td1_gpio_io_gpio1_io20>,
|
|
|
|
<&iomuxc_enet_td0_gpio_io_gpio1_io21>,
|
|
|
|
<&iomuxc_enet_tx_ctl_gpio_io_gpio1_io22>,
|
|
|
|
<&iomuxc_enet_txc_gpio_io_gpio1_io23>,
|
|
|
|
<&iomuxc_enet_rx_ctl_gpio_io_gpio1_io24>,
|
|
|
|
<&iomuxc_enet_rxc_gpio_io_gpio1_io25>,
|
|
|
|
<&iomuxc_enet_rd0_gpio_io_gpio1_io26>,
|
|
|
|
<&iomuxc_enet_rd1_gpio_io_gpio1_io27>,
|
|
|
|
<&iomuxc_enet_rd2_gpio_io_gpio1_io28>,
|
|
|
|
<&iomuxc_enet_rd3_gpio_io_gpio1_io29>;
|
|
|
|
};
|
|
|
|
|
|
|
|
&gpio2{
|
|
|
|
pinmux = <&iomuxc_sd1_clk_gpio_io_gpio2_io00>,
|
|
|
|
<&iomuxc_sd1_cmd_gpio_io_gpio2_io01>,
|
|
|
|
<&iomuxc_sd1_data0_gpio_io_gpio2_io02>,
|
|
|
|
<&iomuxc_sd1_data1_gpio_io_gpio2_io03>,
|
|
|
|
<&iomuxc_sd1_data2_gpio_io_gpio2_io04>,
|
|
|
|
<&iomuxc_sd1_data3_gpio_io_gpio2_io05>,
|
|
|
|
<&iomuxc_sd1_data4_gpio_io_gpio2_io06>,
|
|
|
|
<&iomuxc_sd1_data5_gpio_io_gpio2_io07>,
|
|
|
|
<&iomuxc_sd1_data6_gpio_io_gpio2_io08>,
|
|
|
|
<&iomuxc_sd1_data7_gpio_io_gpio2_io09>,
|
|
|
|
<&iomuxc_sd1_reset_b_gpio_io_gpio2_io10>,
|
|
|
|
<&iomuxc_sd1_strobe_gpio_io_gpio2_io11>,
|
|
|
|
<&iomuxc_sd2_cd_b_gpio_io_gpio2_io12>,
|
|
|
|
<&iomuxc_sd2_clk_gpio_io_gpio2_io13>,
|
|
|
|
<&iomuxc_sd2_cmd_gpio_io_gpio2_io14>,
|
|
|
|
<&iomuxc_sd2_data0_gpio_io_gpio2_io15>,
|
|
|
|
<&iomuxc_sd2_data1_gpio_io_gpio2_io16>,
|
|
|
|
<&iomuxc_sd2_data2_gpio_io_gpio2_io17>,
|
|
|
|
<&iomuxc_sd2_data3_gpio_io_gpio2_io18>,
|
|
|
|
<&iomuxc_sd2_reset_b_gpio_io_gpio2_io19>,
|
|
|
|
<&iomuxc_sd2_wp_gpio_io_gpio2_io20>;
|
|
|
|
};
|
|
|
|
|
|
|
|
&gpio3{
|
|
|
|
pinmux = <&iomuxc_nand_ale_gpio_io_gpio3_io00>,
|
|
|
|
<&iomuxc_nand_ce0_b_gpio_io_gpio3_io01>,
|
|
|
|
<&iomuxc_nand_ce1_b_gpio_io_gpio3_io02>,
|
|
|
|
<&iomuxc_nand_ce2_b_gpio_io_gpio3_io03>,
|
|
|
|
<&iomuxc_nand_ce3_b_gpio_io_gpio3_io04>,
|
|
|
|
<&iomuxc_nand_cle_gpio_io_gpio3_io05>,
|
|
|
|
<&iomuxc_nand_data00_gpio_io_gpio3_io06>,
|
|
|
|
<&iomuxc_nand_data01_gpio_io_gpio3_io07>,
|
|
|
|
<&iomuxc_nand_data02_gpio_io_gpio3_io08>,
|
|
|
|
<&iomuxc_nand_data03_gpio_io_gpio3_io09>,
|
|
|
|
<&iomuxc_nand_data04_gpio_io_gpio3_io10>,
|
|
|
|
<&iomuxc_nand_data05_gpio_io_gpio3_io11>,
|
|
|
|
<&iomuxc_nand_data06_gpio_io_gpio3_io12>,
|
|
|
|
<&iomuxc_nand_data07_gpio_io_gpio3_io13>,
|
|
|
|
<&iomuxc_nand_dqs_gpio_io_gpio3_io14>,
|
|
|
|
<&iomuxc_nand_re_b_gpio_io_gpio3_io15>,
|
|
|
|
<&iomuxc_nand_ready_b_gpio_io_gpio3_io16>,
|
|
|
|
<&iomuxc_nand_we_b_gpio_io_gpio3_io17>,
|
|
|
|
<&iomuxc_nand_wp_b_gpio_io_gpio3_io18>,
|
|
|
|
<&iomuxc_sai5_rxfs_gpio_io_gpio3_io19>,
|
|
|
|
<&iomuxc_sai5_rxc_gpio_io_gpio3_io20>,
|
|
|
|
<&iomuxc_sai5_rxd0_gpio_io_gpio3_io21>,
|
|
|
|
<&iomuxc_sai5_rxd1_gpio_io_gpio3_io22>,
|
|
|
|
<&iomuxc_sai5_rxd2_gpio_io_gpio3_io23>,
|
|
|
|
<&iomuxc_sai5_rxd3_gpio_io_gpio3_io24>,
|
|
|
|
<&iomuxc_sai5_mclk_gpio_io_gpio3_io25>;
|
|
|
|
};
|
|
|
|
|
|
|
|
&gpio4{
|
|
|
|
pinmux = <&iomuxc_sai1_rxfs_gpio_io_gpio4_io00>,
|
|
|
|
<&iomuxc_sai1_rxc_gpio_io_gpio4_io01>,
|
|
|
|
<&iomuxc_sai1_rxd0_gpio_io_gpio4_io02>,
|
|
|
|
<&iomuxc_sai1_rxd1_gpio_io_gpio4_io03>,
|
|
|
|
<&iomuxc_sai1_rxd2_gpio_io_gpio4_io04>,
|
|
|
|
<&iomuxc_sai1_rxd3_gpio_io_gpio4_io05>,
|
|
|
|
<&iomuxc_sai1_rxd4_gpio_io_gpio4_io06>,
|
|
|
|
<&iomuxc_sai1_rxd5_gpio_io_gpio4_io07>,
|
|
|
|
<&iomuxc_sai1_rxd6_gpio_io_gpio4_io08>,
|
|
|
|
<&iomuxc_sai1_rxd7_gpio_io_gpio4_io09>,
|
|
|
|
<&iomuxc_sai1_txfs_gpio_io_gpio4_io10>,
|
|
|
|
<&iomuxc_sai1_txc_gpio_io_gpio4_io11>,
|
|
|
|
<&iomuxc_sai1_txd0_gpio_io_gpio4_io12>,
|
|
|
|
<&iomuxc_sai1_txd1_gpio_io_gpio4_io13>,
|
|
|
|
<&iomuxc_sai1_txd2_gpio_io_gpio4_io14>,
|
|
|
|
<&iomuxc_sai1_txd3_gpio_io_gpio4_io15>,
|
|
|
|
<&iomuxc_sai1_txd4_gpio_io_gpio4_io16>,
|
|
|
|
<&iomuxc_sai1_txd5_gpio_io_gpio4_io17>,
|
|
|
|
<&iomuxc_sai1_txd6_gpio_io_gpio4_io18>,
|
|
|
|
<&iomuxc_sai1_txd7_gpio_io_gpio4_io19>,
|
|
|
|
<&iomuxc_sai1_mclk_gpio_io_gpio4_io20>,
|
|
|
|
<&iomuxc_sai2_rxfs_gpio_io_gpio4_io21>,
|
|
|
|
<&iomuxc_sai2_rxc_gpio_io_gpio4_io22>,
|
|
|
|
<&iomuxc_sai2_rxd0_gpio_io_gpio4_io23>,
|
|
|
|
<&iomuxc_sai2_txfs_gpio_io_gpio4_io24>,
|
|
|
|
<&iomuxc_sai2_txc_gpio_io_gpio4_io25>,
|
|
|
|
<&iomuxc_sai2_txd0_gpio_io_gpio4_io26>,
|
|
|
|
<&iomuxc_sai2_mclk_gpio_io_gpio4_io27>,
|
|
|
|
<&iomuxc_sai3_rxfs_gpio_io_gpio4_io28>,
|
|
|
|
<&iomuxc_sai3_rxc_gpio_io_gpio4_io29>,
|
|
|
|
<&iomuxc_sai3_rxd_gpio_io_gpio4_io30>,
|
|
|
|
<&iomuxc_sai3_txfs_gpio_io_gpio4_io31>;
|
|
|
|
};
|
|
|
|
|
|
|
|
&gpio5{
|
|
|
|
pinmux = <&iomuxc_sai3_txc_gpio_io_gpio5_io00>,
|
|
|
|
<&iomuxc_sai3_txd_gpio_io_gpio5_io01>,
|
|
|
|
<&iomuxc_sai3_mclk_gpio_io_gpio5_io02>,
|
|
|
|
<&iomuxc_spdif_tx_gpio_io_gpio5_io03>,
|
|
|
|
<&iomuxc_spdif_rx_gpio_io_gpio5_io04>,
|
|
|
|
<&iomuxc_spdif_ext_clk_gpio_io_gpio5_io05>,
|
|
|
|
<&iomuxc_ecspi1_sclk_gpio_io_gpio5_io06>,
|
|
|
|
<&iomuxc_ecspi1_mosi_gpio_io_gpio5_io07>,
|
|
|
|
<&iomuxc_ecspi1_miso_gpio_io_gpio5_io08>,
|
|
|
|
<&iomuxc_ecspi1_ss0_gpio_io_gpio5_io09>,
|
|
|
|
<&iomuxc_ecspi2_sclk_gpio_io_gpio5_io10>,
|
|
|
|
<&iomuxc_ecspi2_mosi_gpio_io_gpio5_io11>,
|
|
|
|
<&iomuxc_ecspi2_miso_gpio_io_gpio5_io12>,
|
|
|
|
<&iomuxc_ecspi2_ss0_gpio_io_gpio5_io13>,
|
|
|
|
<&iomuxc_i2c1_scl_gpio_io_gpio5_io14>,
|
|
|
|
<&iomuxc_i2c1_sda_gpio_io_gpio5_io15>,
|
|
|
|
<&iomuxc_i2c2_scl_gpio_io_gpio5_io16>,
|
|
|
|
<&iomuxc_i2c2_sda_gpio_io_gpio5_io17>,
|
|
|
|
<&iomuxc_i2c3_scl_gpio_io_gpio5_io18>,
|
|
|
|
<&iomuxc_i2c3_sda_gpio_io_gpio5_io19>,
|
|
|
|
<&iomuxc_i2c4_scl_gpio_io_gpio5_io20>,
|
|
|
|
<&iomuxc_i2c4_sda_gpio_io_gpio5_io21>,
|
|
|
|
<&iomuxc_uart1_rxd_gpio_io_gpio5_io22>,
|
|
|
|
<&iomuxc_uart1_txd_gpio_io_gpio5_io23>,
|
|
|
|
<&iomuxc_uart2_rxd_gpio_io_gpio5_io24>,
|
|
|
|
<&iomuxc_uart2_txd_gpio_io_gpio5_io25>,
|
|
|
|
<&iomuxc_uart3_rxd_gpio_io_gpio5_io26>,
|
|
|
|
<&iomuxc_uart3_txd_gpio_io_gpio5_io27>,
|
|
|
|
<&iomuxc_uart4_rxd_gpio_io_gpio5_io28>,
|
|
|
|
<&iomuxc_uart4_txd_gpio_io_gpio5_io29>;
|
|
|
|
};
|