xref: /openbmc/linux/arch/arm64/boot/dts/freescale/imx8mn.dtsi (revision 6bc1e58055c1ea3ff31335637f62a1b77da5633d)
16c3debcbSAnson Huang// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
26c3debcbSAnson Huang/*
36c3debcbSAnson Huang * Copyright 2019 NXP
46c3debcbSAnson Huang */
56c3debcbSAnson Huang
66c3debcbSAnson Huang#include <dt-bindings/clock/imx8mn-clock.h>
78b8ebec6SAdam Ford#include <dt-bindings/power/imx8mn-power.h>
88b8ebec6SAdam Ford#include <dt-bindings/reset/imx8mq-reset.h>
96c3debcbSAnson Huang#include <dt-bindings/gpio/gpio.h>
106c3debcbSAnson Huang#include <dt-bindings/input/input.h>
116c3debcbSAnson Huang#include <dt-bindings/interrupt-controller/arm-gic.h>
12819779a9SAnson Huang#include <dt-bindings/thermal/thermal.h>
136c3debcbSAnson Huang
146c3debcbSAnson Huang#include "imx8mn-pinfunc.h"
156c3debcbSAnson Huang
166c3debcbSAnson Huang/ {
176c3debcbSAnson Huang	interrupt-parent = <&gic>;
186c3debcbSAnson Huang	#address-cells = <2>;
196c3debcbSAnson Huang	#size-cells = <2>;
206c3debcbSAnson Huang
216c3debcbSAnson Huang	aliases {
226c3debcbSAnson Huang		ethernet0 = &fec1;
236c3debcbSAnson Huang		gpio0 = &gpio1;
246c3debcbSAnson Huang		gpio1 = &gpio2;
256c3debcbSAnson Huang		gpio2 = &gpio3;
266c3debcbSAnson Huang		gpio3 = &gpio4;
276c3debcbSAnson Huang		gpio4 = &gpio5;
286c3debcbSAnson Huang		i2c0 = &i2c1;
296c3debcbSAnson Huang		i2c1 = &i2c2;
306c3debcbSAnson Huang		i2c2 = &i2c3;
316c3debcbSAnson Huang		i2c3 = &i2c4;
326c3debcbSAnson Huang		mmc0 = &usdhc1;
336c3debcbSAnson Huang		mmc1 = &usdhc2;
346c3debcbSAnson Huang		mmc2 = &usdhc3;
356c3debcbSAnson Huang		serial0 = &uart1;
366c3debcbSAnson Huang		serial1 = &uart2;
376c3debcbSAnson Huang		serial2 = &uart3;
386c3debcbSAnson Huang		serial3 = &uart4;
396c3debcbSAnson Huang		spi0 = &ecspi1;
406c3debcbSAnson Huang		spi1 = &ecspi2;
416c3debcbSAnson Huang		spi2 = &ecspi3;
426c3debcbSAnson Huang	};
436c3debcbSAnson Huang
446c3debcbSAnson Huang	cpus {
456c3debcbSAnson Huang		#address-cells = <1>;
466c3debcbSAnson Huang		#size-cells = <0>;
476c3debcbSAnson Huang
48df844a9aSAnson Huang		idle-states {
49df844a9aSAnson Huang			entry-method = "psci";
50df844a9aSAnson Huang
51df844a9aSAnson Huang			cpu_pd_wait: cpu-pd-wait {
52df844a9aSAnson Huang				compatible = "arm,idle-state";
53df844a9aSAnson Huang				arm,psci-suspend-param = <0x0010033>;
54df844a9aSAnson Huang				local-timer-stop;
55df844a9aSAnson Huang				entry-latency-us = <1000>;
56df844a9aSAnson Huang				exit-latency-us = <700>;
57df844a9aSAnson Huang				min-residency-us = <2700>;
58df844a9aSAnson Huang			};
59df844a9aSAnson Huang		};
60df844a9aSAnson Huang
616c3debcbSAnson Huang		A53_0: cpu@0 {
626c3debcbSAnson Huang			device_type = "cpu";
636c3debcbSAnson Huang			compatible = "arm,cortex-a53";
646c3debcbSAnson Huang			reg = <0x0>;
656c3debcbSAnson Huang			clock-latency = <61036>;
666c3debcbSAnson Huang			clocks = <&clk IMX8MN_CLK_ARM>;
676c3debcbSAnson Huang			enable-method = "psci";
68cb551b5eSPeng Fan			i-cache-size = <0x8000>;
69cb551b5eSPeng Fan			i-cache-line-size = <64>;
70cb551b5eSPeng Fan			i-cache-sets = <256>;
71cb551b5eSPeng Fan			d-cache-size = <0x8000>;
72cb551b5eSPeng Fan			d-cache-line-size = <64>;
73cb551b5eSPeng Fan			d-cache-sets = <128>;
746c3debcbSAnson Huang			next-level-cache = <&A53_L2>;
7501c49314SAnson Huang			operating-points-v2 = <&a53_opp_table>;
7601c49314SAnson Huang			nvmem-cells = <&cpu_speed_grade>;
7701c49314SAnson Huang			nvmem-cell-names = "speed_grade";
78df844a9aSAnson Huang			cpu-idle-states = <&cpu_pd_wait>;
79819779a9SAnson Huang			#cooling-cells = <2>;
806c3debcbSAnson Huang		};
816c3debcbSAnson Huang
826c3debcbSAnson Huang		A53_1: cpu@1 {
836c3debcbSAnson Huang			device_type = "cpu";
846c3debcbSAnson Huang			compatible = "arm,cortex-a53";
856c3debcbSAnson Huang			reg = <0x1>;
866c3debcbSAnson Huang			clock-latency = <61036>;
876c3debcbSAnson Huang			clocks = <&clk IMX8MN_CLK_ARM>;
886c3debcbSAnson Huang			enable-method = "psci";
89cb551b5eSPeng Fan			i-cache-size = <0x8000>;
90cb551b5eSPeng Fan			i-cache-line-size = <64>;
91cb551b5eSPeng Fan			i-cache-sets = <256>;
92cb551b5eSPeng Fan			d-cache-size = <0x8000>;
93cb551b5eSPeng Fan			d-cache-line-size = <64>;
94cb551b5eSPeng Fan			d-cache-sets = <128>;
956c3debcbSAnson Huang			next-level-cache = <&A53_L2>;
9601c49314SAnson Huang			operating-points-v2 = <&a53_opp_table>;
97df844a9aSAnson Huang			cpu-idle-states = <&cpu_pd_wait>;
98819779a9SAnson Huang			#cooling-cells = <2>;
996c3debcbSAnson Huang		};
1006c3debcbSAnson Huang
1016c3debcbSAnson Huang		A53_2: cpu@2 {
1026c3debcbSAnson Huang			device_type = "cpu";
1036c3debcbSAnson Huang			compatible = "arm,cortex-a53";
1046c3debcbSAnson Huang			reg = <0x2>;
1056c3debcbSAnson Huang			clock-latency = <61036>;
1066c3debcbSAnson Huang			clocks = <&clk IMX8MN_CLK_ARM>;
1076c3debcbSAnson Huang			enable-method = "psci";
108cb551b5eSPeng Fan			i-cache-size = <0x8000>;
109cb551b5eSPeng Fan			i-cache-line-size = <64>;
110cb551b5eSPeng Fan			i-cache-sets = <256>;
111cb551b5eSPeng Fan			d-cache-size = <0x8000>;
112cb551b5eSPeng Fan			d-cache-line-size = <64>;
113cb551b5eSPeng Fan			d-cache-sets = <128>;
1146c3debcbSAnson Huang			next-level-cache = <&A53_L2>;
11501c49314SAnson Huang			operating-points-v2 = <&a53_opp_table>;
116df844a9aSAnson Huang			cpu-idle-states = <&cpu_pd_wait>;
117819779a9SAnson Huang			#cooling-cells = <2>;
1186c3debcbSAnson Huang		};
1196c3debcbSAnson Huang
1206c3debcbSAnson Huang		A53_3: cpu@3 {
1216c3debcbSAnson Huang			device_type = "cpu";
1226c3debcbSAnson Huang			compatible = "arm,cortex-a53";
1236c3debcbSAnson Huang			reg = <0x3>;
1246c3debcbSAnson Huang			clock-latency = <61036>;
1256c3debcbSAnson Huang			clocks = <&clk IMX8MN_CLK_ARM>;
1266c3debcbSAnson Huang			enable-method = "psci";
127cb551b5eSPeng Fan			i-cache-size = <0x8000>;
128cb551b5eSPeng Fan			i-cache-line-size = <64>;
129cb551b5eSPeng Fan			i-cache-sets = <256>;
130cb551b5eSPeng Fan			d-cache-size = <0x8000>;
131cb551b5eSPeng Fan			d-cache-line-size = <64>;
132cb551b5eSPeng Fan			d-cache-sets = <128>;
1336c3debcbSAnson Huang			next-level-cache = <&A53_L2>;
13401c49314SAnson Huang			operating-points-v2 = <&a53_opp_table>;
135df844a9aSAnson Huang			cpu-idle-states = <&cpu_pd_wait>;
136819779a9SAnson Huang			#cooling-cells = <2>;
1376c3debcbSAnson Huang		};
1386c3debcbSAnson Huang
1396c3debcbSAnson Huang		A53_L2: l2-cache0 {
1406c3debcbSAnson Huang			compatible = "cache";
141cb551b5eSPeng Fan			cache-level = <2>;
142cb551b5eSPeng Fan			cache-size = <0x80000>;
143cb551b5eSPeng Fan			cache-line-size = <64>;
144cb551b5eSPeng Fan			cache-sets = <512>;
1456c3debcbSAnson Huang		};
1466c3debcbSAnson Huang	};
1476c3debcbSAnson Huang
14801c49314SAnson Huang	a53_opp_table: opp-table {
14901c49314SAnson Huang		compatible = "operating-points-v2";
15001c49314SAnson Huang		opp-shared;
15101c49314SAnson Huang
15201c49314SAnson Huang		opp-1200000000 {
15301c49314SAnson Huang			opp-hz = /bits/ 64 <1200000000>;
1548c30e7caSAnson Huang			opp-microvolt = <850000>;
15501c49314SAnson Huang			opp-supported-hw = <0xb00>, <0x7>;
15601c49314SAnson Huang			clock-latency-ns = <150000>;
15701c49314SAnson Huang			opp-suspend;
15801c49314SAnson Huang		};
15901c49314SAnson Huang
16001c49314SAnson Huang		opp-1400000000 {
16101c49314SAnson Huang			opp-hz = /bits/ 64 <1400000000>;
16201c49314SAnson Huang			opp-microvolt = <950000>;
16301c49314SAnson Huang			opp-supported-hw = <0x300>, <0x7>;
16401c49314SAnson Huang			clock-latency-ns = <150000>;
16501c49314SAnson Huang			opp-suspend;
16601c49314SAnson Huang		};
16701c49314SAnson Huang
16801c49314SAnson Huang		opp-1500000000 {
16901c49314SAnson Huang			opp-hz = /bits/ 64 <1500000000>;
17001c49314SAnson Huang			opp-microvolt = <1000000>;
17101c49314SAnson Huang			opp-supported-hw = <0x100>, <0x3>;
17201c49314SAnson Huang			clock-latency-ns = <150000>;
17301c49314SAnson Huang			opp-suspend;
17401c49314SAnson Huang		};
17501c49314SAnson Huang	};
17601c49314SAnson Huang
1776c3debcbSAnson Huang	osc_32k: clock-osc-32k {
1786c3debcbSAnson Huang		compatible = "fixed-clock";
1796c3debcbSAnson Huang		#clock-cells = <0>;
1806c3debcbSAnson Huang		clock-frequency = <32768>;
1816c3debcbSAnson Huang		clock-output-names = "osc_32k";
1826c3debcbSAnson Huang	};
1836c3debcbSAnson Huang
1846c3debcbSAnson Huang	osc_24m: clock-osc-24m {
1856c3debcbSAnson Huang		compatible = "fixed-clock";
1866c3debcbSAnson Huang		#clock-cells = <0>;
1876c3debcbSAnson Huang		clock-frequency = <24000000>;
1886c3debcbSAnson Huang		clock-output-names = "osc_24m";
1896c3debcbSAnson Huang	};
1906c3debcbSAnson Huang
1916c3debcbSAnson Huang	clk_ext1: clock-ext1 {
1926c3debcbSAnson Huang		compatible = "fixed-clock";
1936c3debcbSAnson Huang		#clock-cells = <0>;
1946c3debcbSAnson Huang		clock-frequency = <133000000>;
1956c3debcbSAnson Huang		clock-output-names = "clk_ext1";
1966c3debcbSAnson Huang	};
1976c3debcbSAnson Huang
1986c3debcbSAnson Huang	clk_ext2: clock-ext2 {
1996c3debcbSAnson Huang		compatible = "fixed-clock";
2006c3debcbSAnson Huang		#clock-cells = <0>;
2016c3debcbSAnson Huang		clock-frequency = <133000000>;
2026c3debcbSAnson Huang		clock-output-names = "clk_ext2";
2036c3debcbSAnson Huang	};
2046c3debcbSAnson Huang
2056c3debcbSAnson Huang	clk_ext3: clock-ext3 {
2066c3debcbSAnson Huang		compatible = "fixed-clock";
2076c3debcbSAnson Huang		#clock-cells = <0>;
2086c3debcbSAnson Huang		clock-frequency = <133000000>;
2096c3debcbSAnson Huang		clock-output-names = "clk_ext3";
2106c3debcbSAnson Huang	};
2116c3debcbSAnson Huang
2126c3debcbSAnson Huang	clk_ext4: clock-ext4 {
2136c3debcbSAnson Huang		compatible = "fixed-clock";
2146c3debcbSAnson Huang		#clock-cells = <0>;
2156c3debcbSAnson Huang		clock-frequency= <133000000>;
2166c3debcbSAnson Huang		clock-output-names = "clk_ext4";
2176c3debcbSAnson Huang	};
2186c3debcbSAnson Huang
219c13a7d84SJacky Bai	pmu {
220c13a7d84SJacky Bai		compatible = "arm,cortex-a53-pmu";
221c13a7d84SJacky Bai		interrupts = <GIC_PPI 7
222c13a7d84SJacky Bai			     (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>;
223c13a7d84SJacky Bai	};
224c13a7d84SJacky Bai
2256c3debcbSAnson Huang	psci {
2266c3debcbSAnson Huang		compatible = "arm,psci-1.0";
2276c3debcbSAnson Huang		method = "smc";
2286c3debcbSAnson Huang	};
2296c3debcbSAnson Huang
230819779a9SAnson Huang	thermal-zones {
231819779a9SAnson Huang		cpu-thermal {
232819779a9SAnson Huang			polling-delay-passive = <250>;
233819779a9SAnson Huang			polling-delay = <2000>;
234819779a9SAnson Huang			thermal-sensors = <&tmu>;
235819779a9SAnson Huang			trips {
236819779a9SAnson Huang				cpu_alert0: trip0 {
237819779a9SAnson Huang					temperature = <85000>;
238819779a9SAnson Huang					hysteresis = <2000>;
239819779a9SAnson Huang					type = "passive";
240819779a9SAnson Huang				};
241819779a9SAnson Huang
242819779a9SAnson Huang				cpu_crit0: trip1 {
243819779a9SAnson Huang					temperature = <95000>;
244819779a9SAnson Huang					hysteresis = <2000>;
245819779a9SAnson Huang					type = "critical";
246819779a9SAnson Huang				};
247819779a9SAnson Huang			};
248819779a9SAnson Huang
249819779a9SAnson Huang			cooling-maps {
250819779a9SAnson Huang				map0 {
251819779a9SAnson Huang					trip = <&cpu_alert0>;
252819779a9SAnson Huang					cooling-device =
253819779a9SAnson Huang						<&A53_0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
254819779a9SAnson Huang						<&A53_1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
255819779a9SAnson Huang						<&A53_2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
256819779a9SAnson Huang						<&A53_3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
257819779a9SAnson Huang				};
258819779a9SAnson Huang			};
259819779a9SAnson Huang		};
260819779a9SAnson Huang	};
261819779a9SAnson Huang
2626c3debcbSAnson Huang	timer {
2636c3debcbSAnson Huang		compatible = "arm,armv8-timer";
2640656e37aSKrzysztof Kozlowski		interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
2650656e37aSKrzysztof Kozlowski			     <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
2660656e37aSKrzysztof Kozlowski			     <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
2670656e37aSKrzysztof Kozlowski			     <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>;
2686c3debcbSAnson Huang		clock-frequency = <8000000>;
2696c3debcbSAnson Huang		arm,no-tick-in-suspend;
2706c3debcbSAnson Huang	};
2716c3debcbSAnson Huang
2726c3debcbSAnson Huang	soc@0 {
273ce58459dSAlice Guo		compatible = "fsl,imx8mn-soc", "simple-bus";
2746c3debcbSAnson Huang		#address-cells = <1>;
2756c3debcbSAnson Huang		#size-cells = <1>;
2766c3debcbSAnson Huang		ranges = <0x0 0x0 0x0 0x3e000000>;
2778d923cdfSLucas Stach		dma-ranges = <0x40000000 0x0 0x40000000 0xc0000000>;
278cbff2379SAlice Guo		nvmem-cells = <&imx8mn_uid>;
279cbff2379SAlice Guo		nvmem-cell-names = "soc_unique_id";
2806c3debcbSAnson Huang
2816c3debcbSAnson Huang		aips1: bus@30000000 {
282dc3efc6fSPeng Fan			compatible = "fsl,aips-bus", "simple-bus";
283921a6845SFabio Estevam			reg = <0x30000000 0x400000>;
2846c3debcbSAnson Huang			#address-cells = <1>;
2856c3debcbSAnson Huang			#size-cells = <1>;
2866c3debcbSAnson Huang			ranges;
2876c3debcbSAnson Huang
288292e0f48SAdam Ford			spba2: spba-bus@30000000 {
289970406eaSAdam Ford				compatible = "fsl,spba-bus", "simple-bus";
290970406eaSAdam Ford				#address-cells = <1>;
291970406eaSAdam Ford				#size-cells = <1>;
292970406eaSAdam Ford				reg = <0x30000000 0x100000>;
293970406eaSAdam Ford				ranges;
294970406eaSAdam Ford
2959e986006SAdam Ford				sai2: sai@30020000 {
2969e986006SAdam Ford					compatible = "fsl,imx8mm-sai", "fsl,imx8mq-sai";
2979e986006SAdam Ford					reg = <0x30020000 0x10000>;
2989e986006SAdam Ford					interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>;
2999e986006SAdam Ford					clocks = <&clk IMX8MN_CLK_SAI2_IPG>,
3009e986006SAdam Ford						<&clk IMX8MN_CLK_DUMMY>,
3019e986006SAdam Ford						<&clk IMX8MN_CLK_SAI2_ROOT>,
3029e986006SAdam Ford						<&clk IMX8MN_CLK_DUMMY>, <&clk IMX8MN_CLK_DUMMY>;
3039e986006SAdam Ford					clock-names = "bus", "mclk0", "mclk1", "mclk2", "mclk3";
3049e986006SAdam Ford					dmas = <&sdma2 2 2 0>, <&sdma2 3 2 0>;
3059e986006SAdam Ford					dma-names = "rx", "tx";
3069e986006SAdam Ford					status = "disabled";
3079e986006SAdam Ford				};
3089e986006SAdam Ford
3099e986006SAdam Ford				sai3: sai@30030000 {
3109e986006SAdam Ford					compatible = "fsl,imx8mm-sai", "fsl,imx8mq-sai";
3119e986006SAdam Ford					reg = <0x30030000 0x10000>;
3129e986006SAdam Ford					interrupts = <GIC_SPI 50 IRQ_TYPE_LEVEL_HIGH>;
3139e986006SAdam Ford					clocks = <&clk IMX8MN_CLK_SAI3_IPG>,
3149e986006SAdam Ford						 <&clk IMX8MN_CLK_DUMMY>,
3159e986006SAdam Ford						 <&clk IMX8MN_CLK_SAI3_ROOT>,
3169e986006SAdam Ford						 <&clk IMX8MN_CLK_DUMMY>, <&clk IMX8MN_CLK_DUMMY>;
3179e986006SAdam Ford					clock-names = "bus", "mclk0", "mclk1", "mclk2", "mclk3";
3189e986006SAdam Ford					dmas = <&sdma2 4 2 0>, <&sdma2 5 2 0>;
3199e986006SAdam Ford					dma-names = "rx", "tx";
3209e986006SAdam Ford					status = "disabled";
3219e986006SAdam Ford				};
3229e986006SAdam Ford
3239e986006SAdam Ford				sai5: sai@30050000 {
3249e986006SAdam Ford					compatible = "fsl,imx8mm-sai", "fsl,imx8mq-sai";
3259e986006SAdam Ford					reg = <0x30050000 0x10000>;
3269e986006SAdam Ford					interrupts = <GIC_SPI 90 IRQ_TYPE_LEVEL_HIGH>;
3279e986006SAdam Ford					clocks = <&clk IMX8MN_CLK_SAI5_IPG>,
3289e986006SAdam Ford						 <&clk IMX8MN_CLK_DUMMY>,
3299e986006SAdam Ford						 <&clk IMX8MN_CLK_SAI5_ROOT>,
3309e986006SAdam Ford						 <&clk IMX8MN_CLK_DUMMY>, <&clk IMX8MN_CLK_DUMMY>;
3319e986006SAdam Ford					clock-names = "bus", "mclk0", "mclk1", "mclk2", "mclk3";
3329e986006SAdam Ford					dmas = <&sdma2 8 2 0>, <&sdma2 9 2 0>;
3339e986006SAdam Ford					dma-names = "rx", "tx";
3349e986006SAdam Ford					fsl,shared-interrupt;
3359e986006SAdam Ford					fsl,dataline = <0 0xf 0xf>;
3369e986006SAdam Ford					status = "disabled";
3379e986006SAdam Ford				};
3389e986006SAdam Ford
3399e986006SAdam Ford				sai6: sai@30060000 {
3409e986006SAdam Ford					compatible = "fsl,imx8mm-sai", "fsl,imx8mq-sai";
3419e986006SAdam Ford					reg = <0x30060000  0x10000>;
3429e986006SAdam Ford					interrupts = <GIC_SPI 90 IRQ_TYPE_LEVEL_HIGH>;
3439e986006SAdam Ford					clocks = <&clk IMX8MN_CLK_SAI6_IPG>,
3449e986006SAdam Ford						 <&clk IMX8MN_CLK_DUMMY>,
3459e986006SAdam Ford						 <&clk IMX8MN_CLK_SAI6_ROOT>,
3469e986006SAdam Ford						 <&clk IMX8MN_CLK_DUMMY>, <&clk IMX8MN_CLK_DUMMY>;
3479e986006SAdam Ford					clock-names = "bus", "mclk0", "mclk1", "mclk2", "mclk3";
3489e986006SAdam Ford					dmas = <&sdma2 10 2 0>, <&sdma2 11 2 0>;
3499e986006SAdam Ford					dma-names = "rx", "tx";
3509e986006SAdam Ford					status = "disabled";
3519e986006SAdam Ford				};
3529e986006SAdam Ford
353cca69ef6SAdam Ford				micfil: audio-controller@30080000 {
354cca69ef6SAdam Ford					compatible = "fsl,imx8mm-micfil";
355cca69ef6SAdam Ford					reg = <0x30080000 0x10000>;
356cca69ef6SAdam Ford					interrupts = <GIC_SPI 109 IRQ_TYPE_LEVEL_HIGH>,
357cca69ef6SAdam Ford						     <GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>,
358cca69ef6SAdam Ford						     <GIC_SPI 44 IRQ_TYPE_LEVEL_HIGH>,
359cca69ef6SAdam Ford						     <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>;
360cca69ef6SAdam Ford					clocks = <&clk IMX8MN_CLK_PDM_IPG>,
361cca69ef6SAdam Ford						 <&clk IMX8MN_CLK_PDM_ROOT>,
362cca69ef6SAdam Ford						 <&clk IMX8MN_AUDIO_PLL1_OUT>,
363cca69ef6SAdam Ford						 <&clk IMX8MN_AUDIO_PLL2_OUT>,
364cca69ef6SAdam Ford						 <&clk IMX8MN_CLK_EXT3>;
365cca69ef6SAdam Ford					clock-names = "ipg_clk", "ipg_clk_app",
366cca69ef6SAdam Ford						      "pll8k", "pll11k", "clkext3";
367cca69ef6SAdam Ford					dmas = <&sdma2 24 25 0x80000000>;
368cca69ef6SAdam Ford					dma-names = "rx";
369cca69ef6SAdam Ford					status = "disabled";
370cca69ef6SAdam Ford				};
371cca69ef6SAdam Ford
372b9cf7d3bSAdam Ford				spdif1: spdif@30090000 {
373b9cf7d3bSAdam Ford					compatible = "fsl,imx35-spdif";
374b9cf7d3bSAdam Ford					reg = <0x30090000 0x10000>;
375b9cf7d3bSAdam Ford					interrupts = <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>;
376b9cf7d3bSAdam Ford					clocks = <&clk IMX8MN_CLK_AUDIO_AHB>, /* core */
377b9cf7d3bSAdam Ford						 <&clk IMX8MN_CLK_24M>, /* rxtx0 */
378b9cf7d3bSAdam Ford						 <&clk IMX8MN_CLK_SPDIF1>, /* rxtx1 */
379b9cf7d3bSAdam Ford						 <&clk IMX8MN_CLK_DUMMY>, /* rxtx2 */
380b9cf7d3bSAdam Ford						 <&clk IMX8MN_CLK_DUMMY>, /* rxtx3 */
381b9cf7d3bSAdam Ford						 <&clk IMX8MN_CLK_DUMMY>, /* rxtx4 */
382b9cf7d3bSAdam Ford						 <&clk IMX8MN_CLK_AUDIO_AHB>, /* rxtx5 */
383b9cf7d3bSAdam Ford						 <&clk IMX8MN_CLK_DUMMY>, /* rxtx6 */
384b9cf7d3bSAdam Ford						 <&clk IMX8MN_CLK_DUMMY>, /* rxtx7 */
385b9cf7d3bSAdam Ford						 <&clk IMX8MN_CLK_DUMMY>; /* spba */
386b9cf7d3bSAdam Ford					clock-names = "core", "rxtx0",
387b9cf7d3bSAdam Ford						      "rxtx1", "rxtx2",
388b9cf7d3bSAdam Ford						      "rxtx3", "rxtx4",
389b9cf7d3bSAdam Ford						      "rxtx5", "rxtx6",
390b9cf7d3bSAdam Ford						      "rxtx7", "spba";
391b9cf7d3bSAdam Ford					dmas = <&sdma2 28 18 0>, <&sdma2 29 18 0>;
392b9cf7d3bSAdam Ford					dma-names = "rx", "tx";
393b9cf7d3bSAdam Ford					status = "disabled";
394b9cf7d3bSAdam Ford				};
395b9cf7d3bSAdam Ford
3969e986006SAdam Ford				sai7: sai@300b0000 {
3979e986006SAdam Ford					compatible = "fsl,imx8mm-sai", "fsl,imx8mq-sai";
3989e986006SAdam Ford					reg = <0x300b0000 0x10000>;
3999e986006SAdam Ford					interrupts = <GIC_SPI 111 IRQ_TYPE_LEVEL_HIGH>;
4009e986006SAdam Ford					clocks = <&clk IMX8MN_CLK_SAI7_IPG>,
4019e986006SAdam Ford						 <&clk IMX8MN_CLK_DUMMY>,
4029e986006SAdam Ford						 <&clk IMX8MN_CLK_SAI7_ROOT>,
4039e986006SAdam Ford						 <&clk IMX8MN_CLK_DUMMY>, <&clk IMX8MN_CLK_DUMMY>;
4049e986006SAdam Ford					clock-names = "bus", "mclk0", "mclk1", "mclk2", "mclk3";
4059e986006SAdam Ford					dmas = <&sdma2 12 2 0>, <&sdma2 13 2 0>;
4069e986006SAdam Ford					dma-names = "rx", "tx";
4079e986006SAdam Ford					status = "disabled";
4089e986006SAdam Ford				};
4099e986006SAdam Ford
410970406eaSAdam Ford				easrc: easrc@300c0000 {
411970406eaSAdam Ford					compatible = "fsl,imx8mn-easrc";
412970406eaSAdam Ford					reg = <0x300c0000 0x10000>;
413970406eaSAdam Ford					interrupts = <GIC_SPI 122 IRQ_TYPE_LEVEL_HIGH>;
414970406eaSAdam Ford					clocks = <&clk IMX8MN_CLK_ASRC_ROOT>;
415970406eaSAdam Ford					clock-names = "mem";
416970406eaSAdam Ford					dmas = <&sdma2 16 23 0> , <&sdma2 17 23 0>,
417970406eaSAdam Ford					       <&sdma2 18 23 0> , <&sdma2 19 23 0>,
418970406eaSAdam Ford					       <&sdma2 20 23 0> , <&sdma2 21 23 0>,
419970406eaSAdam Ford					       <&sdma2 22 23 0> , <&sdma2 23 23 0>;
420970406eaSAdam Ford					dma-names = "ctx0_rx", "ctx0_tx",
421970406eaSAdam Ford						    "ctx1_rx", "ctx1_tx",
422970406eaSAdam Ford						    "ctx2_rx", "ctx2_tx",
423970406eaSAdam Ford						    "ctx3_rx", "ctx3_tx";
424970406eaSAdam Ford					firmware-name = "imx/easrc/easrc-imx8mn.bin";
425970406eaSAdam Ford					fsl,asrc-rate  = <8000>;
426970406eaSAdam Ford					fsl,asrc-format = <2>;
427970406eaSAdam Ford					status = "disabled";
428970406eaSAdam Ford				};
429970406eaSAdam Ford			};
430970406eaSAdam Ford
4316c3debcbSAnson Huang			gpio1: gpio@30200000 {
4326c3debcbSAnson Huang				compatible = "fsl,imx8mn-gpio", "fsl,imx35-gpio";
4336c3debcbSAnson Huang				reg = <0x30200000 0x10000>;
4346c3debcbSAnson Huang				interrupts = <GIC_SPI 64 IRQ_TYPE_LEVEL_HIGH>,
4356c3debcbSAnson Huang					     <GIC_SPI 65 IRQ_TYPE_LEVEL_HIGH>;
4366c3debcbSAnson Huang				clocks = <&clk IMX8MN_CLK_GPIO1_ROOT>;
4376c3debcbSAnson Huang				gpio-controller;
4386c3debcbSAnson Huang				#gpio-cells = <2>;
4396c3debcbSAnson Huang				interrupt-controller;
4406c3debcbSAnson Huang				#interrupt-cells = <2>;
441ee8696beSAnson Huang				gpio-ranges = <&iomuxc 0 10 30>;
4426c3debcbSAnson Huang			};
4436c3debcbSAnson Huang
4446c3debcbSAnson Huang			gpio2: gpio@30210000 {
4456c3debcbSAnson Huang				compatible = "fsl,imx8mn-gpio", "fsl,imx35-gpio";
4466c3debcbSAnson Huang				reg = <0x30210000 0x10000>;
4476c3debcbSAnson Huang				interrupts = <GIC_SPI 66 IRQ_TYPE_LEVEL_HIGH>,
4486c3debcbSAnson Huang					     <GIC_SPI 67 IRQ_TYPE_LEVEL_HIGH>;
4496c3debcbSAnson Huang				clocks = <&clk IMX8MN_CLK_GPIO2_ROOT>;
4506c3debcbSAnson Huang				gpio-controller;
4516c3debcbSAnson Huang				#gpio-cells = <2>;
4526c3debcbSAnson Huang				interrupt-controller;
4536c3debcbSAnson Huang				#interrupt-cells = <2>;
454ee8696beSAnson Huang				gpio-ranges = <&iomuxc 0 40 21>;
4556c3debcbSAnson Huang			};
4566c3debcbSAnson Huang
4576c3debcbSAnson Huang			gpio3: gpio@30220000 {
4586c3debcbSAnson Huang				compatible = "fsl,imx8mn-gpio", "fsl,imx35-gpio";
4596c3debcbSAnson Huang				reg = <0x30220000 0x10000>;
4606c3debcbSAnson Huang				interrupts = <GIC_SPI 68 IRQ_TYPE_LEVEL_HIGH>,
4616c3debcbSAnson Huang					     <GIC_SPI 69 IRQ_TYPE_LEVEL_HIGH>;
4626c3debcbSAnson Huang				clocks = <&clk IMX8MN_CLK_GPIO3_ROOT>;
4636c3debcbSAnson Huang				gpio-controller;
4646c3debcbSAnson Huang				#gpio-cells = <2>;
4656c3debcbSAnson Huang				interrupt-controller;
4666c3debcbSAnson Huang				#interrupt-cells = <2>;
467ee8696beSAnson Huang				gpio-ranges = <&iomuxc 0 61 26>;
4686c3debcbSAnson Huang			};
4696c3debcbSAnson Huang
4706c3debcbSAnson Huang			gpio4: gpio@30230000 {
4716c3debcbSAnson Huang				compatible = "fsl,imx8mn-gpio", "fsl,imx35-gpio";
4726c3debcbSAnson Huang				reg = <0x30230000 0x10000>;
4736c3debcbSAnson Huang				interrupts = <GIC_SPI 70 IRQ_TYPE_LEVEL_HIGH>,
4746c3debcbSAnson Huang					     <GIC_SPI 71 IRQ_TYPE_LEVEL_HIGH>;
4756c3debcbSAnson Huang				clocks = <&clk IMX8MN_CLK_GPIO4_ROOT>;
4766c3debcbSAnson Huang				gpio-controller;
4776c3debcbSAnson Huang				#gpio-cells = <2>;
4786c3debcbSAnson Huang				interrupt-controller;
4796c3debcbSAnson Huang				#interrupt-cells = <2>;
480ee8696beSAnson Huang				gpio-ranges = <&iomuxc 21 108 11>;
4816c3debcbSAnson Huang			};
4826c3debcbSAnson Huang
4836c3debcbSAnson Huang			gpio5: gpio@30240000 {
4846c3debcbSAnson Huang				compatible = "fsl,imx8mn-gpio", "fsl,imx35-gpio";
4856c3debcbSAnson Huang				reg = <0x30240000 0x10000>;
4866c3debcbSAnson Huang				interrupts = <GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>,
4876c3debcbSAnson Huang					     <GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>;
4886c3debcbSAnson Huang				clocks = <&clk IMX8MN_CLK_GPIO5_ROOT>;
4896c3debcbSAnson Huang				gpio-controller;
4906c3debcbSAnson Huang				#gpio-cells = <2>;
4916c3debcbSAnson Huang				interrupt-controller;
4926c3debcbSAnson Huang				#interrupt-cells = <2>;
493ee8696beSAnson Huang				gpio-ranges = <&iomuxc 0 119 30>;
4946c3debcbSAnson Huang			};
4956c3debcbSAnson Huang
496819779a9SAnson Huang			tmu: tmu@30260000 {
497819779a9SAnson Huang				compatible = "fsl,imx8mn-tmu", "fsl,imx8mm-tmu";
498819779a9SAnson Huang				reg = <0x30260000 0x10000>;
499819779a9SAnson Huang				clocks = <&clk IMX8MN_CLK_TMU_ROOT>;
500819779a9SAnson Huang				#thermal-sensor-cells = <0>;
501819779a9SAnson Huang			};
502819779a9SAnson Huang
5036c3debcbSAnson Huang			wdog1: watchdog@30280000 {
5046c3debcbSAnson Huang				compatible = "fsl,imx8mn-wdt", "fsl,imx21-wdt";
5056c3debcbSAnson Huang				reg = <0x30280000 0x10000>;
5066c3debcbSAnson Huang				interrupts = <GIC_SPI 78 IRQ_TYPE_LEVEL_HIGH>;
5076c3debcbSAnson Huang				clocks = <&clk IMX8MN_CLK_WDOG1_ROOT>;
5086c3debcbSAnson Huang				status = "disabled";
5096c3debcbSAnson Huang			};
5106c3debcbSAnson Huang
5116c3debcbSAnson Huang			wdog2: watchdog@30290000 {
5126c3debcbSAnson Huang				compatible = "fsl,imx8mn-wdt", "fsl,imx21-wdt";
5136c3debcbSAnson Huang				reg = <0x30290000 0x10000>;
5146c3debcbSAnson Huang				interrupts = <GIC_SPI 79 IRQ_TYPE_LEVEL_HIGH>;
5156c3debcbSAnson Huang				clocks = <&clk IMX8MN_CLK_WDOG2_ROOT>;
5166c3debcbSAnson Huang				status = "disabled";
5176c3debcbSAnson Huang			};
5186c3debcbSAnson Huang
5196c3debcbSAnson Huang			wdog3: watchdog@302a0000 {
5206c3debcbSAnson Huang				compatible = "fsl,imx8mn-wdt", "fsl,imx21-wdt";
5216c3debcbSAnson Huang				reg = <0x302a0000 0x10000>;
5226c3debcbSAnson Huang				interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>;
5236c3debcbSAnson Huang				clocks = <&clk IMX8MN_CLK_WDOG3_ROOT>;
5246c3debcbSAnson Huang				status = "disabled";
5256c3debcbSAnson Huang			};
5266c3debcbSAnson Huang
5276c3debcbSAnson Huang			sdma3: dma-controller@302b0000 {
528958c6014SShengjiu Wang				compatible = "fsl,imx8mn-sdma", "fsl,imx8mq-sdma";
5296c3debcbSAnson Huang				reg = <0x302b0000 0x10000>;
5306c3debcbSAnson Huang				interrupts = <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>;
5316c3debcbSAnson Huang				clocks = <&clk IMX8MN_CLK_SDMA3_ROOT>,
5326c3debcbSAnson Huang				 <&clk IMX8MN_CLK_SDMA3_ROOT>;
5336c3debcbSAnson Huang				clock-names = "ipg", "ahb";
5346c3debcbSAnson Huang				#dma-cells = <3>;
5356c3debcbSAnson Huang				fsl,sdma-ram-script-name = "imx/sdma/sdma-imx7d.bin";
5366c3debcbSAnson Huang			};
5376c3debcbSAnson Huang
5386c3debcbSAnson Huang			sdma2: dma-controller@302c0000 {
539958c6014SShengjiu Wang				compatible = "fsl,imx8mn-sdma", "fsl,imx8mq-sdma";
5406c3debcbSAnson Huang				reg = <0x302c0000 0x10000>;
5416c3debcbSAnson Huang				interrupts = <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>;
5426c3debcbSAnson Huang				clocks = <&clk IMX8MN_CLK_SDMA2_ROOT>,
5436c3debcbSAnson Huang					 <&clk IMX8MN_CLK_SDMA2_ROOT>;
5446c3debcbSAnson Huang				clock-names = "ipg", "ahb";
5456c3debcbSAnson Huang				#dma-cells = <3>;
5466c3debcbSAnson Huang				fsl,sdma-ram-script-name = "imx/sdma/sdma-imx7d.bin";
5476c3debcbSAnson Huang			};
5486c3debcbSAnson Huang
5496c3debcbSAnson Huang			iomuxc: pinctrl@30330000 {
5506c3debcbSAnson Huang				compatible = "fsl,imx8mn-iomuxc";
5516c3debcbSAnson Huang				reg = <0x30330000 0x10000>;
5526c3debcbSAnson Huang			};
5536c3debcbSAnson Huang
5546c3debcbSAnson Huang			gpr: iomuxc-gpr@30340000 {
5556c3debcbSAnson Huang				compatible = "fsl,imx8mn-iomuxc-gpr", "syscon";
5566c3debcbSAnson Huang				reg = <0x30340000 0x10000>;
5576c3debcbSAnson Huang			};
5586c3debcbSAnson Huang
55912fa1078SAnson Huang			ocotp: efuse@30350000 {
5602bad8c48SAnson Huang				compatible = "fsl,imx8mn-ocotp", "fsl,imx8mm-ocotp", "syscon";
5616c3debcbSAnson Huang				reg = <0x30350000 0x10000>;
5626c3debcbSAnson Huang				clocks = <&clk IMX8MN_CLK_OCOTP_ROOT>;
56301c49314SAnson Huang				#address-cells = <1>;
56401c49314SAnson Huang				#size-cells = <1>;
56501c49314SAnson Huang
566cbff2379SAlice Guo				imx8mn_uid: unique-id@410 {
567cbff2379SAlice Guo					reg = <0x4 0x8>;
568cbff2379SAlice Guo				};
569cbff2379SAlice Guo
57001c49314SAnson Huang				cpu_speed_grade: speed-grade@10 {
57101c49314SAnson Huang					reg = <0x10 4>;
57201c49314SAnson Huang				};
573066438aeSJoakim Zhang
574066438aeSJoakim Zhang				fec_mac_address: mac-address@90 {
575066438aeSJoakim Zhang					reg = <0x90 6>;
576066438aeSJoakim Zhang				};
5776c3debcbSAnson Huang			};
5786c3debcbSAnson Huang
5796c3debcbSAnson Huang			anatop: anatop@30360000 {
5806c3debcbSAnson Huang				compatible = "fsl,imx8mn-anatop", "fsl,imx8mm-anatop",
5810f93eb28SFancy Fang					     "syscon";
5826c3debcbSAnson Huang				reg = <0x30360000 0x10000>;
5836c3debcbSAnson Huang			};
5846c3debcbSAnson Huang
5856c3debcbSAnson Huang			snvs: snvs@30370000 {
5866c3debcbSAnson Huang				compatible = "fsl,sec-v4.0-mon","syscon", "simple-mfd";
5876c3debcbSAnson Huang				reg = <0x30370000 0x10000>;
5886c3debcbSAnson Huang
5896c3debcbSAnson Huang				snvs_rtc: snvs-rtc-lp {
5906c3debcbSAnson Huang					compatible = "fsl,sec-v4.0-mon-rtc-lp";
5916c3debcbSAnson Huang					regmap = <&snvs>;
5926c3debcbSAnson Huang					offset = <0x34>;
5936c3debcbSAnson Huang					interrupts = <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>,
5946c3debcbSAnson Huang						     <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>;
59542ef961bSHoria Geantă					clocks = <&clk IMX8MN_CLK_SNVS_ROOT>;
5966c3debcbSAnson Huang					clock-names = "snvs-rtc";
5976c3debcbSAnson Huang				};
5986c3debcbSAnson Huang
5996c3debcbSAnson Huang				snvs_pwrkey: snvs-powerkey {
6006c3debcbSAnson Huang					compatible = "fsl,sec-v4.0-pwrkey";
6016c3debcbSAnson Huang					regmap = <&snvs>;
6026c3debcbSAnson Huang					interrupts = <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>;
603c2a2f446SAnson Huang					clocks = <&clk IMX8MN_CLK_SNVS_ROOT>;
604c2a2f446SAnson Huang					clock-names = "snvs-pwrkey";
6056c3debcbSAnson Huang					linux,keycode = <KEY_POWER>;
6066c3debcbSAnson Huang					wakeup-source;
6076c3debcbSAnson Huang					status = "disabled";
6086c3debcbSAnson Huang				};
6096c3debcbSAnson Huang			};
6106c3debcbSAnson Huang
6116c3debcbSAnson Huang			clk: clock-controller@30380000 {
6126c3debcbSAnson Huang				compatible = "fsl,imx8mn-ccm";
6136c3debcbSAnson Huang				reg = <0x30380000 0x10000>;
6146c3debcbSAnson Huang				#clock-cells = <1>;
6156c3debcbSAnson Huang				clocks = <&osc_32k>, <&osc_24m>, <&clk_ext1>, <&clk_ext2>,
6166c3debcbSAnson Huang					 <&clk_ext3>, <&clk_ext4>;
6176c3debcbSAnson Huang				clock-names = "osc_32k", "osc_24m", "clk_ext1", "clk_ext2",
6186c3debcbSAnson Huang					      "clk_ext3", "clk_ext4";
6199e6337e6SPeng Fan				assigned-clocks = <&clk IMX8MN_CLK_A53_SRC>,
6209e6337e6SPeng Fan						<&clk IMX8MN_CLK_A53_CORE>,
6219e6337e6SPeng Fan						<&clk IMX8MN_CLK_NOC>,
62253458f86SPeng Fan						<&clk IMX8MN_CLK_AUDIO_AHB>,
62353458f86SPeng Fan						<&clk IMX8MN_CLK_IPG_AUDIO_ROOT>,
62426442c79SShengjiu Wang						<&clk IMX8MN_SYS_PLL3>,
62526442c79SShengjiu Wang						<&clk IMX8MN_AUDIO_PLL1>,
62626442c79SShengjiu Wang						<&clk IMX8MN_AUDIO_PLL2>;
6279e6337e6SPeng Fan				assigned-clock-parents = <&clk IMX8MN_SYS_PLL1_800M>,
6289e6337e6SPeng Fan							 <&clk IMX8MN_ARM_PLL_OUT>,
6299e6337e6SPeng Fan							 <&clk IMX8MN_SYS_PLL3_OUT>,
63053458f86SPeng Fan							 <&clk IMX8MN_SYS_PLL1_800M>;
6319e6337e6SPeng Fan				assigned-clock-rates = <0>, <0>, <0>,
63253458f86SPeng Fan							<400000000>,
63353458f86SPeng Fan							<400000000>,
63426442c79SShengjiu Wang							<600000000>,
63526442c79SShengjiu Wang							<393216000>,
63626442c79SShengjiu Wang							<361267200>;
6376c3debcbSAnson Huang			};
6386c3debcbSAnson Huang
6396c3debcbSAnson Huang			src: reset-controller@30390000 {
64023b80c20SAnson Huang				compatible = "fsl,imx8mn-src", "fsl,imx8mq-src", "syscon";
6416c3debcbSAnson Huang				reg = <0x30390000 0x10000>;
6426c3debcbSAnson Huang				interrupts = <GIC_SPI 89 IRQ_TYPE_LEVEL_HIGH>;
6436c3debcbSAnson Huang				#reset-cells = <1>;
6446c3debcbSAnson Huang			};
6458b8ebec6SAdam Ford
6468b8ebec6SAdam Ford			gpc: gpc@303a0000 {
6478b8ebec6SAdam Ford				compatible = "fsl,imx8mn-gpc";
6488b8ebec6SAdam Ford				reg = <0x303a0000 0x10000>;
6498b8ebec6SAdam Ford				interrupt-parent = <&gic>;
6508b8ebec6SAdam Ford				interrupts = <GIC_SPI 87 IRQ_TYPE_LEVEL_HIGH>;
6518b8ebec6SAdam Ford
6528b8ebec6SAdam Ford				pgc {
6538b8ebec6SAdam Ford					#address-cells = <1>;
6548b8ebec6SAdam Ford					#size-cells = <0>;
6558b8ebec6SAdam Ford
6568b8ebec6SAdam Ford					pgc_hsiomix: power-domain@0 {
6578b8ebec6SAdam Ford						#power-domain-cells = <0>;
6588b8ebec6SAdam Ford						reg = <IMX8MN_POWER_DOMAIN_HSIOMIX>;
6598b8ebec6SAdam Ford						clocks = <&clk IMX8MN_CLK_USB_BUS>;
6608b8ebec6SAdam Ford					};
6618b8ebec6SAdam Ford
6628b8ebec6SAdam Ford					pgc_otg1: power-domain@1 {
6638b8ebec6SAdam Ford						#power-domain-cells = <0>;
6648b8ebec6SAdam Ford						reg = <IMX8MN_POWER_DOMAIN_OTG1>;
6658b8ebec6SAdam Ford						power-domains = <&pgc_hsiomix>;
6668b8ebec6SAdam Ford					};
6678b8ebec6SAdam Ford
6688b8ebec6SAdam Ford					pgc_gpumix: power-domain@2 {
6698b8ebec6SAdam Ford						#power-domain-cells = <0>;
6708b8ebec6SAdam Ford						reg = <IMX8MN_POWER_DOMAIN_GPUMIX>;
6718b8ebec6SAdam Ford						clocks = <&clk IMX8MN_CLK_GPU_CORE_ROOT>,
6728b8ebec6SAdam Ford							 <&clk IMX8MN_CLK_GPU_SHADER>,
6738b8ebec6SAdam Ford							 <&clk IMX8MN_CLK_GPU_BUS_ROOT>,
6748b8ebec6SAdam Ford							 <&clk IMX8MN_CLK_GPU_AHB>;
6758b8ebec6SAdam Ford						resets = <&src IMX8MQ_RESET_GPU_RESET>;
6768b8ebec6SAdam Ford					};
6778b8ebec6SAdam Ford
6788b8ebec6SAdam Ford					pgc_dispmix: power-domain@3 {
6798b8ebec6SAdam Ford						#power-domain-cells = <0>;
6808b8ebec6SAdam Ford						reg = <IMX8MN_POWER_DOMAIN_DISPMIX>;
6818b8ebec6SAdam Ford						clocks = <&clk IMX8MN_CLK_DISP_AXI_ROOT>,
6828b8ebec6SAdam Ford							 <&clk IMX8MN_CLK_DISP_APB_ROOT>;
6838b8ebec6SAdam Ford					};
6848b8ebec6SAdam Ford
6858b8ebec6SAdam Ford					pgc_mipi: power-domain@4 {
6868b8ebec6SAdam Ford						#power-domain-cells = <0>;
6878b8ebec6SAdam Ford						reg = <IMX8MN_POWER_DOMAIN_MIPI>;
6888b8ebec6SAdam Ford						power-domains = <&pgc_dispmix>;
6898b8ebec6SAdam Ford					};
6908b8ebec6SAdam Ford				};
6918b8ebec6SAdam Ford			};
6926c3debcbSAnson Huang		};
6936c3debcbSAnson Huang
6946c3debcbSAnson Huang		aips2: bus@30400000 {
695dc3efc6fSPeng Fan			compatible = "fsl,aips-bus", "simple-bus";
696921a6845SFabio Estevam			reg = <0x30400000 0x400000>;
6976c3debcbSAnson Huang			#address-cells = <1>;
6986c3debcbSAnson Huang			#size-cells = <1>;
6996c3debcbSAnson Huang			ranges;
7006c3debcbSAnson Huang
7016c3debcbSAnson Huang			pwm1: pwm@30660000 {
7026c3debcbSAnson Huang				compatible = "fsl,imx8mn-pwm", "fsl,imx27-pwm";
7036c3debcbSAnson Huang				reg = <0x30660000 0x10000>;
7046c3debcbSAnson Huang				interrupts = <GIC_SPI 81 IRQ_TYPE_LEVEL_HIGH>;
7056c3debcbSAnson Huang				clocks = <&clk IMX8MN_CLK_PWM1_ROOT>,
7066c3debcbSAnson Huang					<&clk IMX8MN_CLK_PWM1_ROOT>;
7076c3debcbSAnson Huang				clock-names = "ipg", "per";
708*6bc1e580SMarkus Niebel				#pwm-cells = <3>;
7096c3debcbSAnson Huang				status = "disabled";
7106c3debcbSAnson Huang			};
7116c3debcbSAnson Huang
7126c3debcbSAnson Huang			pwm2: pwm@30670000 {
7136c3debcbSAnson Huang				compatible = "fsl,imx8mn-pwm", "fsl,imx27-pwm";
7146c3debcbSAnson Huang				reg = <0x30670000 0x10000>;
7156c3debcbSAnson Huang				interrupts = <GIC_SPI 82 IRQ_TYPE_LEVEL_HIGH>;
7166c3debcbSAnson Huang				clocks = <&clk IMX8MN_CLK_PWM2_ROOT>,
7176c3debcbSAnson Huang					 <&clk IMX8MN_CLK_PWM2_ROOT>;
7186c3debcbSAnson Huang				clock-names = "ipg", "per";
719*6bc1e580SMarkus Niebel				#pwm-cells = <3>;
7206c3debcbSAnson Huang				status = "disabled";
7216c3debcbSAnson Huang			};
7226c3debcbSAnson Huang
7236c3debcbSAnson Huang			pwm3: pwm@30680000 {
7246c3debcbSAnson Huang				compatible = "fsl,imx8mn-pwm", "fsl,imx27-pwm";
7256c3debcbSAnson Huang				reg = <0x30680000 0x10000>;
7266c3debcbSAnson Huang				interrupts = <GIC_SPI 83 IRQ_TYPE_LEVEL_HIGH>;
7276c3debcbSAnson Huang				clocks = <&clk IMX8MN_CLK_PWM3_ROOT>,
7286c3debcbSAnson Huang					 <&clk IMX8MN_CLK_PWM3_ROOT>;
7296c3debcbSAnson Huang				clock-names = "ipg", "per";
730*6bc1e580SMarkus Niebel				#pwm-cells = <3>;
7316c3debcbSAnson Huang				status = "disabled";
7326c3debcbSAnson Huang			};
7336c3debcbSAnson Huang
7346c3debcbSAnson Huang			pwm4: pwm@30690000 {
7356c3debcbSAnson Huang				compatible = "fsl,imx8mn-pwm", "fsl,imx27-pwm";
7366c3debcbSAnson Huang				reg = <0x30690000 0x10000>;
7376c3debcbSAnson Huang				interrupts = <GIC_SPI 84 IRQ_TYPE_LEVEL_HIGH>;
7386c3debcbSAnson Huang				clocks = <&clk IMX8MN_CLK_PWM4_ROOT>,
7396c3debcbSAnson Huang					 <&clk IMX8MN_CLK_PWM4_ROOT>;
7406c3debcbSAnson Huang				clock-names = "ipg", "per";
741*6bc1e580SMarkus Niebel				#pwm-cells = <3>;
7426c3debcbSAnson Huang				status = "disabled";
7436c3debcbSAnson Huang			};
744c4a21269SAnson Huang
745c4a21269SAnson Huang			system_counter: timer@306a0000 {
746c4a21269SAnson Huang				compatible = "nxp,sysctr-timer";
747c4a21269SAnson Huang				reg = <0x306a0000 0x20000>;
748c4a21269SAnson Huang				interrupts = <GIC_SPI 47 IRQ_TYPE_LEVEL_HIGH>;
749c4a21269SAnson Huang				clocks = <&osc_24m>;
750c4a21269SAnson Huang				clock-names = "per";
751c4a21269SAnson Huang			};
7526c3debcbSAnson Huang		};
7536c3debcbSAnson Huang
7546c3debcbSAnson Huang		aips3: bus@30800000 {
755dc3efc6fSPeng Fan			compatible = "fsl,aips-bus", "simple-bus";
756921a6845SFabio Estevam			reg = <0x30800000 0x400000>;
7576c3debcbSAnson Huang			#address-cells = <1>;
7586c3debcbSAnson Huang			#size-cells = <1>;
7596c3debcbSAnson Huang			ranges;
7606c3debcbSAnson Huang
761292e0f48SAdam Ford			spba1: spba-bus@30800000 {
762292e0f48SAdam Ford				compatible = "fsl,spba-bus", "simple-bus";
763292e0f48SAdam Ford				#address-cells = <1>;
764292e0f48SAdam Ford				#size-cells = <1>;
765292e0f48SAdam Ford				reg = <0x30800000 0x100000>;
766292e0f48SAdam Ford				ranges;
767292e0f48SAdam Ford
7686c3debcbSAnson Huang				ecspi1: spi@30820000 {
7696c3debcbSAnson Huang					compatible = "fsl,imx8mn-ecspi", "fsl,imx51-ecspi";
7706c3debcbSAnson Huang					#address-cells = <1>;
7716c3debcbSAnson Huang					#size-cells = <0>;
7726c3debcbSAnson Huang					reg = <0x30820000 0x10000>;
7736c3debcbSAnson Huang					interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>;
7746c3debcbSAnson Huang					clocks = <&clk IMX8MN_CLK_ECSPI1_ROOT>,
7756c3debcbSAnson Huang						 <&clk IMX8MN_CLK_ECSPI1_ROOT>;
7766c3debcbSAnson Huang					clock-names = "ipg", "per";
7776c3debcbSAnson Huang					dmas = <&sdma1 0 7 1>, <&sdma1 1 7 2>;
7786c3debcbSAnson Huang					dma-names = "rx", "tx";
7796c3debcbSAnson Huang					status = "disabled";
7806c3debcbSAnson Huang				};
7816c3debcbSAnson Huang
7826c3debcbSAnson Huang				ecspi2: spi@30830000 {
7836c3debcbSAnson Huang					compatible = "fsl,imx8mn-ecspi", "fsl,imx51-ecspi";
7846c3debcbSAnson Huang					#address-cells = <1>;
7856c3debcbSAnson Huang					#size-cells = <0>;
7866c3debcbSAnson Huang					reg = <0x30830000 0x10000>;
7876c3debcbSAnson Huang					interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>;
7886c3debcbSAnson Huang					clocks = <&clk IMX8MN_CLK_ECSPI2_ROOT>,
7896c3debcbSAnson Huang						 <&clk IMX8MN_CLK_ECSPI2_ROOT>;
7906c3debcbSAnson Huang					clock-names = "ipg", "per";
7916c3debcbSAnson Huang					dmas = <&sdma1 2 7 1>, <&sdma1 3 7 2>;
7926c3debcbSAnson Huang					dma-names = "rx", "tx";
7936c3debcbSAnson Huang					status = "disabled";
7946c3debcbSAnson Huang				};
7956c3debcbSAnson Huang
7966c3debcbSAnson Huang				ecspi3: spi@30840000 {
7976c3debcbSAnson Huang					compatible = "fsl,imx8mn-ecspi", "fsl,imx51-ecspi";
7986c3debcbSAnson Huang					#address-cells = <1>;
7996c3debcbSAnson Huang					#size-cells = <0>;
8006c3debcbSAnson Huang					reg = <0x30840000 0x10000>;
8016c3debcbSAnson Huang					interrupts = <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>;
8026c3debcbSAnson Huang					clocks = <&clk IMX8MN_CLK_ECSPI3_ROOT>,
8036c3debcbSAnson Huang						 <&clk IMX8MN_CLK_ECSPI3_ROOT>;
8046c3debcbSAnson Huang					clock-names = "ipg", "per";
8056c3debcbSAnson Huang					dmas = <&sdma1 4 7 1>, <&sdma1 5 7 2>;
8066c3debcbSAnson Huang					dma-names = "rx", "tx";
8076c3debcbSAnson Huang					status = "disabled";
8086c3debcbSAnson Huang				};
8096c3debcbSAnson Huang
8106c3debcbSAnson Huang				uart1: serial@30860000 {
8116c3debcbSAnson Huang					compatible = "fsl,imx8mn-uart", "fsl,imx6q-uart";
8126c3debcbSAnson Huang					reg = <0x30860000 0x10000>;
8136c3debcbSAnson Huang					interrupts = <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>;
8146c3debcbSAnson Huang					clocks = <&clk IMX8MN_CLK_UART1_ROOT>,
8156c3debcbSAnson Huang						 <&clk IMX8MN_CLK_UART1_ROOT>;
8166c3debcbSAnson Huang					clock-names = "ipg", "per";
8176c3debcbSAnson Huang					dmas = <&sdma1 22 4 0>, <&sdma1 23 4 0>;
8186c3debcbSAnson Huang					dma-names = "rx", "tx";
8196c3debcbSAnson Huang					status = "disabled";
8206c3debcbSAnson Huang				};
8216c3debcbSAnson Huang
8226c3debcbSAnson Huang				uart3: serial@30880000 {
8236c3debcbSAnson Huang					compatible = "fsl,imx8mn-uart", "fsl,imx6q-uart";
8246c3debcbSAnson Huang					reg = <0x30880000 0x10000>;
8256c3debcbSAnson Huang					interrupts = <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH>;
8266c3debcbSAnson Huang					clocks = <&clk IMX8MN_CLK_UART3_ROOT>,
8276c3debcbSAnson Huang						 <&clk IMX8MN_CLK_UART3_ROOT>;
8286c3debcbSAnson Huang					clock-names = "ipg", "per";
8296c3debcbSAnson Huang					dmas = <&sdma1 26 4 0>, <&sdma1 27 4 0>;
8306c3debcbSAnson Huang					dma-names = "rx", "tx";
8316c3debcbSAnson Huang					status = "disabled";
8326c3debcbSAnson Huang				};
8336c3debcbSAnson Huang
8346c3debcbSAnson Huang				uart2: serial@30890000 {
8356c3debcbSAnson Huang					compatible = "fsl,imx8mn-uart", "fsl,imx6q-uart";
8366c3debcbSAnson Huang					reg = <0x30890000 0x10000>;
8376c3debcbSAnson Huang					interrupts = <GIC_SPI 27 IRQ_TYPE_LEVEL_HIGH>;
8386c3debcbSAnson Huang					clocks = <&clk IMX8MN_CLK_UART2_ROOT>,
8396c3debcbSAnson Huang						 <&clk IMX8MN_CLK_UART2_ROOT>;
8406c3debcbSAnson Huang					clock-names = "ipg", "per";
8416c3debcbSAnson Huang					status = "disabled";
8426c3debcbSAnson Huang				};
843292e0f48SAdam Ford			};
8446c3debcbSAnson Huang
845aad24175SHoria Geantă			crypto: crypto@30900000 {
846aad24175SHoria Geantă				compatible = "fsl,sec-v4.0";
847aad24175SHoria Geantă				#address-cells = <1>;
848aad24175SHoria Geantă				#size-cells = <1>;
849aad24175SHoria Geantă				reg = <0x30900000 0x40000>;
850aad24175SHoria Geantă				ranges = <0 0x30900000 0x40000>;
851aad24175SHoria Geantă				interrupts = <GIC_SPI 91 IRQ_TYPE_LEVEL_HIGH>;
852aad24175SHoria Geantă				clocks = <&clk IMX8MN_CLK_AHB>,
853aad24175SHoria Geantă					 <&clk IMX8MN_CLK_IPG_ROOT>;
854aad24175SHoria Geantă				clock-names = "aclk", "ipg";
855aad24175SHoria Geantă
856f5ff5a21SSilvano di Ninno				sec_jr0: jr@1000 {
857aad24175SHoria Geantă					 compatible = "fsl,sec-v4.0-job-ring";
858aad24175SHoria Geantă					 reg = <0x1000 0x1000>;
859aad24175SHoria Geantă					 interrupts = <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>;
860aad24175SHoria Geantă				};
861aad24175SHoria Geantă
862f5ff5a21SSilvano di Ninno				sec_jr1: jr@2000 {
863aad24175SHoria Geantă					 compatible = "fsl,sec-v4.0-job-ring";
864aad24175SHoria Geantă					 reg = <0x2000 0x1000>;
865aad24175SHoria Geantă					 interrupts = <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>;
866aad24175SHoria Geantă				};
867aad24175SHoria Geantă
868f5ff5a21SSilvano di Ninno				sec_jr2: jr@3000 {
869aad24175SHoria Geantă					 compatible = "fsl,sec-v4.0-job-ring";
870aad24175SHoria Geantă					 reg = <0x3000 0x1000>;
871aad24175SHoria Geantă					 interrupts = <GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH>;
872aad24175SHoria Geantă				};
873aad24175SHoria Geantă			};
874aad24175SHoria Geantă
8756c3debcbSAnson Huang			i2c1: i2c@30a20000 {
8766c3debcbSAnson Huang				compatible = "fsl,imx8mn-i2c", "fsl,imx21-i2c";
8776c3debcbSAnson Huang				#address-cells = <1>;
8786c3debcbSAnson Huang				#size-cells = <0>;
8796c3debcbSAnson Huang				reg = <0x30a20000 0x10000>;
8806c3debcbSAnson Huang				interrupts = <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>;
8816c3debcbSAnson Huang				clocks = <&clk IMX8MN_CLK_I2C1_ROOT>;
8826c3debcbSAnson Huang				status = "disabled";
8836c3debcbSAnson Huang			};
8846c3debcbSAnson Huang
8856c3debcbSAnson Huang			i2c2: i2c@30a30000 {
8866c3debcbSAnson Huang				compatible = "fsl,imx8mn-i2c", "fsl,imx21-i2c";
8876c3debcbSAnson Huang				#address-cells = <1>;
8886c3debcbSAnson Huang				#size-cells = <0>;
8896c3debcbSAnson Huang				reg = <0x30a30000 0x10000>;
8906c3debcbSAnson Huang				interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>;
8916c3debcbSAnson Huang				clocks = <&clk IMX8MN_CLK_I2C2_ROOT>;
8926c3debcbSAnson Huang				status = "disabled";
8936c3debcbSAnson Huang			};
8946c3debcbSAnson Huang
8956c3debcbSAnson Huang			i2c3: i2c@30a40000 {
8966c3debcbSAnson Huang				#address-cells = <1>;
8976c3debcbSAnson Huang				#size-cells = <0>;
8986c3debcbSAnson Huang				compatible = "fsl,imx8mn-i2c", "fsl,imx21-i2c";
8996c3debcbSAnson Huang				reg = <0x30a40000 0x10000>;
9006c3debcbSAnson Huang				interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>;
9016c3debcbSAnson Huang				clocks = <&clk IMX8MN_CLK_I2C3_ROOT>;
9026c3debcbSAnson Huang				status = "disabled";
9036c3debcbSAnson Huang			};
9046c3debcbSAnson Huang
9056c3debcbSAnson Huang			i2c4: i2c@30a50000 {
9066c3debcbSAnson Huang				compatible = "fsl,imx8mn-i2c", "fsl,imx21-i2c";
9076c3debcbSAnson Huang				#address-cells = <1>;
9086c3debcbSAnson Huang				#size-cells = <0>;
9096c3debcbSAnson Huang				reg = <0x30a50000 0x10000>;
9106c3debcbSAnson Huang				interrupts = <GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH>;
9116c3debcbSAnson Huang				clocks = <&clk IMX8MN_CLK_I2C4_ROOT>;
9126c3debcbSAnson Huang				status = "disabled";
9136c3debcbSAnson Huang			};
9146c3debcbSAnson Huang
9156c3debcbSAnson Huang			uart4: serial@30a60000 {
9166c3debcbSAnson Huang				compatible = "fsl,imx8mn-uart", "fsl,imx6q-uart";
9176c3debcbSAnson Huang				reg = <0x30a60000 0x10000>;
9186c3debcbSAnson Huang				interrupts = <GIC_SPI 29 IRQ_TYPE_LEVEL_HIGH>;
9196c3debcbSAnson Huang				clocks = <&clk IMX8MN_CLK_UART4_ROOT>,
9206c3debcbSAnson Huang					 <&clk IMX8MN_CLK_UART4_ROOT>;
9216c3debcbSAnson Huang				clock-names = "ipg", "per";
9226c3debcbSAnson Huang				dmas = <&sdma1 28 4 0>, <&sdma1 29 4 0>;
9236c3debcbSAnson Huang				dma-names = "rx", "tx";
9246c3debcbSAnson Huang				status = "disabled";
9256c3debcbSAnson Huang			};
9266c3debcbSAnson Huang
927bbfc59beSPeng Fan			mu: mailbox@30aa0000 {
928bbfc59beSPeng Fan				compatible = "fsl,imx8mn-mu", "fsl,imx6sx-mu";
929bbfc59beSPeng Fan				reg = <0x30aa0000 0x10000>;
930bbfc59beSPeng Fan				interrupts = <GIC_SPI 88 IRQ_TYPE_LEVEL_HIGH>;
931bbfc59beSPeng Fan				clocks = <&clk IMX8MN_CLK_MU_ROOT>;
932bbfc59beSPeng Fan				#mbox-cells = <2>;
933bbfc59beSPeng Fan			};
934bbfc59beSPeng Fan
9356c3debcbSAnson Huang			usdhc1: mmc@30b40000 {
936472f20b4SAdam Ford				compatible = "fsl,imx8mn-usdhc", "fsl,imx8mm-usdhc", "fsl,imx7d-usdhc";
9376c3debcbSAnson Huang				reg = <0x30b40000 0x10000>;
9386c3debcbSAnson Huang				interrupts = <GIC_SPI 22 IRQ_TYPE_LEVEL_HIGH>;
939ea65aba8SAnson Huang				clocks = <&clk IMX8MN_CLK_IPG_ROOT>,
9406c3debcbSAnson Huang					 <&clk IMX8MN_CLK_NAND_USDHC_BUS>,
9416c3debcbSAnson Huang					 <&clk IMX8MN_CLK_USDHC1_ROOT>;
9426c3debcbSAnson Huang				clock-names = "ipg", "ahb", "per";
9436c3debcbSAnson Huang				fsl,tuning-start-tap = <20>;
9446c3debcbSAnson Huang				fsl,tuning-step= <2>;
9456c3debcbSAnson Huang				bus-width = <4>;
9466c3debcbSAnson Huang				status = "disabled";
9476c3debcbSAnson Huang			};
9486c3debcbSAnson Huang
9496c3debcbSAnson Huang			usdhc2: mmc@30b50000 {
950472f20b4SAdam Ford				compatible = "fsl,imx8mn-usdhc", "fsl,imx8mm-usdhc", "fsl,imx7d-usdhc";
9516c3debcbSAnson Huang				reg = <0x30b50000 0x10000>;
9526c3debcbSAnson Huang				interrupts = <GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH>;
953ea65aba8SAnson Huang				clocks = <&clk IMX8MN_CLK_IPG_ROOT>,
9546c3debcbSAnson Huang					 <&clk IMX8MN_CLK_NAND_USDHC_BUS>,
9556c3debcbSAnson Huang					 <&clk IMX8MN_CLK_USDHC2_ROOT>;
9566c3debcbSAnson Huang				clock-names = "ipg", "ahb", "per";
9576c3debcbSAnson Huang				fsl,tuning-start-tap = <20>;
9586c3debcbSAnson Huang				fsl,tuning-step= <2>;
9596c3debcbSAnson Huang				bus-width = <4>;
9606c3debcbSAnson Huang				status = "disabled";
9616c3debcbSAnson Huang			};
9626c3debcbSAnson Huang
9636c3debcbSAnson Huang			usdhc3: mmc@30b60000 {
964472f20b4SAdam Ford				compatible = "fsl,imx8mn-usdhc", "fsl,imx8mm-usdhc", "fsl,imx7d-usdhc";
9656c3debcbSAnson Huang				reg = <0x30b60000 0x10000>;
9666c3debcbSAnson Huang				interrupts = <GIC_SPI 24 IRQ_TYPE_LEVEL_HIGH>;
967ea65aba8SAnson Huang				clocks = <&clk IMX8MN_CLK_IPG_ROOT>,
9686c3debcbSAnson Huang					 <&clk IMX8MN_CLK_NAND_USDHC_BUS>,
9696c3debcbSAnson Huang					 <&clk IMX8MN_CLK_USDHC3_ROOT>;
9706c3debcbSAnson Huang				clock-names = "ipg", "ahb", "per";
9716c3debcbSAnson Huang				fsl,tuning-start-tap = <20>;
9726c3debcbSAnson Huang				fsl,tuning-step= <2>;
9736c3debcbSAnson Huang				bus-width = <4>;
9746c3debcbSAnson Huang				status = "disabled";
9756c3debcbSAnson Huang			};
9766c3debcbSAnson Huang
977189f6586SAdam Ford			flexspi: spi@30bb0000 {
978189f6586SAdam Ford				#address-cells = <1>;
979189f6586SAdam Ford				#size-cells = <0>;
980189f6586SAdam Ford				compatible = "nxp,imx8mm-fspi";
981189f6586SAdam Ford				reg = <0x30bb0000 0x10000>, <0x8000000 0x10000000>;
982189f6586SAdam Ford				reg-names = "fspi_base", "fspi_mmap";
983189f6586SAdam Ford				interrupts = <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>;
984189f6586SAdam Ford				clocks = <&clk IMX8MN_CLK_QSPI_ROOT>,
985189f6586SAdam Ford					 <&clk IMX8MN_CLK_QSPI_ROOT>;
986f29fa744SKuldeep Singh				clock-names = "fspi_en", "fspi";
987189f6586SAdam Ford				status = "disabled";
988189f6586SAdam Ford			};
989189f6586SAdam Ford
9906c3debcbSAnson Huang			sdma1: dma-controller@30bd0000 {
991958c6014SShengjiu Wang				compatible = "fsl,imx8mn-sdma", "fsl,imx8mq-sdma";
9926c3debcbSAnson Huang				reg = <0x30bd0000 0x10000>;
9936c3debcbSAnson Huang				interrupts = <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>;
9946c3debcbSAnson Huang				clocks = <&clk IMX8MN_CLK_SDMA1_ROOT>,
99515ddc3e1SAdam Ford					 <&clk IMX8MN_CLK_AHB>;
9966c3debcbSAnson Huang				clock-names = "ipg", "ahb";
9976c3debcbSAnson Huang				#dma-cells = <3>;
9986c3debcbSAnson Huang				fsl,sdma-ram-script-name = "imx/sdma/sdma-imx7d.bin";
9996c3debcbSAnson Huang			};
10006c3debcbSAnson Huang
10016c3debcbSAnson Huang			fec1: ethernet@30be0000 {
1002a758dee8SJoakim Zhang				compatible = "fsl,imx8mn-fec", "fsl,imx8mq-fec", "fsl,imx6sx-fec";
10036c3debcbSAnson Huang				reg = <0x30be0000 0x10000>;
10046c3debcbSAnson Huang				interrupts = <GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH>,
10056c3debcbSAnson Huang					     <GIC_SPI 119 IRQ_TYPE_LEVEL_HIGH>,
1006d3762a47SFabio Estevam					     <GIC_SPI 120 IRQ_TYPE_LEVEL_HIGH>,
1007d3762a47SFabio Estevam					     <GIC_SPI 121 IRQ_TYPE_LEVEL_HIGH>;
10086c3debcbSAnson Huang				clocks = <&clk IMX8MN_CLK_ENET1_ROOT>,
10096c3debcbSAnson Huang					 <&clk IMX8MN_CLK_ENET1_ROOT>,
10106c3debcbSAnson Huang					 <&clk IMX8MN_CLK_ENET_TIMER>,
10116c3debcbSAnson Huang					 <&clk IMX8MN_CLK_ENET_REF>,
10126c3debcbSAnson Huang					 <&clk IMX8MN_CLK_ENET_PHY_REF>;
10136c3debcbSAnson Huang				clock-names = "ipg", "ahb", "ptp",
10146c3debcbSAnson Huang					      "enet_clk_ref", "enet_out";
10156c3debcbSAnson Huang				assigned-clocks = <&clk IMX8MN_CLK_ENET_AXI>,
10166c3debcbSAnson Huang						  <&clk IMX8MN_CLK_ENET_TIMER>,
10176c3debcbSAnson Huang						  <&clk IMX8MN_CLK_ENET_REF>,
101870eacf42SJoakim Zhang						  <&clk IMX8MN_CLK_ENET_PHY_REF>;
10196c3debcbSAnson Huang				assigned-clock-parents = <&clk IMX8MN_SYS_PLL1_266M>,
10206c3debcbSAnson Huang							 <&clk IMX8MN_SYS_PLL2_100M>,
102170eacf42SJoakim Zhang							 <&clk IMX8MN_SYS_PLL2_125M>,
102270eacf42SJoakim Zhang							 <&clk IMX8MN_SYS_PLL2_50M>;
102370eacf42SJoakim Zhang				assigned-clock-rates = <0>, <100000000>, <125000000>, <0>;
10246c3debcbSAnson Huang				fsl,num-tx-queues = <3>;
10256c3debcbSAnson Huang				fsl,num-rx-queues = <3>;
1026066438aeSJoakim Zhang				nvmem-cells = <&fec_mac_address>;
1027066438aeSJoakim Zhang				nvmem-cell-names = "mac-address";
1028afe99354SJoakim Zhang				fsl,stop-mode = <&gpr 0x10 3>;
10296c3debcbSAnson Huang				status = "disabled";
10306c3debcbSAnson Huang			};
10316c3debcbSAnson Huang
10326c3debcbSAnson Huang		};
10336c3debcbSAnson Huang
10346c3debcbSAnson Huang		aips4: bus@32c00000 {
1035dc3efc6fSPeng Fan			compatible = "fsl,aips-bus", "simple-bus";
1036921a6845SFabio Estevam			reg = <0x32c00000 0x400000>;
10376c3debcbSAnson Huang			#address-cells = <1>;
10386c3debcbSAnson Huang			#size-cells = <1>;
10396c3debcbSAnson Huang			ranges;
10406c3debcbSAnson Huang
104118d4a6c9SAdam Ford			disp_blk_ctrl: blk-ctrl@32e28000 {
104218d4a6c9SAdam Ford				compatible = "fsl,imx8mn-disp-blk-ctrl", "syscon";
104318d4a6c9SAdam Ford				reg = <0x32e28000 0x100>;
104418d4a6c9SAdam Ford				power-domains = <&pgc_dispmix>, <&pgc_dispmix>,
104518d4a6c9SAdam Ford						<&pgc_dispmix>, <&pgc_mipi>,
104618d4a6c9SAdam Ford						<&pgc_mipi>;
104718d4a6c9SAdam Ford				power-domain-names = "bus", "isi",
104818d4a6c9SAdam Ford						     "lcdif", "mipi-dsi",
104918d4a6c9SAdam Ford						     "mipi-csi";
105018d4a6c9SAdam Ford				clocks = <&clk IMX8MN_CLK_DISP_AXI>,
105118d4a6c9SAdam Ford					 <&clk IMX8MN_CLK_DISP_APB>,
105218d4a6c9SAdam Ford					 <&clk IMX8MN_CLK_DISP_AXI_ROOT>,
105318d4a6c9SAdam Ford					 <&clk IMX8MN_CLK_DISP_APB_ROOT>,
105418d4a6c9SAdam Ford					 <&clk IMX8MN_CLK_DISP_AXI_ROOT>,
105518d4a6c9SAdam Ford					 <&clk IMX8MN_CLK_DISP_APB_ROOT>,
105618d4a6c9SAdam Ford					 <&clk IMX8MN_CLK_DISP_PIXEL_ROOT>,
105718d4a6c9SAdam Ford					 <&clk IMX8MN_CLK_DSI_CORE>,
105818d4a6c9SAdam Ford					 <&clk IMX8MN_CLK_DSI_PHY_REF>,
105918d4a6c9SAdam Ford					 <&clk IMX8MN_CLK_CSI1_PHY_REF>,
106018d4a6c9SAdam Ford					 <&clk IMX8MN_CLK_CAMERA_PIXEL_ROOT>;
106118d4a6c9SAdam Ford				clock-names = "disp_axi", "disp_apb",
106218d4a6c9SAdam Ford					      "disp_axi_root", "disp_apb_root",
106318d4a6c9SAdam Ford					      "lcdif-axi", "lcdif-apb", "lcdif-pix",
106418d4a6c9SAdam Ford					      "dsi-pclk", "dsi-ref",
106518d4a6c9SAdam Ford					      "csi-aclk", "csi-pclk";
106618d4a6c9SAdam Ford				#power-domain-cells = <1>;
106718d4a6c9SAdam Ford			};
106818d4a6c9SAdam Ford
10696c3debcbSAnson Huang			usbotg1: usb@32e40000 {
10706c3debcbSAnson Huang				compatible = "fsl,imx8mn-usb", "fsl,imx7d-usb";
10716c3debcbSAnson Huang				reg = <0x32e40000 0x200>;
10726c3debcbSAnson Huang				interrupts = <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>;
10736c3debcbSAnson Huang				clocks = <&clk IMX8MN_CLK_USB1_CTRL_ROOT>;
10746c3debcbSAnson Huang				clock-names = "usb1_ctrl_root_clk";
1075d51cb99cSLi Jun				assigned-clocks = <&clk IMX8MN_CLK_USB_BUS>;
1076d51cb99cSLi Jun				assigned-clock-parents = <&clk IMX8MN_SYS_PLL2_500M>;
107778e80c4bSMarek Vasut				phys = <&usbphynop1>;
10786c3debcbSAnson Huang				fsl,usbmisc = <&usbmisc1 0>;
1079ea2b5af5SAdam Ford				power-domains = <&pgc_otg1>;
10806c3debcbSAnson Huang				status = "disabled";
10816c3debcbSAnson Huang			};
10826c3debcbSAnson Huang
10836c3debcbSAnson Huang			usbmisc1: usbmisc@32e40200 {
10846c3debcbSAnson Huang				compatible = "fsl,imx8mn-usbmisc", "fsl,imx7d-usbmisc";
10856c3debcbSAnson Huang				#index-cells = <1>;
10866c3debcbSAnson Huang				reg = <0x32e40200 0x200>;
10876c3debcbSAnson Huang			};
10886c3debcbSAnson Huang		};
10896c3debcbSAnson Huang
10906c3debcbSAnson Huang		dma_apbh: dma-controller@33000000 {
10916c3debcbSAnson Huang			compatible = "fsl,imx7d-dma-apbh", "fsl,imx28-dma-apbh";
10926c3debcbSAnson Huang			reg = <0x33000000 0x2000>;
10936c3debcbSAnson Huang			interrupts = <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>,
10946c3debcbSAnson Huang				     <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>,
10956c3debcbSAnson Huang				     <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>,
10966c3debcbSAnson Huang				     <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>;
10976c3debcbSAnson Huang			interrupt-names = "gpmi0", "gpmi1", "gpmi2", "gpmi3";
10986c3debcbSAnson Huang			#dma-cells = <1>;
10996c3debcbSAnson Huang			dma-channels = <4>;
11006c3debcbSAnson Huang			clocks = <&clk IMX8MN_CLK_NAND_USDHC_BUS_RAWNAND_CLK>;
11016c3debcbSAnson Huang		};
11026c3debcbSAnson Huang
11036c3debcbSAnson Huang		gpmi: nand-controller@33002000 {
11046c3debcbSAnson Huang			compatible = "fsl,imx8mn-gpmi-nand", "fsl,imx7d-gpmi-nand";
11056c3debcbSAnson Huang			#address-cells = <1>;
11066c3debcbSAnson Huang			#size-cells = <1>;
11076c3debcbSAnson Huang			reg = <0x33002000 0x2000>, <0x33004000 0x4000>;
11086c3debcbSAnson Huang			reg-names = "gpmi-nand", "bch";
11096c3debcbSAnson Huang			interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>;
11106c3debcbSAnson Huang			interrupt-names = "bch";
11116c3debcbSAnson Huang			clocks = <&clk IMX8MN_CLK_NAND_ROOT>,
11126c3debcbSAnson Huang				 <&clk IMX8MN_CLK_NAND_USDHC_BUS_RAWNAND_CLK>;
11136c3debcbSAnson Huang			clock-names = "gpmi_io", "gpmi_bch_apb";
11146c3debcbSAnson Huang			dmas = <&dma_apbh 0>;
11156c3debcbSAnson Huang			dma-names = "rx-tx";
11166c3debcbSAnson Huang			status = "disabled";
11176c3debcbSAnson Huang		};
11186c3debcbSAnson Huang
11199a0f3b15SAdam Ford		gpu: gpu@38000000 {
11209a0f3b15SAdam Ford			compatible = "vivante,gc";
11219a0f3b15SAdam Ford			reg = <0x38000000 0x8000>;
11229a0f3b15SAdam Ford			interrupts = <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>;
11239a0f3b15SAdam Ford			clocks = <&clk IMX8MN_CLK_GPU_AHB>,
11249a0f3b15SAdam Ford				<&clk IMX8MN_CLK_GPU_BUS_ROOT>,
11259a0f3b15SAdam Ford				<&clk IMX8MN_CLK_GPU_CORE_ROOT>,
11269a0f3b15SAdam Ford				<&clk IMX8MN_CLK_GPU_SHADER>;
11279a0f3b15SAdam Ford			clock-names = "reg", "bus", "core", "shader";
11289a0f3b15SAdam Ford			assigned-clocks = <&clk IMX8MN_CLK_GPU_CORE>,
11299a0f3b15SAdam Ford					  <&clk IMX8MN_CLK_GPU_SHADER>,
11309a0f3b15SAdam Ford					  <&clk IMX8MN_CLK_GPU_AXI>,
11319a0f3b15SAdam Ford					  <&clk IMX8MN_CLK_GPU_AHB>,
11329a0f3b15SAdam Ford					  <&clk IMX8MN_GPU_PLL>;
11339a0f3b15SAdam Ford			assigned-clock-parents = <&clk IMX8MN_GPU_PLL_OUT>,
11349a0f3b15SAdam Ford						  <&clk IMX8MN_GPU_PLL_OUT>,
11359a0f3b15SAdam Ford						  <&clk IMX8MN_SYS_PLL1_800M>,
11369a0f3b15SAdam Ford						  <&clk IMX8MN_SYS_PLL1_800M>;
11379a0f3b15SAdam Ford			assigned-clock-rates = <400000000>,
11389a0f3b15SAdam Ford					       <400000000>,
11399a0f3b15SAdam Ford					       <800000000>,
11409a0f3b15SAdam Ford					       <400000000>,
11419a0f3b15SAdam Ford					       <1200000000>;
11429a0f3b15SAdam Ford			power-domains = <&pgc_gpumix>;
11439a0f3b15SAdam Ford		};
11449a0f3b15SAdam Ford
11456c3debcbSAnson Huang		gic: interrupt-controller@38800000 {
11466c3debcbSAnson Huang			compatible = "arm,gic-v3";
11476c3debcbSAnson Huang			reg = <0x38800000 0x10000>,
11486c3debcbSAnson Huang			      <0x38880000 0xc0000>;
11496c3debcbSAnson Huang			#interrupt-cells = <3>;
11506c3debcbSAnson Huang			interrupt-controller;
11516c3debcbSAnson Huang			interrupts = <GIC_PPI 9 IRQ_TYPE_LEVEL_HIGH>;
11526c3debcbSAnson Huang		};
11532d8e0747SJoakim Zhang
11540376f6ecSLeonard Crestez		ddrc: memory-controller@3d400000 {
11550376f6ecSLeonard Crestez			compatible = "fsl,imx8mn-ddrc", "fsl,imx8m-ddrc";
11560376f6ecSLeonard Crestez			reg = <0x3d400000 0x400000>;
11570376f6ecSLeonard Crestez			clock-names = "core", "pll", "alt", "apb";
11580376f6ecSLeonard Crestez			clocks = <&clk IMX8MN_CLK_DRAM_CORE>,
11590376f6ecSLeonard Crestez				 <&clk IMX8MN_DRAM_PLL>,
11600376f6ecSLeonard Crestez				 <&clk IMX8MN_CLK_DRAM_ALT>,
11610376f6ecSLeonard Crestez				 <&clk IMX8MN_CLK_DRAM_APB>;
11620376f6ecSLeonard Crestez		};
11630376f6ecSLeonard Crestez
11642d8e0747SJoakim Zhang		ddr-pmu@3d800000 {
11652d8e0747SJoakim Zhang			compatible = "fsl,imx8mn-ddr-pmu", "fsl,imx8m-ddr-pmu";
11662d8e0747SJoakim Zhang			reg = <0x3d800000 0x400000>;
11672d8e0747SJoakim Zhang			interrupts = <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>;
11682d8e0747SJoakim Zhang		};
11696c3debcbSAnson Huang	};
11706c3debcbSAnson Huang
11716c3debcbSAnson Huang	usbphynop1: usbphynop1 {
117278e80c4bSMarek Vasut		#phy-cells = <0>;
11736c3debcbSAnson Huang		compatible = "usb-nop-xceiv";
11746c3debcbSAnson Huang		clocks = <&clk IMX8MN_CLK_USB_PHY_REF>;
11756c3debcbSAnson Huang		assigned-clocks = <&clk IMX8MN_CLK_USB_PHY_REF>;
11766c3debcbSAnson Huang		assigned-clock-parents = <&clk IMX8MN_SYS_PLL1_100M>;
11776c3debcbSAnson Huang		clock-names = "main_clk";
11786c3debcbSAnson Huang	};
11796c3debcbSAnson Huang};
1180