1// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2/*
3 * Device Tree file for NXP LS1028A QDS Board.
4 *
5 * Copyright 2018 NXP
6 *
7 * Harninder Rai <harninder.rai@nxp.com>
8 *
9 */
10
11/dts-v1/;
12
13#include "fsl-ls1028a.dtsi"
14
15/ {
16	model = "LS1028A QDS Board";
17	compatible = "fsl,ls1028a-qds", "fsl,ls1028a";
18
19	aliases {
20		crypto = &crypto;
21		gpio0 = &gpio1;
22		gpio1 = &gpio2;
23		gpio2 = &gpio3;
24		serial0 = &duart0;
25		serial1 = &duart1;
26	};
27
28	chosen {
29		stdout-path = "serial0:115200n8";
30	};
31
32	memory@80000000 {
33		device_type = "memory";
34		reg = <0x0 0x80000000 0x1 0x00000000>;
35	};
36
37	sys_mclk: clock-mclk {
38		compatible = "fixed-clock";
39		#clock-cells = <0>;
40		clock-frequency = <25000000>;
41	};
42
43	reg_1p8v: regulator-1p8v {
44		compatible = "regulator-fixed";
45		regulator-name = "1P8V";
46		regulator-min-microvolt = <1800000>;
47		regulator-max-microvolt = <1800000>;
48		regulator-always-on;
49	};
50
51	sb_3v3: regulator-sb3v3 {
52		compatible = "regulator-fixed";
53		regulator-name = "3v3_vbus";
54		regulator-min-microvolt = <3300000>;
55		regulator-max-microvolt = <3300000>;
56		regulator-boot-on;
57		regulator-always-on;
58	};
59
60	sound {
61		compatible = "simple-audio-card";
62		simple-audio-card,format = "i2s";
63		simple-audio-card,widgets =
64			"Microphone", "Microphone Jack",
65			"Headphone", "Headphone Jack",
66			"Speaker", "Speaker Ext",
67			"Line", "Line In Jack";
68		simple-audio-card,routing =
69			"MIC_IN", "Microphone Jack",
70			"Microphone Jack", "Mic Bias",
71			"LINE_IN", "Line In Jack",
72			"Headphone Jack", "HP_OUT",
73			"Speaker Ext", "LINE_OUT";
74
75		simple-audio-card,cpu {
76			sound-dai = <&sai1>;
77			frame-master;
78			bitclock-master;
79		};
80
81		simple-audio-card,codec {
82			sound-dai = <&sgtl5000>;
83			frame-master;
84			bitclock-master;
85			system-clock-frequency = <25000000>;
86		};
87	};
88
89	mdio-mux {
90		compatible = "mdio-mux-multiplexer";
91		mux-controls = <&mux 0>;
92		mdio-parent-bus = <&enetc_mdio_pf3>;
93		#address-cells=<1>;
94		#size-cells = <0>;
95
96		/* on-board RGMII PHY */
97		mdio@0 {
98			#address-cells = <1>;
99			#size-cells = <0>;
100			reg = <0>;
101
102			qds_phy1: ethernet-phy@5 {
103				/* Atheros 8035 */
104				reg = <5>;
105			};
106		};
107	};
108};
109
110&duart0 {
111	status = "okay";
112};
113
114&duart1 {
115	status = "okay";
116};
117
118&esdhc {
119	status = "okay";
120};
121
122&esdhc1 {
123	status = "okay";
124};
125
126&fspi {
127	status = "okay";
128
129	mt35xu02g0: flash@0 {
130		compatible = "jedec,spi-nor";
131		#address-cells = <1>;
132		#size-cells = <1>;
133		spi-max-frequency = <50000000>;
134		/* The following setting enables 1-1-8 (CMD-ADDR-DATA) mode */
135		spi-rx-bus-width = <8>; /* 8 SPI Rx lines */
136		spi-tx-bus-width = <1>; /* 1 SPI Tx line */
137		reg = <0>;
138	};
139};
140
141&i2c0 {
142	status = "okay";
143
144	i2c-mux@77 {
145		compatible = "nxp,pca9547";
146		reg = <0x77>;
147		#address-cells = <1>;
148		#size-cells = <0>;
149
150		i2c@2 {
151			#address-cells = <1>;
152			#size-cells = <0>;
153			reg = <0x2>;
154
155			current-monitor@40 {
156				compatible = "ti,ina220";
157				reg = <0x40>;
158				shunt-resistor = <1000>;
159			};
160
161			current-monitor@41 {
162				compatible = "ti,ina220";
163				reg = <0x41>;
164				shunt-resistor = <1000>;
165			};
166		};
167
168		i2c@3 {
169			#address-cells = <1>;
170			#size-cells = <0>;
171			reg = <0x3>;
172
173			temperature-sensor@4c {
174				compatible = "nxp,sa56004";
175				reg = <0x4c>;
176				vcc-supply = <&sb_3v3>;
177			};
178
179			rtc@51 {
180				compatible = "nxp,pcf2129";
181				reg = <0x51>;
182			};
183
184			eeprom@56 {
185				compatible = "atmel,24c512";
186				reg = <0x56>;
187			};
188
189			eeprom@57 {
190				compatible = "atmel,24c512";
191				reg = <0x57>;
192			};
193		};
194
195		i2c@5 {
196			#address-cells = <1>;
197			#size-cells = <0>;
198			reg = <0x5>;
199
200			sgtl5000: audio-codec@a {
201				#sound-dai-cells = <0>;
202				compatible = "fsl,sgtl5000";
203				reg = <0xa>;
204				VDDA-supply = <&reg_1p8v>;
205				VDDIO-supply = <&reg_1p8v>;
206				clocks = <&sys_mclk>;
207			};
208		};
209	};
210
211	fpga@66 {
212		compatible = "fsl,ls1028aqds-fpga", "fsl,fpga-qixis-i2c",
213			     "simple-mfd";
214		reg = <0x66>;
215
216		mux: mux-controller {
217			compatible = "reg-mux";
218			#mux-control-cells = <1>;
219			mux-reg-masks = <0x54 0xf0>; /* 0: reg 0x54, bits 7:4 */
220		};
221	};
222
223};
224
225&enetc_port1 {
226	phy-handle = <&qds_phy1>;
227	phy-connection-type = "rgmii-id";
228	status = "okay";
229};
230
231&sai1 {
232	status = "okay";
233};
234
235&sata {
236	status = "okay";
237};
238