ls1021a-qds.dts revision 303975
1272343Sngie/*
2314818Sngie * Copyright 2013-2014 Freescale Semiconductor, Inc.
3314818Sngie *
4314818Sngie * This file is dual-licensed: you can use it either under the terms
5314818Sngie * of the GPL or the X11 license, at your option. Note that this dual
6314818Sngie * licensing only applies to this file, and not this project as a
7314818Sngie * whole.
8314818Sngie *
9314818Sngie *  a) This file is free software; you can redistribute it and/or
10314818Sngie *     modify it under the terms of the GNU General Public License as
11314818Sngie *     published by the Free Software Foundation; either version 2 of
12314818Sngie *     the License, or (at your option) any later version.
13314818Sngie *
14314818Sngie *     This file is distributed in the hope that it will be useful,
15314818Sngie *     but WITHOUT ANY WARRANTY; without even the implied warranty of
16314818Sngie *     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
17314818Sngie *     GNU General Public License for more details.
18314818Sngie *
19314818Sngie *     You should have received a copy of the GNU General Public
20314818Sngie *     License along with this file; if not, write to the Free
21314818Sngie *     Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
22314818Sngie *     MA 02110-1301 USA
23314818Sngie *
24314818Sngie * Or, alternatively,
25314818Sngie *
26314818Sngie *  b) Permission is hereby granted, free of charge, to any person
27314818Sngie *     obtaining a copy of this software and associated documentation
28314818Sngie *     files (the "Software"), to deal in the Software without
29314818Sngie *     restriction, including without limitation the rights to use,
30314818Sngie *     copy, modify, merge, publish, distribute, sublicense, and/or
31314818Sngie *     sell copies of the Software, and to permit persons to whom the
32314818Sngie *     Software is furnished to do so, subject to the following
33314818Sngie *     conditions:
34314818Sngie *
35314818Sngie *     The above copyright notice and this permission notice shall be
36314818Sngie *     included in all copies or substantial portions of the Software.
37314818Sngie *
38314818Sngie *     THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
39314818Sngie *     EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
40314818Sngie *     OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
41314818Sngie *     NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
42314818Sngie *     HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
43314818Sngie *     WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
44314818Sngie *     FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
45314818Sngie *     OTHER DEALINGS IN THE SOFTWARE.
46314818Sngie */
47314818Sngie
48314818Sngie/dts-v1/;
49314818Sngie#include "ls1021a.dtsi"
50314818Sngie
51314818Sngie/ {
52314818Sngie	model = "LS1021A QDS Board";
53314818Sngie
54314818Sngie	aliases {
55314818Sngie		enet0_rgmii_phy = &rgmii_phy1;
56314818Sngie		enet1_rgmii_phy = &rgmii_phy2;
57314818Sngie		enet2_rgmii_phy = &rgmii_phy3;
58314818Sngie		enet0_sgmii_phy = &sgmii_phy1c;
59314818Sngie		enet1_sgmii_phy = &sgmii_phy1d;
60314818Sngie	};
61314818Sngie
62314818Sngie	sys_mclk: clock-mclk {
63314818Sngie		compatible = "fixed-clock";
64314818Sngie		#clock-cells = <0>;
65314818Sngie		clock-frequency = <24576000>;
66314818Sngie	};
67314818Sngie
68314818Sngie	regulators {
69314818Sngie		compatible = "simple-bus";
70314818Sngie		#address-cells = <1>;
71314818Sngie		#size-cells = <0>;
72314818Sngie
73314818Sngie		reg_3p3v: regulator@0 {
74314818Sngie			compatible = "regulator-fixed";
75314818Sngie			reg = <0>;
76314818Sngie			regulator-name = "3P3V";
77314818Sngie			regulator-min-microvolt = <3300000>;
78314818Sngie			regulator-max-microvolt = <3300000>;
79314818Sngie			regulator-always-on;
80314818Sngie		};
81314818Sngie	};
82314818Sngie
83314818Sngie	sound {
84314818Sngie		compatible = "simple-audio-card";
85314818Sngie		simple-audio-card,format = "i2s";
86314818Sngie		simple-audio-card,widgets =
87314818Sngie			"Microphone", "Microphone Jack",
88314818Sngie			"Headphone", "Headphone Jack",
89314818Sngie			"Speaker", "Speaker Ext",
90314818Sngie			"Line", "Line In Jack";
91314818Sngie		simple-audio-card,routing =
92314818Sngie			"MIC_IN", "Microphone Jack",
93314818Sngie			"Microphone Jack", "Mic Bias",
94314818Sngie			"LINE_IN", "Line In Jack",
95314818Sngie			"Headphone Jack", "HP_OUT",
96314818Sngie			"Speaker Ext", "LINE_OUT";
97314818Sngie
98314818Sngie		simple-audio-card,cpu {
99314818Sngie			sound-dai = <&sai2>;
100314818Sngie			frame-master;
101314818Sngie			bitclock-master;
102314818Sngie		};
103314818Sngie
104314818Sngie		simple-audio-card,codec {
105314818Sngie			sound-dai = <&codec>;
106314818Sngie			frame-master;
107314818Sngie			bitclock-master;
108314818Sngie		};
109314818Sngie	};
110314818Sngie};
111314818Sngie
112314818Sngie&dspi0 {
113314818Sngie	bus-num = <0>;
114314818Sngie	status = "okay";
115314818Sngie
116314818Sngie	dspiflash: at45db021d@0 {
117314818Sngie		#address-cells = <1>;
118314818Sngie		#size-cells = <1>;
119314818Sngie		compatible = "atmel,at45db021d", "atmel,at45", "atmel,dataflash";
120314818Sngie		spi-max-frequency = <16000000>;
121314818Sngie		spi-cpol;
122314818Sngie		spi-cpha;
123314818Sngie		reg = <0>;
124314818Sngie	};
125314818Sngie};
126314818Sngie
127314818Sngie&enet0 {
128314818Sngie	tbi-handle = <&tbi0>;
129314818Sngie	phy-handle = <&sgmii_phy1c>;
130314818Sngie	phy-connection-type = "sgmii";
131314818Sngie	status = "okay";
132314818Sngie};
133314818Sngie
134314818Sngie&enet1 {
135314818Sngie	tbi-handle = <&tbi0>;
136314818Sngie	phy-handle = <&sgmii_phy1d>;
137314818Sngie	phy-connection-type = "sgmii";
138314818Sngie	status = "okay";
139314818Sngie};
140314818Sngie
141314818Sngie&enet2 {
142314818Sngie	phy-handle = <&rgmii_phy3>;
143314818Sngie	phy-connection-type = "rgmii-id";
144314818Sngie	status = "okay";
145314818Sngie};
146314818Sngie
147314818Sngie&i2c0 {
148314818Sngie	status = "okay";
149314818Sngie
150314818Sngie	pca9547: mux@77 {
151314818Sngie		compatible = "nxp,pca9547";
152314818Sngie		reg = <0x77>;
153314818Sngie		#address-cells = <1>;
154314818Sngie		#size-cells = <0>;
155314818Sngie
156314818Sngie		i2c@0 {
157314818Sngie			#address-cells = <1>;
158314818Sngie			#size-cells = <0>;
159314818Sngie			reg = <0x0>;
160314818Sngie
161314818Sngie			ds3232: rtc@68 {
162314818Sngie				compatible = "dallas,ds3232";
163314818Sngie				reg = <0x68>;
164314818Sngie				interrupts = <GIC_SPI 169 IRQ_TYPE_LEVEL_HIGH>;
165314818Sngie			};
166314818Sngie		};
167314818Sngie
168314818Sngie		i2c@2 {
169314818Sngie			#address-cells = <1>;
170314818Sngie			#size-cells = <0>;
171314818Sngie			reg = <0x2>;
172314818Sngie
173314818Sngie			ina220@40 {
174314818Sngie				compatible = "ti,ina220";
175314818Sngie				reg = <0x40>;
176314818Sngie				shunt-resistor = <1000>;
177314818Sngie			};
178314818Sngie
179314818Sngie			ina220@41 {
180314818Sngie				compatible = "ti,ina220";
181314818Sngie				reg = <0x41>;
182314818Sngie				shunt-resistor = <1000>;
183314818Sngie			};
184314818Sngie		};
185314818Sngie
186314818Sngie		i2c@3 {
187314818Sngie			#address-cells = <1>;
188314818Sngie			#size-cells = <0>;
189314818Sngie			reg = <0x3>;
190314818Sngie
191314818Sngie			eeprom@56 {
192314818Sngie				compatible = "atmel,24c512";
193314818Sngie				reg = <0x56>;
194314818Sngie			};
195314818Sngie
196314818Sngie			eeprom@57 {
197314818Sngie				compatible = "atmel,24c512";
198314818Sngie				reg = <0x57>;
199314818Sngie			};
200314818Sngie
201314818Sngie			adt7461a@4c {
202314818Sngie				compatible = "adi,adt7461a";
203314818Sngie				reg = <0x4c>;
204314818Sngie			};
205314818Sngie		};
206314818Sngie
207314818Sngie		i2c@4 {
208314818Sngie			#address-cells = <1>;
209314818Sngie			#size-cells = <0>;
210314818Sngie			reg = <0x4>;
211314818Sngie
212314818Sngie			codec: sgtl5000@2a {
213314818Sngie				#sound-dai-cells = <0>;
214314818Sngie				compatible = "fsl,sgtl5000";
215314818Sngie				reg = <0x2a>;
216314818Sngie				VDDA-supply = <&reg_3p3v>;
217314818Sngie				VDDIO-supply = <&reg_3p3v>;
218314818Sngie				clocks = <&sys_mclk 1>;
219314818Sngie			};
220314818Sngie		};
221314818Sngie	};
222314818Sngie};
223314818Sngie
224314818Sngie&ifc {
225314818Sngie	#address-cells = <2>;
226314818Sngie	#size-cells = <1>;
227314818Sngie	/* NOR, NAND Flashes and FPGA on board */
228314818Sngie	ranges = <0x0 0x0 0x0 0x60000000 0x08000000
229314818Sngie		  0x2 0x0 0x0 0x7e800000 0x00010000
230314818Sngie		  0x3 0x0 0x0 0x7fb00000 0x00000100>;
231314818Sngie	status = "okay";
232314818Sngie
233314818Sngie	nor@0,0 {
234314818Sngie		#address-cells = <1>;
235314818Sngie		#size-cells = <1>;
236314818Sngie		compatible = "cfi-flash";
237314818Sngie		reg = <0x0 0x0 0x8000000>;
238314818Sngie		bank-width = <2>;
239314818Sngie		device-width = <1>;
240314818Sngie	};
241314818Sngie
242314818Sngie	fpga: board-control@3,0 {
243314818Sngie		#address-cells = <1>;
244314818Sngie		#size-cells = <1>;
245314818Sngie		compatible = "simple-bus";
246314818Sngie		reg = <0x3 0x0 0x0000100>;
247314818Sngie		bank-width = <1>;
248314818Sngie		device-width = <1>;
249314818Sngie		ranges = <0 3 0 0x100>;
250314818Sngie
251314818Sngie		mdio-mux-emi1 {
252314818Sngie			compatible = "mdio-mux-mmioreg";
253314818Sngie			mdio-parent-bus = <&mdio0>;
254314818Sngie			#address-cells = <1>;
255314818Sngie			#size-cells = <0>;
256314818Sngie			reg = <0x54 1>; /* BRDCFG4 */
257314818Sngie			mux-mask = <0xe0>; /* EMI1[2:0] */
258314818Sngie
259314818Sngie			/* Onboard PHYs */
260314818Sngie			ls1021amdio0: mdio@0 {
261314818Sngie				reg = <0>;
262314818Sngie				#address-cells = <1>;
263314818Sngie				#size-cells = <0>;
264314818Sngie				rgmii_phy1: ethernet-phy@1 {
265314818Sngie					reg = <0x1>;
266314818Sngie				};
267314818Sngie			};
268314818Sngie
269314818Sngie			ls1021amdio1: mdio@20 {
270314818Sngie				reg = <0x20>;
271314818Sngie				#address-cells = <1>;
272314818Sngie				#size-cells = <0>;
273314818Sngie				rgmii_phy2: ethernet-phy@2 {
274314818Sngie					reg = <0x2>;
275314818Sngie				};
276314818Sngie			};
277314818Sngie
278314818Sngie			ls1021amdio2: mdio@40 {
279314818Sngie				reg = <0x40>;
280314818Sngie				#address-cells = <1>;
281314818Sngie				#size-cells = <0>;
282314818Sngie				rgmii_phy3: ethernet-phy@3 {
283314818Sngie					reg = <0x3>;
284314818Sngie				};
285314818Sngie			};
286314818Sngie
287314818Sngie			ls1021amdio3: mdio@60 {
288314818Sngie				reg = <0x60>;
289314818Sngie				#address-cells = <1>;
290314818Sngie				#size-cells = <0>;
291314818Sngie				sgmii_phy1c: ethernet-phy@1c {
292314818Sngie					reg = <0x1c>;
293314818Sngie				};
294314818Sngie			};
295314818Sngie
296314818Sngie			ls1021amdio4: mdio@80 {
297314818Sngie				reg = <0x80>;
298314818Sngie				#address-cells = <1>;
299314818Sngie				#size-cells = <0>;
300314818Sngie				sgmii_phy1d: ethernet-phy@1d {
301314818Sngie					reg = <0x1d>;
302314818Sngie				};
303314818Sngie			};
304314818Sngie		};
305314818Sngie	};
306314818Sngie};
307314818Sngie
308314818Sngie&lpuart0 {
309314818Sngie	status = "okay";
310314818Sngie};
311314818Sngie
312314818Sngie&mdio0 {
313314818Sngie	tbi0: tbi-phy@8 {
314314818Sngie		reg = <0x8>;
315314818Sngie		device_type = "tbi-phy";
316314818Sngie	};
317314818Sngie};
318314818Sngie
319314818Sngie&sai2 {
320314818Sngie	status = "okay";
321314818Sngie};
322314818Sngie
323314818Sngie&sata {
324314818Sngie	status = "okay";
325314818Sngie};
326314818Sngie
327314818Sngie&uart0 {
328314818Sngie	status = "okay";
329314818Sngie};
330314818Sngie
331314818Sngie&uart1 {
332314818Sngie	status = "okay";
333314818Sngie};
334314818Sngie