blob: 1ea32fff41201b7a787dd116eef675318861ad19 [file] [log] [blame]
Tom Rini53633a82024-02-29 12:33:36 -05001// SPDX-License-Identifier: GPL-2.0
2/* Copyright 2016-2018 NXP Semiconductors
3 * Copyright 2019 Vladimir Oltean <olteanv@gmail.com>
4 */
5
6/dts-v1/;
7#include "ls1021a.dtsi"
8
9/ {
10 model = "NXP LS1021A-TSN Board";
11 compatible = "fsl,ls1021a-tsn", "fsl,ls1021a";
12
13 sys_mclk: clock-mclk {
14 compatible = "fixed-clock";
15 #clock-cells = <0>;
16 clock-frequency = <24576000>;
17 };
18
19 reg_vdda_codec: regulator-3V3 {
20 compatible = "regulator-fixed";
21 regulator-name = "3P3V";
22 regulator-min-microvolt = <3300000>;
23 regulator-max-microvolt = <3300000>;
24 regulator-always-on;
25 };
26
27 reg_vddio_codec: regulator-2V5 {
28 compatible = "regulator-fixed";
29 regulator-name = "2P5V";
30 regulator-min-microvolt = <2500000>;
31 regulator-max-microvolt = <2500000>;
32 regulator-always-on;
33 };
34};
35
36&dspi0 {
37 bus-num = <0>;
38 status = "okay";
39
40 /* ADG704BRMZ 1:4 SPI mux/demux */
41 sja1105: ethernet-switch@1 {
42 reg = <0x1>;
43 #address-cells = <1>;
44 #size-cells = <0>;
45 compatible = "nxp,sja1105t";
46 /* 12 MHz */
47 spi-max-frequency = <12000000>;
48 /* Sample data on trailing clock edge */
49 spi-cpha;
50 /* SPI controller settings for SJA1105 timing requirements */
51 fsl,spi-cs-sck-delay = <1000>;
52 fsl,spi-sck-cs-delay = <1000>;
53
54 ports {
55 #address-cells = <1>;
56 #size-cells = <0>;
57
58 port@0 {
59 /* ETH5 written on chassis */
60 label = "swp5";
61 phy-handle = <&rgmii_phy6>;
62 phy-mode = "rgmii-id";
63 reg = <0>;
64 };
65
66 port@1 {
67 /* ETH2 written on chassis */
68 label = "swp2";
69 phy-handle = <&rgmii_phy3>;
70 phy-mode = "rgmii-id";
71 reg = <1>;
72 };
73
74 port@2 {
75 /* ETH3 written on chassis */
76 label = "swp3";
77 phy-handle = <&rgmii_phy4>;
78 phy-mode = "rgmii-id";
79 reg = <2>;
80 };
81
82 port@3 {
83 /* ETH4 written on chassis */
84 label = "swp4";
85 phy-handle = <&rgmii_phy5>;
86 phy-mode = "rgmii-id";
87 reg = <3>;
88 };
89
90 port@4 {
91 /* Internal port connected to eth2 */
92 ethernet = <&enet2>;
93 phy-mode = "rgmii";
94 rx-internal-delay-ps = <0>;
95 tx-internal-delay-ps = <0>;
96 reg = <4>;
97
98 fixed-link {
99 speed = <1000>;
100 full-duplex;
101 };
102 };
103 };
104 };
105};
106
107&enet0 {
108 tbi-handle = <&tbi0>;
109 phy-handle = <&sgmii_phy2>;
110 phy-mode = "sgmii";
111 status = "okay";
112};
113
114&enet1 {
115 tbi-handle = <&tbi1>;
116 phy-handle = <&sgmii_phy1>;
117 phy-mode = "sgmii";
118 status = "okay";
119};
120
121/* RGMII delays added via PCB traces */
122&enet2 {
123 phy-mode = "rgmii";
124 status = "okay";
125
126 fixed-link {
127 speed = <1000>;
128 full-duplex;
129 };
130};
131
132&esdhc {
133 status = "okay";
134};
135
136&i2c0 {
137 status = "okay";
138
139 /* 3 axis accelerometer */
140 accelerometer@1e {
141 compatible = "fsl,fxls8471";
142 reg = <0x1e>;
143 };
144
145 /* Audio codec (SAI2) */
146 audio-codec@2a {
147 compatible = "fsl,sgtl5000";
148 VDDIO-supply = <&reg_vddio_codec>;
149 VDDA-supply = <&reg_vdda_codec>;
150 #sound-dai-cells = <0>;
151 clocks = <&sys_mclk>;
152 reg = <0x2a>;
153 };
154
155 /* Current sensing circuit for 1V VDDCORE PMIC rail */
156 current-sensor@44 {
157 compatible = "ti,ina220";
158 shunt-resistor = <1000>;
159 reg = <0x44>;
160 };
161
162 /* Current sensing circuit for 12V VCC rail */
163 current-sensor@45 {
164 compatible = "ti,ina220";
165 shunt-resistor = <1000>;
166 reg = <0x45>;
167 };
168
169 /* Thermal monitor - case */
170 temperature-sensor@48 {
171 compatible = "national,lm75";
172 reg = <0x48>;
173 };
174
175 /* Thermal monitor - chip */
176 temperature-sensor@4c {
177 compatible = "ti,tmp451";
178 reg = <0x4c>;
179 };
180
181 eeprom@51 {
182 compatible = "atmel,24c32";
183 reg = <0x51>;
184 };
185
186 /* Unsupported devices:
187 * - FXAS21002C Gyroscope at 0x20
188 * - TI ADS7924 4-channel ADC at 0x49
189 */
190};
191
192&ifc {
193 status = "disabled";
194};
195
196&lpuart0 {
197 status = "okay";
198};
199
200&lpuart3 {
201 status = "okay";
202};
203
204&mdio0 {
205 /* AR8031 */
206 sgmii_phy1: ethernet-phy@1 {
207 reg = <0x1>;
208 /* SGMII1_PHY_INT_B: connected to IRQ2, active low */
209 interrupts-extended = <&extirq 2 IRQ_TYPE_LEVEL_LOW>;
210 };
211
212 /* AR8031 */
213 sgmii_phy2: ethernet-phy@2 {
214 reg = <0x2>;
215 /* SGMII2_PHY_INT_B: connected to IRQ2, active low */
216 interrupts-extended = <&extirq 2 IRQ_TYPE_LEVEL_LOW>;
217 };
218
219 /* BCM5464 quad PHY */
220 rgmii_phy3: ethernet-phy@3 {
221 reg = <0x3>;
222 };
223
224 rgmii_phy4: ethernet-phy@4 {
225 reg = <0x4>;
226 };
227
228 rgmii_phy5: ethernet-phy@5 {
229 reg = <0x5>;
230 };
231
232 rgmii_phy6: ethernet-phy@6 {
233 reg = <0x6>;
234 };
235
236 /* SGMII PCS for enet0 */
237 tbi0: tbi-phy@1f {
238 reg = <0x1f>;
239 device_type = "tbi-phy";
240 };
241};
242
243&mdio1 {
244 /* SGMII PCS for enet1 */
245 tbi1: tbi-phy@1f {
246 reg = <0x1f>;
247 device_type = "tbi-phy";
248 };
249};
250
251&qspi {
252 status = "okay";
253
254 flash@0 {
255 /* Rev. A uses 64MB flash, Rev. B & C use 32MB flash */
256 compatible = "jedec,spi-nor";
257 spi-max-frequency = <20000000>;
258 #address-cells = <1>;
259 #size-cells = <1>;
260 reg = <0>;
261
262 partitions {
263 compatible = "fixed-partitions";
264 #address-cells = <1>;
265 #size-cells = <1>;
266
267 partition@0 {
268 label = "RCW";
269 reg = <0x0 0x40000>;
270 };
271
272 partition@40000 {
273 label = "U-Boot";
274 reg = <0x40000 0x300000>;
275 };
276
277 partition@340000 {
278 label = "U-Boot Env";
279 reg = <0x340000 0x100000>;
280 };
281 };
282 };
283};
284
285&sai2 {
286 status = "okay";
287};
288
289&sata {
290 status = "okay";
291};
292
293&uart0 {
294 status = "okay";
295};