/*
 * Copyright (c) 2021, Kwon Tae-young
 *
 * 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 <zephyr/dt-bindings/gpio/gpio.h>
#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)>;
		};

		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";
		};

		iomuxc: iomuxc@30330000 {
			compatible = "nxp,imx-iomuxc";
			reg = <0x30330000 DT_SIZE_K(64)>;
			status = "okay";
			pinctrl: pinctrl {
				status = "okay";
				compatible = "nxp,imx8m-pinctrl";
			};
		};

		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>;
			clocks = <&ccm IMX_CCM_UART1_CLK 0x7c 24>;
			status = "disabled";
		};

		uart2: uart@30890000 {
			compatible = "nxp,imx-iuart";
			reg = <0x30890000 0x10000>;
			interrupts = <27 3>;
			clocks = <&ccm IMX_CCM_UART2_CLK 0x68 28>;
			status = "disabled";
		};

		uart3: uart@30880000 {
			compatible = "nxp,imx-iuart";
			reg = <0x30880000 0x10000>;
			interrupts = <28 3>;
			clocks = <&ccm IMX_CCM_UART3_CLK 0x68 12>;
			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";
		};

		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";
		};
	};
};

&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_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>;
};
