xref: /OK3568_Linux_fs/u-boot/arch/arm/dts/fsl-ls1012a.dtsi (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun/*
2*4882a593Smuzhiyun * Copyright 2016 Freescale Semiconductor
3*4882a593Smuzhiyun *
4*4882a593Smuzhiyun * SPDX-License-Identifier:	GPL-2.0+
5*4882a593Smuzhiyun */
6*4882a593Smuzhiyun
7*4882a593Smuzhiyun/include/ "skeleton64.dtsi"
8*4882a593Smuzhiyun
9*4882a593Smuzhiyun/ {
10*4882a593Smuzhiyun	compatible = "fsl,ls1012a";
11*4882a593Smuzhiyun	interrupt-parent = <&gic>;
12*4882a593Smuzhiyun
13*4882a593Smuzhiyun	sysclk: sysclk {
14*4882a593Smuzhiyun		compatible = "fixed-clock";
15*4882a593Smuzhiyun		#clock-cells = <0>;
16*4882a593Smuzhiyun		clock-frequency = <100000000>;
17*4882a593Smuzhiyun		clock-output-names = "sysclk";
18*4882a593Smuzhiyun	};
19*4882a593Smuzhiyun
20*4882a593Smuzhiyun	gic: interrupt-controller@1400000 {
21*4882a593Smuzhiyun		compatible = "arm,gic-400";
22*4882a593Smuzhiyun		#interrupt-cells = <3>;
23*4882a593Smuzhiyun		interrupt-controller;
24*4882a593Smuzhiyun		reg = <0x0 0x1401000 0 0x1000>, /* GICD */
25*4882a593Smuzhiyun		      <0x0 0x1402000 0 0x2000>, /* GICC */
26*4882a593Smuzhiyun		      <0x0 0x1404000 0 0x2000>, /* GICH */
27*4882a593Smuzhiyun		      <0x0 0x1406000 0 0x2000>; /* GICV */
28*4882a593Smuzhiyun		interrupts = <1 9 0xf08>;
29*4882a593Smuzhiyun	};
30*4882a593Smuzhiyun
31*4882a593Smuzhiyun	soc {
32*4882a593Smuzhiyun		compatible = "simple-bus";
33*4882a593Smuzhiyun		#address-cells = <2>;
34*4882a593Smuzhiyun		#size-cells = <2>;
35*4882a593Smuzhiyun		ranges;
36*4882a593Smuzhiyun
37*4882a593Smuzhiyun		clockgen: clocking@1ee1000 {
38*4882a593Smuzhiyun			compatible = "fsl,ls1012a-clockgen";
39*4882a593Smuzhiyun			reg = <0x0 0x1ee1000 0x0 0x1000>;
40*4882a593Smuzhiyun			#clock-cells = <2>;
41*4882a593Smuzhiyun			clocks = <&sysclk>;
42*4882a593Smuzhiyun		};
43*4882a593Smuzhiyun
44*4882a593Smuzhiyun		dspi0: dspi@2100000 {
45*4882a593Smuzhiyun			compatible = "fsl,vf610-dspi";
46*4882a593Smuzhiyun			#address-cells = <1>;
47*4882a593Smuzhiyun			#size-cells = <0>;
48*4882a593Smuzhiyun			reg = <0x0 0x2100000 0x0 0x10000>;
49*4882a593Smuzhiyun			interrupts = <0 64 0x4>;
50*4882a593Smuzhiyun			clock-names = "dspi";
51*4882a593Smuzhiyun			clocks = <&clockgen 4 0>;
52*4882a593Smuzhiyun			num-cs = <6>;
53*4882a593Smuzhiyun			big-endian;
54*4882a593Smuzhiyun			status = "disabled";
55*4882a593Smuzhiyun		};
56*4882a593Smuzhiyun
57*4882a593Smuzhiyun		esdhc0: esdhc@1560000 {
58*4882a593Smuzhiyun			compatible = "fsl,esdhc";
59*4882a593Smuzhiyun			reg = <0x0 0x1560000 0x0 0x10000>;
60*4882a593Smuzhiyun			interrupts = <0 62 0x4>;
61*4882a593Smuzhiyun			big-endian;
62*4882a593Smuzhiyun			bus-width = <4>;
63*4882a593Smuzhiyun		};
64*4882a593Smuzhiyun
65*4882a593Smuzhiyun		esdhc1: esdhc@1580000 {
66*4882a593Smuzhiyun			compatible = "fsl,esdhc";
67*4882a593Smuzhiyun			reg = <0x0 0x1580000 0x0 0x10000>;
68*4882a593Smuzhiyun			interrupts = <0 65 0x4>;
69*4882a593Smuzhiyun			big-endian;
70*4882a593Smuzhiyun			non-removable;
71*4882a593Smuzhiyun			bus-width = <4>;
72*4882a593Smuzhiyun		};
73*4882a593Smuzhiyun
74*4882a593Smuzhiyun		i2c0: i2c@2180000 {
75*4882a593Smuzhiyun			compatible = "fsl,vf610-i2c";
76*4882a593Smuzhiyun			#address-cells = <1>;
77*4882a593Smuzhiyun			#size-cells = <0>;
78*4882a593Smuzhiyun			reg = <0x0 0x2180000 0x0 0x10000>;
79*4882a593Smuzhiyun			interrupts = <0 56 0x4>;
80*4882a593Smuzhiyun			clock-names = "i2c";
81*4882a593Smuzhiyun			clocks = <&clockgen 4 0>;
82*4882a593Smuzhiyun			status = "disabled";
83*4882a593Smuzhiyun		};
84*4882a593Smuzhiyun
85*4882a593Smuzhiyun		i2c1: i2c@2190000 {
86*4882a593Smuzhiyun			compatible = "fsl,vf610-i2c";
87*4882a593Smuzhiyun			#address-cells = <1>;
88*4882a593Smuzhiyun			#size-cells = <0>;
89*4882a593Smuzhiyun			reg = <0x0 0x2190000 0x0 0x10000>;
90*4882a593Smuzhiyun			interrupts = <0 57 0x4>;
91*4882a593Smuzhiyun			clock-names = "i2c";
92*4882a593Smuzhiyun			clocks = <&clockgen 4 0>;
93*4882a593Smuzhiyun			status = "disabled";
94*4882a593Smuzhiyun		};
95*4882a593Smuzhiyun
96*4882a593Smuzhiyun		duart0: serial@21c0500 {
97*4882a593Smuzhiyun			compatible = "fsl,ns16550", "ns16550a";
98*4882a593Smuzhiyun			reg = <0x00 0x21c0500 0x0 0x100>;
99*4882a593Smuzhiyun			interrupts = <0 54 0x4>;
100*4882a593Smuzhiyun			clocks = <&clockgen 4 0>;
101*4882a593Smuzhiyun		};
102*4882a593Smuzhiyun
103*4882a593Smuzhiyun		duart1: serial@21c0600 {
104*4882a593Smuzhiyun			compatible = "fsl,ns16550", "ns16550a";
105*4882a593Smuzhiyun			reg = <0x00 0x21c0600 0x0 0x100>;
106*4882a593Smuzhiyun			interrupts = <0 54 0x4>;
107*4882a593Smuzhiyun			clocks = <&clockgen 4 0>;
108*4882a593Smuzhiyun		};
109*4882a593Smuzhiyun
110*4882a593Smuzhiyun		qspi: quadspi@1550000 {
111*4882a593Smuzhiyun			compatible = "fsl,vf610-qspi";
112*4882a593Smuzhiyun			#address-cells = <1>;
113*4882a593Smuzhiyun			#size-cells = <0>;
114*4882a593Smuzhiyun			reg = <0x0 0x1550000 0x0 0x10000>,
115*4882a593Smuzhiyun				<0x0 0x40000000 0x0 0x4000000>;
116*4882a593Smuzhiyun			reg-names = "QuadSPI", "QuadSPI-memory";
117*4882a593Smuzhiyun			num-cs = <1>;
118*4882a593Smuzhiyun			big-endian;
119*4882a593Smuzhiyun			status = "disabled";
120*4882a593Smuzhiyun		};
121*4882a593Smuzhiyun
122*4882a593Smuzhiyun		pcie@3400000 {
123*4882a593Smuzhiyun			compatible = "fsl,ls-pcie", "snps,dw-pcie";
124*4882a593Smuzhiyun			reg = <0x00 0x03400000 0x0 0x80000   /* dbi registers */
125*4882a593Smuzhiyun			       0x00 0x03480000 0x0 0x40000   /* lut registers */
126*4882a593Smuzhiyun			       0x00 0x034c0000 0x0 0x40000   /* pf controls registers */
127*4882a593Smuzhiyun			       0x40 0x00000000 0x0 0x20000>; /* configuration space */
128*4882a593Smuzhiyun			reg-names = "dbi", "lut", "ctrl", "config";
129*4882a593Smuzhiyun			big-endian;
130*4882a593Smuzhiyun			#address-cells = <3>;
131*4882a593Smuzhiyun			#size-cells = <2>;
132*4882a593Smuzhiyun			device_type = "pci";
133*4882a593Smuzhiyun			bus-range = <0x0 0xff>;
134*4882a593Smuzhiyun			ranges = <0x81000000 0x0 0x00000000 0x40 0x00020000 0x0 0x00010000   /* downstream I/O */
135*4882a593Smuzhiyun				  0x82000000 0x0 0x40000000 0x40 0x40000000 0x0 0x40000000>; /* non-prefetchable memory */
136*4882a593Smuzhiyun		};
137*4882a593Smuzhiyun
138*4882a593Smuzhiyun		usb0: usb2@8600000 {
139*4882a593Smuzhiyun			compatible = "fsl-usb2-dr-v2.5", "fsl-usb2-dr";
140*4882a593Smuzhiyun			reg = <0x0 0x8600000 0x0 0x1000>;
141*4882a593Smuzhiyun			interrupts = <0 139 0x4>;
142*4882a593Smuzhiyun			dr_mode = "host";
143*4882a593Smuzhiyun			fsl,usb-erratum-a005697;
144*4882a593Smuzhiyun		};
145*4882a593Smuzhiyun
146*4882a593Smuzhiyun		usb1: usb3@2f00000 {
147*4882a593Smuzhiyun			compatible = "fsl,layerscape-dwc3";
148*4882a593Smuzhiyun			reg = <0x0 0x2f00000 0x0 0x10000>;
149*4882a593Smuzhiyun			interrupts = <0 61 0x4>;
150*4882a593Smuzhiyun			dr_mode = "host";
151*4882a593Smuzhiyun		};
152*4882a593Smuzhiyun	};
153*4882a593Smuzhiyun};
154