xref: /openbmc/linux/arch/arm64/boot/dts/freescale/imx8mn.dtsi (revision 240b8dd94bbdedeecb759d336cfa23726f6ae899)
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>;
501105b9bb8SMarek Vasut				nvmem-cells = <&tmu_calib>;
502105b9bb8SMarek Vasut				nvmem-cell-names = "calib";
503819779a9SAnson Huang				#thermal-sensor-cells = <0>;
504819779a9SAnson Huang			};
505819779a9SAnson Huang
5066c3debcbSAnson Huang			wdog1: watchdog@30280000 {
5076c3debcbSAnson Huang				compatible = "fsl,imx8mn-wdt", "fsl,imx21-wdt";
5086c3debcbSAnson Huang				reg = <0x30280000 0x10000>;
5096c3debcbSAnson Huang				interrupts = <GIC_SPI 78 IRQ_TYPE_LEVEL_HIGH>;
5106c3debcbSAnson Huang				clocks = <&clk IMX8MN_CLK_WDOG1_ROOT>;
5116c3debcbSAnson Huang				status = "disabled";
5126c3debcbSAnson Huang			};
5136c3debcbSAnson Huang
5146c3debcbSAnson Huang			wdog2: watchdog@30290000 {
5156c3debcbSAnson Huang				compatible = "fsl,imx8mn-wdt", "fsl,imx21-wdt";
5166c3debcbSAnson Huang				reg = <0x30290000 0x10000>;
5176c3debcbSAnson Huang				interrupts = <GIC_SPI 79 IRQ_TYPE_LEVEL_HIGH>;
5186c3debcbSAnson Huang				clocks = <&clk IMX8MN_CLK_WDOG2_ROOT>;
5196c3debcbSAnson Huang				status = "disabled";
5206c3debcbSAnson Huang			};
5216c3debcbSAnson Huang
5226c3debcbSAnson Huang			wdog3: watchdog@302a0000 {
5236c3debcbSAnson Huang				compatible = "fsl,imx8mn-wdt", "fsl,imx21-wdt";
5246c3debcbSAnson Huang				reg = <0x302a0000 0x10000>;
5256c3debcbSAnson Huang				interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>;
5266c3debcbSAnson Huang				clocks = <&clk IMX8MN_CLK_WDOG3_ROOT>;
5276c3debcbSAnson Huang				status = "disabled";
5286c3debcbSAnson Huang			};
5296c3debcbSAnson Huang
5306c3debcbSAnson Huang			sdma3: dma-controller@302b0000 {
531958c6014SShengjiu Wang				compatible = "fsl,imx8mn-sdma", "fsl,imx8mq-sdma";
5326c3debcbSAnson Huang				reg = <0x302b0000 0x10000>;
5336c3debcbSAnson Huang				interrupts = <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>;
5346c3debcbSAnson Huang				clocks = <&clk IMX8MN_CLK_SDMA3_ROOT>,
5356c3debcbSAnson Huang				 <&clk IMX8MN_CLK_SDMA3_ROOT>;
5366c3debcbSAnson Huang				clock-names = "ipg", "ahb";
5376c3debcbSAnson Huang				#dma-cells = <3>;
5386c3debcbSAnson Huang				fsl,sdma-ram-script-name = "imx/sdma/sdma-imx7d.bin";
5396c3debcbSAnson Huang			};
5406c3debcbSAnson Huang
5416c3debcbSAnson Huang			sdma2: dma-controller@302c0000 {
542958c6014SShengjiu Wang				compatible = "fsl,imx8mn-sdma", "fsl,imx8mq-sdma";
5436c3debcbSAnson Huang				reg = <0x302c0000 0x10000>;
5446c3debcbSAnson Huang				interrupts = <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>;
5456c3debcbSAnson Huang				clocks = <&clk IMX8MN_CLK_SDMA2_ROOT>,
5466c3debcbSAnson Huang					 <&clk IMX8MN_CLK_SDMA2_ROOT>;
5476c3debcbSAnson Huang				clock-names = "ipg", "ahb";
5486c3debcbSAnson Huang				#dma-cells = <3>;
5496c3debcbSAnson Huang				fsl,sdma-ram-script-name = "imx/sdma/sdma-imx7d.bin";
5506c3debcbSAnson Huang			};
5516c3debcbSAnson Huang
5526c3debcbSAnson Huang			iomuxc: pinctrl@30330000 {
5536c3debcbSAnson Huang				compatible = "fsl,imx8mn-iomuxc";
5546c3debcbSAnson Huang				reg = <0x30330000 0x10000>;
5556c3debcbSAnson Huang			};
5566c3debcbSAnson Huang
557*240b8dd9SPeng Fan			gpr: syscon@30340000 {
5586c3debcbSAnson Huang				compatible = "fsl,imx8mn-iomuxc-gpr", "syscon";
5596c3debcbSAnson Huang				reg = <0x30340000 0x10000>;
5606c3debcbSAnson Huang			};
5616c3debcbSAnson Huang
56212fa1078SAnson Huang			ocotp: efuse@30350000 {
5632bad8c48SAnson Huang				compatible = "fsl,imx8mn-ocotp", "fsl,imx8mm-ocotp", "syscon";
5646c3debcbSAnson Huang				reg = <0x30350000 0x10000>;
5656c3debcbSAnson Huang				clocks = <&clk IMX8MN_CLK_OCOTP_ROOT>;
56601c49314SAnson Huang				#address-cells = <1>;
56701c49314SAnson Huang				#size-cells = <1>;
56801c49314SAnson Huang
5695b81a87dSMarek Vasut				/*
5705b81a87dSMarek Vasut				 * The register address below maps to the MX8M
5715b81a87dSMarek Vasut				 * Fusemap Description Table entries this way.
5725b81a87dSMarek Vasut				 * Assuming
5735b81a87dSMarek Vasut				 *   reg = <ADDR SIZE>;
5745b81a87dSMarek Vasut				 * then
5755b81a87dSMarek Vasut				 *   Fuse Address = (ADDR * 4) + 0x400
5765b81a87dSMarek Vasut				 * Note that if SIZE is greater than 4, then
5775b81a87dSMarek Vasut				 * each subsequent fuse is located at offset
5785b81a87dSMarek Vasut				 * +0x10 in Fusemap Description Table (e.g.
5795b81a87dSMarek Vasut				 * reg = <0x4 0x8> describes fuses 0x410 and
5805b81a87dSMarek Vasut				 * 0x420).
5815b81a87dSMarek Vasut				 */
5825b81a87dSMarek Vasut				imx8mn_uid: unique-id@4 { /* 0x410-0x420 */
583cbff2379SAlice Guo					reg = <0x4 0x8>;
584cbff2379SAlice Guo				};
585cbff2379SAlice Guo
5865b81a87dSMarek Vasut				cpu_speed_grade: speed-grade@10 { /* 0x440 */
58701c49314SAnson Huang					reg = <0x10 4>;
58801c49314SAnson Huang				};
589066438aeSJoakim Zhang
590105b9bb8SMarek Vasut				tmu_calib: calib@3c { /* 0x4f0 */
591105b9bb8SMarek Vasut					reg = <0x3c 4>;
592105b9bb8SMarek Vasut				};
593105b9bb8SMarek Vasut
5945b81a87dSMarek Vasut				fec_mac_address: mac-address@90 { /* 0x640 */
595066438aeSJoakim Zhang					reg = <0x90 6>;
596066438aeSJoakim Zhang				};
5976c3debcbSAnson Huang			};
5986c3debcbSAnson Huang
599f98c2dfeSPeng Fan			anatop: clock-controller@30360000 {
600f98c2dfeSPeng Fan				compatible = "fsl,imx8mn-anatop", "fsl,imx8mm-anatop";
6016c3debcbSAnson Huang				reg = <0x30360000 0x10000>;
602f98c2dfeSPeng Fan				#clock-cells = <1>;
6036c3debcbSAnson Huang			};
6046c3debcbSAnson Huang
6056c3debcbSAnson Huang			snvs: snvs@30370000 {
6066c3debcbSAnson Huang				compatible = "fsl,sec-v4.0-mon","syscon", "simple-mfd";
6076c3debcbSAnson Huang				reg = <0x30370000 0x10000>;
6086c3debcbSAnson Huang
6096c3debcbSAnson Huang				snvs_rtc: snvs-rtc-lp {
6106c3debcbSAnson Huang					compatible = "fsl,sec-v4.0-mon-rtc-lp";
6116c3debcbSAnson Huang					regmap = <&snvs>;
6126c3debcbSAnson Huang					offset = <0x34>;
6136c3debcbSAnson Huang					interrupts = <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>,
6146c3debcbSAnson Huang						     <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>;
61542ef961bSHoria Geantă					clocks = <&clk IMX8MN_CLK_SNVS_ROOT>;
6166c3debcbSAnson Huang					clock-names = "snvs-rtc";
6176c3debcbSAnson Huang				};
6186c3debcbSAnson Huang
6196c3debcbSAnson Huang				snvs_pwrkey: snvs-powerkey {
6206c3debcbSAnson Huang					compatible = "fsl,sec-v4.0-pwrkey";
6216c3debcbSAnson Huang					regmap = <&snvs>;
6226c3debcbSAnson Huang					interrupts = <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>;
623c2a2f446SAnson Huang					clocks = <&clk IMX8MN_CLK_SNVS_ROOT>;
624c2a2f446SAnson Huang					clock-names = "snvs-pwrkey";
6256c3debcbSAnson Huang					linux,keycode = <KEY_POWER>;
6266c3debcbSAnson Huang					wakeup-source;
6276c3debcbSAnson Huang					status = "disabled";
6286c3debcbSAnson Huang				};
6296c3debcbSAnson Huang			};
6306c3debcbSAnson Huang
6316c3debcbSAnson Huang			clk: clock-controller@30380000 {
6326c3debcbSAnson Huang				compatible = "fsl,imx8mn-ccm";
6336c3debcbSAnson Huang				reg = <0x30380000 0x10000>;
6346c3debcbSAnson Huang				#clock-cells = <1>;
6356c3debcbSAnson Huang				clocks = <&osc_32k>, <&osc_24m>, <&clk_ext1>, <&clk_ext2>,
6366c3debcbSAnson Huang					 <&clk_ext3>, <&clk_ext4>;
6376c3debcbSAnson Huang				clock-names = "osc_32k", "osc_24m", "clk_ext1", "clk_ext2",
6386c3debcbSAnson Huang					      "clk_ext3", "clk_ext4";
6399e6337e6SPeng Fan				assigned-clocks = <&clk IMX8MN_CLK_A53_SRC>,
6409e6337e6SPeng Fan						<&clk IMX8MN_CLK_A53_CORE>,
6419e6337e6SPeng Fan						<&clk IMX8MN_CLK_NOC>,
64253458f86SPeng Fan						<&clk IMX8MN_CLK_AUDIO_AHB>,
64353458f86SPeng Fan						<&clk IMX8MN_CLK_IPG_AUDIO_ROOT>,
64426442c79SShengjiu Wang						<&clk IMX8MN_SYS_PLL3>,
64526442c79SShengjiu Wang						<&clk IMX8MN_AUDIO_PLL1>,
64626442c79SShengjiu Wang						<&clk IMX8MN_AUDIO_PLL2>;
6479e6337e6SPeng Fan				assigned-clock-parents = <&clk IMX8MN_SYS_PLL1_800M>,
6489e6337e6SPeng Fan							 <&clk IMX8MN_ARM_PLL_OUT>,
6499e6337e6SPeng Fan							 <&clk IMX8MN_SYS_PLL3_OUT>,
65053458f86SPeng Fan							 <&clk IMX8MN_SYS_PLL1_800M>;
6519e6337e6SPeng Fan				assigned-clock-rates = <0>, <0>, <0>,
65253458f86SPeng Fan							<400000000>,
65353458f86SPeng Fan							<400000000>,
65426442c79SShengjiu Wang							<600000000>,
65526442c79SShengjiu Wang							<393216000>,
65626442c79SShengjiu Wang							<361267200>;
6576c3debcbSAnson Huang			};
6586c3debcbSAnson Huang
6596c3debcbSAnson Huang			src: reset-controller@30390000 {
66023b80c20SAnson Huang				compatible = "fsl,imx8mn-src", "fsl,imx8mq-src", "syscon";
6616c3debcbSAnson Huang				reg = <0x30390000 0x10000>;
6626c3debcbSAnson Huang				interrupts = <GIC_SPI 89 IRQ_TYPE_LEVEL_HIGH>;
6636c3debcbSAnson Huang				#reset-cells = <1>;
6646c3debcbSAnson Huang			};
6658b8ebec6SAdam Ford
6668b8ebec6SAdam Ford			gpc: gpc@303a0000 {
6678b8ebec6SAdam Ford				compatible = "fsl,imx8mn-gpc";
6688b8ebec6SAdam Ford				reg = <0x303a0000 0x10000>;
6698b8ebec6SAdam Ford				interrupt-parent = <&gic>;
6708b8ebec6SAdam Ford				interrupts = <GIC_SPI 87 IRQ_TYPE_LEVEL_HIGH>;
6718b8ebec6SAdam Ford
6728b8ebec6SAdam Ford				pgc {
6738b8ebec6SAdam Ford					#address-cells = <1>;
6748b8ebec6SAdam Ford					#size-cells = <0>;
6758b8ebec6SAdam Ford
6768b8ebec6SAdam Ford					pgc_hsiomix: power-domain@0 {
6778b8ebec6SAdam Ford						#power-domain-cells = <0>;
6788b8ebec6SAdam Ford						reg = <IMX8MN_POWER_DOMAIN_HSIOMIX>;
6798b8ebec6SAdam Ford						clocks = <&clk IMX8MN_CLK_USB_BUS>;
6808b8ebec6SAdam Ford					};
6818b8ebec6SAdam Ford
6828b8ebec6SAdam Ford					pgc_otg1: power-domain@1 {
6838b8ebec6SAdam Ford						#power-domain-cells = <0>;
6848b8ebec6SAdam Ford						reg = <IMX8MN_POWER_DOMAIN_OTG1>;
6858b8ebec6SAdam Ford					};
6868b8ebec6SAdam Ford
6878b8ebec6SAdam Ford					pgc_gpumix: power-domain@2 {
6888b8ebec6SAdam Ford						#power-domain-cells = <0>;
6898b8ebec6SAdam Ford						reg = <IMX8MN_POWER_DOMAIN_GPUMIX>;
6908b8ebec6SAdam Ford						clocks = <&clk IMX8MN_CLK_GPU_CORE_ROOT>,
6918b8ebec6SAdam Ford							 <&clk IMX8MN_CLK_GPU_SHADER>,
6928b8ebec6SAdam Ford							 <&clk IMX8MN_CLK_GPU_BUS_ROOT>,
6938b8ebec6SAdam Ford							 <&clk IMX8MN_CLK_GPU_AHB>;
6948b8ebec6SAdam Ford					};
6958b8ebec6SAdam Ford
6968b8ebec6SAdam Ford					pgc_dispmix: power-domain@3 {
6978b8ebec6SAdam Ford						#power-domain-cells = <0>;
6988b8ebec6SAdam Ford						reg = <IMX8MN_POWER_DOMAIN_DISPMIX>;
6998b8ebec6SAdam Ford						clocks = <&clk IMX8MN_CLK_DISP_AXI_ROOT>,
7008b8ebec6SAdam Ford							 <&clk IMX8MN_CLK_DISP_APB_ROOT>;
7018b8ebec6SAdam Ford					};
7028b8ebec6SAdam Ford
7038b8ebec6SAdam Ford					pgc_mipi: power-domain@4 {
7048b8ebec6SAdam Ford						#power-domain-cells = <0>;
7058b8ebec6SAdam Ford						reg = <IMX8MN_POWER_DOMAIN_MIPI>;
7068b8ebec6SAdam Ford						power-domains = <&pgc_dispmix>;
7078b8ebec6SAdam Ford					};
7088b8ebec6SAdam Ford				};
7098b8ebec6SAdam Ford			};
7106c3debcbSAnson Huang		};
7116c3debcbSAnson Huang
7126c3debcbSAnson Huang		aips2: bus@30400000 {
713dc3efc6fSPeng Fan			compatible = "fsl,aips-bus", "simple-bus";
714921a6845SFabio Estevam			reg = <0x30400000 0x400000>;
7156c3debcbSAnson Huang			#address-cells = <1>;
7166c3debcbSAnson Huang			#size-cells = <1>;
7176c3debcbSAnson Huang			ranges;
7186c3debcbSAnson Huang
7196c3debcbSAnson Huang			pwm1: pwm@30660000 {
7206c3debcbSAnson Huang				compatible = "fsl,imx8mn-pwm", "fsl,imx27-pwm";
7216c3debcbSAnson Huang				reg = <0x30660000 0x10000>;
7226c3debcbSAnson Huang				interrupts = <GIC_SPI 81 IRQ_TYPE_LEVEL_HIGH>;
7236c3debcbSAnson Huang				clocks = <&clk IMX8MN_CLK_PWM1_ROOT>,
7246c3debcbSAnson Huang					<&clk IMX8MN_CLK_PWM1_ROOT>;
7256c3debcbSAnson Huang				clock-names = "ipg", "per";
7266bc1e580SMarkus Niebel				#pwm-cells = <3>;
7276c3debcbSAnson Huang				status = "disabled";
7286c3debcbSAnson Huang			};
7296c3debcbSAnson Huang
7306c3debcbSAnson Huang			pwm2: pwm@30670000 {
7316c3debcbSAnson Huang				compatible = "fsl,imx8mn-pwm", "fsl,imx27-pwm";
7326c3debcbSAnson Huang				reg = <0x30670000 0x10000>;
7336c3debcbSAnson Huang				interrupts = <GIC_SPI 82 IRQ_TYPE_LEVEL_HIGH>;
7346c3debcbSAnson Huang				clocks = <&clk IMX8MN_CLK_PWM2_ROOT>,
7356c3debcbSAnson Huang					 <&clk IMX8MN_CLK_PWM2_ROOT>;
7366c3debcbSAnson Huang				clock-names = "ipg", "per";
7376bc1e580SMarkus Niebel				#pwm-cells = <3>;
7386c3debcbSAnson Huang				status = "disabled";
7396c3debcbSAnson Huang			};
7406c3debcbSAnson Huang
7416c3debcbSAnson Huang			pwm3: pwm@30680000 {
7426c3debcbSAnson Huang				compatible = "fsl,imx8mn-pwm", "fsl,imx27-pwm";
7436c3debcbSAnson Huang				reg = <0x30680000 0x10000>;
7446c3debcbSAnson Huang				interrupts = <GIC_SPI 83 IRQ_TYPE_LEVEL_HIGH>;
7456c3debcbSAnson Huang				clocks = <&clk IMX8MN_CLK_PWM3_ROOT>,
7466c3debcbSAnson Huang					 <&clk IMX8MN_CLK_PWM3_ROOT>;
7476c3debcbSAnson Huang				clock-names = "ipg", "per";
7486bc1e580SMarkus Niebel				#pwm-cells = <3>;
7496c3debcbSAnson Huang				status = "disabled";
7506c3debcbSAnson Huang			};
7516c3debcbSAnson Huang
7526c3debcbSAnson Huang			pwm4: pwm@30690000 {
7536c3debcbSAnson Huang				compatible = "fsl,imx8mn-pwm", "fsl,imx27-pwm";
7546c3debcbSAnson Huang				reg = <0x30690000 0x10000>;
7556c3debcbSAnson Huang				interrupts = <GIC_SPI 84 IRQ_TYPE_LEVEL_HIGH>;
7566c3debcbSAnson Huang				clocks = <&clk IMX8MN_CLK_PWM4_ROOT>,
7576c3debcbSAnson Huang					 <&clk IMX8MN_CLK_PWM4_ROOT>;
7586c3debcbSAnson Huang				clock-names = "ipg", "per";
7596bc1e580SMarkus Niebel				#pwm-cells = <3>;
7606c3debcbSAnson Huang				status = "disabled";
7616c3debcbSAnson Huang			};
762c4a21269SAnson Huang
763c4a21269SAnson Huang			system_counter: timer@306a0000 {
764c4a21269SAnson Huang				compatible = "nxp,sysctr-timer";
765c4a21269SAnson Huang				reg = <0x306a0000 0x20000>;
766c4a21269SAnson Huang				interrupts = <GIC_SPI 47 IRQ_TYPE_LEVEL_HIGH>;
767c4a21269SAnson Huang				clocks = <&osc_24m>;
768c4a21269SAnson Huang				clock-names = "per";
769c4a21269SAnson Huang			};
7706c3debcbSAnson Huang		};
7716c3debcbSAnson Huang
7726c3debcbSAnson Huang		aips3: bus@30800000 {
773dc3efc6fSPeng Fan			compatible = "fsl,aips-bus", "simple-bus";
774921a6845SFabio Estevam			reg = <0x30800000 0x400000>;
7756c3debcbSAnson Huang			#address-cells = <1>;
7766c3debcbSAnson Huang			#size-cells = <1>;
7776c3debcbSAnson Huang			ranges;
7786c3debcbSAnson Huang
779292e0f48SAdam Ford			spba1: spba-bus@30800000 {
780292e0f48SAdam Ford				compatible = "fsl,spba-bus", "simple-bus";
781292e0f48SAdam Ford				#address-cells = <1>;
782292e0f48SAdam Ford				#size-cells = <1>;
783292e0f48SAdam Ford				reg = <0x30800000 0x100000>;
784292e0f48SAdam Ford				ranges;
785292e0f48SAdam Ford
7866c3debcbSAnson Huang				ecspi1: spi@30820000 {
7876c3debcbSAnson Huang					compatible = "fsl,imx8mn-ecspi", "fsl,imx51-ecspi";
7886c3debcbSAnson Huang					#address-cells = <1>;
7896c3debcbSAnson Huang					#size-cells = <0>;
7906c3debcbSAnson Huang					reg = <0x30820000 0x10000>;
7916c3debcbSAnson Huang					interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>;
7926c3debcbSAnson Huang					clocks = <&clk IMX8MN_CLK_ECSPI1_ROOT>,
7936c3debcbSAnson Huang						 <&clk IMX8MN_CLK_ECSPI1_ROOT>;
7946c3debcbSAnson Huang					clock-names = "ipg", "per";
7956c3debcbSAnson Huang					dmas = <&sdma1 0 7 1>, <&sdma1 1 7 2>;
7966c3debcbSAnson Huang					dma-names = "rx", "tx";
7976c3debcbSAnson Huang					status = "disabled";
7986c3debcbSAnson Huang				};
7996c3debcbSAnson Huang
8006c3debcbSAnson Huang				ecspi2: spi@30830000 {
8016c3debcbSAnson Huang					compatible = "fsl,imx8mn-ecspi", "fsl,imx51-ecspi";
8026c3debcbSAnson Huang					#address-cells = <1>;
8036c3debcbSAnson Huang					#size-cells = <0>;
8046c3debcbSAnson Huang					reg = <0x30830000 0x10000>;
8056c3debcbSAnson Huang					interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>;
8066c3debcbSAnson Huang					clocks = <&clk IMX8MN_CLK_ECSPI2_ROOT>,
8076c3debcbSAnson Huang						 <&clk IMX8MN_CLK_ECSPI2_ROOT>;
8086c3debcbSAnson Huang					clock-names = "ipg", "per";
8096c3debcbSAnson Huang					dmas = <&sdma1 2 7 1>, <&sdma1 3 7 2>;
8106c3debcbSAnson Huang					dma-names = "rx", "tx";
8116c3debcbSAnson Huang					status = "disabled";
8126c3debcbSAnson Huang				};
8136c3debcbSAnson Huang
8146c3debcbSAnson Huang				ecspi3: spi@30840000 {
8156c3debcbSAnson Huang					compatible = "fsl,imx8mn-ecspi", "fsl,imx51-ecspi";
8166c3debcbSAnson Huang					#address-cells = <1>;
8176c3debcbSAnson Huang					#size-cells = <0>;
8186c3debcbSAnson Huang					reg = <0x30840000 0x10000>;
8196c3debcbSAnson Huang					interrupts = <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>;
8206c3debcbSAnson Huang					clocks = <&clk IMX8MN_CLK_ECSPI3_ROOT>,
8216c3debcbSAnson Huang						 <&clk IMX8MN_CLK_ECSPI3_ROOT>;
8226c3debcbSAnson Huang					clock-names = "ipg", "per";
8236c3debcbSAnson Huang					dmas = <&sdma1 4 7 1>, <&sdma1 5 7 2>;
8246c3debcbSAnson Huang					dma-names = "rx", "tx";
8256c3debcbSAnson Huang					status = "disabled";
8266c3debcbSAnson Huang				};
8276c3debcbSAnson Huang
8286c3debcbSAnson Huang				uart1: serial@30860000 {
8296c3debcbSAnson Huang					compatible = "fsl,imx8mn-uart", "fsl,imx6q-uart";
8306c3debcbSAnson Huang					reg = <0x30860000 0x10000>;
8316c3debcbSAnson Huang					interrupts = <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>;
8326c3debcbSAnson Huang					clocks = <&clk IMX8MN_CLK_UART1_ROOT>,
8336c3debcbSAnson Huang						 <&clk IMX8MN_CLK_UART1_ROOT>;
8346c3debcbSAnson Huang					clock-names = "ipg", "per";
8356c3debcbSAnson Huang					dmas = <&sdma1 22 4 0>, <&sdma1 23 4 0>;
8366c3debcbSAnson Huang					dma-names = "rx", "tx";
8376c3debcbSAnson Huang					status = "disabled";
8386c3debcbSAnson Huang				};
8396c3debcbSAnson Huang
8406c3debcbSAnson Huang				uart3: serial@30880000 {
8416c3debcbSAnson Huang					compatible = "fsl,imx8mn-uart", "fsl,imx6q-uart";
8426c3debcbSAnson Huang					reg = <0x30880000 0x10000>;
8436c3debcbSAnson Huang					interrupts = <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH>;
8446c3debcbSAnson Huang					clocks = <&clk IMX8MN_CLK_UART3_ROOT>,
8456c3debcbSAnson Huang						 <&clk IMX8MN_CLK_UART3_ROOT>;
8466c3debcbSAnson Huang					clock-names = "ipg", "per";
8476c3debcbSAnson Huang					dmas = <&sdma1 26 4 0>, <&sdma1 27 4 0>;
8486c3debcbSAnson Huang					dma-names = "rx", "tx";
8496c3debcbSAnson Huang					status = "disabled";
8506c3debcbSAnson Huang				};
8516c3debcbSAnson Huang
8526c3debcbSAnson Huang				uart2: serial@30890000 {
8536c3debcbSAnson Huang					compatible = "fsl,imx8mn-uart", "fsl,imx6q-uart";
8546c3debcbSAnson Huang					reg = <0x30890000 0x10000>;
8556c3debcbSAnson Huang					interrupts = <GIC_SPI 27 IRQ_TYPE_LEVEL_HIGH>;
8566c3debcbSAnson Huang					clocks = <&clk IMX8MN_CLK_UART2_ROOT>,
8576c3debcbSAnson Huang						 <&clk IMX8MN_CLK_UART2_ROOT>;
8586c3debcbSAnson Huang					clock-names = "ipg", "per";
8596c3debcbSAnson Huang					status = "disabled";
8606c3debcbSAnson Huang				};
861292e0f48SAdam Ford			};
8626c3debcbSAnson Huang
863aad24175SHoria Geantă			crypto: crypto@30900000 {
864aad24175SHoria Geantă				compatible = "fsl,sec-v4.0";
865aad24175SHoria Geantă				#address-cells = <1>;
866aad24175SHoria Geantă				#size-cells = <1>;
867aad24175SHoria Geantă				reg = <0x30900000 0x40000>;
868aad24175SHoria Geantă				ranges = <0 0x30900000 0x40000>;
869aad24175SHoria Geantă				interrupts = <GIC_SPI 91 IRQ_TYPE_LEVEL_HIGH>;
870aad24175SHoria Geantă				clocks = <&clk IMX8MN_CLK_AHB>,
871aad24175SHoria Geantă					 <&clk IMX8MN_CLK_IPG_ROOT>;
872aad24175SHoria Geantă				clock-names = "aclk", "ipg";
873aad24175SHoria Geantă
874f5ff5a21SSilvano di Ninno				sec_jr0: jr@1000 {
875aad24175SHoria Geantă					 compatible = "fsl,sec-v4.0-job-ring";
876aad24175SHoria Geantă					 reg = <0x1000 0x1000>;
877aad24175SHoria Geantă					 interrupts = <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>;
878dc9c1cebSFabio Estevam					 status = "disabled";
879aad24175SHoria Geantă				};
880aad24175SHoria Geantă
881f5ff5a21SSilvano di Ninno				sec_jr1: jr@2000 {
882aad24175SHoria Geantă					 compatible = "fsl,sec-v4.0-job-ring";
883aad24175SHoria Geantă					 reg = <0x2000 0x1000>;
884aad24175SHoria Geantă					 interrupts = <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>;
885aad24175SHoria Geantă				};
886aad24175SHoria Geantă
887f5ff5a21SSilvano di Ninno				sec_jr2: jr@3000 {
888aad24175SHoria Geantă					 compatible = "fsl,sec-v4.0-job-ring";
889aad24175SHoria Geantă					 reg = <0x3000 0x1000>;
890aad24175SHoria Geantă					 interrupts = <GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH>;
891aad24175SHoria Geantă				};
892aad24175SHoria Geantă			};
893aad24175SHoria Geantă
8946c3debcbSAnson Huang			i2c1: i2c@30a20000 {
8956c3debcbSAnson Huang				compatible = "fsl,imx8mn-i2c", "fsl,imx21-i2c";
8966c3debcbSAnson Huang				#address-cells = <1>;
8976c3debcbSAnson Huang				#size-cells = <0>;
8986c3debcbSAnson Huang				reg = <0x30a20000 0x10000>;
8996c3debcbSAnson Huang				interrupts = <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>;
9006c3debcbSAnson Huang				clocks = <&clk IMX8MN_CLK_I2C1_ROOT>;
9016c3debcbSAnson Huang				status = "disabled";
9026c3debcbSAnson Huang			};
9036c3debcbSAnson Huang
9046c3debcbSAnson Huang			i2c2: i2c@30a30000 {
9056c3debcbSAnson Huang				compatible = "fsl,imx8mn-i2c", "fsl,imx21-i2c";
9066c3debcbSAnson Huang				#address-cells = <1>;
9076c3debcbSAnson Huang				#size-cells = <0>;
9086c3debcbSAnson Huang				reg = <0x30a30000 0x10000>;
9096c3debcbSAnson Huang				interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>;
9106c3debcbSAnson Huang				clocks = <&clk IMX8MN_CLK_I2C2_ROOT>;
9116c3debcbSAnson Huang				status = "disabled";
9126c3debcbSAnson Huang			};
9136c3debcbSAnson Huang
9146c3debcbSAnson Huang			i2c3: i2c@30a40000 {
9156c3debcbSAnson Huang				#address-cells = <1>;
9166c3debcbSAnson Huang				#size-cells = <0>;
9176c3debcbSAnson Huang				compatible = "fsl,imx8mn-i2c", "fsl,imx21-i2c";
9186c3debcbSAnson Huang				reg = <0x30a40000 0x10000>;
9196c3debcbSAnson Huang				interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>;
9206c3debcbSAnson Huang				clocks = <&clk IMX8MN_CLK_I2C3_ROOT>;
9216c3debcbSAnson Huang				status = "disabled";
9226c3debcbSAnson Huang			};
9236c3debcbSAnson Huang
9246c3debcbSAnson Huang			i2c4: i2c@30a50000 {
9256c3debcbSAnson Huang				compatible = "fsl,imx8mn-i2c", "fsl,imx21-i2c";
9266c3debcbSAnson Huang				#address-cells = <1>;
9276c3debcbSAnson Huang				#size-cells = <0>;
9286c3debcbSAnson Huang				reg = <0x30a50000 0x10000>;
9296c3debcbSAnson Huang				interrupts = <GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH>;
9306c3debcbSAnson Huang				clocks = <&clk IMX8MN_CLK_I2C4_ROOT>;
9316c3debcbSAnson Huang				status = "disabled";
9326c3debcbSAnson Huang			};
9336c3debcbSAnson Huang
9346c3debcbSAnson Huang			uart4: serial@30a60000 {
9356c3debcbSAnson Huang				compatible = "fsl,imx8mn-uart", "fsl,imx6q-uart";
9366c3debcbSAnson Huang				reg = <0x30a60000 0x10000>;
9376c3debcbSAnson Huang				interrupts = <GIC_SPI 29 IRQ_TYPE_LEVEL_HIGH>;
9386c3debcbSAnson Huang				clocks = <&clk IMX8MN_CLK_UART4_ROOT>,
9396c3debcbSAnson Huang					 <&clk IMX8MN_CLK_UART4_ROOT>;
9406c3debcbSAnson Huang				clock-names = "ipg", "per";
9416c3debcbSAnson Huang				dmas = <&sdma1 28 4 0>, <&sdma1 29 4 0>;
9426c3debcbSAnson Huang				dma-names = "rx", "tx";
9436c3debcbSAnson Huang				status = "disabled";
9446c3debcbSAnson Huang			};
9456c3debcbSAnson Huang
946bbfc59beSPeng Fan			mu: mailbox@30aa0000 {
947bbfc59beSPeng Fan				compatible = "fsl,imx8mn-mu", "fsl,imx6sx-mu";
948bbfc59beSPeng Fan				reg = <0x30aa0000 0x10000>;
949bbfc59beSPeng Fan				interrupts = <GIC_SPI 88 IRQ_TYPE_LEVEL_HIGH>;
950bbfc59beSPeng Fan				clocks = <&clk IMX8MN_CLK_MU_ROOT>;
951bbfc59beSPeng Fan				#mbox-cells = <2>;
952bbfc59beSPeng Fan			};
953bbfc59beSPeng Fan
9546c3debcbSAnson Huang			usdhc1: mmc@30b40000 {
955472f20b4SAdam Ford				compatible = "fsl,imx8mn-usdhc", "fsl,imx8mm-usdhc", "fsl,imx7d-usdhc";
9566c3debcbSAnson Huang				reg = <0x30b40000 0x10000>;
9576c3debcbSAnson Huang				interrupts = <GIC_SPI 22 IRQ_TYPE_LEVEL_HIGH>;
958ea65aba8SAnson Huang				clocks = <&clk IMX8MN_CLK_IPG_ROOT>,
9596c3debcbSAnson Huang					 <&clk IMX8MN_CLK_NAND_USDHC_BUS>,
9606c3debcbSAnson Huang					 <&clk IMX8MN_CLK_USDHC1_ROOT>;
9616c3debcbSAnson Huang				clock-names = "ipg", "ahb", "per";
9626c3debcbSAnson Huang				fsl,tuning-start-tap = <20>;
9636c3debcbSAnson Huang				fsl,tuning-step = <2>;
9646c3debcbSAnson Huang				bus-width = <4>;
9656c3debcbSAnson Huang				status = "disabled";
9666c3debcbSAnson Huang			};
9676c3debcbSAnson Huang
9686c3debcbSAnson Huang			usdhc2: mmc@30b50000 {
969472f20b4SAdam Ford				compatible = "fsl,imx8mn-usdhc", "fsl,imx8mm-usdhc", "fsl,imx7d-usdhc";
9706c3debcbSAnson Huang				reg = <0x30b50000 0x10000>;
9716c3debcbSAnson Huang				interrupts = <GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH>;
972ea65aba8SAnson Huang				clocks = <&clk IMX8MN_CLK_IPG_ROOT>,
9736c3debcbSAnson Huang					 <&clk IMX8MN_CLK_NAND_USDHC_BUS>,
9746c3debcbSAnson Huang					 <&clk IMX8MN_CLK_USDHC2_ROOT>;
9756c3debcbSAnson Huang				clock-names = "ipg", "ahb", "per";
9766c3debcbSAnson Huang				fsl,tuning-start-tap = <20>;
9776c3debcbSAnson Huang				fsl,tuning-step = <2>;
9786c3debcbSAnson Huang				bus-width = <4>;
9796c3debcbSAnson Huang				status = "disabled";
9806c3debcbSAnson Huang			};
9816c3debcbSAnson Huang
9826c3debcbSAnson Huang			usdhc3: mmc@30b60000 {
983472f20b4SAdam Ford				compatible = "fsl,imx8mn-usdhc", "fsl,imx8mm-usdhc", "fsl,imx7d-usdhc";
9846c3debcbSAnson Huang				reg = <0x30b60000 0x10000>;
9856c3debcbSAnson Huang				interrupts = <GIC_SPI 24 IRQ_TYPE_LEVEL_HIGH>;
986ea65aba8SAnson Huang				clocks = <&clk IMX8MN_CLK_IPG_ROOT>,
9876c3debcbSAnson Huang					 <&clk IMX8MN_CLK_NAND_USDHC_BUS>,
9886c3debcbSAnson Huang					 <&clk IMX8MN_CLK_USDHC3_ROOT>;
9896c3debcbSAnson Huang				clock-names = "ipg", "ahb", "per";
9906c3debcbSAnson Huang				fsl,tuning-start-tap = <20>;
9916c3debcbSAnson Huang				fsl,tuning-step = <2>;
9926c3debcbSAnson Huang				bus-width = <4>;
9936c3debcbSAnson Huang				status = "disabled";
9946c3debcbSAnson Huang			};
9956c3debcbSAnson Huang
996189f6586SAdam Ford			flexspi: spi@30bb0000 {
997189f6586SAdam Ford				#address-cells = <1>;
998189f6586SAdam Ford				#size-cells = <0>;
999189f6586SAdam Ford				compatible = "nxp,imx8mm-fspi";
1000189f6586SAdam Ford				reg = <0x30bb0000 0x10000>, <0x8000000 0x10000000>;
1001189f6586SAdam Ford				reg-names = "fspi_base", "fspi_mmap";
1002189f6586SAdam Ford				interrupts = <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>;
1003189f6586SAdam Ford				clocks = <&clk IMX8MN_CLK_QSPI_ROOT>,
1004189f6586SAdam Ford					 <&clk IMX8MN_CLK_QSPI_ROOT>;
1005f29fa744SKuldeep Singh				clock-names = "fspi_en", "fspi";
1006189f6586SAdam Ford				status = "disabled";
1007189f6586SAdam Ford			};
1008189f6586SAdam Ford
10096c3debcbSAnson Huang			sdma1: dma-controller@30bd0000 {
1010958c6014SShengjiu Wang				compatible = "fsl,imx8mn-sdma", "fsl,imx8mq-sdma";
10116c3debcbSAnson Huang				reg = <0x30bd0000 0x10000>;
10126c3debcbSAnson Huang				interrupts = <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>;
10136c3debcbSAnson Huang				clocks = <&clk IMX8MN_CLK_SDMA1_ROOT>,
101415ddc3e1SAdam Ford					 <&clk IMX8MN_CLK_AHB>;
10156c3debcbSAnson Huang				clock-names = "ipg", "ahb";
10166c3debcbSAnson Huang				#dma-cells = <3>;
10176c3debcbSAnson Huang				fsl,sdma-ram-script-name = "imx/sdma/sdma-imx7d.bin";
10186c3debcbSAnson Huang			};
10196c3debcbSAnson Huang
10206c3debcbSAnson Huang			fec1: ethernet@30be0000 {
1021a758dee8SJoakim Zhang				compatible = "fsl,imx8mn-fec", "fsl,imx8mq-fec", "fsl,imx6sx-fec";
10226c3debcbSAnson Huang				reg = <0x30be0000 0x10000>;
10236c3debcbSAnson Huang				interrupts = <GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH>,
10246c3debcbSAnson Huang					     <GIC_SPI 119 IRQ_TYPE_LEVEL_HIGH>,
1025d3762a47SFabio Estevam					     <GIC_SPI 120 IRQ_TYPE_LEVEL_HIGH>,
1026d3762a47SFabio Estevam					     <GIC_SPI 121 IRQ_TYPE_LEVEL_HIGH>;
10276c3debcbSAnson Huang				clocks = <&clk IMX8MN_CLK_ENET1_ROOT>,
10286c3debcbSAnson Huang					 <&clk IMX8MN_CLK_ENET1_ROOT>,
10296c3debcbSAnson Huang					 <&clk IMX8MN_CLK_ENET_TIMER>,
10306c3debcbSAnson Huang					 <&clk IMX8MN_CLK_ENET_REF>,
10316c3debcbSAnson Huang					 <&clk IMX8MN_CLK_ENET_PHY_REF>;
10326c3debcbSAnson Huang				clock-names = "ipg", "ahb", "ptp",
10336c3debcbSAnson Huang					      "enet_clk_ref", "enet_out";
10346c3debcbSAnson Huang				assigned-clocks = <&clk IMX8MN_CLK_ENET_AXI>,
10356c3debcbSAnson Huang						  <&clk IMX8MN_CLK_ENET_TIMER>,
10366c3debcbSAnson Huang						  <&clk IMX8MN_CLK_ENET_REF>,
103770eacf42SJoakim Zhang						  <&clk IMX8MN_CLK_ENET_PHY_REF>;
10386c3debcbSAnson Huang				assigned-clock-parents = <&clk IMX8MN_SYS_PLL1_266M>,
10396c3debcbSAnson Huang							 <&clk IMX8MN_SYS_PLL2_100M>,
104070eacf42SJoakim Zhang							 <&clk IMX8MN_SYS_PLL2_125M>,
104170eacf42SJoakim Zhang							 <&clk IMX8MN_SYS_PLL2_50M>;
104270eacf42SJoakim Zhang				assigned-clock-rates = <0>, <100000000>, <125000000>, <0>;
10436c3debcbSAnson Huang				fsl,num-tx-queues = <3>;
10446c3debcbSAnson Huang				fsl,num-rx-queues = <3>;
1045066438aeSJoakim Zhang				nvmem-cells = <&fec_mac_address>;
1046066438aeSJoakim Zhang				nvmem-cell-names = "mac-address";
1047afe99354SJoakim Zhang				fsl,stop-mode = <&gpr 0x10 3>;
10486c3debcbSAnson Huang				status = "disabled";
10496c3debcbSAnson Huang			};
10506c3debcbSAnson Huang
10516c3debcbSAnson Huang		};
10526c3debcbSAnson Huang
10536c3debcbSAnson Huang		aips4: bus@32c00000 {
1054dc3efc6fSPeng Fan			compatible = "fsl,aips-bus", "simple-bus";
1055921a6845SFabio Estevam			reg = <0x32c00000 0x400000>;
10566c3debcbSAnson Huang			#address-cells = <1>;
10576c3debcbSAnson Huang			#size-cells = <1>;
10586c3debcbSAnson Huang			ranges;
10596c3debcbSAnson Huang
106018d4a6c9SAdam Ford			disp_blk_ctrl: blk-ctrl@32e28000 {
106118d4a6c9SAdam Ford				compatible = "fsl,imx8mn-disp-blk-ctrl", "syscon";
106218d4a6c9SAdam Ford				reg = <0x32e28000 0x100>;
106318d4a6c9SAdam Ford				power-domains = <&pgc_dispmix>, <&pgc_dispmix>,
106418d4a6c9SAdam Ford						<&pgc_dispmix>, <&pgc_mipi>,
106518d4a6c9SAdam Ford						<&pgc_mipi>;
106618d4a6c9SAdam Ford				power-domain-names = "bus", "isi",
106718d4a6c9SAdam Ford						     "lcdif", "mipi-dsi",
106818d4a6c9SAdam Ford						     "mipi-csi";
106918d4a6c9SAdam Ford				clocks = <&clk IMX8MN_CLK_DISP_AXI>,
107018d4a6c9SAdam Ford					 <&clk IMX8MN_CLK_DISP_APB>,
107118d4a6c9SAdam Ford					 <&clk IMX8MN_CLK_DISP_AXI_ROOT>,
107218d4a6c9SAdam Ford					 <&clk IMX8MN_CLK_DISP_APB_ROOT>,
107318d4a6c9SAdam Ford					 <&clk IMX8MN_CLK_DISP_AXI_ROOT>,
107418d4a6c9SAdam Ford					 <&clk IMX8MN_CLK_DISP_APB_ROOT>,
107518d4a6c9SAdam Ford					 <&clk IMX8MN_CLK_DISP_PIXEL_ROOT>,
107618d4a6c9SAdam Ford					 <&clk IMX8MN_CLK_DSI_CORE>,
107718d4a6c9SAdam Ford					 <&clk IMX8MN_CLK_DSI_PHY_REF>,
107818d4a6c9SAdam Ford					 <&clk IMX8MN_CLK_CSI1_PHY_REF>,
107918d4a6c9SAdam Ford					 <&clk IMX8MN_CLK_CAMERA_PIXEL_ROOT>;
108018d4a6c9SAdam Ford				clock-names = "disp_axi", "disp_apb",
108118d4a6c9SAdam Ford					      "disp_axi_root", "disp_apb_root",
108218d4a6c9SAdam Ford					      "lcdif-axi", "lcdif-apb", "lcdif-pix",
108318d4a6c9SAdam Ford					      "dsi-pclk", "dsi-ref",
108418d4a6c9SAdam Ford					      "csi-aclk", "csi-pclk";
108518d4a6c9SAdam Ford				#power-domain-cells = <1>;
108618d4a6c9SAdam Ford			};
108718d4a6c9SAdam Ford
10886c3debcbSAnson Huang			usbotg1: usb@32e40000 {
10896c3debcbSAnson Huang				compatible = "fsl,imx8mn-usb", "fsl,imx7d-usb";
10906c3debcbSAnson Huang				reg = <0x32e40000 0x200>;
10916c3debcbSAnson Huang				interrupts = <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>;
10926c3debcbSAnson Huang				clocks = <&clk IMX8MN_CLK_USB1_CTRL_ROOT>;
10936c3debcbSAnson Huang				clock-names = "usb1_ctrl_root_clk";
1094d51cb99cSLi Jun				assigned-clocks = <&clk IMX8MN_CLK_USB_BUS>;
1095d51cb99cSLi Jun				assigned-clock-parents = <&clk IMX8MN_SYS_PLL2_500M>;
109678e80c4bSMarek Vasut				phys = <&usbphynop1>;
10976c3debcbSAnson Huang				fsl,usbmisc = <&usbmisc1 0>;
1098ee895139SLi Jun				power-domains = <&pgc_hsiomix>;
10996c3debcbSAnson Huang				status = "disabled";
11006c3debcbSAnson Huang			};
11016c3debcbSAnson Huang
11026c3debcbSAnson Huang			usbmisc1: usbmisc@32e40200 {
11036c3debcbSAnson Huang				compatible = "fsl,imx8mn-usbmisc", "fsl,imx7d-usbmisc";
11046c3debcbSAnson Huang				#index-cells = <1>;
11056c3debcbSAnson Huang				reg = <0x32e40200 0x200>;
11066c3debcbSAnson Huang			};
11076c3debcbSAnson Huang		};
11086c3debcbSAnson Huang
11096c3debcbSAnson Huang		dma_apbh: dma-controller@33000000 {
11106c3debcbSAnson Huang			compatible = "fsl,imx7d-dma-apbh", "fsl,imx28-dma-apbh";
11116c3debcbSAnson Huang			reg = <0x33000000 0x2000>;
11126c3debcbSAnson Huang			interrupts = <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>,
11136c3debcbSAnson Huang				     <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>,
11146c3debcbSAnson Huang				     <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>,
11156c3debcbSAnson Huang				     <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>;
11166c3debcbSAnson Huang			#dma-cells = <1>;
11176c3debcbSAnson Huang			dma-channels = <4>;
11186c3debcbSAnson Huang			clocks = <&clk IMX8MN_CLK_NAND_USDHC_BUS_RAWNAND_CLK>;
11196c3debcbSAnson Huang		};
11206c3debcbSAnson Huang
11216c3debcbSAnson Huang		gpmi: nand-controller@33002000 {
11226c3debcbSAnson Huang			compatible = "fsl,imx8mn-gpmi-nand", "fsl,imx7d-gpmi-nand";
11236c3debcbSAnson Huang			#address-cells = <1>;
11245468e93bSMarek Vasut			#size-cells = <0>;
11256c3debcbSAnson Huang			reg = <0x33002000 0x2000>, <0x33004000 0x4000>;
11266c3debcbSAnson Huang			reg-names = "gpmi-nand", "bch";
11276c3debcbSAnson Huang			interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>;
11286c3debcbSAnson Huang			interrupt-names = "bch";
11296c3debcbSAnson Huang			clocks = <&clk IMX8MN_CLK_NAND_ROOT>,
11306c3debcbSAnson Huang				 <&clk IMX8MN_CLK_NAND_USDHC_BUS_RAWNAND_CLK>;
11316c3debcbSAnson Huang			clock-names = "gpmi_io", "gpmi_bch_apb";
11326c3debcbSAnson Huang			dmas = <&dma_apbh 0>;
11336c3debcbSAnson Huang			dma-names = "rx-tx";
11346c3debcbSAnson Huang			status = "disabled";
11356c3debcbSAnson Huang		};
11366c3debcbSAnson Huang
11379a0f3b15SAdam Ford		gpu: gpu@38000000 {
11389a0f3b15SAdam Ford			compatible = "vivante,gc";
11399a0f3b15SAdam Ford			reg = <0x38000000 0x8000>;
11409a0f3b15SAdam Ford			interrupts = <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>;
11419a0f3b15SAdam Ford			clocks = <&clk IMX8MN_CLK_GPU_AHB>,
11429a0f3b15SAdam Ford				<&clk IMX8MN_CLK_GPU_BUS_ROOT>,
11439a0f3b15SAdam Ford				<&clk IMX8MN_CLK_GPU_CORE_ROOT>,
11449a0f3b15SAdam Ford				<&clk IMX8MN_CLK_GPU_SHADER>;
11459a0f3b15SAdam Ford			clock-names = "reg", "bus", "core", "shader";
11469a0f3b15SAdam Ford			assigned-clocks = <&clk IMX8MN_CLK_GPU_CORE>,
11479a0f3b15SAdam Ford					  <&clk IMX8MN_CLK_GPU_SHADER>,
11489a0f3b15SAdam Ford					  <&clk IMX8MN_CLK_GPU_AXI>,
11499a0f3b15SAdam Ford					  <&clk IMX8MN_CLK_GPU_AHB>,
11509a0f3b15SAdam Ford					  <&clk IMX8MN_GPU_PLL>;
11519a0f3b15SAdam Ford			assigned-clock-parents = <&clk IMX8MN_GPU_PLL_OUT>,
11529a0f3b15SAdam Ford						  <&clk IMX8MN_GPU_PLL_OUT>,
11539a0f3b15SAdam Ford						  <&clk IMX8MN_SYS_PLL1_800M>,
11549a0f3b15SAdam Ford						  <&clk IMX8MN_SYS_PLL1_800M>;
11559a0f3b15SAdam Ford			assigned-clock-rates = <400000000>,
11569a0f3b15SAdam Ford					       <400000000>,
11579a0f3b15SAdam Ford					       <800000000>,
11589a0f3b15SAdam Ford					       <400000000>,
11599a0f3b15SAdam Ford					       <1200000000>;
11609a0f3b15SAdam Ford			power-domains = <&pgc_gpumix>;
11619a0f3b15SAdam Ford		};
11629a0f3b15SAdam Ford
11636c3debcbSAnson Huang		gic: interrupt-controller@38800000 {
11646c3debcbSAnson Huang			compatible = "arm,gic-v3";
11656c3debcbSAnson Huang			reg = <0x38800000 0x10000>,
11666c3debcbSAnson Huang			      <0x38880000 0xc0000>;
11676c3debcbSAnson Huang			#interrupt-cells = <3>;
11686c3debcbSAnson Huang			interrupt-controller;
11696c3debcbSAnson Huang			interrupts = <GIC_PPI 9 IRQ_TYPE_LEVEL_HIGH>;
11706c3debcbSAnson Huang		};
11712d8e0747SJoakim Zhang
11720376f6ecSLeonard Crestez		ddrc: memory-controller@3d400000 {
11730376f6ecSLeonard Crestez			compatible = "fsl,imx8mn-ddrc", "fsl,imx8m-ddrc";
11740376f6ecSLeonard Crestez			reg = <0x3d400000 0x400000>;
11750376f6ecSLeonard Crestez			clock-names = "core", "pll", "alt", "apb";
11760376f6ecSLeonard Crestez			clocks = <&clk IMX8MN_CLK_DRAM_CORE>,
11770376f6ecSLeonard Crestez				 <&clk IMX8MN_DRAM_PLL>,
11780376f6ecSLeonard Crestez				 <&clk IMX8MN_CLK_DRAM_ALT>,
11790376f6ecSLeonard Crestez				 <&clk IMX8MN_CLK_DRAM_APB>;
11800376f6ecSLeonard Crestez		};
11810376f6ecSLeonard Crestez
11822d8e0747SJoakim Zhang		ddr-pmu@3d800000 {
11832d8e0747SJoakim Zhang			compatible = "fsl,imx8mn-ddr-pmu", "fsl,imx8m-ddr-pmu";
11842d8e0747SJoakim Zhang			reg = <0x3d800000 0x400000>;
11852d8e0747SJoakim Zhang			interrupts = <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>;
11862d8e0747SJoakim Zhang		};
11876c3debcbSAnson Huang	};
11886c3debcbSAnson Huang
11896c3debcbSAnson Huang	usbphynop1: usbphynop1 {
119078e80c4bSMarek Vasut		#phy-cells = <0>;
11916c3debcbSAnson Huang		compatible = "usb-nop-xceiv";
11926c3debcbSAnson Huang		clocks = <&clk IMX8MN_CLK_USB_PHY_REF>;
11936c3debcbSAnson Huang		assigned-clocks = <&clk IMX8MN_CLK_USB_PHY_REF>;
11946c3debcbSAnson Huang		assigned-clock-parents = <&clk IMX8MN_SYS_PLL1_100M>;
11956c3debcbSAnson Huang		clock-names = "main_clk";
1196ee895139SLi Jun		power-domains = <&pgc_otg1>;
11976c3debcbSAnson Huang	};
11986c3debcbSAnson Huang};
1199