| /* |
| * Copyright (c) 2021, Laird Connectivity |
| * |
| * SPDX-License-Identifier: Apache-2.0 |
| */ |
| |
| #include <arm/armv7-m.dtsi> |
| #include <zephyr/dt-bindings/clock/imx_ccm.h> |
| #include <zephyr/dt-bindings/rdc/imx_rdc.h> |
| #include <mem.h> |
| |
| / { |
| cpus { |
| #address-cells = <1>; |
| #size-cells = <0>; |
| |
| cpu@0 { |
| device_type = "cpu"; |
| compatible = "arm,cortex-m7"; |
| reg = <0>; |
| #address-cells = <1>; |
| #size-cells = <1>; |
| |
| mpu: mpu@e000ed90 { |
| compatible = "arm,armv7m-mpu"; |
| reg = <0xe000ed90 0x40>; |
| }; |
| }; |
| }; |
| |
| soc { |
| itcm: itcm@0 { |
| compatible = "nxp,imx-itcm"; |
| reg = <0x0 DT_SIZE_K(128)>; |
| }; |
| |
| dtcm: dtcm@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(576)>; |
| }; |
| |
| ocram_sys: memory@20200000 { |
| device_type = "memory"; |
| compatible = "nxp,imx-sys-bus"; |
| reg = <0x20200000 DT_SIZE_K(576)>; |
| }; |
| |
| ocram_s_code: code@180000 { |
| compatible = "nxp,imx-code-bus"; |
| reg = <0x00180000 DT_SIZE_K(36)>; |
| }; |
| |
| ocram_s_sys: memory@20180000 { |
| device_type = "memory"; |
| compatible = "nxp,imx-sys-bus"; |
| reg = <0x20180000 DT_SIZE_K(36)>; |
| }; |
| |
| ddr_code: code@80000000 { |
| device_type = "memory"; |
| compatible = "nxp,imx-code-bus"; |
| reg = <0x80000000 DT_SIZE_M(2)>; |
| }; |
| |
| ddr_sys: memory@80200000 { |
| device_type = "memory"; |
| compatible = "nxp,imx-sys-bus"; |
| reg = <0x80200000 DT_SIZE_M(2)>; |
| }; |
| |
| ccm: ccm@30380000 { |
| compatible = "nxp,imx-ccm"; |
| reg = <0x30380000 DT_SIZE_K(64)>; |
| #clock-cells = <3>; |
| }; |
| |
| iomuxc: iomuxc@30330000 { |
| compatible = "nxp,imx-iomuxc"; |
| reg = <0x30330000 DT_SIZE_K(64)>; |
| status = "okay"; |
| pinctrl: pinctrl { |
| status = "okay"; |
| compatible = "nxp,imx8mp-pinctrl"; |
| }; |
| }; |
| |
| 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(M7_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(M7_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(M7_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(M7_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(M7_DOMAIN_ID,\ |
| RDC_DOMAIN_PERM_RW))>; |
| gpio-controller; |
| #gpio-cells = <2>; |
| status = "disabled"; |
| }; |
| |
| uart4: uart@30a60000 { |
| compatible = "nxp,imx-iuart"; |
| reg = <0x30a60000 0x10000>; |
| interrupts = <29 3>; |
| clocks = <&ccm IMX_CCM_UART4_CLK 0x6c 24>; |
| status = "disabled"; |
| }; |
| |
| uart1: uart@30860000 { |
| compatible = "nxp,imx-iuart"; |
| reg = <0x30860000 0x10000>; |
| interrupts = <26 3>; |
| clocks = <&ccm IMX_CCM_UART1_CLK 0x7c 24>; |
| status = "disabled"; |
| }; |
| |
| 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(M7_DOMAIN_ID,\ |
| RDC_DOMAIN_PERM_RW))>; |
| status = "disabled"; |
| }; |
| |
| ecspi1: spi@30820000 { |
| compatible = "nxp,imx-ecspi"; |
| reg = <0x30820000 DT_SIZE_K(64)>; |
| #address-cells = <1>; |
| #size-cells = <0>; |
| interrupts = <31 3>; |
| clocks = <&ccm IMX_CCM_ECSPI1_CLK 0 0>; |
| status = "disabled"; |
| }; |
| |
| ecspi2: spi@30830000 { |
| compatible = "nxp,imx-ecspi"; |
| reg = <0x30830000 DT_SIZE_K(64)>; |
| #address-cells = <1>; |
| #size-cells = <0>; |
| interrupts = <32 3>; |
| clocks = <&ccm IMX_CCM_ECSPI2_CLK 0 0>; |
| status = "disabled"; |
| }; |
| |
| ecspi3: spi@30840000 { |
| compatible = "nxp,imx-ecspi"; |
| reg = <0x30840000 DT_SIZE_K(64)>; |
| #address-cells = <1>; |
| #size-cells = <0>; |
| interrupts = <33 3>; |
| clocks = <&ccm IMX_CCM_ECSPI3_CLK 0 0>; |
| status = "disabled"; |
| }; |
| }; |
| }; |
| |
| &nvic { |
| arm,num-irq-priority-bits = <4>; |
| }; |
| |
| |
| /* |
| * 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_io0>, |
| <&iomuxc_gpio1_io01_gpio_io_gpio1_io1>, |
| <&iomuxc_gpio1_io02_gpio_io_gpio1_io2>, |
| <&iomuxc_gpio1_io03_gpio_io_gpio1_io3>, |
| <&iomuxc_gpio1_io04_gpio_io_gpio1_io4>, |
| <&iomuxc_gpio1_io05_gpio_io_gpio1_io5>, |
| <&iomuxc_gpio1_io06_gpio_io_gpio1_io6>, |
| <&iomuxc_gpio1_io07_gpio_io_gpio1_io7>, |
| <&iomuxc_gpio1_io08_gpio_io_gpio1_io8>, |
| <&iomuxc_gpio1_io09_gpio_io_gpio1_io9>, |
| <&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_io0>, |
| <&iomuxc_sd1_cmd_gpio_io_gpio2_io1>, |
| <&iomuxc_sd1_data0_gpio_io_gpio2_io2>, |
| <&iomuxc_sd1_data1_gpio_io_gpio2_io3>, |
| <&iomuxc_sd1_data2_gpio_io_gpio2_io4>, |
| <&iomuxc_sd1_data3_gpio_io_gpio2_io5>, |
| <&iomuxc_sd1_data4_gpio_io_gpio2_io6>, |
| <&iomuxc_sd1_data5_gpio_io_gpio2_io7>, |
| <&iomuxc_sd1_data6_gpio_io_gpio2_io8>, |
| <&iomuxc_sd1_data7_gpio_io_gpio2_io9>, |
| <&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_io0>, |
| <&iomuxc_nand_ce0_b_gpio_io_gpio3_io1>, |
| <&iomuxc_nand_ce1_b_gpio_io_gpio3_io2>, |
| <&iomuxc_nand_ce2_b_gpio_io_gpio3_io3>, |
| <&iomuxc_nand_ce3_b_gpio_io_gpio3_io4>, |
| <&iomuxc_nand_cle_gpio_io_gpio3_io5>, |
| <&iomuxc_nand_data00_gpio_io_gpio3_io6>, |
| <&iomuxc_nand_data01_gpio_io_gpio3_io7>, |
| <&iomuxc_nand_data02_gpio_io_gpio3_io8>, |
| <&iomuxc_nand_data03_gpio_io_gpio3_io9>, |
| <&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>, |
| <&iomuxc_hdmi_ddc_scl_gpio_io_gpio3_io26>, |
| <&iomuxc_hdmi_ddc_sda_gpio_io_gpio3_io27>, |
| <&iomuxc_hdmi_cec_gpio_io_gpio3_io28>, |
| <&iomuxc_hdmi_hpd_gpio_io_gpio3_io29>; |
| }; |
| |
| &gpio4{ |
| pinmux = <&iomuxc_sai1_rxfs_gpio_io_gpio4_io0>, |
| <&iomuxc_sai1_rxc_gpio_io_gpio4_io1>, |
| <&iomuxc_sai1_rxd0_gpio_io_gpio4_io2>, |
| <&iomuxc_sai1_rxd1_gpio_io_gpio4_io3>, |
| <&iomuxc_sai1_rxd2_gpio_io_gpio4_io4>, |
| <&iomuxc_sai1_rxd3_gpio_io_gpio4_io5>, |
| <&iomuxc_sai1_rxd4_gpio_io_gpio4_io6>, |
| <&iomuxc_sai1_rxd5_gpio_io_gpio4_io7>, |
| <&iomuxc_sai1_rxd6_gpio_io_gpio4_io8>, |
| <&iomuxc_sai1_rxd7_gpio_io_gpio4_io9>, |
| <&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_io0>, |
| <&iomuxc_sai3_txd_gpio_io_gpio5_io1>, |
| <&iomuxc_sai3_mclk_gpio_io_gpio5_io2>, |
| <&iomuxc_spdif_tx_gpio_io_gpio5_io3>, |
| <&iomuxc_spdif_rx_gpio_io_gpio5_io4>, |
| <&iomuxc_spdif_ext_clk_gpio_io_gpio5_io5>, |
| <&iomuxc_ecspi1_sclk_gpio_io_gpio5_io6>, |
| <&iomuxc_ecspi1_mosi_gpio_io_gpio5_io7>, |
| <&iomuxc_ecspi1_miso_gpio_io_gpio5_io8>, |
| <&iomuxc_ecspi1_ss0_gpio_io_gpio5_io9>, |
| <&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>; |
| }; |