xref: /rk3399_rockchip-uboot/arch/arm/dts/fsl-ls1043a.dtsi (revision 0675f992dbf4a785a05a1baf149c2bce6aa5fe90)
1e1cecb4dSGong Qianyu/*
2e1cecb4dSGong Qianyu * Device Tree Include file for Freescale Layerscape-1043A family SoC.
3e1cecb4dSGong Qianyu *
4e1cecb4dSGong Qianyu * Copyright (C) 2014-2015, Freescale Semiconductor
5e1cecb4dSGong Qianyu *
6e1cecb4dSGong Qianyu * Mingkai Hu <Mingkai.hu@freescale.com>
7e1cecb4dSGong Qianyu *
8e1cecb4dSGong Qianyu * This file is licensed under the terms of the GNU General Public
9e1cecb4dSGong Qianyu * License version 2.  This program is licensed "as is" without any
10e1cecb4dSGong Qianyu * warranty of any kind, whether express or implied.
11e1cecb4dSGong Qianyu */
12e1cecb4dSGong Qianyu
13e1cecb4dSGong Qianyu/include/ "skeleton64.dtsi"
14e1cecb4dSGong Qianyu
15e1cecb4dSGong Qianyu/ {
16e1cecb4dSGong Qianyu	compatible = "fsl,ls1043a";
17e1cecb4dSGong Qianyu	interrupt-parent = <&gic>;
18e1cecb4dSGong Qianyu
19e1cecb4dSGong Qianyu	sysclk: sysclk {
20e1cecb4dSGong Qianyu		compatible = "fixed-clock";
21e1cecb4dSGong Qianyu		#clock-cells = <0>;
22e1cecb4dSGong Qianyu		clock-frequency = <100000000>;
23e1cecb4dSGong Qianyu		clock-output-names = "sysclk";
24e1cecb4dSGong Qianyu	};
25e1cecb4dSGong Qianyu
26e1cecb4dSGong Qianyu	gic: interrupt-controller@1400000 {
27e1cecb4dSGong Qianyu		compatible = "arm,gic-400";
28e1cecb4dSGong Qianyu		#interrupt-cells = <3>;
29e1cecb4dSGong Qianyu		interrupt-controller;
30e1cecb4dSGong Qianyu		reg = <0x0 0x1401000 0 0x1000>, /* GICD */
31e1cecb4dSGong Qianyu		      <0x0 0x1402000 0 0x2000>, /* GICC */
32e1cecb4dSGong Qianyu		      <0x0 0x1404000 0 0x2000>, /* GICH */
33e1cecb4dSGong Qianyu		      <0x0 0x1406000 0 0x2000>; /* GICV */
34e1cecb4dSGong Qianyu		interrupts = <1 9 0xf08>;
35e1cecb4dSGong Qianyu	};
36e1cecb4dSGong Qianyu
37e1cecb4dSGong Qianyu	soc {
38e1cecb4dSGong Qianyu		compatible = "simple-bus";
39e1cecb4dSGong Qianyu		#address-cells = <2>;
40e1cecb4dSGong Qianyu		#size-cells = <2>;
41e1cecb4dSGong Qianyu		ranges;
42e1cecb4dSGong Qianyu
43e1cecb4dSGong Qianyu		clockgen: clocking@1ee1000 {
44e1cecb4dSGong Qianyu			compatible = "fsl,ls1043a-clockgen";
45e1cecb4dSGong Qianyu			reg = <0x0 0x1ee1000 0x0 0x1000>;
46e1cecb4dSGong Qianyu			#clock-cells = <2>;
47e1cecb4dSGong Qianyu			clocks = <&sysclk>;
48e1cecb4dSGong Qianyu		};
49e1cecb4dSGong Qianyu
5028752cf8SGong Qianyu		dspi0: dspi@2100000 {
5128752cf8SGong Qianyu			compatible = "fsl,vf610-dspi";
5228752cf8SGong Qianyu			#address-cells = <1>;
5328752cf8SGong Qianyu			#size-cells = <0>;
5428752cf8SGong Qianyu			reg = <0x0 0x2100000 0x0 0x10000>;
5528752cf8SGong Qianyu			interrupts = <0 64 0x4>;
5628752cf8SGong Qianyu			clock-names = "dspi";
5728752cf8SGong Qianyu			clocks = <&clockgen 4 0>;
5828752cf8SGong Qianyu			num-cs = <6>;
5928752cf8SGong Qianyu			big-endian;
6028752cf8SGong Qianyu			status = "disabled";
6128752cf8SGong Qianyu		};
6228752cf8SGong Qianyu
6328752cf8SGong Qianyu		dspi1: dspi@2110000 {
6428752cf8SGong Qianyu			compatible = "fsl,vf610-dspi";
6528752cf8SGong Qianyu			#address-cells = <1>;
6628752cf8SGong Qianyu			#size-cells = <0>;
6728752cf8SGong Qianyu			reg = <0x0 0x2110000 0x0 0x10000>;
6828752cf8SGong Qianyu			interrupts = <0 65 0x4>;
6928752cf8SGong Qianyu			clock-names = "dspi";
7028752cf8SGong Qianyu			clocks = <&clockgen 4 0>;
7128752cf8SGong Qianyu			num-cs = <6>;
7228752cf8SGong Qianyu			big-endian;
7328752cf8SGong Qianyu			status = "disabled";
7428752cf8SGong Qianyu		};
7528752cf8SGong Qianyu
76e1cecb4dSGong Qianyu		ifc: ifc@1530000 {
77e1cecb4dSGong Qianyu			compatible = "fsl,ifc", "simple-bus";
78e1cecb4dSGong Qianyu			reg = <0x0 0x1530000 0x0 0x10000>;
79e1cecb4dSGong Qianyu			interrupts = <0 43 0x4>;
80e1cecb4dSGong Qianyu		};
81e1cecb4dSGong Qianyu
82e1cecb4dSGong Qianyu		i2c0: i2c@2180000 {
83e1cecb4dSGong Qianyu			compatible = "fsl,vf610-i2c";
84e1cecb4dSGong Qianyu			#address-cells = <1>;
85e1cecb4dSGong Qianyu			#size-cells = <0>;
86e1cecb4dSGong Qianyu			reg = <0x0 0x2180000 0x0 0x10000>;
87e1cecb4dSGong Qianyu			interrupts = <0 56 0x4>;
88e1cecb4dSGong Qianyu			clock-names = "i2c";
89e1cecb4dSGong Qianyu			clocks = <&clockgen 4 0>;
90e1cecb4dSGong Qianyu			status = "disabled";
91e1cecb4dSGong Qianyu		};
92e1cecb4dSGong Qianyu
93e1cecb4dSGong Qianyu		i2c1: i2c@2190000 {
94e1cecb4dSGong Qianyu			compatible = "fsl,vf610-i2c";
95e1cecb4dSGong Qianyu			#address-cells = <1>;
96e1cecb4dSGong Qianyu			#size-cells = <0>;
97e1cecb4dSGong Qianyu			reg = <0x0 0x2190000 0x0 0x10000>;
98e1cecb4dSGong Qianyu			interrupts = <0 57 0x4>;
99e1cecb4dSGong Qianyu			clock-names = "i2c";
100e1cecb4dSGong Qianyu			clocks = <&clockgen 4 0>;
101e1cecb4dSGong Qianyu			status = "disabled";
102e1cecb4dSGong Qianyu		};
103e1cecb4dSGong Qianyu
104e1cecb4dSGong Qianyu		i2c2: i2c@21a0000 {
105e1cecb4dSGong Qianyu			compatible = "fsl,vf610-i2c";
106e1cecb4dSGong Qianyu			#address-cells = <1>;
107e1cecb4dSGong Qianyu			#size-cells = <0>;
108e1cecb4dSGong Qianyu			reg = <0x0 0x21a0000 0x0 0x10000>;
109e1cecb4dSGong Qianyu			interrupts = <0 58 0x4>;
110e1cecb4dSGong Qianyu			clock-names = "i2c";
111e1cecb4dSGong Qianyu			clocks = <&clockgen 4 0>;
112e1cecb4dSGong Qianyu			status = "disabled";
113e1cecb4dSGong Qianyu		};
114e1cecb4dSGong Qianyu
115e1cecb4dSGong Qianyu		i2c3: i2c@21b0000 {
116e1cecb4dSGong Qianyu			compatible = "fsl,vf610-i2c";
117e1cecb4dSGong Qianyu			#address-cells = <1>;
118e1cecb4dSGong Qianyu			#size-cells = <0>;
119e1cecb4dSGong Qianyu			reg = <0x0 0x21b0000 0x0 0x10000>;
120e1cecb4dSGong Qianyu			interrupts = <0 59 0x4>;
121e1cecb4dSGong Qianyu			clock-names = "i2c";
122e1cecb4dSGong Qianyu			clocks = <&clockgen 4 0>;
123e1cecb4dSGong Qianyu			status = "disabled";
124e1cecb4dSGong Qianyu		};
125e1cecb4dSGong Qianyu
126e1cecb4dSGong Qianyu		duart0: serial@21c0500 {
127e1cecb4dSGong Qianyu			compatible = "fsl,ns16550", "ns16550a";
128e1cecb4dSGong Qianyu			reg = <0x00 0x21c0500 0x0 0x100>;
129e1cecb4dSGong Qianyu			interrupts = <0 54 0x4>;
130e1cecb4dSGong Qianyu			clocks = <&clockgen 4 0>;
131e1cecb4dSGong Qianyu		};
132e1cecb4dSGong Qianyu
133e1cecb4dSGong Qianyu		duart1: serial@21c0600 {
134e1cecb4dSGong Qianyu			compatible = "fsl,ns16550", "ns16550a";
135e1cecb4dSGong Qianyu			reg = <0x00 0x21c0600 0x0 0x100>;
136e1cecb4dSGong Qianyu			interrupts = <0 54 0x4>;
137e1cecb4dSGong Qianyu			clocks = <&clockgen 4 0>;
138e1cecb4dSGong Qianyu		};
139e1cecb4dSGong Qianyu
140e1cecb4dSGong Qianyu		duart2: serial@21d0500 {
141e1cecb4dSGong Qianyu			compatible = "fsl,ns16550", "ns16550a";
142e1cecb4dSGong Qianyu			reg = <0x0 0x21d0500 0x0 0x100>;
143e1cecb4dSGong Qianyu			interrupts = <0 55 0x4>;
144e1cecb4dSGong Qianyu			clocks = <&clockgen 4 0>;
145e1cecb4dSGong Qianyu		};
146e1cecb4dSGong Qianyu
147e1cecb4dSGong Qianyu		duart3: serial@21d0600 {
148e1cecb4dSGong Qianyu			compatible = "fsl,ns16550", "ns16550a";
149e1cecb4dSGong Qianyu			reg = <0x0 0x21d0600 0x0 0x100>;
150e1cecb4dSGong Qianyu			interrupts = <0 55 0x4>;
151e1cecb4dSGong Qianyu			clocks = <&clockgen 4 0>;
152e1cecb4dSGong Qianyu		};
1532970e14fSWenbin Song
1542970e14fSWenbin Song		lpuart0: serial@2950000 {
1552970e14fSWenbin Song			compatible = "fsl,ls1021a-lpuart";
1562970e14fSWenbin Song			reg = <0x0 0x2950000 0x0 0x1000>;
1572970e14fSWenbin Song			interrupts = <0 48 0x4>;
1582970e14fSWenbin Song			clocks = <&sysclk>;
1592970e14fSWenbin Song			clock-names = "ipg";
1602970e14fSWenbin Song			status = "disabled";
1612970e14fSWenbin Song		};
1622970e14fSWenbin Song
1632970e14fSWenbin Song		lpuart1: serial@2960000 {
1642970e14fSWenbin Song			compatible = "fsl,ls1021a-lpuart";
1652970e14fSWenbin Song			reg = <0x0 0x2960000 0x0 0x1000>;
1662970e14fSWenbin Song			interrupts = <0 49 0x4>;
1672970e14fSWenbin Song			clocks = <&sysclk>;
1682970e14fSWenbin Song			clock-names = "ipg";
1692970e14fSWenbin Song			status = "disabled";
1702970e14fSWenbin Song		};
1712970e14fSWenbin Song
1722970e14fSWenbin Song		lpuart2: serial@2970000 {
1732970e14fSWenbin Song			compatible = "fsl,ls1021a-lpuart";
1742970e14fSWenbin Song			reg = <0x0 0x2970000 0x0 0x1000>;
1752970e14fSWenbin Song			interrupts = <0 50 0x4>;
1762970e14fSWenbin Song			clock-names = "ipg";
1772970e14fSWenbin Song			clocks = <&sysclk>;
1782970e14fSWenbin Song			status = "disabled";
1792970e14fSWenbin Song		};
1802970e14fSWenbin Song
1812970e14fSWenbin Song		lpuart3: serial@2980000 {
1822970e14fSWenbin Song			compatible = "fsl,ls1021a-lpuart";
1832970e14fSWenbin Song			reg = <0x0 0x2980000 0x0 0x1000>;
1842970e14fSWenbin Song			interrupts = <0 51 0x4>;
1852970e14fSWenbin Song			clocks = <&sysclk>;
1862970e14fSWenbin Song			clock-names = "ipg";
1872970e14fSWenbin Song			status = "disabled";
1882970e14fSWenbin Song		};
1892970e14fSWenbin Song
1902970e14fSWenbin Song		lpuart4: serial@2990000 {
1912970e14fSWenbin Song			compatible = "fsl,ls1021a-lpuart";
1922970e14fSWenbin Song			reg = <0x0 0x2990000 0x0 0x1000>;
1932970e14fSWenbin Song			interrupts = <0 52 0x4>;
1942970e14fSWenbin Song			clocks = <&sysclk>;
1952970e14fSWenbin Song			clock-names = "ipg";
1962970e14fSWenbin Song			status = "disabled";
1972970e14fSWenbin Song		};
1982970e14fSWenbin Song
1992970e14fSWenbin Song		lpuart5: serial@29a0000 {
2002970e14fSWenbin Song			compatible = "fsl,ls1021a-lpuart";
2012970e14fSWenbin Song			reg = <0x0 0x29a0000 0x0 0x1000>;
2022970e14fSWenbin Song			interrupts = <0 53 0x4>;
2032970e14fSWenbin Song			clocks = <&sysclk>;
2042970e14fSWenbin Song			clock-names = "ipg";
2052970e14fSWenbin Song			status = "disabled";
2062970e14fSWenbin Song		};
207166ef1e9SGong Qianyu		qspi: quadspi@1550000 {
208166ef1e9SGong Qianyu			compatible = "fsl,vf610-qspi";
209166ef1e9SGong Qianyu			#address-cells = <1>;
210166ef1e9SGong Qianyu			#size-cells = <0>;
21187e566d7SYuan Yao			reg = <0x0 0x1550000 0x0 0x10000>,
21287e566d7SYuan Yao				<0x0 0x40000000 0x0 0x4000000>;
21387e566d7SYuan Yao			reg-names = "QuadSPI", "QuadSPI-memory";
214166ef1e9SGong Qianyu			num-cs = <2>;
215166ef1e9SGong Qianyu			big-endian;
216166ef1e9SGong Qianyu			status = "disabled";
217166ef1e9SGong Qianyu		};
218e1e3fc14SSriram Dash
219e1e3fc14SSriram Dash		usb0: usb3@2f00000 {
220e1e3fc14SSriram Dash			compatible = "fsl,layerscape-dwc3";
221e1e3fc14SSriram Dash			reg = <0x0 0x2f00000 0x0 0x10000>;
222e1e3fc14SSriram Dash			interrupts = <0 60 0x4>;
223e1e3fc14SSriram Dash			dr_mode = "host";
224e1e3fc14SSriram Dash		};
225e1e3fc14SSriram Dash
226e1e3fc14SSriram Dash		usb1: usb3@3000000 {
227e1e3fc14SSriram Dash			compatible = "fsl,layerscape-dwc3";
228e1e3fc14SSriram Dash			reg = <0x0 0x3000000 0x0 0x10000>;
229e1e3fc14SSriram Dash			interrupts = <0 61 0x4>;
230e1e3fc14SSriram Dash			dr_mode = "host";
231e1e3fc14SSriram Dash		};
232e1e3fc14SSriram Dash
233e1e3fc14SSriram Dash		usb2: usb3@3100000 {
234e1e3fc14SSriram Dash			compatible = "fsl,layerscape-dwc3";
235e1e3fc14SSriram Dash			reg = <0x0 0x3100000 0x0 0x10000>;
236e1e3fc14SSriram Dash			interrupts = <0 63 0x4>;
237e1e3fc14SSriram Dash			dr_mode = "host";
238e1e3fc14SSriram Dash		};
239*ed9bddefSMinghuan Lian
240*ed9bddefSMinghuan Lian		pcie@3400000 {
241*ed9bddefSMinghuan Lian			compatible = "fsl,ls-pcie", "snps,dw-pcie";
242*ed9bddefSMinghuan Lian			reg = <0x00 0x03400000 0x0 0x10000   /* dbi registers */
243*ed9bddefSMinghuan Lian			       0x00 0x03410000 0x0 0x10000   /* lut registers */
244*ed9bddefSMinghuan Lian			       0x40 0x00000000 0x0 0x20000>; /* configuration space */
245*ed9bddefSMinghuan Lian			reg-names = "dbi", "lut", "config";
246*ed9bddefSMinghuan Lian			big-endian;
247*ed9bddefSMinghuan Lian			#address-cells = <3>;
248*ed9bddefSMinghuan Lian			#size-cells = <2>;
249*ed9bddefSMinghuan Lian			device_type = "pci";
250*ed9bddefSMinghuan Lian			bus-range = <0x0 0xff>;
251*ed9bddefSMinghuan Lian			ranges = <0x81000000 0x0 0x00000000 0x40 0x00020000 0x0 0x00010000   /* downstream I/O */
252*ed9bddefSMinghuan Lian				  0x82000000 0x0 0x40000000 0x40 0x40000000 0x0 0x40000000>; /* non-prefetchable memory */
253*ed9bddefSMinghuan Lian		};
254*ed9bddefSMinghuan Lian
255*ed9bddefSMinghuan Lian		pcie@3500000 {
256*ed9bddefSMinghuan Lian			compatible = "fsl,ls-pcie", "snps,dw-pcie";
257*ed9bddefSMinghuan Lian			reg = <0x00 0x03500000 0x0 0x10000   /* dbi registers */
258*ed9bddefSMinghuan Lian			       0x00 0x03510000 0x0 0x10000   /* lut registers */
259*ed9bddefSMinghuan Lian			       0x48 0x00000000 0x0 0x20000>; /* configuration space */
260*ed9bddefSMinghuan Lian			reg-names = "dbi", "lut", "config";
261*ed9bddefSMinghuan Lian			big-endian;
262*ed9bddefSMinghuan Lian			#address-cells = <3>;
263*ed9bddefSMinghuan Lian			#size-cells = <2>;
264*ed9bddefSMinghuan Lian			device_type = "pci";
265*ed9bddefSMinghuan Lian			num-lanes = <2>;
266*ed9bddefSMinghuan Lian			bus-range = <0x0 0xff>;
267*ed9bddefSMinghuan Lian			ranges = <0x81000000 0x0 0x00000000 0x48 0x00020000 0x0 0x00010000   /* downstream I/O */
268*ed9bddefSMinghuan Lian				  0x82000000 0x0 0x40000000 0x48 0x40000000 0x0 0x40000000>; /* non-prefetchable memory */
269*ed9bddefSMinghuan Lian		};
270*ed9bddefSMinghuan Lian
271*ed9bddefSMinghuan Lian		pcie@3600000 {
272*ed9bddefSMinghuan Lian			compatible = "fsl,ls-pcie", "snps,dw-pcie";
273*ed9bddefSMinghuan Lian			reg = <0x00 0x03600000 0x0 0x10000   /* dbi registers */
274*ed9bddefSMinghuan Lian			       0x00 0x03610000 0x0 0x10000   /* lut registers */
275*ed9bddefSMinghuan Lian			       0x50 0x00000000 0x0 0x20000>; /* configuration space */
276*ed9bddefSMinghuan Lian			reg-names = "dbi", "lut", "config";
277*ed9bddefSMinghuan Lian			big-endian;
278*ed9bddefSMinghuan Lian			#address-cells = <3>;
279*ed9bddefSMinghuan Lian			#size-cells = <2>;
280*ed9bddefSMinghuan Lian			device_type = "pci";
281*ed9bddefSMinghuan Lian			bus-range = <0x0 0xff>;
282*ed9bddefSMinghuan Lian			ranges = <0x81000000 0x0 0x00000000 0x50 0x00020000 0x0 0x00010000   /* downstream I/O */
283*ed9bddefSMinghuan Lian				  0x82000000 0x0 0x40000000 0x50 0x40000000 0x0 0x40000000>; /* non-prefetchable memory */
284*ed9bddefSMinghuan Lian		};
285e1cecb4dSGong Qianyu	};
286e1cecb4dSGong Qianyu};
287