xref: /openbmc/linux/arch/arm64/boot/dts/freescale/imx8mn.dtsi (revision 5b81a87ddd56ebdcdc7bf5430bc33872168c36f4)
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>;
1423b450831SPierre Gondois			cache-unified;
143cb551b5eSPeng Fan			cache-size = <0x80000>;
144cb551b5eSPeng Fan			cache-line-size = <64>;
145cb551b5eSPeng Fan			cache-sets = <512>;
1466c3debcbSAnson Huang		};
1476c3debcbSAnson Huang	};
1486c3debcbSAnson Huang
14901c49314SAnson Huang	a53_opp_table: opp-table {
15001c49314SAnson Huang		compatible = "operating-points-v2";
15101c49314SAnson Huang		opp-shared;
15201c49314SAnson Huang
15301c49314SAnson Huang		opp-1200000000 {
15401c49314SAnson Huang			opp-hz = /bits/ 64 <1200000000>;
1558c30e7caSAnson Huang			opp-microvolt = <850000>;
15601c49314SAnson Huang			opp-supported-hw = <0xb00>, <0x7>;
15701c49314SAnson Huang			clock-latency-ns = <150000>;
15801c49314SAnson Huang			opp-suspend;
15901c49314SAnson Huang		};
16001c49314SAnson Huang
16101c49314SAnson Huang		opp-1400000000 {
16201c49314SAnson Huang			opp-hz = /bits/ 64 <1400000000>;
16301c49314SAnson Huang			opp-microvolt = <950000>;
16401c49314SAnson Huang			opp-supported-hw = <0x300>, <0x7>;
16501c49314SAnson Huang			clock-latency-ns = <150000>;
16601c49314SAnson Huang			opp-suspend;
16701c49314SAnson Huang		};
16801c49314SAnson Huang
16901c49314SAnson Huang		opp-1500000000 {
17001c49314SAnson Huang			opp-hz = /bits/ 64 <1500000000>;
17101c49314SAnson Huang			opp-microvolt = <1000000>;
17201c49314SAnson Huang			opp-supported-hw = <0x100>, <0x3>;
17301c49314SAnson Huang			clock-latency-ns = <150000>;
17401c49314SAnson Huang			opp-suspend;
17501c49314SAnson Huang		};
17601c49314SAnson Huang	};
17701c49314SAnson Huang
1786c3debcbSAnson Huang	osc_32k: clock-osc-32k {
1796c3debcbSAnson Huang		compatible = "fixed-clock";
1806c3debcbSAnson Huang		#clock-cells = <0>;
1816c3debcbSAnson Huang		clock-frequency = <32768>;
1826c3debcbSAnson Huang		clock-output-names = "osc_32k";
1836c3debcbSAnson Huang	};
1846c3debcbSAnson Huang
1856c3debcbSAnson Huang	osc_24m: clock-osc-24m {
1866c3debcbSAnson Huang		compatible = "fixed-clock";
1876c3debcbSAnson Huang		#clock-cells = <0>;
1886c3debcbSAnson Huang		clock-frequency = <24000000>;
1896c3debcbSAnson Huang		clock-output-names = "osc_24m";
1906c3debcbSAnson Huang	};
1916c3debcbSAnson Huang
1926c3debcbSAnson Huang	clk_ext1: clock-ext1 {
1936c3debcbSAnson Huang		compatible = "fixed-clock";
1946c3debcbSAnson Huang		#clock-cells = <0>;
1956c3debcbSAnson Huang		clock-frequency = <133000000>;
1966c3debcbSAnson Huang		clock-output-names = "clk_ext1";
1976c3debcbSAnson Huang	};
1986c3debcbSAnson Huang
1996c3debcbSAnson Huang	clk_ext2: clock-ext2 {
2006c3debcbSAnson Huang		compatible = "fixed-clock";
2016c3debcbSAnson Huang		#clock-cells = <0>;
2026c3debcbSAnson Huang		clock-frequency = <133000000>;
2036c3debcbSAnson Huang		clock-output-names = "clk_ext2";
2046c3debcbSAnson Huang	};
2056c3debcbSAnson Huang
2066c3debcbSAnson Huang	clk_ext3: clock-ext3 {
2076c3debcbSAnson Huang		compatible = "fixed-clock";
2086c3debcbSAnson Huang		#clock-cells = <0>;
2096c3debcbSAnson Huang		clock-frequency = <133000000>;
2106c3debcbSAnson Huang		clock-output-names = "clk_ext3";
2116c3debcbSAnson Huang	};
2126c3debcbSAnson Huang
2136c3debcbSAnson Huang	clk_ext4: clock-ext4 {
2146c3debcbSAnson Huang		compatible = "fixed-clock";
2156c3debcbSAnson Huang		#clock-cells = <0>;
2166c3debcbSAnson Huang		clock-frequency = <133000000>;
2176c3debcbSAnson Huang		clock-output-names = "clk_ext4";
2186c3debcbSAnson Huang	};
2196c3debcbSAnson Huang
220c13a7d84SJacky Bai	pmu {
221c13a7d84SJacky Bai		compatible = "arm,cortex-a53-pmu";
222c13a7d84SJacky Bai		interrupts = <GIC_PPI 7
223c13a7d84SJacky Bai			     (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>;
224c13a7d84SJacky Bai	};
225c13a7d84SJacky Bai
2266c3debcbSAnson Huang	psci {
2276c3debcbSAnson Huang		compatible = "arm,psci-1.0";
2286c3debcbSAnson Huang		method = "smc";
2296c3debcbSAnson Huang	};
2306c3debcbSAnson Huang
231819779a9SAnson Huang	thermal-zones {
232819779a9SAnson Huang		cpu-thermal {
233819779a9SAnson Huang			polling-delay-passive = <250>;
234819779a9SAnson Huang			polling-delay = <2000>;
235819779a9SAnson Huang			thermal-sensors = <&tmu>;
236819779a9SAnson Huang			trips {
237819779a9SAnson Huang				cpu_alert0: trip0 {
238819779a9SAnson Huang					temperature = <85000>;
239819779a9SAnson Huang					hysteresis = <2000>;
240819779a9SAnson Huang					type = "passive";
241819779a9SAnson Huang				};
242819779a9SAnson Huang
243819779a9SAnson Huang				cpu_crit0: trip1 {
244819779a9SAnson Huang					temperature = <95000>;
245819779a9SAnson Huang					hysteresis = <2000>;
246819779a9SAnson Huang					type = "critical";
247819779a9SAnson Huang				};
248819779a9SAnson Huang			};
249819779a9SAnson Huang
250819779a9SAnson Huang			cooling-maps {
251819779a9SAnson Huang				map0 {
252819779a9SAnson Huang					trip = <&cpu_alert0>;
253819779a9SAnson Huang					cooling-device =
254819779a9SAnson Huang						<&A53_0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
255819779a9SAnson Huang						<&A53_1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
256819779a9SAnson Huang						<&A53_2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
257819779a9SAnson Huang						<&A53_3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
258819779a9SAnson Huang				};
259819779a9SAnson Huang			};
260819779a9SAnson Huang		};
261819779a9SAnson Huang	};
262819779a9SAnson Huang
2636c3debcbSAnson Huang	timer {
2646c3debcbSAnson Huang		compatible = "arm,armv8-timer";
2650656e37aSKrzysztof Kozlowski		interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
2660656e37aSKrzysztof Kozlowski			     <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
2670656e37aSKrzysztof Kozlowski			     <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
2680656e37aSKrzysztof Kozlowski			     <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>;
2696c3debcbSAnson Huang		clock-frequency = <8000000>;
2706c3debcbSAnson Huang		arm,no-tick-in-suspend;
2716c3debcbSAnson Huang	};
2726c3debcbSAnson Huang
273fcdef92bSFabio Estevam	soc: soc@0 {
274ce58459dSAlice Guo		compatible = "fsl,imx8mn-soc", "simple-bus";
2756c3debcbSAnson Huang		#address-cells = <1>;
2766c3debcbSAnson Huang		#size-cells = <1>;
2776c3debcbSAnson Huang		ranges = <0x0 0x0 0x0 0x3e000000>;
2788d923cdfSLucas Stach		dma-ranges = <0x40000000 0x0 0x40000000 0xc0000000>;
279cbff2379SAlice Guo		nvmem-cells = <&imx8mn_uid>;
280cbff2379SAlice Guo		nvmem-cell-names = "soc_unique_id";
2816c3debcbSAnson Huang
2826c3debcbSAnson Huang		aips1: bus@30000000 {
283dc3efc6fSPeng Fan			compatible = "fsl,aips-bus", "simple-bus";
284921a6845SFabio Estevam			reg = <0x30000000 0x400000>;
2856c3debcbSAnson Huang			#address-cells = <1>;
2866c3debcbSAnson Huang			#size-cells = <1>;
2876c3debcbSAnson Huang			ranges;
2886c3debcbSAnson Huang
289292e0f48SAdam Ford			spba2: spba-bus@30000000 {
290970406eaSAdam Ford				compatible = "fsl,spba-bus", "simple-bus";
291970406eaSAdam Ford				#address-cells = <1>;
292970406eaSAdam Ford				#size-cells = <1>;
293970406eaSAdam Ford				reg = <0x30000000 0x100000>;
294970406eaSAdam Ford				ranges;
295970406eaSAdam Ford
2969e986006SAdam Ford				sai2: sai@30020000 {
297574518b7SMarek Vasut					compatible = "fsl,imx8mn-sai", "fsl,imx8mq-sai";
2989e986006SAdam Ford					reg = <0x30020000 0x10000>;
2999e986006SAdam Ford					interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>;
3009e986006SAdam Ford					clocks = <&clk IMX8MN_CLK_SAI2_IPG>,
3019e986006SAdam Ford						<&clk IMX8MN_CLK_DUMMY>,
3029e986006SAdam Ford						<&clk IMX8MN_CLK_SAI2_ROOT>,
3039e986006SAdam Ford						<&clk IMX8MN_CLK_DUMMY>, <&clk IMX8MN_CLK_DUMMY>;
3049e986006SAdam Ford					clock-names = "bus", "mclk0", "mclk1", "mclk2", "mclk3";
3059e986006SAdam Ford					dmas = <&sdma2 2 2 0>, <&sdma2 3 2 0>;
3069e986006SAdam Ford					dma-names = "rx", "tx";
3079e986006SAdam Ford					status = "disabled";
3089e986006SAdam Ford				};
3099e986006SAdam Ford
3109e986006SAdam Ford				sai3: sai@30030000 {
311574518b7SMarek Vasut					compatible = "fsl,imx8mn-sai", "fsl,imx8mq-sai";
3129e986006SAdam Ford					reg = <0x30030000 0x10000>;
3139e986006SAdam Ford					interrupts = <GIC_SPI 50 IRQ_TYPE_LEVEL_HIGH>;
3149e986006SAdam Ford					clocks = <&clk IMX8MN_CLK_SAI3_IPG>,
3159e986006SAdam Ford						 <&clk IMX8MN_CLK_DUMMY>,
3169e986006SAdam Ford						 <&clk IMX8MN_CLK_SAI3_ROOT>,
3179e986006SAdam Ford						 <&clk IMX8MN_CLK_DUMMY>, <&clk IMX8MN_CLK_DUMMY>;
3189e986006SAdam Ford					clock-names = "bus", "mclk0", "mclk1", "mclk2", "mclk3";
3199e986006SAdam Ford					dmas = <&sdma2 4 2 0>, <&sdma2 5 2 0>;
3209e986006SAdam Ford					dma-names = "rx", "tx";
3219e986006SAdam Ford					status = "disabled";
3229e986006SAdam Ford				};
3239e986006SAdam Ford
3249e986006SAdam Ford				sai5: sai@30050000 {
325574518b7SMarek Vasut					compatible = "fsl,imx8mn-sai", "fsl,imx8mq-sai";
3269e986006SAdam Ford					reg = <0x30050000 0x10000>;
3279e986006SAdam Ford					interrupts = <GIC_SPI 90 IRQ_TYPE_LEVEL_HIGH>;
3289e986006SAdam Ford					clocks = <&clk IMX8MN_CLK_SAI5_IPG>,
3299e986006SAdam Ford						 <&clk IMX8MN_CLK_DUMMY>,
3309e986006SAdam Ford						 <&clk IMX8MN_CLK_SAI5_ROOT>,
3319e986006SAdam Ford						 <&clk IMX8MN_CLK_DUMMY>, <&clk IMX8MN_CLK_DUMMY>;
3329e986006SAdam Ford					clock-names = "bus", "mclk0", "mclk1", "mclk2", "mclk3";
3339e986006SAdam Ford					dmas = <&sdma2 8 2 0>, <&sdma2 9 2 0>;
3349e986006SAdam Ford					dma-names = "rx", "tx";
3359e986006SAdam Ford					fsl,shared-interrupt;
3369e986006SAdam Ford					fsl,dataline = <0 0xf 0xf>;
3379e986006SAdam Ford					status = "disabled";
3389e986006SAdam Ford				};
3399e986006SAdam Ford
3409e986006SAdam Ford				sai6: sai@30060000 {
341574518b7SMarek Vasut					compatible = "fsl,imx8mn-sai", "fsl,imx8mq-sai";
3429e986006SAdam Ford					reg = <0x30060000  0x10000>;
3439e986006SAdam Ford					interrupts = <GIC_SPI 90 IRQ_TYPE_LEVEL_HIGH>;
3449e986006SAdam Ford					clocks = <&clk IMX8MN_CLK_SAI6_IPG>,
3459e986006SAdam Ford						 <&clk IMX8MN_CLK_DUMMY>,
3469e986006SAdam Ford						 <&clk IMX8MN_CLK_SAI6_ROOT>,
3479e986006SAdam Ford						 <&clk IMX8MN_CLK_DUMMY>, <&clk IMX8MN_CLK_DUMMY>;
3489e986006SAdam Ford					clock-names = "bus", "mclk0", "mclk1", "mclk2", "mclk3";
3499e986006SAdam Ford					dmas = <&sdma2 10 2 0>, <&sdma2 11 2 0>;
3509e986006SAdam Ford					dma-names = "rx", "tx";
3519e986006SAdam Ford					status = "disabled";
3529e986006SAdam Ford				};
3539e986006SAdam Ford
354cca69ef6SAdam Ford				micfil: audio-controller@30080000 {
355cca69ef6SAdam Ford					compatible = "fsl,imx8mm-micfil";
356cca69ef6SAdam Ford					reg = <0x30080000 0x10000>;
357cca69ef6SAdam Ford					interrupts = <GIC_SPI 109 IRQ_TYPE_LEVEL_HIGH>,
358cca69ef6SAdam Ford						     <GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>,
359cca69ef6SAdam Ford						     <GIC_SPI 44 IRQ_TYPE_LEVEL_HIGH>,
360cca69ef6SAdam Ford						     <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>;
361cca69ef6SAdam Ford					clocks = <&clk IMX8MN_CLK_PDM_IPG>,
362cca69ef6SAdam Ford						 <&clk IMX8MN_CLK_PDM_ROOT>,
363cca69ef6SAdam Ford						 <&clk IMX8MN_AUDIO_PLL1_OUT>,
364cca69ef6SAdam Ford						 <&clk IMX8MN_AUDIO_PLL2_OUT>,
365cca69ef6SAdam Ford						 <&clk IMX8MN_CLK_EXT3>;
366cca69ef6SAdam Ford					clock-names = "ipg_clk", "ipg_clk_app",
367cca69ef6SAdam Ford						      "pll8k", "pll11k", "clkext3";
368cca69ef6SAdam Ford					dmas = <&sdma2 24 25 0x80000000>;
369cca69ef6SAdam Ford					dma-names = "rx";
370cca69ef6SAdam Ford					status = "disabled";
371cca69ef6SAdam Ford				};
372cca69ef6SAdam Ford
373b9cf7d3bSAdam Ford				spdif1: spdif@30090000 {
374b9cf7d3bSAdam Ford					compatible = "fsl,imx35-spdif";
375b9cf7d3bSAdam Ford					reg = <0x30090000 0x10000>;
376b9cf7d3bSAdam Ford					interrupts = <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>;
377b9cf7d3bSAdam Ford					clocks = <&clk IMX8MN_CLK_AUDIO_AHB>, /* core */
378b9cf7d3bSAdam Ford						 <&clk IMX8MN_CLK_24M>, /* rxtx0 */
379b9cf7d3bSAdam Ford						 <&clk IMX8MN_CLK_SPDIF1>, /* rxtx1 */
380b9cf7d3bSAdam Ford						 <&clk IMX8MN_CLK_DUMMY>, /* rxtx2 */
381b9cf7d3bSAdam Ford						 <&clk IMX8MN_CLK_DUMMY>, /* rxtx3 */
382b9cf7d3bSAdam Ford						 <&clk IMX8MN_CLK_DUMMY>, /* rxtx4 */
383b9cf7d3bSAdam Ford						 <&clk IMX8MN_CLK_AUDIO_AHB>, /* rxtx5 */
384b9cf7d3bSAdam Ford						 <&clk IMX8MN_CLK_DUMMY>, /* rxtx6 */
385b9cf7d3bSAdam Ford						 <&clk IMX8MN_CLK_DUMMY>, /* rxtx7 */
386b9cf7d3bSAdam Ford						 <&clk IMX8MN_CLK_DUMMY>; /* spba */
387b9cf7d3bSAdam Ford					clock-names = "core", "rxtx0",
388b9cf7d3bSAdam Ford						      "rxtx1", "rxtx2",
389b9cf7d3bSAdam Ford						      "rxtx3", "rxtx4",
390b9cf7d3bSAdam Ford						      "rxtx5", "rxtx6",
391b9cf7d3bSAdam Ford						      "rxtx7", "spba";
392b9cf7d3bSAdam Ford					dmas = <&sdma2 28 18 0>, <&sdma2 29 18 0>;
393b9cf7d3bSAdam Ford					dma-names = "rx", "tx";
394b9cf7d3bSAdam Ford					status = "disabled";
395b9cf7d3bSAdam Ford				};
396b9cf7d3bSAdam Ford
3979e986006SAdam Ford				sai7: sai@300b0000 {
398574518b7SMarek Vasut					compatible = "fsl,imx8mn-sai", "fsl,imx8mq-sai";
3999e986006SAdam Ford					reg = <0x300b0000 0x10000>;
4009e986006SAdam Ford					interrupts = <GIC_SPI 111 IRQ_TYPE_LEVEL_HIGH>;
4019e986006SAdam Ford					clocks = <&clk IMX8MN_CLK_SAI7_IPG>,
4029e986006SAdam Ford						 <&clk IMX8MN_CLK_DUMMY>,
4039e986006SAdam Ford						 <&clk IMX8MN_CLK_SAI7_ROOT>,
4049e986006SAdam Ford						 <&clk IMX8MN_CLK_DUMMY>, <&clk IMX8MN_CLK_DUMMY>;
4059e986006SAdam Ford					clock-names = "bus", "mclk0", "mclk1", "mclk2", "mclk3";
4069e986006SAdam Ford					dmas = <&sdma2 12 2 0>, <&sdma2 13 2 0>;
4079e986006SAdam Ford					dma-names = "rx", "tx";
4089e986006SAdam Ford					status = "disabled";
4099e986006SAdam Ford				};
4109e986006SAdam Ford
411970406eaSAdam Ford				easrc: easrc@300c0000 {
412970406eaSAdam Ford					compatible = "fsl,imx8mn-easrc";
413970406eaSAdam Ford					reg = <0x300c0000 0x10000>;
414970406eaSAdam Ford					interrupts = <GIC_SPI 122 IRQ_TYPE_LEVEL_HIGH>;
415970406eaSAdam Ford					clocks = <&clk IMX8MN_CLK_ASRC_ROOT>;
416970406eaSAdam Ford					clock-names = "mem";
417970406eaSAdam Ford					dmas = <&sdma2 16 23 0> , <&sdma2 17 23 0>,
418970406eaSAdam Ford					       <&sdma2 18 23 0> , <&sdma2 19 23 0>,
419970406eaSAdam Ford					       <&sdma2 20 23 0> , <&sdma2 21 23 0>,
420970406eaSAdam Ford					       <&sdma2 22 23 0> , <&sdma2 23 23 0>;
421970406eaSAdam Ford					dma-names = "ctx0_rx", "ctx0_tx",
422970406eaSAdam Ford						    "ctx1_rx", "ctx1_tx",
423970406eaSAdam Ford						    "ctx2_rx", "ctx2_tx",
424970406eaSAdam Ford						    "ctx3_rx", "ctx3_tx";
425970406eaSAdam Ford					firmware-name = "imx/easrc/easrc-imx8mn.bin";
426970406eaSAdam Ford					fsl,asrc-rate = <8000>;
427970406eaSAdam Ford					fsl,asrc-format = <2>;
428970406eaSAdam Ford					status = "disabled";
429970406eaSAdam Ford				};
430970406eaSAdam Ford			};
431970406eaSAdam Ford
4326c3debcbSAnson Huang			gpio1: gpio@30200000 {
4336c3debcbSAnson Huang				compatible = "fsl,imx8mn-gpio", "fsl,imx35-gpio";
4346c3debcbSAnson Huang				reg = <0x30200000 0x10000>;
4356c3debcbSAnson Huang				interrupts = <GIC_SPI 64 IRQ_TYPE_LEVEL_HIGH>,
4366c3debcbSAnson Huang					     <GIC_SPI 65 IRQ_TYPE_LEVEL_HIGH>;
4376c3debcbSAnson Huang				clocks = <&clk IMX8MN_CLK_GPIO1_ROOT>;
4386c3debcbSAnson Huang				gpio-controller;
4396c3debcbSAnson Huang				#gpio-cells = <2>;
4406c3debcbSAnson Huang				interrupt-controller;
4416c3debcbSAnson Huang				#interrupt-cells = <2>;
442ee8696beSAnson Huang				gpio-ranges = <&iomuxc 0 10 30>;
4436c3debcbSAnson Huang			};
4446c3debcbSAnson Huang
4456c3debcbSAnson Huang			gpio2: gpio@30210000 {
4466c3debcbSAnson Huang				compatible = "fsl,imx8mn-gpio", "fsl,imx35-gpio";
4476c3debcbSAnson Huang				reg = <0x30210000 0x10000>;
4486c3debcbSAnson Huang				interrupts = <GIC_SPI 66 IRQ_TYPE_LEVEL_HIGH>,
4496c3debcbSAnson Huang					     <GIC_SPI 67 IRQ_TYPE_LEVEL_HIGH>;
4506c3debcbSAnson Huang				clocks = <&clk IMX8MN_CLK_GPIO2_ROOT>;
4516c3debcbSAnson Huang				gpio-controller;
4526c3debcbSAnson Huang				#gpio-cells = <2>;
4536c3debcbSAnson Huang				interrupt-controller;
4546c3debcbSAnson Huang				#interrupt-cells = <2>;
455ee8696beSAnson Huang				gpio-ranges = <&iomuxc 0 40 21>;
4566c3debcbSAnson Huang			};
4576c3debcbSAnson Huang
4586c3debcbSAnson Huang			gpio3: gpio@30220000 {
4596c3debcbSAnson Huang				compatible = "fsl,imx8mn-gpio", "fsl,imx35-gpio";
4606c3debcbSAnson Huang				reg = <0x30220000 0x10000>;
4616c3debcbSAnson Huang				interrupts = <GIC_SPI 68 IRQ_TYPE_LEVEL_HIGH>,
4626c3debcbSAnson Huang					     <GIC_SPI 69 IRQ_TYPE_LEVEL_HIGH>;
4636c3debcbSAnson Huang				clocks = <&clk IMX8MN_CLK_GPIO3_ROOT>;
4646c3debcbSAnson Huang				gpio-controller;
4656c3debcbSAnson Huang				#gpio-cells = <2>;
4666c3debcbSAnson Huang				interrupt-controller;
4676c3debcbSAnson Huang				#interrupt-cells = <2>;
468ee8696beSAnson Huang				gpio-ranges = <&iomuxc 0 61 26>;
4696c3debcbSAnson Huang			};
4706c3debcbSAnson Huang
4716c3debcbSAnson Huang			gpio4: gpio@30230000 {
4726c3debcbSAnson Huang				compatible = "fsl,imx8mn-gpio", "fsl,imx35-gpio";
4736c3debcbSAnson Huang				reg = <0x30230000 0x10000>;
4746c3debcbSAnson Huang				interrupts = <GIC_SPI 70 IRQ_TYPE_LEVEL_HIGH>,
4756c3debcbSAnson Huang					     <GIC_SPI 71 IRQ_TYPE_LEVEL_HIGH>;
4766c3debcbSAnson Huang				clocks = <&clk IMX8MN_CLK_GPIO4_ROOT>;
4776c3debcbSAnson Huang				gpio-controller;
4786c3debcbSAnson Huang				#gpio-cells = <2>;
4796c3debcbSAnson Huang				interrupt-controller;
4806c3debcbSAnson Huang				#interrupt-cells = <2>;
481ee8696beSAnson Huang				gpio-ranges = <&iomuxc 21 108 11>;
4826c3debcbSAnson Huang			};
4836c3debcbSAnson Huang
4846c3debcbSAnson Huang			gpio5: gpio@30240000 {
4856c3debcbSAnson Huang				compatible = "fsl,imx8mn-gpio", "fsl,imx35-gpio";
4866c3debcbSAnson Huang				reg = <0x30240000 0x10000>;
4876c3debcbSAnson Huang				interrupts = <GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>,
4886c3debcbSAnson Huang					     <GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>;
4896c3debcbSAnson Huang				clocks = <&clk IMX8MN_CLK_GPIO5_ROOT>;
4906c3debcbSAnson Huang				gpio-controller;
4916c3debcbSAnson Huang				#gpio-cells = <2>;
4926c3debcbSAnson Huang				interrupt-controller;
4936c3debcbSAnson Huang				#interrupt-cells = <2>;
494ee8696beSAnson Huang				gpio-ranges = <&iomuxc 0 119 30>;
4956c3debcbSAnson Huang			};
4966c3debcbSAnson Huang
497819779a9SAnson Huang			tmu: tmu@30260000 {
498819779a9SAnson Huang				compatible = "fsl,imx8mn-tmu", "fsl,imx8mm-tmu";
499819779a9SAnson Huang				reg = <0x30260000 0x10000>;
500819779a9SAnson Huang				clocks = <&clk IMX8MN_CLK_TMU_ROOT>;
501819779a9SAnson Huang				#thermal-sensor-cells = <0>;
502819779a9SAnson Huang			};
503819779a9SAnson Huang
5046c3debcbSAnson Huang			wdog1: watchdog@30280000 {
5056c3debcbSAnson Huang				compatible = "fsl,imx8mn-wdt", "fsl,imx21-wdt";
5066c3debcbSAnson Huang				reg = <0x30280000 0x10000>;
5076c3debcbSAnson Huang				interrupts = <GIC_SPI 78 IRQ_TYPE_LEVEL_HIGH>;
5086c3debcbSAnson Huang				clocks = <&clk IMX8MN_CLK_WDOG1_ROOT>;
5096c3debcbSAnson Huang				status = "disabled";
5106c3debcbSAnson Huang			};
5116c3debcbSAnson Huang
5126c3debcbSAnson Huang			wdog2: watchdog@30290000 {
5136c3debcbSAnson Huang				compatible = "fsl,imx8mn-wdt", "fsl,imx21-wdt";
5146c3debcbSAnson Huang				reg = <0x30290000 0x10000>;
5156c3debcbSAnson Huang				interrupts = <GIC_SPI 79 IRQ_TYPE_LEVEL_HIGH>;
5166c3debcbSAnson Huang				clocks = <&clk IMX8MN_CLK_WDOG2_ROOT>;
5176c3debcbSAnson Huang				status = "disabled";
5186c3debcbSAnson Huang			};
5196c3debcbSAnson Huang
5206c3debcbSAnson Huang			wdog3: watchdog@302a0000 {
5216c3debcbSAnson Huang				compatible = "fsl,imx8mn-wdt", "fsl,imx21-wdt";
5226c3debcbSAnson Huang				reg = <0x302a0000 0x10000>;
5236c3debcbSAnson Huang				interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>;
5246c3debcbSAnson Huang				clocks = <&clk IMX8MN_CLK_WDOG3_ROOT>;
5256c3debcbSAnson Huang				status = "disabled";
5266c3debcbSAnson Huang			};
5276c3debcbSAnson Huang
5286c3debcbSAnson Huang			sdma3: dma-controller@302b0000 {
529958c6014SShengjiu Wang				compatible = "fsl,imx8mn-sdma", "fsl,imx8mq-sdma";
5306c3debcbSAnson Huang				reg = <0x302b0000 0x10000>;
5316c3debcbSAnson Huang				interrupts = <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>;
5326c3debcbSAnson Huang				clocks = <&clk IMX8MN_CLK_SDMA3_ROOT>,
5336c3debcbSAnson Huang				 <&clk IMX8MN_CLK_SDMA3_ROOT>;
5346c3debcbSAnson Huang				clock-names = "ipg", "ahb";
5356c3debcbSAnson Huang				#dma-cells = <3>;
5366c3debcbSAnson Huang				fsl,sdma-ram-script-name = "imx/sdma/sdma-imx7d.bin";
5376c3debcbSAnson Huang			};
5386c3debcbSAnson Huang
5396c3debcbSAnson Huang			sdma2: dma-controller@302c0000 {
540958c6014SShengjiu Wang				compatible = "fsl,imx8mn-sdma", "fsl,imx8mq-sdma";
5416c3debcbSAnson Huang				reg = <0x302c0000 0x10000>;
5426c3debcbSAnson Huang				interrupts = <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>;
5436c3debcbSAnson Huang				clocks = <&clk IMX8MN_CLK_SDMA2_ROOT>,
5446c3debcbSAnson Huang					 <&clk IMX8MN_CLK_SDMA2_ROOT>;
5456c3debcbSAnson Huang				clock-names = "ipg", "ahb";
5466c3debcbSAnson Huang				#dma-cells = <3>;
5476c3debcbSAnson Huang				fsl,sdma-ram-script-name = "imx/sdma/sdma-imx7d.bin";
5486c3debcbSAnson Huang			};
5496c3debcbSAnson Huang
5506c3debcbSAnson Huang			iomuxc: pinctrl@30330000 {
5516c3debcbSAnson Huang				compatible = "fsl,imx8mn-iomuxc";
5526c3debcbSAnson Huang				reg = <0x30330000 0x10000>;
5536c3debcbSAnson Huang			};
5546c3debcbSAnson Huang
5556c3debcbSAnson Huang			gpr: iomuxc-gpr@30340000 {
5566c3debcbSAnson Huang				compatible = "fsl,imx8mn-iomuxc-gpr", "syscon";
5576c3debcbSAnson Huang				reg = <0x30340000 0x10000>;
5586c3debcbSAnson Huang			};
5596c3debcbSAnson Huang
56012fa1078SAnson Huang			ocotp: efuse@30350000 {
5612bad8c48SAnson Huang				compatible = "fsl,imx8mn-ocotp", "fsl,imx8mm-ocotp", "syscon";
5626c3debcbSAnson Huang				reg = <0x30350000 0x10000>;
5636c3debcbSAnson Huang				clocks = <&clk IMX8MN_CLK_OCOTP_ROOT>;
56401c49314SAnson Huang				#address-cells = <1>;
56501c49314SAnson Huang				#size-cells = <1>;
56601c49314SAnson Huang
567*5b81a87dSMarek Vasut				/*
568*5b81a87dSMarek Vasut				 * The register address below maps to the MX8M
569*5b81a87dSMarek Vasut				 * Fusemap Description Table entries this way.
570*5b81a87dSMarek Vasut				 * Assuming
571*5b81a87dSMarek Vasut				 *   reg = <ADDR SIZE>;
572*5b81a87dSMarek Vasut				 * then
573*5b81a87dSMarek Vasut				 *   Fuse Address = (ADDR * 4) + 0x400
574*5b81a87dSMarek Vasut				 * Note that if SIZE is greater than 4, then
575*5b81a87dSMarek Vasut				 * each subsequent fuse is located at offset
576*5b81a87dSMarek Vasut				 * +0x10 in Fusemap Description Table (e.g.
577*5b81a87dSMarek Vasut				 * reg = <0x4 0x8> describes fuses 0x410 and
578*5b81a87dSMarek Vasut				 * 0x420).
579*5b81a87dSMarek Vasut				 */
580*5b81a87dSMarek Vasut				imx8mn_uid: unique-id@4 { /* 0x410-0x420 */
581cbff2379SAlice Guo					reg = <0x4 0x8>;
582cbff2379SAlice Guo				};
583cbff2379SAlice Guo
584*5b81a87dSMarek Vasut				cpu_speed_grade: speed-grade@10 { /* 0x440 */
58501c49314SAnson Huang					reg = <0x10 4>;
58601c49314SAnson Huang				};
587066438aeSJoakim Zhang
588*5b81a87dSMarek Vasut				fec_mac_address: mac-address@90 { /* 0x640 */
589066438aeSJoakim Zhang					reg = <0x90 6>;
590066438aeSJoakim Zhang				};
5916c3debcbSAnson Huang			};
5926c3debcbSAnson Huang
593f98c2dfeSPeng Fan			anatop: clock-controller@30360000 {
594f98c2dfeSPeng Fan				compatible = "fsl,imx8mn-anatop", "fsl,imx8mm-anatop";
5956c3debcbSAnson Huang				reg = <0x30360000 0x10000>;
596f98c2dfeSPeng Fan				#clock-cells = <1>;
5976c3debcbSAnson Huang			};
5986c3debcbSAnson Huang
5996c3debcbSAnson Huang			snvs: snvs@30370000 {
6006c3debcbSAnson Huang				compatible = "fsl,sec-v4.0-mon","syscon", "simple-mfd";
6016c3debcbSAnson Huang				reg = <0x30370000 0x10000>;
6026c3debcbSAnson Huang
6036c3debcbSAnson Huang				snvs_rtc: snvs-rtc-lp {
6046c3debcbSAnson Huang					compatible = "fsl,sec-v4.0-mon-rtc-lp";
6056c3debcbSAnson Huang					regmap = <&snvs>;
6066c3debcbSAnson Huang					offset = <0x34>;
6076c3debcbSAnson Huang					interrupts = <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>,
6086c3debcbSAnson Huang						     <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>;
60942ef961bSHoria Geantă					clocks = <&clk IMX8MN_CLK_SNVS_ROOT>;
6106c3debcbSAnson Huang					clock-names = "snvs-rtc";
6116c3debcbSAnson Huang				};
6126c3debcbSAnson Huang
6136c3debcbSAnson Huang				snvs_pwrkey: snvs-powerkey {
6146c3debcbSAnson Huang					compatible = "fsl,sec-v4.0-pwrkey";
6156c3debcbSAnson Huang					regmap = <&snvs>;
6166c3debcbSAnson Huang					interrupts = <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>;
617c2a2f446SAnson Huang					clocks = <&clk IMX8MN_CLK_SNVS_ROOT>;
618c2a2f446SAnson Huang					clock-names = "snvs-pwrkey";
6196c3debcbSAnson Huang					linux,keycode = <KEY_POWER>;
6206c3debcbSAnson Huang					wakeup-source;
6216c3debcbSAnson Huang					status = "disabled";
6226c3debcbSAnson Huang				};
6236c3debcbSAnson Huang			};
6246c3debcbSAnson Huang
6256c3debcbSAnson Huang			clk: clock-controller@30380000 {
6266c3debcbSAnson Huang				compatible = "fsl,imx8mn-ccm";
6276c3debcbSAnson Huang				reg = <0x30380000 0x10000>;
6286c3debcbSAnson Huang				#clock-cells = <1>;
6296c3debcbSAnson Huang				clocks = <&osc_32k>, <&osc_24m>, <&clk_ext1>, <&clk_ext2>,
6306c3debcbSAnson Huang					 <&clk_ext3>, <&clk_ext4>;
6316c3debcbSAnson Huang				clock-names = "osc_32k", "osc_24m", "clk_ext1", "clk_ext2",
6326c3debcbSAnson Huang					      "clk_ext3", "clk_ext4";
6339e6337e6SPeng Fan				assigned-clocks = <&clk IMX8MN_CLK_A53_SRC>,
6349e6337e6SPeng Fan						<&clk IMX8MN_CLK_A53_CORE>,
6359e6337e6SPeng Fan						<&clk IMX8MN_CLK_NOC>,
63653458f86SPeng Fan						<&clk IMX8MN_CLK_AUDIO_AHB>,
63753458f86SPeng Fan						<&clk IMX8MN_CLK_IPG_AUDIO_ROOT>,
63826442c79SShengjiu Wang						<&clk IMX8MN_SYS_PLL3>,
63926442c79SShengjiu Wang						<&clk IMX8MN_AUDIO_PLL1>,
64026442c79SShengjiu Wang						<&clk IMX8MN_AUDIO_PLL2>;
6419e6337e6SPeng Fan				assigned-clock-parents = <&clk IMX8MN_SYS_PLL1_800M>,
6429e6337e6SPeng Fan							 <&clk IMX8MN_ARM_PLL_OUT>,
6439e6337e6SPeng Fan							 <&clk IMX8MN_SYS_PLL3_OUT>,
64453458f86SPeng Fan							 <&clk IMX8MN_SYS_PLL1_800M>;
6459e6337e6SPeng Fan				assigned-clock-rates = <0>, <0>, <0>,
64653458f86SPeng Fan							<400000000>,
64753458f86SPeng Fan							<400000000>,
64826442c79SShengjiu Wang							<600000000>,
64926442c79SShengjiu Wang							<393216000>,
65026442c79SShengjiu Wang							<361267200>;
6516c3debcbSAnson Huang			};
6526c3debcbSAnson Huang
6536c3debcbSAnson Huang			src: reset-controller@30390000 {
65423b80c20SAnson Huang				compatible = "fsl,imx8mn-src", "fsl,imx8mq-src", "syscon";
6556c3debcbSAnson Huang				reg = <0x30390000 0x10000>;
6566c3debcbSAnson Huang				interrupts = <GIC_SPI 89 IRQ_TYPE_LEVEL_HIGH>;
6576c3debcbSAnson Huang				#reset-cells = <1>;
6586c3debcbSAnson Huang			};
6598b8ebec6SAdam Ford
6608b8ebec6SAdam Ford			gpc: gpc@303a0000 {
6618b8ebec6SAdam Ford				compatible = "fsl,imx8mn-gpc";
6628b8ebec6SAdam Ford				reg = <0x303a0000 0x10000>;
6638b8ebec6SAdam Ford				interrupt-parent = <&gic>;
6648b8ebec6SAdam Ford				interrupts = <GIC_SPI 87 IRQ_TYPE_LEVEL_HIGH>;
6658b8ebec6SAdam Ford
6668b8ebec6SAdam Ford				pgc {
6678b8ebec6SAdam Ford					#address-cells = <1>;
6688b8ebec6SAdam Ford					#size-cells = <0>;
6698b8ebec6SAdam Ford
6708b8ebec6SAdam Ford					pgc_hsiomix: power-domain@0 {
6718b8ebec6SAdam Ford						#power-domain-cells = <0>;
6728b8ebec6SAdam Ford						reg = <IMX8MN_POWER_DOMAIN_HSIOMIX>;
6738b8ebec6SAdam Ford						clocks = <&clk IMX8MN_CLK_USB_BUS>;
6748b8ebec6SAdam Ford					};
6758b8ebec6SAdam Ford
6768b8ebec6SAdam Ford					pgc_otg1: power-domain@1 {
6778b8ebec6SAdam Ford						#power-domain-cells = <0>;
6788b8ebec6SAdam Ford						reg = <IMX8MN_POWER_DOMAIN_OTG1>;
6798b8ebec6SAdam Ford					};
6808b8ebec6SAdam Ford
6818b8ebec6SAdam Ford					pgc_gpumix: power-domain@2 {
6828b8ebec6SAdam Ford						#power-domain-cells = <0>;
6838b8ebec6SAdam Ford						reg = <IMX8MN_POWER_DOMAIN_GPUMIX>;
6848b8ebec6SAdam Ford						clocks = <&clk IMX8MN_CLK_GPU_CORE_ROOT>,
6858b8ebec6SAdam Ford							 <&clk IMX8MN_CLK_GPU_SHADER>,
6868b8ebec6SAdam Ford							 <&clk IMX8MN_CLK_GPU_BUS_ROOT>,
6878b8ebec6SAdam Ford							 <&clk IMX8MN_CLK_GPU_AHB>;
6888b8ebec6SAdam Ford					};
6898b8ebec6SAdam Ford
6908b8ebec6SAdam Ford					pgc_dispmix: power-domain@3 {
6918b8ebec6SAdam Ford						#power-domain-cells = <0>;
6928b8ebec6SAdam Ford						reg = <IMX8MN_POWER_DOMAIN_DISPMIX>;
6938b8ebec6SAdam Ford						clocks = <&clk IMX8MN_CLK_DISP_AXI_ROOT>,
6948b8ebec6SAdam Ford							 <&clk IMX8MN_CLK_DISP_APB_ROOT>;
6958b8ebec6SAdam Ford					};
6968b8ebec6SAdam Ford
6978b8ebec6SAdam Ford					pgc_mipi: power-domain@4 {
6988b8ebec6SAdam Ford						#power-domain-cells = <0>;
6998b8ebec6SAdam Ford						reg = <IMX8MN_POWER_DOMAIN_MIPI>;
7008b8ebec6SAdam Ford						power-domains = <&pgc_dispmix>;
7018b8ebec6SAdam Ford					};
7028b8ebec6SAdam Ford				};
7038b8ebec6SAdam Ford			};
7046c3debcbSAnson Huang		};
7056c3debcbSAnson Huang
7066c3debcbSAnson Huang		aips2: bus@30400000 {
707dc3efc6fSPeng Fan			compatible = "fsl,aips-bus", "simple-bus";
708921a6845SFabio Estevam			reg = <0x30400000 0x400000>;
7096c3debcbSAnson Huang			#address-cells = <1>;
7106c3debcbSAnson Huang			#size-cells = <1>;
7116c3debcbSAnson Huang			ranges;
7126c3debcbSAnson Huang
7136c3debcbSAnson Huang			pwm1: pwm@30660000 {
7146c3debcbSAnson Huang				compatible = "fsl,imx8mn-pwm", "fsl,imx27-pwm";
7156c3debcbSAnson Huang				reg = <0x30660000 0x10000>;
7166c3debcbSAnson Huang				interrupts = <GIC_SPI 81 IRQ_TYPE_LEVEL_HIGH>;
7176c3debcbSAnson Huang				clocks = <&clk IMX8MN_CLK_PWM1_ROOT>,
7186c3debcbSAnson Huang					<&clk IMX8MN_CLK_PWM1_ROOT>;
7196c3debcbSAnson Huang				clock-names = "ipg", "per";
7206bc1e580SMarkus Niebel				#pwm-cells = <3>;
7216c3debcbSAnson Huang				status = "disabled";
7226c3debcbSAnson Huang			};
7236c3debcbSAnson Huang
7246c3debcbSAnson Huang			pwm2: pwm@30670000 {
7256c3debcbSAnson Huang				compatible = "fsl,imx8mn-pwm", "fsl,imx27-pwm";
7266c3debcbSAnson Huang				reg = <0x30670000 0x10000>;
7276c3debcbSAnson Huang				interrupts = <GIC_SPI 82 IRQ_TYPE_LEVEL_HIGH>;
7286c3debcbSAnson Huang				clocks = <&clk IMX8MN_CLK_PWM2_ROOT>,
7296c3debcbSAnson Huang					 <&clk IMX8MN_CLK_PWM2_ROOT>;
7306c3debcbSAnson Huang				clock-names = "ipg", "per";
7316bc1e580SMarkus Niebel				#pwm-cells = <3>;
7326c3debcbSAnson Huang				status = "disabled";
7336c3debcbSAnson Huang			};
7346c3debcbSAnson Huang
7356c3debcbSAnson Huang			pwm3: pwm@30680000 {
7366c3debcbSAnson Huang				compatible = "fsl,imx8mn-pwm", "fsl,imx27-pwm";
7376c3debcbSAnson Huang				reg = <0x30680000 0x10000>;
7386c3debcbSAnson Huang				interrupts = <GIC_SPI 83 IRQ_TYPE_LEVEL_HIGH>;
7396c3debcbSAnson Huang				clocks = <&clk IMX8MN_CLK_PWM3_ROOT>,
7406c3debcbSAnson Huang					 <&clk IMX8MN_CLK_PWM3_ROOT>;
7416c3debcbSAnson Huang				clock-names = "ipg", "per";
7426bc1e580SMarkus Niebel				#pwm-cells = <3>;
7436c3debcbSAnson Huang				status = "disabled";
7446c3debcbSAnson Huang			};
7456c3debcbSAnson Huang
7466c3debcbSAnson Huang			pwm4: pwm@30690000 {
7476c3debcbSAnson Huang				compatible = "fsl,imx8mn-pwm", "fsl,imx27-pwm";
7486c3debcbSAnson Huang				reg = <0x30690000 0x10000>;
7496c3debcbSAnson Huang				interrupts = <GIC_SPI 84 IRQ_TYPE_LEVEL_HIGH>;
7506c3debcbSAnson Huang				clocks = <&clk IMX8MN_CLK_PWM4_ROOT>,
7516c3debcbSAnson Huang					 <&clk IMX8MN_CLK_PWM4_ROOT>;
7526c3debcbSAnson Huang				clock-names = "ipg", "per";
7536bc1e580SMarkus Niebel				#pwm-cells = <3>;
7546c3debcbSAnson Huang				status = "disabled";
7556c3debcbSAnson Huang			};
756c4a21269SAnson Huang
757c4a21269SAnson Huang			system_counter: timer@306a0000 {
758c4a21269SAnson Huang				compatible = "nxp,sysctr-timer";
759c4a21269SAnson Huang				reg = <0x306a0000 0x20000>;
760c4a21269SAnson Huang				interrupts = <GIC_SPI 47 IRQ_TYPE_LEVEL_HIGH>;
761c4a21269SAnson Huang				clocks = <&osc_24m>;
762c4a21269SAnson Huang				clock-names = "per";
763c4a21269SAnson Huang			};
7646c3debcbSAnson Huang		};
7656c3debcbSAnson Huang
7666c3debcbSAnson Huang		aips3: bus@30800000 {
767dc3efc6fSPeng Fan			compatible = "fsl,aips-bus", "simple-bus";
768921a6845SFabio Estevam			reg = <0x30800000 0x400000>;
7696c3debcbSAnson Huang			#address-cells = <1>;
7706c3debcbSAnson Huang			#size-cells = <1>;
7716c3debcbSAnson Huang			ranges;
7726c3debcbSAnson Huang
773292e0f48SAdam Ford			spba1: spba-bus@30800000 {
774292e0f48SAdam Ford				compatible = "fsl,spba-bus", "simple-bus";
775292e0f48SAdam Ford				#address-cells = <1>;
776292e0f48SAdam Ford				#size-cells = <1>;
777292e0f48SAdam Ford				reg = <0x30800000 0x100000>;
778292e0f48SAdam Ford				ranges;
779292e0f48SAdam Ford
7806c3debcbSAnson Huang				ecspi1: spi@30820000 {
7816c3debcbSAnson Huang					compatible = "fsl,imx8mn-ecspi", "fsl,imx51-ecspi";
7826c3debcbSAnson Huang					#address-cells = <1>;
7836c3debcbSAnson Huang					#size-cells = <0>;
7846c3debcbSAnson Huang					reg = <0x30820000 0x10000>;
7856c3debcbSAnson Huang					interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>;
7866c3debcbSAnson Huang					clocks = <&clk IMX8MN_CLK_ECSPI1_ROOT>,
7876c3debcbSAnson Huang						 <&clk IMX8MN_CLK_ECSPI1_ROOT>;
7886c3debcbSAnson Huang					clock-names = "ipg", "per";
7896c3debcbSAnson Huang					dmas = <&sdma1 0 7 1>, <&sdma1 1 7 2>;
7906c3debcbSAnson Huang					dma-names = "rx", "tx";
7916c3debcbSAnson Huang					status = "disabled";
7926c3debcbSAnson Huang				};
7936c3debcbSAnson Huang
7946c3debcbSAnson Huang				ecspi2: spi@30830000 {
7956c3debcbSAnson Huang					compatible = "fsl,imx8mn-ecspi", "fsl,imx51-ecspi";
7966c3debcbSAnson Huang					#address-cells = <1>;
7976c3debcbSAnson Huang					#size-cells = <0>;
7986c3debcbSAnson Huang					reg = <0x30830000 0x10000>;
7996c3debcbSAnson Huang					interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>;
8006c3debcbSAnson Huang					clocks = <&clk IMX8MN_CLK_ECSPI2_ROOT>,
8016c3debcbSAnson Huang						 <&clk IMX8MN_CLK_ECSPI2_ROOT>;
8026c3debcbSAnson Huang					clock-names = "ipg", "per";
8036c3debcbSAnson Huang					dmas = <&sdma1 2 7 1>, <&sdma1 3 7 2>;
8046c3debcbSAnson Huang					dma-names = "rx", "tx";
8056c3debcbSAnson Huang					status = "disabled";
8066c3debcbSAnson Huang				};
8076c3debcbSAnson Huang
8086c3debcbSAnson Huang				ecspi3: spi@30840000 {
8096c3debcbSAnson Huang					compatible = "fsl,imx8mn-ecspi", "fsl,imx51-ecspi";
8106c3debcbSAnson Huang					#address-cells = <1>;
8116c3debcbSAnson Huang					#size-cells = <0>;
8126c3debcbSAnson Huang					reg = <0x30840000 0x10000>;
8136c3debcbSAnson Huang					interrupts = <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>;
8146c3debcbSAnson Huang					clocks = <&clk IMX8MN_CLK_ECSPI3_ROOT>,
8156c3debcbSAnson Huang						 <&clk IMX8MN_CLK_ECSPI3_ROOT>;
8166c3debcbSAnson Huang					clock-names = "ipg", "per";
8176c3debcbSAnson Huang					dmas = <&sdma1 4 7 1>, <&sdma1 5 7 2>;
8186c3debcbSAnson Huang					dma-names = "rx", "tx";
8196c3debcbSAnson Huang					status = "disabled";
8206c3debcbSAnson Huang				};
8216c3debcbSAnson Huang
8226c3debcbSAnson Huang				uart1: serial@30860000 {
8236c3debcbSAnson Huang					compatible = "fsl,imx8mn-uart", "fsl,imx6q-uart";
8246c3debcbSAnson Huang					reg = <0x30860000 0x10000>;
8256c3debcbSAnson Huang					interrupts = <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>;
8266c3debcbSAnson Huang					clocks = <&clk IMX8MN_CLK_UART1_ROOT>,
8276c3debcbSAnson Huang						 <&clk IMX8MN_CLK_UART1_ROOT>;
8286c3debcbSAnson Huang					clock-names = "ipg", "per";
8296c3debcbSAnson Huang					dmas = <&sdma1 22 4 0>, <&sdma1 23 4 0>;
8306c3debcbSAnson Huang					dma-names = "rx", "tx";
8316c3debcbSAnson Huang					status = "disabled";
8326c3debcbSAnson Huang				};
8336c3debcbSAnson Huang
8346c3debcbSAnson Huang				uart3: serial@30880000 {
8356c3debcbSAnson Huang					compatible = "fsl,imx8mn-uart", "fsl,imx6q-uart";
8366c3debcbSAnson Huang					reg = <0x30880000 0x10000>;
8376c3debcbSAnson Huang					interrupts = <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH>;
8386c3debcbSAnson Huang					clocks = <&clk IMX8MN_CLK_UART3_ROOT>,
8396c3debcbSAnson Huang						 <&clk IMX8MN_CLK_UART3_ROOT>;
8406c3debcbSAnson Huang					clock-names = "ipg", "per";
8416c3debcbSAnson Huang					dmas = <&sdma1 26 4 0>, <&sdma1 27 4 0>;
8426c3debcbSAnson Huang					dma-names = "rx", "tx";
8436c3debcbSAnson Huang					status = "disabled";
8446c3debcbSAnson Huang				};
8456c3debcbSAnson Huang
8466c3debcbSAnson Huang				uart2: serial@30890000 {
8476c3debcbSAnson Huang					compatible = "fsl,imx8mn-uart", "fsl,imx6q-uart";
8486c3debcbSAnson Huang					reg = <0x30890000 0x10000>;
8496c3debcbSAnson Huang					interrupts = <GIC_SPI 27 IRQ_TYPE_LEVEL_HIGH>;
8506c3debcbSAnson Huang					clocks = <&clk IMX8MN_CLK_UART2_ROOT>,
8516c3debcbSAnson Huang						 <&clk IMX8MN_CLK_UART2_ROOT>;
8526c3debcbSAnson Huang					clock-names = "ipg", "per";
8536c3debcbSAnson Huang					status = "disabled";
8546c3debcbSAnson Huang				};
855292e0f48SAdam Ford			};
8566c3debcbSAnson Huang
857aad24175SHoria Geantă			crypto: crypto@30900000 {
858aad24175SHoria Geantă				compatible = "fsl,sec-v4.0";
859aad24175SHoria Geantă				#address-cells = <1>;
860aad24175SHoria Geantă				#size-cells = <1>;
861aad24175SHoria Geantă				reg = <0x30900000 0x40000>;
862aad24175SHoria Geantă				ranges = <0 0x30900000 0x40000>;
863aad24175SHoria Geantă				interrupts = <GIC_SPI 91 IRQ_TYPE_LEVEL_HIGH>;
864aad24175SHoria Geantă				clocks = <&clk IMX8MN_CLK_AHB>,
865aad24175SHoria Geantă					 <&clk IMX8MN_CLK_IPG_ROOT>;
866aad24175SHoria Geantă				clock-names = "aclk", "ipg";
867aad24175SHoria Geantă
868f5ff5a21SSilvano di Ninno				sec_jr0: jr@1000 {
869aad24175SHoria Geantă					 compatible = "fsl,sec-v4.0-job-ring";
870aad24175SHoria Geantă					 reg = <0x1000 0x1000>;
871aad24175SHoria Geantă					 interrupts = <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>;
872dc9c1cebSFabio Estevam					 status = "disabled";
873aad24175SHoria Geantă				};
874aad24175SHoria Geantă
875f5ff5a21SSilvano di Ninno				sec_jr1: jr@2000 {
876aad24175SHoria Geantă					 compatible = "fsl,sec-v4.0-job-ring";
877aad24175SHoria Geantă					 reg = <0x2000 0x1000>;
878aad24175SHoria Geantă					 interrupts = <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>;
879aad24175SHoria Geantă				};
880aad24175SHoria Geantă
881f5ff5a21SSilvano di Ninno				sec_jr2: jr@3000 {
882aad24175SHoria Geantă					 compatible = "fsl,sec-v4.0-job-ring";
883aad24175SHoria Geantă					 reg = <0x3000 0x1000>;
884aad24175SHoria Geantă					 interrupts = <GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH>;
885aad24175SHoria Geantă				};
886aad24175SHoria Geantă			};
887aad24175SHoria Geantă
8886c3debcbSAnson Huang			i2c1: i2c@30a20000 {
8896c3debcbSAnson Huang				compatible = "fsl,imx8mn-i2c", "fsl,imx21-i2c";
8906c3debcbSAnson Huang				#address-cells = <1>;
8916c3debcbSAnson Huang				#size-cells = <0>;
8926c3debcbSAnson Huang				reg = <0x30a20000 0x10000>;
8936c3debcbSAnson Huang				interrupts = <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>;
8946c3debcbSAnson Huang				clocks = <&clk IMX8MN_CLK_I2C1_ROOT>;
8956c3debcbSAnson Huang				status = "disabled";
8966c3debcbSAnson Huang			};
8976c3debcbSAnson Huang
8986c3debcbSAnson Huang			i2c2: i2c@30a30000 {
8996c3debcbSAnson Huang				compatible = "fsl,imx8mn-i2c", "fsl,imx21-i2c";
9006c3debcbSAnson Huang				#address-cells = <1>;
9016c3debcbSAnson Huang				#size-cells = <0>;
9026c3debcbSAnson Huang				reg = <0x30a30000 0x10000>;
9036c3debcbSAnson Huang				interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>;
9046c3debcbSAnson Huang				clocks = <&clk IMX8MN_CLK_I2C2_ROOT>;
9056c3debcbSAnson Huang				status = "disabled";
9066c3debcbSAnson Huang			};
9076c3debcbSAnson Huang
9086c3debcbSAnson Huang			i2c3: i2c@30a40000 {
9096c3debcbSAnson Huang				#address-cells = <1>;
9106c3debcbSAnson Huang				#size-cells = <0>;
9116c3debcbSAnson Huang				compatible = "fsl,imx8mn-i2c", "fsl,imx21-i2c";
9126c3debcbSAnson Huang				reg = <0x30a40000 0x10000>;
9136c3debcbSAnson Huang				interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>;
9146c3debcbSAnson Huang				clocks = <&clk IMX8MN_CLK_I2C3_ROOT>;
9156c3debcbSAnson Huang				status = "disabled";
9166c3debcbSAnson Huang			};
9176c3debcbSAnson Huang
9186c3debcbSAnson Huang			i2c4: i2c@30a50000 {
9196c3debcbSAnson Huang				compatible = "fsl,imx8mn-i2c", "fsl,imx21-i2c";
9206c3debcbSAnson Huang				#address-cells = <1>;
9216c3debcbSAnson Huang				#size-cells = <0>;
9226c3debcbSAnson Huang				reg = <0x30a50000 0x10000>;
9236c3debcbSAnson Huang				interrupts = <GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH>;
9246c3debcbSAnson Huang				clocks = <&clk IMX8MN_CLK_I2C4_ROOT>;
9256c3debcbSAnson Huang				status = "disabled";
9266c3debcbSAnson Huang			};
9276c3debcbSAnson Huang
9286c3debcbSAnson Huang			uart4: serial@30a60000 {
9296c3debcbSAnson Huang				compatible = "fsl,imx8mn-uart", "fsl,imx6q-uart";
9306c3debcbSAnson Huang				reg = <0x30a60000 0x10000>;
9316c3debcbSAnson Huang				interrupts = <GIC_SPI 29 IRQ_TYPE_LEVEL_HIGH>;
9326c3debcbSAnson Huang				clocks = <&clk IMX8MN_CLK_UART4_ROOT>,
9336c3debcbSAnson Huang					 <&clk IMX8MN_CLK_UART4_ROOT>;
9346c3debcbSAnson Huang				clock-names = "ipg", "per";
9356c3debcbSAnson Huang				dmas = <&sdma1 28 4 0>, <&sdma1 29 4 0>;
9366c3debcbSAnson Huang				dma-names = "rx", "tx";
9376c3debcbSAnson Huang				status = "disabled";
9386c3debcbSAnson Huang			};
9396c3debcbSAnson Huang
940bbfc59beSPeng Fan			mu: mailbox@30aa0000 {
941bbfc59beSPeng Fan				compatible = "fsl,imx8mn-mu", "fsl,imx6sx-mu";
942bbfc59beSPeng Fan				reg = <0x30aa0000 0x10000>;
943bbfc59beSPeng Fan				interrupts = <GIC_SPI 88 IRQ_TYPE_LEVEL_HIGH>;
944bbfc59beSPeng Fan				clocks = <&clk IMX8MN_CLK_MU_ROOT>;
945bbfc59beSPeng Fan				#mbox-cells = <2>;
946bbfc59beSPeng Fan			};
947bbfc59beSPeng Fan
9486c3debcbSAnson Huang			usdhc1: mmc@30b40000 {
949472f20b4SAdam Ford				compatible = "fsl,imx8mn-usdhc", "fsl,imx8mm-usdhc", "fsl,imx7d-usdhc";
9506c3debcbSAnson Huang				reg = <0x30b40000 0x10000>;
9516c3debcbSAnson Huang				interrupts = <GIC_SPI 22 IRQ_TYPE_LEVEL_HIGH>;
952ea65aba8SAnson Huang				clocks = <&clk IMX8MN_CLK_IPG_ROOT>,
9536c3debcbSAnson Huang					 <&clk IMX8MN_CLK_NAND_USDHC_BUS>,
9546c3debcbSAnson Huang					 <&clk IMX8MN_CLK_USDHC1_ROOT>;
9556c3debcbSAnson Huang				clock-names = "ipg", "ahb", "per";
9566c3debcbSAnson Huang				fsl,tuning-start-tap = <20>;
9576c3debcbSAnson Huang				fsl,tuning-step = <2>;
9586c3debcbSAnson Huang				bus-width = <4>;
9596c3debcbSAnson Huang				status = "disabled";
9606c3debcbSAnson Huang			};
9616c3debcbSAnson Huang
9626c3debcbSAnson Huang			usdhc2: mmc@30b50000 {
963472f20b4SAdam Ford				compatible = "fsl,imx8mn-usdhc", "fsl,imx8mm-usdhc", "fsl,imx7d-usdhc";
9646c3debcbSAnson Huang				reg = <0x30b50000 0x10000>;
9656c3debcbSAnson Huang				interrupts = <GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH>;
966ea65aba8SAnson Huang				clocks = <&clk IMX8MN_CLK_IPG_ROOT>,
9676c3debcbSAnson Huang					 <&clk IMX8MN_CLK_NAND_USDHC_BUS>,
9686c3debcbSAnson Huang					 <&clk IMX8MN_CLK_USDHC2_ROOT>;
9696c3debcbSAnson Huang				clock-names = "ipg", "ahb", "per";
9706c3debcbSAnson Huang				fsl,tuning-start-tap = <20>;
9716c3debcbSAnson Huang				fsl,tuning-step = <2>;
9726c3debcbSAnson Huang				bus-width = <4>;
9736c3debcbSAnson Huang				status = "disabled";
9746c3debcbSAnson Huang			};
9756c3debcbSAnson Huang
9766c3debcbSAnson Huang			usdhc3: mmc@30b60000 {
977472f20b4SAdam Ford				compatible = "fsl,imx8mn-usdhc", "fsl,imx8mm-usdhc", "fsl,imx7d-usdhc";
9786c3debcbSAnson Huang				reg = <0x30b60000 0x10000>;
9796c3debcbSAnson Huang				interrupts = <GIC_SPI 24 IRQ_TYPE_LEVEL_HIGH>;
980ea65aba8SAnson Huang				clocks = <&clk IMX8MN_CLK_IPG_ROOT>,
9816c3debcbSAnson Huang					 <&clk IMX8MN_CLK_NAND_USDHC_BUS>,
9826c3debcbSAnson Huang					 <&clk IMX8MN_CLK_USDHC3_ROOT>;
9836c3debcbSAnson Huang				clock-names = "ipg", "ahb", "per";
9846c3debcbSAnson Huang				fsl,tuning-start-tap = <20>;
9856c3debcbSAnson Huang				fsl,tuning-step = <2>;
9866c3debcbSAnson Huang				bus-width = <4>;
9876c3debcbSAnson Huang				status = "disabled";
9886c3debcbSAnson Huang			};
9896c3debcbSAnson Huang
990189f6586SAdam Ford			flexspi: spi@30bb0000 {
991189f6586SAdam Ford				#address-cells = <1>;
992189f6586SAdam Ford				#size-cells = <0>;
993189f6586SAdam Ford				compatible = "nxp,imx8mm-fspi";
994189f6586SAdam Ford				reg = <0x30bb0000 0x10000>, <0x8000000 0x10000000>;
995189f6586SAdam Ford				reg-names = "fspi_base", "fspi_mmap";
996189f6586SAdam Ford				interrupts = <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>;
997189f6586SAdam Ford				clocks = <&clk IMX8MN_CLK_QSPI_ROOT>,
998189f6586SAdam Ford					 <&clk IMX8MN_CLK_QSPI_ROOT>;
999f29fa744SKuldeep Singh				clock-names = "fspi_en", "fspi";
1000189f6586SAdam Ford				status = "disabled";
1001189f6586SAdam Ford			};
1002189f6586SAdam Ford
10036c3debcbSAnson Huang			sdma1: dma-controller@30bd0000 {
1004958c6014SShengjiu Wang				compatible = "fsl,imx8mn-sdma", "fsl,imx8mq-sdma";
10056c3debcbSAnson Huang				reg = <0x30bd0000 0x10000>;
10066c3debcbSAnson Huang				interrupts = <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>;
10076c3debcbSAnson Huang				clocks = <&clk IMX8MN_CLK_SDMA1_ROOT>,
100815ddc3e1SAdam Ford					 <&clk IMX8MN_CLK_AHB>;
10096c3debcbSAnson Huang				clock-names = "ipg", "ahb";
10106c3debcbSAnson Huang				#dma-cells = <3>;
10116c3debcbSAnson Huang				fsl,sdma-ram-script-name = "imx/sdma/sdma-imx7d.bin";
10126c3debcbSAnson Huang			};
10136c3debcbSAnson Huang
10146c3debcbSAnson Huang			fec1: ethernet@30be0000 {
1015a758dee8SJoakim Zhang				compatible = "fsl,imx8mn-fec", "fsl,imx8mq-fec", "fsl,imx6sx-fec";
10166c3debcbSAnson Huang				reg = <0x30be0000 0x10000>;
10176c3debcbSAnson Huang				interrupts = <GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH>,
10186c3debcbSAnson Huang					     <GIC_SPI 119 IRQ_TYPE_LEVEL_HIGH>,
1019d3762a47SFabio Estevam					     <GIC_SPI 120 IRQ_TYPE_LEVEL_HIGH>,
1020d3762a47SFabio Estevam					     <GIC_SPI 121 IRQ_TYPE_LEVEL_HIGH>;
10216c3debcbSAnson Huang				clocks = <&clk IMX8MN_CLK_ENET1_ROOT>,
10226c3debcbSAnson Huang					 <&clk IMX8MN_CLK_ENET1_ROOT>,
10236c3debcbSAnson Huang					 <&clk IMX8MN_CLK_ENET_TIMER>,
10246c3debcbSAnson Huang					 <&clk IMX8MN_CLK_ENET_REF>,
10256c3debcbSAnson Huang					 <&clk IMX8MN_CLK_ENET_PHY_REF>;
10266c3debcbSAnson Huang				clock-names = "ipg", "ahb", "ptp",
10276c3debcbSAnson Huang					      "enet_clk_ref", "enet_out";
10286c3debcbSAnson Huang				assigned-clocks = <&clk IMX8MN_CLK_ENET_AXI>,
10296c3debcbSAnson Huang						  <&clk IMX8MN_CLK_ENET_TIMER>,
10306c3debcbSAnson Huang						  <&clk IMX8MN_CLK_ENET_REF>,
103170eacf42SJoakim Zhang						  <&clk IMX8MN_CLK_ENET_PHY_REF>;
10326c3debcbSAnson Huang				assigned-clock-parents = <&clk IMX8MN_SYS_PLL1_266M>,
10336c3debcbSAnson Huang							 <&clk IMX8MN_SYS_PLL2_100M>,
103470eacf42SJoakim Zhang							 <&clk IMX8MN_SYS_PLL2_125M>,
103570eacf42SJoakim Zhang							 <&clk IMX8MN_SYS_PLL2_50M>;
103670eacf42SJoakim Zhang				assigned-clock-rates = <0>, <100000000>, <125000000>, <0>;
10376c3debcbSAnson Huang				fsl,num-tx-queues = <3>;
10386c3debcbSAnson Huang				fsl,num-rx-queues = <3>;
1039066438aeSJoakim Zhang				nvmem-cells = <&fec_mac_address>;
1040066438aeSJoakim Zhang				nvmem-cell-names = "mac-address";
1041afe99354SJoakim Zhang				fsl,stop-mode = <&gpr 0x10 3>;
10426c3debcbSAnson Huang				status = "disabled";
10436c3debcbSAnson Huang			};
10446c3debcbSAnson Huang
10456c3debcbSAnson Huang		};
10466c3debcbSAnson Huang
10476c3debcbSAnson Huang		aips4: bus@32c00000 {
1048dc3efc6fSPeng Fan			compatible = "fsl,aips-bus", "simple-bus";
1049921a6845SFabio Estevam			reg = <0x32c00000 0x400000>;
10506c3debcbSAnson Huang			#address-cells = <1>;
10516c3debcbSAnson Huang			#size-cells = <1>;
10526c3debcbSAnson Huang			ranges;
10536c3debcbSAnson Huang
105418d4a6c9SAdam Ford			disp_blk_ctrl: blk-ctrl@32e28000 {
105518d4a6c9SAdam Ford				compatible = "fsl,imx8mn-disp-blk-ctrl", "syscon";
105618d4a6c9SAdam Ford				reg = <0x32e28000 0x100>;
105718d4a6c9SAdam Ford				power-domains = <&pgc_dispmix>, <&pgc_dispmix>,
105818d4a6c9SAdam Ford						<&pgc_dispmix>, <&pgc_mipi>,
105918d4a6c9SAdam Ford						<&pgc_mipi>;
106018d4a6c9SAdam Ford				power-domain-names = "bus", "isi",
106118d4a6c9SAdam Ford						     "lcdif", "mipi-dsi",
106218d4a6c9SAdam Ford						     "mipi-csi";
106318d4a6c9SAdam Ford				clocks = <&clk IMX8MN_CLK_DISP_AXI>,
106418d4a6c9SAdam Ford					 <&clk IMX8MN_CLK_DISP_APB>,
106518d4a6c9SAdam Ford					 <&clk IMX8MN_CLK_DISP_AXI_ROOT>,
106618d4a6c9SAdam Ford					 <&clk IMX8MN_CLK_DISP_APB_ROOT>,
106718d4a6c9SAdam Ford					 <&clk IMX8MN_CLK_DISP_AXI_ROOT>,
106818d4a6c9SAdam Ford					 <&clk IMX8MN_CLK_DISP_APB_ROOT>,
106918d4a6c9SAdam Ford					 <&clk IMX8MN_CLK_DISP_PIXEL_ROOT>,
107018d4a6c9SAdam Ford					 <&clk IMX8MN_CLK_DSI_CORE>,
107118d4a6c9SAdam Ford					 <&clk IMX8MN_CLK_DSI_PHY_REF>,
107218d4a6c9SAdam Ford					 <&clk IMX8MN_CLK_CSI1_PHY_REF>,
107318d4a6c9SAdam Ford					 <&clk IMX8MN_CLK_CAMERA_PIXEL_ROOT>;
107418d4a6c9SAdam Ford				clock-names = "disp_axi", "disp_apb",
107518d4a6c9SAdam Ford					      "disp_axi_root", "disp_apb_root",
107618d4a6c9SAdam Ford					      "lcdif-axi", "lcdif-apb", "lcdif-pix",
107718d4a6c9SAdam Ford					      "dsi-pclk", "dsi-ref",
107818d4a6c9SAdam Ford					      "csi-aclk", "csi-pclk";
107918d4a6c9SAdam Ford				#power-domain-cells = <1>;
108018d4a6c9SAdam Ford			};
108118d4a6c9SAdam Ford
10826c3debcbSAnson Huang			usbotg1: usb@32e40000 {
10836c3debcbSAnson Huang				compatible = "fsl,imx8mn-usb", "fsl,imx7d-usb";
10846c3debcbSAnson Huang				reg = <0x32e40000 0x200>;
10856c3debcbSAnson Huang				interrupts = <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>;
10866c3debcbSAnson Huang				clocks = <&clk IMX8MN_CLK_USB1_CTRL_ROOT>;
10876c3debcbSAnson Huang				clock-names = "usb1_ctrl_root_clk";
1088d51cb99cSLi Jun				assigned-clocks = <&clk IMX8MN_CLK_USB_BUS>;
1089d51cb99cSLi Jun				assigned-clock-parents = <&clk IMX8MN_SYS_PLL2_500M>;
109078e80c4bSMarek Vasut				phys = <&usbphynop1>;
10916c3debcbSAnson Huang				fsl,usbmisc = <&usbmisc1 0>;
1092ee895139SLi Jun				power-domains = <&pgc_hsiomix>;
10936c3debcbSAnson Huang				status = "disabled";
10946c3debcbSAnson Huang			};
10956c3debcbSAnson Huang
10966c3debcbSAnson Huang			usbmisc1: usbmisc@32e40200 {
10976c3debcbSAnson Huang				compatible = "fsl,imx8mn-usbmisc", "fsl,imx7d-usbmisc";
10986c3debcbSAnson Huang				#index-cells = <1>;
10996c3debcbSAnson Huang				reg = <0x32e40200 0x200>;
11006c3debcbSAnson Huang			};
11016c3debcbSAnson Huang		};
11026c3debcbSAnson Huang
11036c3debcbSAnson Huang		dma_apbh: dma-controller@33000000 {
11046c3debcbSAnson Huang			compatible = "fsl,imx7d-dma-apbh", "fsl,imx28-dma-apbh";
11056c3debcbSAnson Huang			reg = <0x33000000 0x2000>;
11066c3debcbSAnson Huang			interrupts = <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>,
11076c3debcbSAnson Huang				     <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>,
11086c3debcbSAnson Huang				     <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>,
11096c3debcbSAnson Huang				     <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>;
11106c3debcbSAnson Huang			interrupt-names = "gpmi0", "gpmi1", "gpmi2", "gpmi3";
11116c3debcbSAnson Huang			#dma-cells = <1>;
11126c3debcbSAnson Huang			dma-channels = <4>;
11136c3debcbSAnson Huang			clocks = <&clk IMX8MN_CLK_NAND_USDHC_BUS_RAWNAND_CLK>;
11146c3debcbSAnson Huang		};
11156c3debcbSAnson Huang
11166c3debcbSAnson Huang		gpmi: nand-controller@33002000 {
11176c3debcbSAnson Huang			compatible = "fsl,imx8mn-gpmi-nand", "fsl,imx7d-gpmi-nand";
11186c3debcbSAnson Huang			#address-cells = <1>;
11195468e93bSMarek Vasut			#size-cells = <0>;
11206c3debcbSAnson Huang			reg = <0x33002000 0x2000>, <0x33004000 0x4000>;
11216c3debcbSAnson Huang			reg-names = "gpmi-nand", "bch";
11226c3debcbSAnson Huang			interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>;
11236c3debcbSAnson Huang			interrupt-names = "bch";
11246c3debcbSAnson Huang			clocks = <&clk IMX8MN_CLK_NAND_ROOT>,
11256c3debcbSAnson Huang				 <&clk IMX8MN_CLK_NAND_USDHC_BUS_RAWNAND_CLK>;
11266c3debcbSAnson Huang			clock-names = "gpmi_io", "gpmi_bch_apb";
11276c3debcbSAnson Huang			dmas = <&dma_apbh 0>;
11286c3debcbSAnson Huang			dma-names = "rx-tx";
11296c3debcbSAnson Huang			status = "disabled";
11306c3debcbSAnson Huang		};
11316c3debcbSAnson Huang
11329a0f3b15SAdam Ford		gpu: gpu@38000000 {
11339a0f3b15SAdam Ford			compatible = "vivante,gc";
11349a0f3b15SAdam Ford			reg = <0x38000000 0x8000>;
11359a0f3b15SAdam Ford			interrupts = <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>;
11369a0f3b15SAdam Ford			clocks = <&clk IMX8MN_CLK_GPU_AHB>,
11379a0f3b15SAdam Ford				<&clk IMX8MN_CLK_GPU_BUS_ROOT>,
11389a0f3b15SAdam Ford				<&clk IMX8MN_CLK_GPU_CORE_ROOT>,
11399a0f3b15SAdam Ford				<&clk IMX8MN_CLK_GPU_SHADER>;
11409a0f3b15SAdam Ford			clock-names = "reg", "bus", "core", "shader";
11419a0f3b15SAdam Ford			assigned-clocks = <&clk IMX8MN_CLK_GPU_CORE>,
11429a0f3b15SAdam Ford					  <&clk IMX8MN_CLK_GPU_SHADER>,
11439a0f3b15SAdam Ford					  <&clk IMX8MN_CLK_GPU_AXI>,
11449a0f3b15SAdam Ford					  <&clk IMX8MN_CLK_GPU_AHB>,
11459a0f3b15SAdam Ford					  <&clk IMX8MN_GPU_PLL>;
11469a0f3b15SAdam Ford			assigned-clock-parents = <&clk IMX8MN_GPU_PLL_OUT>,
11479a0f3b15SAdam Ford						  <&clk IMX8MN_GPU_PLL_OUT>,
11489a0f3b15SAdam Ford						  <&clk IMX8MN_SYS_PLL1_800M>,
11499a0f3b15SAdam Ford						  <&clk IMX8MN_SYS_PLL1_800M>;
11509a0f3b15SAdam Ford			assigned-clock-rates = <400000000>,
11519a0f3b15SAdam Ford					       <400000000>,
11529a0f3b15SAdam Ford					       <800000000>,
11539a0f3b15SAdam Ford					       <400000000>,
11549a0f3b15SAdam Ford					       <1200000000>;
11559a0f3b15SAdam Ford			power-domains = <&pgc_gpumix>;
11569a0f3b15SAdam Ford		};
11579a0f3b15SAdam Ford
11586c3debcbSAnson Huang		gic: interrupt-controller@38800000 {
11596c3debcbSAnson Huang			compatible = "arm,gic-v3";
11606c3debcbSAnson Huang			reg = <0x38800000 0x10000>,
11616c3debcbSAnson Huang			      <0x38880000 0xc0000>;
11626c3debcbSAnson Huang			#interrupt-cells = <3>;
11636c3debcbSAnson Huang			interrupt-controller;
11646c3debcbSAnson Huang			interrupts = <GIC_PPI 9 IRQ_TYPE_LEVEL_HIGH>;
11656c3debcbSAnson Huang		};
11662d8e0747SJoakim Zhang
11670376f6ecSLeonard Crestez		ddrc: memory-controller@3d400000 {
11680376f6ecSLeonard Crestez			compatible = "fsl,imx8mn-ddrc", "fsl,imx8m-ddrc";
11690376f6ecSLeonard Crestez			reg = <0x3d400000 0x400000>;
11700376f6ecSLeonard Crestez			clock-names = "core", "pll", "alt", "apb";
11710376f6ecSLeonard Crestez			clocks = <&clk IMX8MN_CLK_DRAM_CORE>,
11720376f6ecSLeonard Crestez				 <&clk IMX8MN_DRAM_PLL>,
11730376f6ecSLeonard Crestez				 <&clk IMX8MN_CLK_DRAM_ALT>,
11740376f6ecSLeonard Crestez				 <&clk IMX8MN_CLK_DRAM_APB>;
11750376f6ecSLeonard Crestez		};
11760376f6ecSLeonard Crestez
11772d8e0747SJoakim Zhang		ddr-pmu@3d800000 {
11782d8e0747SJoakim Zhang			compatible = "fsl,imx8mn-ddr-pmu", "fsl,imx8m-ddr-pmu";
11792d8e0747SJoakim Zhang			reg = <0x3d800000 0x400000>;
11802d8e0747SJoakim Zhang			interrupts = <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>;
11812d8e0747SJoakim Zhang		};
11826c3debcbSAnson Huang	};
11836c3debcbSAnson Huang
11846c3debcbSAnson Huang	usbphynop1: usbphynop1 {
118578e80c4bSMarek Vasut		#phy-cells = <0>;
11866c3debcbSAnson Huang		compatible = "usb-nop-xceiv";
11876c3debcbSAnson Huang		clocks = <&clk IMX8MN_CLK_USB_PHY_REF>;
11886c3debcbSAnson Huang		assigned-clocks = <&clk IMX8MN_CLK_USB_PHY_REF>;
11896c3debcbSAnson Huang		assigned-clock-parents = <&clk IMX8MN_SYS_PLL1_100M>;
11906c3debcbSAnson Huang		clock-names = "main_clk";
1191ee895139SLi Jun		power-domains = <&pgc_otg1>;
11926c3debcbSAnson Huang	};
11936c3debcbSAnson Huang};
1194