xref: /rk3399_rockchip-uboot/arch/arm/dts/imx7ulp.dtsi (revision 02ccab1908c405fe1449457d4a0d343784a30acb)
1*fa2f20d3SPeng Fan/*
2*fa2f20d3SPeng Fan * Copyright 2015-2016 Freescale Semiconductor, Inc.
3*fa2f20d3SPeng Fan *
4*fa2f20d3SPeng Fan * This program is free software; you can redistribute it and/or modify
5*fa2f20d3SPeng Fan * it under the terms of the GNU General Public License version 2 as
6*fa2f20d3SPeng Fan * published by the Free Software Foundation.
7*fa2f20d3SPeng Fan */
8*fa2f20d3SPeng Fan
9*fa2f20d3SPeng Fan#include <dt-bindings/clock/imx7ulp-clock.h>
10*fa2f20d3SPeng Fan#include <dt-bindings/interrupt-controller/arm-gic.h>
11*fa2f20d3SPeng Fan#include <dt-bindings/gpio/gpio.h>
12*fa2f20d3SPeng Fan#include "skeleton.dtsi"
13*fa2f20d3SPeng Fan#include "imx7ulp-pinfunc.h"
14*fa2f20d3SPeng Fan
15*fa2f20d3SPeng Fan/ {
16*fa2f20d3SPeng Fan	interrupt-parent = <&intc>;
17*fa2f20d3SPeng Fan
18*fa2f20d3SPeng Fan	aliases {
19*fa2f20d3SPeng Fan		gpio0 = &gpio0;
20*fa2f20d3SPeng Fan		gpio1 = &gpio1;
21*fa2f20d3SPeng Fan		gpio2 = &gpio2;
22*fa2f20d3SPeng Fan		gpio3 = &gpio3;
23*fa2f20d3SPeng Fan		mmc0 = &usdhc0;
24*fa2f20d3SPeng Fan		mmc1 = &usdhc1;
25*fa2f20d3SPeng Fan		serial0 = &lpuart4;
26*fa2f20d3SPeng Fan		serial1 = &lpuart5;
27*fa2f20d3SPeng Fan		serial2 = &lpuart6;
28*fa2f20d3SPeng Fan		serial3 = &lpuart7;
29*fa2f20d3SPeng Fan		usbphy0 = &usbphy1;
30*fa2f20d3SPeng Fan		i2c0 = &lpi2c4;
31*fa2f20d3SPeng Fan		i2c1 = &lpi2c5;
32*fa2f20d3SPeng Fan		i2c2 = &lpi2c6;
33*fa2f20d3SPeng Fan		i2c3 = &lpi2c7;
34*fa2f20d3SPeng Fan	};
35*fa2f20d3SPeng Fan
36*fa2f20d3SPeng Fan	cpus {
37*fa2f20d3SPeng Fan		#address-cells = <1>;
38*fa2f20d3SPeng Fan		#size-cells = <0>;
39*fa2f20d3SPeng Fan
40*fa2f20d3SPeng Fan		cpu0: cpu@0 {
41*fa2f20d3SPeng Fan			compatible = "arm,cortex-a7";
42*fa2f20d3SPeng Fan			device_type = "cpu";
43*fa2f20d3SPeng Fan			reg = <0>;
44*fa2f20d3SPeng Fan		};
45*fa2f20d3SPeng Fan	};
46*fa2f20d3SPeng Fan
47*fa2f20d3SPeng Fan	reserved-memory {
48*fa2f20d3SPeng Fan		#address-cells = <1>;
49*fa2f20d3SPeng Fan		#size-cells = <1>;
50*fa2f20d3SPeng Fan		ranges;
51*fa2f20d3SPeng Fan
52*fa2f20d3SPeng Fan		/* global autoconfigured region for contiguous allocations */
53*fa2f20d3SPeng Fan		linux,cma {
54*fa2f20d3SPeng Fan			compatible = "shared-dma-pool";
55*fa2f20d3SPeng Fan			reusable;
56*fa2f20d3SPeng Fan			size = <0xC000000>;
57*fa2f20d3SPeng Fan			alignment = <0x2000>;
58*fa2f20d3SPeng Fan			linux,cma-default;
59*fa2f20d3SPeng Fan		};
60*fa2f20d3SPeng Fan
61*fa2f20d3SPeng Fan		rpmsg_reserved: rpmsg@9FFF0000 {
62*fa2f20d3SPeng Fan			no-map;
63*fa2f20d3SPeng Fan			reg = <0x9FF00000 0x100000>;
64*fa2f20d3SPeng Fan		};
65*fa2f20d3SPeng Fan
66*fa2f20d3SPeng Fan	};
67*fa2f20d3SPeng Fan
68*fa2f20d3SPeng Fan	intc: interrupt-controller@40021000 {
69*fa2f20d3SPeng Fan		compatible = "arm,cortex-a7-gic";
70*fa2f20d3SPeng Fan		#interrupt-cells = <3>;
71*fa2f20d3SPeng Fan		interrupt-controller;
72*fa2f20d3SPeng Fan		reg = <0x40021000 0x1000>,
73*fa2f20d3SPeng Fan		      <0x40022000 0x100>;
74*fa2f20d3SPeng Fan	};
75*fa2f20d3SPeng Fan
76*fa2f20d3SPeng Fan	clocks {
77*fa2f20d3SPeng Fan		#address-cells = <1>;
78*fa2f20d3SPeng Fan		#size-cells = <0>;
79*fa2f20d3SPeng Fan
80*fa2f20d3SPeng Fan		ckil: clock@0 {
81*fa2f20d3SPeng Fan			compatible = "fixed-clock";
82*fa2f20d3SPeng Fan			#clock-cells = <0>;
83*fa2f20d3SPeng Fan			clock-frequency = <32768>;
84*fa2f20d3SPeng Fan			clock-output-names = "ckil";
85*fa2f20d3SPeng Fan		};
86*fa2f20d3SPeng Fan
87*fa2f20d3SPeng Fan		osc: clock@1 {
88*fa2f20d3SPeng Fan			compatible = "fixed-clock";
89*fa2f20d3SPeng Fan			#clock-cells = <0>;
90*fa2f20d3SPeng Fan			clock-frequency = <24000000>;
91*fa2f20d3SPeng Fan			clock-output-names = "osc";
92*fa2f20d3SPeng Fan		};
93*fa2f20d3SPeng Fan
94*fa2f20d3SPeng Fan		sirc: clock@2 {
95*fa2f20d3SPeng Fan			compatible = "fixed-clock";
96*fa2f20d3SPeng Fan			#clock-cells = <0>;
97*fa2f20d3SPeng Fan			clock-frequency = <16000000>;
98*fa2f20d3SPeng Fan			clock-output-names = "sirc";
99*fa2f20d3SPeng Fan		};
100*fa2f20d3SPeng Fan
101*fa2f20d3SPeng Fan		firc: clock@3 {
102*fa2f20d3SPeng Fan			compatible = "fixed-clock";
103*fa2f20d3SPeng Fan			#clock-cells = <0>;
104*fa2f20d3SPeng Fan			clock-frequency = <48000000>;
105*fa2f20d3SPeng Fan			clock-output-names = "firc";
106*fa2f20d3SPeng Fan		};
107*fa2f20d3SPeng Fan
108*fa2f20d3SPeng Fan		upll: clock@4 {
109*fa2f20d3SPeng Fan			compatible = "fixed-clock";
110*fa2f20d3SPeng Fan			#clock-cells = <0>;
111*fa2f20d3SPeng Fan			clock-frequency = <480000000>;
112*fa2f20d3SPeng Fan			clock-output-names = "upll";
113*fa2f20d3SPeng Fan		};
114*fa2f20d3SPeng Fan
115*fa2f20d3SPeng Fan		mpll: clock@5 {
116*fa2f20d3SPeng Fan			compatible = "fixed-clock";
117*fa2f20d3SPeng Fan			#clock-cells = <0>;
118*fa2f20d3SPeng Fan			clock-frequency = <480000000>;
119*fa2f20d3SPeng Fan			clock-output-names = "mpll";
120*fa2f20d3SPeng Fan		};
121*fa2f20d3SPeng Fan	};
122*fa2f20d3SPeng Fan
123*fa2f20d3SPeng Fan	sram: sram@20000000 {
124*fa2f20d3SPeng Fan		compatible = "fsl,lpm-sram";
125*fa2f20d3SPeng Fan		reg = <0x1fffc000 0x4000>;
126*fa2f20d3SPeng Fan	};
127*fa2f20d3SPeng Fan
128*fa2f20d3SPeng Fan	ahbbridge0: ahb-bridge0@40000000 {
129*fa2f20d3SPeng Fan		compatible = "fsl,aips-bus", "simple-bus";
130*fa2f20d3SPeng Fan		#address-cells = <1>;
131*fa2f20d3SPeng Fan		#size-cells = <1>;
132*fa2f20d3SPeng Fan		reg = <0x40000000 0x800000>;
133*fa2f20d3SPeng Fan		ranges;
134*fa2f20d3SPeng Fan
135*fa2f20d3SPeng Fan		edma0: dma-controller@40080000 {
136*fa2f20d3SPeng Fan			#dma-cells = <2>;
137*fa2f20d3SPeng Fan			compatible = "nxp,imx7ulp-edma";
138*fa2f20d3SPeng Fan			reg = <0x40080000 0x2000>,
139*fa2f20d3SPeng Fan				<0x40210000 0x1000>;
140*fa2f20d3SPeng Fan			dma-channels = <32>;
141*fa2f20d3SPeng Fan			interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>,
142*fa2f20d3SPeng Fan					<GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>,
143*fa2f20d3SPeng Fan					<GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>,
144*fa2f20d3SPeng Fan					<GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>,
145*fa2f20d3SPeng Fan					<GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>,
146*fa2f20d3SPeng Fan					<GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>,
147*fa2f20d3SPeng Fan					<GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>,
148*fa2f20d3SPeng Fan					<GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>,
149*fa2f20d3SPeng Fan					<GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>,
150*fa2f20d3SPeng Fan					<GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>,
151*fa2f20d3SPeng Fan					<GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>,
152*fa2f20d3SPeng Fan					<GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>,
153*fa2f20d3SPeng Fan					<GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>,
154*fa2f20d3SPeng Fan					<GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>,
155*fa2f20d3SPeng Fan					<GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>,
156*fa2f20d3SPeng Fan					<GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>,
157*fa2f20d3SPeng Fan					<GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>;
158*fa2f20d3SPeng Fan			clock-names = "dma", "dmamux0";
159*fa2f20d3SPeng Fan			clocks = <&clks IMX7ULP_CLK_DMA1>, <&clks IMX7ULP_CLK_DMA_MUX1>;
160*fa2f20d3SPeng Fan		};
161*fa2f20d3SPeng Fan
162*fa2f20d3SPeng Fan		mu: mu@40220000 {
163*fa2f20d3SPeng Fan			compatible = "fsl,imx7ulp-mu", "fsl,imx6sx-mu";
164*fa2f20d3SPeng Fan			reg = <0x40220000 0x1000>;
165*fa2f20d3SPeng Fan			interrupts = <GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH>,
166*fa2f20d3SPeng Fan					<GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>;
167*fa2f20d3SPeng Fan			status = "okay";
168*fa2f20d3SPeng Fan		};
169*fa2f20d3SPeng Fan
170*fa2f20d3SPeng Fan		nmi: nmi@40220000 {
171*fa2f20d3SPeng Fan			compatible = "fsl,imx7ulp-nmi";
172*fa2f20d3SPeng Fan			reg = <0x40220000 0x1000>;
173*fa2f20d3SPeng Fan			interrupts = <GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH>;
174*fa2f20d3SPeng Fan			status = "okay";
175*fa2f20d3SPeng Fan		};
176*fa2f20d3SPeng Fan
177*fa2f20d3SPeng Fan		rpmsg: rpmsg{
178*fa2f20d3SPeng Fan			compatible = "fsl,imx7ulp-rpmsg";
179*fa2f20d3SPeng Fan			memory-region = <&rpmsg_reserved>;
180*fa2f20d3SPeng Fan			status = "disabled";
181*fa2f20d3SPeng Fan		};
182*fa2f20d3SPeng Fan
183*fa2f20d3SPeng Fan		snvs: snvs@40230000 {
184*fa2f20d3SPeng Fan			compatible = "fsl,sec-v4.0-mon","syscon", "simple-mfd";
185*fa2f20d3SPeng Fan			reg = <0x40230000 0x10000>;
186*fa2f20d3SPeng Fan
187*fa2f20d3SPeng Fan			snvs_rtc: snvs-rtc-lp{
188*fa2f20d3SPeng Fan				compatible = "fsl,sec-v4.0-mon-rtc-lp";
189*fa2f20d3SPeng Fan				regmap =<&snvs>;
190*fa2f20d3SPeng Fan				offset = <0x34>;
191*fa2f20d3SPeng Fan				interrupts = <GIC_SPI 69 IRQ_TYPE_LEVEL_HIGH>;
192*fa2f20d3SPeng Fan				clock-names = "snvs-rtc";
193*fa2f20d3SPeng Fan				clocks = <&clks IMX7ULP_CLK_SNVS>;
194*fa2f20d3SPeng Fan			};
195*fa2f20d3SPeng Fan		};
196*fa2f20d3SPeng Fan
197*fa2f20d3SPeng Fan		tpm5: tpm@40260000 {
198*fa2f20d3SPeng Fan			compatible = "fsl,imx7ulp-tpm";
199*fa2f20d3SPeng Fan			reg = <0x40260000 0x1000>;
200*fa2f20d3SPeng Fan			interrupts = <GIC_SPI 22 IRQ_TYPE_LEVEL_HIGH>;
201*fa2f20d3SPeng Fan			clocks = <&clks IMX7ULP_CLK_LPTPM5>;
202*fa2f20d3SPeng Fan		};
203*fa2f20d3SPeng Fan
204*fa2f20d3SPeng Fan		lpit: 1@40270000 {
205*fa2f20d3SPeng Fan			compatible = "fsl,imx-lpit";
206*fa2f20d3SPeng Fan			reg = <0x40270000 0x1000>;
207*fa2f20d3SPeng Fan			interrupts = <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>;
208*fa2f20d3SPeng Fan			/*    clocks = <&lpclk>;*/
209*fa2f20d3SPeng Fan			clocks = <&clks IMX7ULP_CLK_LPIT1>;
210*fa2f20d3SPeng Fan			assigned-clock-rates = <48000000>;
211*fa2f20d3SPeng Fan			assigned-clocks = <&clks IMX7ULP_CLK_LPIT1>;
212*fa2f20d3SPeng Fan			assigned-clock-parents = <&clks IMX7ULP_CLK_FIRC>;
213*fa2f20d3SPeng Fan		};
214*fa2f20d3SPeng Fan
215*fa2f20d3SPeng Fan		lpi2c4: lpi2c4@402B0000 {
216*fa2f20d3SPeng Fan			compatible = "fsl,imx7ulp-lpi2c";
217*fa2f20d3SPeng Fan			reg = <0x402B0000 0x10000>;
218*fa2f20d3SPeng Fan			interrupts = <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>;
219*fa2f20d3SPeng Fan			clocks = <&clks IMX7ULP_CLK_LPI2C4>;
220*fa2f20d3SPeng Fan			clock-names = "ipg";
221*fa2f20d3SPeng Fan			assigned-clocks = <&clks IMX7ULP_CLK_LPI2C4>;
222*fa2f20d3SPeng Fan			assigned-clock-parents = <&clks IMX7ULP_CLK_FIRC>;
223*fa2f20d3SPeng Fan			assigned-clock-rates = <48000000>;
224*fa2f20d3SPeng Fan			status = "disabled";
225*fa2f20d3SPeng Fan		};
226*fa2f20d3SPeng Fan
227*fa2f20d3SPeng Fan		lpi2c5: lpi2c4@402C0000 {
228*fa2f20d3SPeng Fan			compatible = "fsl,imx7ulp-lpi2c";
229*fa2f20d3SPeng Fan			reg = <0x402C0000 0x10000>;
230*fa2f20d3SPeng Fan			interrupts = <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>;
231*fa2f20d3SPeng Fan			clocks = <&clks IMX7ULP_CLK_LPI2C5>;
232*fa2f20d3SPeng Fan			clock-names = "ipg";
233*fa2f20d3SPeng Fan			assigned-clocks = <&clks IMX7ULP_CLK_LPI2C5>;
234*fa2f20d3SPeng Fan			assigned-clock-parents = <&clks IMX7ULP_CLK_FIRC>;
235*fa2f20d3SPeng Fan			assigned-clock-rates = <48000000>;
236*fa2f20d3SPeng Fan			status = "disabled";
237*fa2f20d3SPeng Fan		};
238*fa2f20d3SPeng Fan
239*fa2f20d3SPeng Fan		lpspi2: lpspi@40290000 {
240*fa2f20d3SPeng Fan			compatible = "fsl,imx7ulp-spi";
241*fa2f20d3SPeng Fan			reg = <0x40290000 0x10000>;
242*fa2f20d3SPeng Fan			interrupts = <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH>;
243*fa2f20d3SPeng Fan			clocks = <&clks IMX7ULP_CLK_LPSPI2>;
244*fa2f20d3SPeng Fan			clock-names = "ipg";
245*fa2f20d3SPeng Fan			assigned-clocks = <&clks IMX7ULP_CLK_LPSPI2>;
246*fa2f20d3SPeng Fan			assigned-clock-parents = <&clks IMX7ULP_CLK_FIRC>;
247*fa2f20d3SPeng Fan			assigned-clock-rates = <48000000>;
248*fa2f20d3SPeng Fan			status = "disabled";
249*fa2f20d3SPeng Fan		};
250*fa2f20d3SPeng Fan
251*fa2f20d3SPeng Fan		lpspi3: lpspi@402A0000 {
252*fa2f20d3SPeng Fan			compatible = "fsl,imx7ulp-spi";
253*fa2f20d3SPeng Fan			reg = <0x402A0000 0x10000>;
254*fa2f20d3SPeng Fan			interrupts = <GIC_SPI 29 IRQ_TYPE_LEVEL_HIGH>;
255*fa2f20d3SPeng Fan			clocks = <&clks IMX7ULP_CLK_LPSPI3>;
256*fa2f20d3SPeng Fan			clock-names = "ipg";
257*fa2f20d3SPeng Fan			assigned-clocks = <&clks IMX7ULP_CLK_LPSPI3>;
258*fa2f20d3SPeng Fan			assigned-clock-parents = <&clks IMX7ULP_CLK_FIRC>;
259*fa2f20d3SPeng Fan			assigned-clock-rates = <48000000>;
260*fa2f20d3SPeng Fan			status = "disabled";
261*fa2f20d3SPeng Fan		};
262*fa2f20d3SPeng Fan
263*fa2f20d3SPeng Fan		lpuart4: serial@402D0000 {
264*fa2f20d3SPeng Fan			compatible = "fsl,imx7ulp-lpuart";
265*fa2f20d3SPeng Fan			reg = <0x402D0000 0x1000>;
266*fa2f20d3SPeng Fan			interrupts = <GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>;
267*fa2f20d3SPeng Fan			clocks = <&clks IMX7ULP_CLK_LPUART4>;
268*fa2f20d3SPeng Fan			clock-names = "ipg";
269*fa2f20d3SPeng Fan			assigned-clocks = <&clks IMX7ULP_CLK_LPUART4>;
270*fa2f20d3SPeng Fan			assigned-clock-parents = <&clks IMX7ULP_CLK_OSC>;
271*fa2f20d3SPeng Fan			assigned-clock-rates = <24000000>;
272*fa2f20d3SPeng Fan			status = "disabled";
273*fa2f20d3SPeng Fan		};
274*fa2f20d3SPeng Fan
275*fa2f20d3SPeng Fan		lpuart5: serial@402E0000 {
276*fa2f20d3SPeng Fan			compatible = "fsl,imx7ulp-lpuart";
277*fa2f20d3SPeng Fan			reg = <0x402E0000 0x1000>;
278*fa2f20d3SPeng Fan			interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>;
279*fa2f20d3SPeng Fan			clocks = <&clks IMX7ULP_CLK_LPUART5>;
280*fa2f20d3SPeng Fan			clock-names = "ipg";
281*fa2f20d3SPeng Fan			assigned-clocks = <&clks IMX7ULP_CLK_LPUART5>;
282*fa2f20d3SPeng Fan			assigned-clock-parents = <&clks IMX7ULP_CLK_FIRC>;
283*fa2f20d3SPeng Fan			assigned-clock-rates = <48000000>;
284*fa2f20d3SPeng Fan			dmas = <&edma0 0 20>, <&edma0 0 19>;
285*fa2f20d3SPeng Fan			dma-names = "tx","rx";
286*fa2f20d3SPeng Fan			status = "disabled";
287*fa2f20d3SPeng Fan		};
288*fa2f20d3SPeng Fan
289*fa2f20d3SPeng Fan		usbotg1: usb@40330000 {
290*fa2f20d3SPeng Fan			compatible = "fsl,imx7ulp-usb", "fsl,imx6ul-usb",
291*fa2f20d3SPeng Fan				"fsl,imx27-usb";
292*fa2f20d3SPeng Fan			reg = <0x40330000 0x200>;
293*fa2f20d3SPeng Fan			interrupts = <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>;
294*fa2f20d3SPeng Fan			clocks = <&clks IMX7ULP_CLK_USB0>;
295*fa2f20d3SPeng Fan			fsl,usbphy = <&usbphy1>;
296*fa2f20d3SPeng Fan			fsl,usbmisc = <&usbmisc1 0>;
297*fa2f20d3SPeng Fan			ahb-burst-config = <0x0>;
298*fa2f20d3SPeng Fan			tx-burst-size-dword = <0x8>;
299*fa2f20d3SPeng Fan			rx-burst-size-dword = <0x8>;
300*fa2f20d3SPeng Fan			status = "disabled";
301*fa2f20d3SPeng Fan		};
302*fa2f20d3SPeng Fan
303*fa2f20d3SPeng Fan		usbmisc1: usbmisc@40330200 {
304*fa2f20d3SPeng Fan			#index-cells = <1>;
305*fa2f20d3SPeng Fan			compatible = "fsl,imx7ulp-usbmisc", "fsl,imx7d-usbmisc",
306*fa2f20d3SPeng Fan				"fsl,imx6q-usbmisc";
307*fa2f20d3SPeng Fan			reg = <0x40330200 0x200>;
308*fa2f20d3SPeng Fan		};
309*fa2f20d3SPeng Fan
310*fa2f20d3SPeng Fan		usbphy1: usbphy@0x40350000 {
311*fa2f20d3SPeng Fan			compatible = "fsl,imx7ulp-usbphy",
312*fa2f20d3SPeng Fan				"fsl,imx6ul-usbphy", "fsl,imx23-usbphy";
313*fa2f20d3SPeng Fan			reg = <0x40350000 0x1000>;
314*fa2f20d3SPeng Fan			interrupts = <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>;
315*fa2f20d3SPeng Fan			clocks = <&clks IMX7ULP_CLK_USB_PHY>;
316*fa2f20d3SPeng Fan			nxp,sim = <&sim>;
317*fa2f20d3SPeng Fan		};
318*fa2f20d3SPeng Fan
319*fa2f20d3SPeng Fan		usdhc0: usdhc@40370000 {
320*fa2f20d3SPeng Fan			compatible = "fsl,imx7ulp-usdhc";
321*fa2f20d3SPeng Fan			reg = <0x40370000 0x10000>;
322*fa2f20d3SPeng Fan			interrupts = <GIC_SPI 42 IRQ_TYPE_LEVEL_HIGH>;
323*fa2f20d3SPeng Fan			clocks = <&clks IMX7ULP_CLK_NIC1_BUS_DIV>,
324*fa2f20d3SPeng Fan				 <&clks IMX7ULP_CLK_NIC1_DIV>,
325*fa2f20d3SPeng Fan				 <&clks IMX7ULP_CLK_USDHC0>;
326*fa2f20d3SPeng Fan			clock-names ="ipg", "ahb", "per";
327*fa2f20d3SPeng Fan			bus-width = <4>;
328*fa2f20d3SPeng Fan			fsl,tuning-start-tap = <20>;
329*fa2f20d3SPeng Fan			fsl,tuning-step= <2>;
330*fa2f20d3SPeng Fan			status = "disabled";
331*fa2f20d3SPeng Fan		};
332*fa2f20d3SPeng Fan
333*fa2f20d3SPeng Fan		usdhc1: usdhc@40380000 {
334*fa2f20d3SPeng Fan			compatible = "fsl,imx7ulp-usdhc";
335*fa2f20d3SPeng Fan			reg = <0x40380000 0x10000>;
336*fa2f20d3SPeng Fan			interrupts = <GIC_SPI 43 IRQ_TYPE_LEVEL_HIGH>;
337*fa2f20d3SPeng Fan			clocks = <&clks IMX7ULP_CLK_NIC1_BUS_DIV>,
338*fa2f20d3SPeng Fan				 <&clks IMX7ULP_CLK_NIC1_DIV>,
339*fa2f20d3SPeng Fan				 <&clks IMX7ULP_CLK_USDHC1>;
340*fa2f20d3SPeng Fan			clock-names ="ipg", "ahb", "per";
341*fa2f20d3SPeng Fan			bus-width = <4>;
342*fa2f20d3SPeng Fan			fsl,tuning-start-tap = <20>;
343*fa2f20d3SPeng Fan			fsl,tuning-step= <2>;
344*fa2f20d3SPeng Fan			status = "disabled";
345*fa2f20d3SPeng Fan		};
346*fa2f20d3SPeng Fan
347*fa2f20d3SPeng Fan		wdog1: wdog@403D0000 {
348*fa2f20d3SPeng Fan			compatible = "fsl,imx7ulp-wdt";
349*fa2f20d3SPeng Fan			reg = <0x403D0000 0x10000>;
350*fa2f20d3SPeng Fan			interrupts = <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>;
351*fa2f20d3SPeng Fan			clocks = <&clks IMX7ULP_CLK_WDG1>;
352*fa2f20d3SPeng Fan			assigned-clocks = <&clks IMX7ULP_CLK_WDG1>;
353*fa2f20d3SPeng Fan			assigned-clocks-parents = <&clks IMX7ULP_CLK_FIRC>;
354*fa2f20d3SPeng Fan			/*
355*fa2f20d3SPeng Fan			 * As the 1KHz LPO clock rate is not trimed,the actually clock
356*fa2f20d3SPeng Fan			 * is about 667Hz, so the init timeout 60s should set 40*1000
357*fa2f20d3SPeng Fan			 * in the TOVAL register.
358*fa2f20d3SPeng Fan			 */
359*fa2f20d3SPeng Fan			timeout-sec = <40>;
360*fa2f20d3SPeng Fan		};
361*fa2f20d3SPeng Fan
362*fa2f20d3SPeng Fan		wdog2: wdog@40430000 {
363*fa2f20d3SPeng Fan			compatible = "fsl,imx7ulp-wdt";
364*fa2f20d3SPeng Fan			reg = <0x40430000 0x10000>;
365*fa2f20d3SPeng Fan			interrupts = <GIC_SPI 56 IRQ_TYPE_LEVEL_HIGH>;
366*fa2f20d3SPeng Fan			clocks = <&clks IMX7ULP_CLK_WDG2>;
367*fa2f20d3SPeng Fan			assigned-clocks = <&clks IMX7ULP_CLK_WDG2>;
368*fa2f20d3SPeng Fan			assigned-clocks-parents = <&clks IMX7ULP_CLK_FIRC>;
369*fa2f20d3SPeng Fan			timeout-sec = <40>;
370*fa2f20d3SPeng Fan		};
371*fa2f20d3SPeng Fan
372*fa2f20d3SPeng Fan		clks: scg1@403E0000 {
373*fa2f20d3SPeng Fan			compatible = "fsl,imx7ulp-scg1";
374*fa2f20d3SPeng Fan			reg = <0x403E0000 0x10000>;
375*fa2f20d3SPeng Fan			clocks = <&ckil>, <&osc>, <&sirc>,
376*fa2f20d3SPeng Fan				<&firc>, <&upll>, <&mpll>;
377*fa2f20d3SPeng Fan			clock-names = "ckil", "osc", "sirc",
378*fa2f20d3SPeng Fan				"firc", "upll", "mpll";
379*fa2f20d3SPeng Fan			#clock-cells = <1>;
380*fa2f20d3SPeng Fan			assigned-clocks = <&clks IMX7ULP_CLK_LPTPM5>,
381*fa2f20d3SPeng Fan					  <&clks IMX7ULP_CLK_USDHC1>;
382*fa2f20d3SPeng Fan			assigned-clock-parents = <&clks IMX7ULP_CLK_OSC>,
383*fa2f20d3SPeng Fan						 <&clks IMX7ULP_CLK_NIC1_DIV>;
384*fa2f20d3SPeng Fan		};
385*fa2f20d3SPeng Fan
386*fa2f20d3SPeng Fan		pcc2: pcc2@403F0000 {
387*fa2f20d3SPeng Fan			compatible  = "fsl,imx7ulp-pcc2";
388*fa2f20d3SPeng Fan			reg = <0x403F0000 0x10000>;
389*fa2f20d3SPeng Fan		};
390*fa2f20d3SPeng Fan
391*fa2f20d3SPeng Fan		pmc1: pmc1@40400000 {
392*fa2f20d3SPeng Fan			compatible = "fsl,imx7ulp-pmc1";
393*fa2f20d3SPeng Fan			reg = <0x40400000 0x1000>;
394*fa2f20d3SPeng Fan		};
395*fa2f20d3SPeng Fan
396*fa2f20d3SPeng Fan		smc1: smc1@40410000 {
397*fa2f20d3SPeng Fan			compatible = "fsl,imx7ulp-smc1";
398*fa2f20d3SPeng Fan			reg = <0x40410000 0x1000>;
399*fa2f20d3SPeng Fan		};
400*fa2f20d3SPeng Fan
401*fa2f20d3SPeng Fan	};
402*fa2f20d3SPeng Fan
403*fa2f20d3SPeng Fan	ahbbridge1: ahb-bridge1@40800000 {
404*fa2f20d3SPeng Fan		compatible = "fsl,aips-bus", "simple-bus";
405*fa2f20d3SPeng Fan		#address-cells = <1>;
406*fa2f20d3SPeng Fan		#size-cells = <1>;
407*fa2f20d3SPeng Fan		reg = <0x40800000 0x800000>;
408*fa2f20d3SPeng Fan		ranges;
409*fa2f20d3SPeng Fan
410*fa2f20d3SPeng Fan		lpi2c6: lpi2c6@40A40000 {
411*fa2f20d3SPeng Fan			compatible = "fsl,imx7ulp-lpi2c";
412*fa2f20d3SPeng Fan			reg = <0x40A40000 0x10000>;
413*fa2f20d3SPeng Fan			interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>;
414*fa2f20d3SPeng Fan			clocks = <&clks IMX7ULP_CLK_LPI2C6>;
415*fa2f20d3SPeng Fan			clock-names = "ipg";
416*fa2f20d3SPeng Fan			assigned-clocks = <&clks IMX7ULP_CLK_LPI2C6>;
417*fa2f20d3SPeng Fan			assigned-clock-parents = <&clks IMX7ULP_CLK_FIRC>;
418*fa2f20d3SPeng Fan			assigned-clock-rates = <48000000>;
419*fa2f20d3SPeng Fan			status = "disabled";
420*fa2f20d3SPeng Fan		};
421*fa2f20d3SPeng Fan
422*fa2f20d3SPeng Fan		lpi2c7: lpi2c7@40A50000 {
423*fa2f20d3SPeng Fan			compatible = "fsl,imx7ulp-lpi2c";
424*fa2f20d3SPeng Fan			reg = <0x40A50000 0x10000>;
425*fa2f20d3SPeng Fan			interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>;
426*fa2f20d3SPeng Fan			clocks = <&clks IMX7ULP_CLK_LPI2C7>;
427*fa2f20d3SPeng Fan			clock-names = "ipg";
428*fa2f20d3SPeng Fan			assigned-clocks = <&clks IMX7ULP_CLK_LPI2C7>;
429*fa2f20d3SPeng Fan			assigned-clock-parents = <&clks IMX7ULP_CLK_FIRC>;
430*fa2f20d3SPeng Fan			assigned-clock-rates = <48000000>;
431*fa2f20d3SPeng Fan			status = "disabled";
432*fa2f20d3SPeng Fan		};
433*fa2f20d3SPeng Fan
434*fa2f20d3SPeng Fan		lpuart6: serial@40A60000 {
435*fa2f20d3SPeng Fan			compatible = "fsl,imx7ulp-lpuart";
436*fa2f20d3SPeng Fan			reg = <0x40A60000 0x1000>;
437*fa2f20d3SPeng Fan			interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>;
438*fa2f20d3SPeng Fan			clocks = <&clks IMX7ULP_CLK_LPUART6>;
439*fa2f20d3SPeng Fan			clock-names = "ipg";
440*fa2f20d3SPeng Fan			assigned-clocks = <&clks IMX7ULP_CLK_LPUART6>;
441*fa2f20d3SPeng Fan			assigned-clock-parents = <&clks IMX7ULP_CLK_FIRC>;
442*fa2f20d3SPeng Fan			assigned-clock-rates = <48000000>;
443*fa2f20d3SPeng Fan			dmas = <&edma0 0 22>, <&edma0 0 21>;
444*fa2f20d3SPeng Fan			dma-names = "tx","rx";
445*fa2f20d3SPeng Fan			status = "disabled";
446*fa2f20d3SPeng Fan		};
447*fa2f20d3SPeng Fan
448*fa2f20d3SPeng Fan		lpuart7: serial@40A70000 {
449*fa2f20d3SPeng Fan			compatible = "fsl,imx7ulp-lpuart";
450*fa2f20d3SPeng Fan			reg = <0x40A70000 0x1000>;
451*fa2f20d3SPeng Fan			interrupts = <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>;
452*fa2f20d3SPeng Fan			clocks = <&clks IMX7ULP_CLK_LPUART7>;
453*fa2f20d3SPeng Fan			clock-names = "ipg";
454*fa2f20d3SPeng Fan			assigned-clocks = <&clks IMX7ULP_CLK_LPUART7>;
455*fa2f20d3SPeng Fan			assigned-clock-parents = <&clks IMX7ULP_CLK_FIRC>;
456*fa2f20d3SPeng Fan			assigned-clock-rates = <50000000>;
457*fa2f20d3SPeng Fan			dmas = <&edma0 0 24>, <&edma0 0 23>;
458*fa2f20d3SPeng Fan			dma-names = "tx","rx";
459*fa2f20d3SPeng Fan			status = "disabled";
460*fa2f20d3SPeng Fan		};
461*fa2f20d3SPeng Fan
462*fa2f20d3SPeng Fan		lcdif: lcdif@40AA0000 {
463*fa2f20d3SPeng Fan			compatible = "fsl,imx7ulp-lcdif";
464*fa2f20d3SPeng Fan			reg = <0x40aa0000 0x10000>;
465*fa2f20d3SPeng Fan			interrupts = <GIC_SPI 47 IRQ_TYPE_LEVEL_HIGH>;
466*fa2f20d3SPeng Fan			clocks = <&clks IMX7ULP_CLK_DUMMY>,
467*fa2f20d3SPeng Fan				 <&clks IMX7ULP_CLK_LCDIF>,
468*fa2f20d3SPeng Fan				 <&clks IMX7ULP_CLK_DUMMY>;
469*fa2f20d3SPeng Fan			clock-names = "axi", "pix", "disp_axi";
470*fa2f20d3SPeng Fan			status = "disabled";
471*fa2f20d3SPeng Fan		};
472*fa2f20d3SPeng Fan
473*fa2f20d3SPeng Fan		mipi_dsi: mipi_dsi@40A90000 {
474*fa2f20d3SPeng Fan			compatible = "fsl,imx7ulp-mipi-dsi";
475*fa2f20d3SPeng Fan			reg = <0x40A90000 0x10000>;
476*fa2f20d3SPeng Fan			interrupts = <GIC_SPI 46 IRQ_TYPE_LEVEL_HIGH>;
477*fa2f20d3SPeng Fan			clocks = <&clks IMX7ULP_CLK_DSI>;
478*fa2f20d3SPeng Fan			clock-names = "mipi_dsi_clk";
479*fa2f20d3SPeng Fan			sim = <&sim>;
480*fa2f20d3SPeng Fan			status = "disabled";
481*fa2f20d3SPeng Fan		};
482*fa2f20d3SPeng Fan
483*fa2f20d3SPeng Fan		mmdc: mmdc@40ab0000 {
484*fa2f20d3SPeng Fan			compatible = "fsl,imx7ulp-mmdc";
485*fa2f20d3SPeng Fan			reg = <0x40ab0000 0x4000>;
486*fa2f20d3SPeng Fan		};
487*fa2f20d3SPeng Fan
488*fa2f20d3SPeng Fan		pcc3: pcc3@40B30000 {
489*fa2f20d3SPeng Fan			compatible  = "fsl,imx7ulp-pcc3";
490*fa2f20d3SPeng Fan			reg = <0x40B30000 0x10000>;
491*fa2f20d3SPeng Fan		};
492*fa2f20d3SPeng Fan
493*fa2f20d3SPeng Fan		iomuxc: iomuxc@4103D000 {
494*fa2f20d3SPeng Fan			compatible = "fsl,imx7ulp-iomuxc-0";
495*fa2f20d3SPeng Fan			reg = <0x4103D000 0x1000>;
496*fa2f20d3SPeng Fan			fsl,mux_mask = <0xf00>;
497*fa2f20d3SPeng Fan			status = "disabled";
498*fa2f20d3SPeng Fan		};
499*fa2f20d3SPeng Fan
500*fa2f20d3SPeng Fan		iomuxc1: iomuxc1@40ac0000 {
501*fa2f20d3SPeng Fan			compatible = "fsl,imx7ulp-iomuxc-1";
502*fa2f20d3SPeng Fan			reg = <0x40ac0000 0x1000>;
503*fa2f20d3SPeng Fan			fsl,mux_mask = <0xf00>;
504*fa2f20d3SPeng Fan		};
505*fa2f20d3SPeng Fan
506*fa2f20d3SPeng Fan		gpio0: gpio@40ae0000 {
507*fa2f20d3SPeng Fan			compatible = "fsl,imx7ulp-gpio";
508*fa2f20d3SPeng Fan			reg = <0x40ae0000 0x1000 0x400F0000 0x40>;
509*fa2f20d3SPeng Fan			gpio-controller;
510*fa2f20d3SPeng Fan			#gpio-cells = <2>;
511*fa2f20d3SPeng Fan			interrupts = <GIC_SPI 48 IRQ_TYPE_LEVEL_HIGH>;
512*fa2f20d3SPeng Fan			interrupt-controller;
513*fa2f20d3SPeng Fan			#interrupt-cells = <2>;
514*fa2f20d3SPeng Fan			gpio-ranges = <&iomuxc1 0 0 32>;
515*fa2f20d3SPeng Fan		};
516*fa2f20d3SPeng Fan
517*fa2f20d3SPeng Fan		gpio1: gpio@40af0000 {
518*fa2f20d3SPeng Fan			compatible = "fsl,imx7ulp-gpio";
519*fa2f20d3SPeng Fan			reg = <0x40af0000 0x1000 0x400F0040 0x40>;
520*fa2f20d3SPeng Fan			gpio-controller;
521*fa2f20d3SPeng Fan			#gpio-cells = <2>;
522*fa2f20d3SPeng Fan			interrupts = <GIC_SPI 49 IRQ_TYPE_LEVEL_HIGH>;
523*fa2f20d3SPeng Fan			interrupt-controller;
524*fa2f20d3SPeng Fan			#interrupt-cells = <2>;
525*fa2f20d3SPeng Fan			gpio-ranges = <&iomuxc1 0 32 32>;
526*fa2f20d3SPeng Fan		};
527*fa2f20d3SPeng Fan
528*fa2f20d3SPeng Fan		gpio2: gpio@40b00000 {
529*fa2f20d3SPeng Fan			compatible = "fsl,imx7ulp-gpio";
530*fa2f20d3SPeng Fan			reg = <0x40b00000 0x1000 0x400F0080 0x40>;
531*fa2f20d3SPeng Fan			gpio-controller;
532*fa2f20d3SPeng Fan			#gpio-cells = <2>;
533*fa2f20d3SPeng Fan			interrupts = <GIC_SPI 50 IRQ_TYPE_LEVEL_HIGH>;
534*fa2f20d3SPeng Fan			interrupt-controller;
535*fa2f20d3SPeng Fan			#interrupt-cells = <2>;
536*fa2f20d3SPeng Fan			gpio-ranges = <&iomuxc1 0 64 32>;
537*fa2f20d3SPeng Fan		};
538*fa2f20d3SPeng Fan
539*fa2f20d3SPeng Fan		gpio3: gpio@40b10000 {
540*fa2f20d3SPeng Fan			compatible = "fsl,imx7ulp-gpio";
541*fa2f20d3SPeng Fan			reg = <0x40b10000 0x1000 0x400F00c0 0x40>;
542*fa2f20d3SPeng Fan			gpio-controller;
543*fa2f20d3SPeng Fan			#gpio-cells = <2>;
544*fa2f20d3SPeng Fan			interrupts = <GIC_SPI 51 IRQ_TYPE_LEVEL_HIGH>;
545*fa2f20d3SPeng Fan			interrupt-controller;
546*fa2f20d3SPeng Fan			#interrupt-cells = <2>;
547*fa2f20d3SPeng Fan			gpio-ranges = <&iomuxc1 0 96 32>;
548*fa2f20d3SPeng Fan		};
549*fa2f20d3SPeng Fan
550*fa2f20d3SPeng Fan		pmc0: pmc0@410a1000 {
551*fa2f20d3SPeng Fan			compatible = "fsl,imx7ulp-pmc0";
552*fa2f20d3SPeng Fan			reg = <0x410a1000 0x1000>;
553*fa2f20d3SPeng Fan		};
554*fa2f20d3SPeng Fan
555*fa2f20d3SPeng Fan		sim: sim@410a3000 {
556*fa2f20d3SPeng Fan			compatible = "fsl,imx7ulp-sim", "syscon";
557*fa2f20d3SPeng Fan			reg = <0x410a3000 0x1000>;
558*fa2f20d3SPeng Fan		};
559*fa2f20d3SPeng Fan
560*fa2f20d3SPeng Fan		qspi1: qspi@410A5000 {
561*fa2f20d3SPeng Fan			#address-cells = <1>;
562*fa2f20d3SPeng Fan			#size-cells = <0>;
563*fa2f20d3SPeng Fan			compatible = "fsl,imx7ulp-qspi";
564*fa2f20d3SPeng Fan			reg = <0x410A5000 0x10000>, <0xC0000000 0x10000000>;
565*fa2f20d3SPeng Fan			reg-names = "QuadSPI", "QuadSPI-memory";
566*fa2f20d3SPeng Fan			interrupts = <GIC_SPI 64 IRQ_TYPE_LEVEL_HIGH>;
567*fa2f20d3SPeng Fan			clocks = <&clks IMX7ULP_CLK_DUMMY>,
568*fa2f20d3SPeng Fan				 <&clks IMX7ULP_CLK_DUMMY>;
569*fa2f20d3SPeng Fan			clock-names = "qspi_en", "qspi";
570*fa2f20d3SPeng Fan			status = "disabled";
571*fa2f20d3SPeng Fan		};
572*fa2f20d3SPeng Fan
573*fa2f20d3SPeng Fan		gpu: gpu@41800000 {
574*fa2f20d3SPeng Fan			compatible = "fsl,imx6q-gpu";
575*fa2f20d3SPeng Fan			reg = <0x41800000 0x80000>, <0x41880000 0x80000>,
576*fa2f20d3SPeng Fan				<0x60000000 0x40000000>, <0x0 0x4000000>;
577*fa2f20d3SPeng Fan			reg-names = "iobase_3d", "iobase_2d",
578*fa2f20d3SPeng Fan				"phys_baseaddr", "contiguous_mem";
579*fa2f20d3SPeng Fan			interrupts = <GIC_SPI 44 IRQ_TYPE_LEVEL_HIGH>,
580*fa2f20d3SPeng Fan				<GIC_SPI 52 IRQ_TYPE_LEVEL_HIGH>;
581*fa2f20d3SPeng Fan			interrupt-names = "irq_3d", "irq_2d";
582*fa2f20d3SPeng Fan			clocks = <&clks IMX7ULP_CLK_GPU3D>,
583*fa2f20d3SPeng Fan				<&clks IMX7ULP_CLK_NIC1_DIV>,
584*fa2f20d3SPeng Fan				<&clks IMX7ULP_CLK_GPU_DIV>,
585*fa2f20d3SPeng Fan				<&clks IMX7ULP_CLK_GPU2D>,
586*fa2f20d3SPeng Fan				<&clks IMX7ULP_CLK_NIC1_DIV>,
587*fa2f20d3SPeng Fan				<&clks IMX7ULP_CLK_NIC1_DIV>;
588*fa2f20d3SPeng Fan			clock-names = "gpu3d_clk", "gpu3d_shader_clk",
589*fa2f20d3SPeng Fan				"gpu3d_axi_clk", "gpu2d_clk",
590*fa2f20d3SPeng Fan				"gpu2d_shader_clk", "gpu2d_axi_clk";
591*fa2f20d3SPeng Fan		};
592*fa2f20d3SPeng Fan	};
593*fa2f20d3SPeng Fan
594*fa2f20d3SPeng Fan  imx_ion {
595*fa2f20d3SPeng Fan    compatible = "fsl,mxc-ion";
596*fa2f20d3SPeng Fan    fsl,heap-id = <0>;
597*fa2f20d3SPeng Fan  };
598*fa2f20d3SPeng Fan};
599