Linux 6.7-rc7
[linux-modified.git] / arch / arm64 / boot / dts / freescale / fsl-ls1028a-rdb.dts
1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2 /*
3  * Device Tree file for NXP LS1028A RDB Board.
4  *
5  * Copyright 2018-2021 NXP
6  *
7  * Harninder Rai <harninder.rai@nxp.com>
8  *
9  */
10
11 /dts-v1/;
12 #include "fsl-ls1028a.dtsi"
13
14 / {
15         model = "LS1028A RDB Board";
16         compatible = "fsl,ls1028a-rdb", "fsl,ls1028a";
17
18         aliases {
19                 crypto = &crypto;
20                 serial0 = &duart0;
21                 serial1 = &duart1;
22                 mmc0 = &esdhc;
23                 mmc1 = &esdhc1;
24                 rtc1 = &ftm_alarm1;
25                 spi0 = &fspi;
26                 ethernet0 = &enetc_port0;
27                 ethernet1 = &enetc_port2;
28                 ethernet2 = &mscc_felix_port0;
29                 ethernet3 = &mscc_felix_port1;
30                 ethernet4 = &mscc_felix_port2;
31                 ethernet5 = &mscc_felix_port3;
32                 ethernet6 = &mscc_felix_port4;
33                 ethernet7 = &mscc_felix_port5;
34                 ethernet8 = &enetc_port3;
35         };
36
37         chosen {
38                 stdout-path = "serial0:115200n8";
39         };
40
41         memory@80000000 {
42                 device_type = "memory";
43                 reg = <0x0 0x80000000 0x1 0x0000000>;
44         };
45
46         sys_mclk: clock-mclk {
47                 compatible = "fixed-clock";
48                 #clock-cells = <0>;
49                 clock-frequency = <25000000>;
50         };
51
52         reg_1p8v: regulator-1p8v {
53                 compatible = "regulator-fixed";
54                 regulator-name = "1P8V";
55                 regulator-min-microvolt = <1800000>;
56                 regulator-max-microvolt = <1800000>;
57                 regulator-always-on;
58         };
59
60         sb_3v3: regulator-sb3v3 {
61                 compatible = "regulator-fixed";
62                 regulator-name = "3v3_vbus";
63                 regulator-min-microvolt = <3300000>;
64                 regulator-max-microvolt = <3300000>;
65                 regulator-boot-on;
66                 regulator-always-on;
67         };
68
69         sound {
70                 compatible = "simple-audio-card";
71                 simple-audio-card,format = "i2s";
72                 simple-audio-card,widgets =
73                         "Microphone", "Microphone Jack",
74                         "Headphone", "Headphone Jack",
75                         "Speaker", "Speaker Ext",
76                         "Line", "Line In Jack";
77                 simple-audio-card,routing =
78                         "MIC_IN", "Microphone Jack",
79                         "Microphone Jack", "Mic Bias",
80                         "LINE_IN", "Line In Jack",
81                         "Headphone Jack", "HP_OUT",
82                         "Speaker Ext", "LINE_OUT";
83
84                 simple-audio-card,cpu {
85                         sound-dai = <&sai4>;
86                         frame-master;
87                         bitclock-master;
88                 };
89
90                 simple-audio-card,codec {
91                         sound-dai = <&sgtl5000>;
92                         frame-master;
93                         bitclock-master;
94                         system-clock-frequency = <25000000>;
95                 };
96         };
97 };
98
99 &can0 {
100         status = "okay";
101
102         can-transceiver {
103                 max-bitrate = <5000000>;
104         };
105 };
106
107 &can1 {
108         status = "okay";
109
110         can-transceiver {
111                 max-bitrate = <5000000>;
112         };
113 };
114
115 &duart0 {
116         status = "okay";
117 };
118
119 &duart1 {
120         status = "okay";
121 };
122
123 &enetc_mdio_pf3 {
124         sgmii_phy0: ethernet-phy@2 {
125                 reg = <0x2>;
126         };
127
128         /* VSC8514 QSGMII quad PHY */
129         qsgmii_phy0: ethernet-phy@10 {
130                 reg = <0x10>;
131         };
132
133         qsgmii_phy1: ethernet-phy@11 {
134                 reg = <0x11>;
135         };
136
137         qsgmii_phy2: ethernet-phy@12 {
138                 reg = <0x12>;
139         };
140
141         qsgmii_phy3: ethernet-phy@13 {
142                 reg = <0x13>;
143         };
144 };
145
146 &enetc_port0 {
147         phy-handle = <&sgmii_phy0>;
148         phy-mode = "sgmii";
149         managed = "in-band-status";
150         status = "okay";
151 };
152
153 &enetc_port2 {
154         status = "okay";
155 };
156
157 &enetc_port3 {
158         status = "okay";
159 };
160
161 &esdhc {
162         sd-uhs-sdr104;
163         sd-uhs-sdr50;
164         sd-uhs-sdr25;
165         sd-uhs-sdr12;
166         status = "okay";
167 };
168
169 &esdhc1 {
170         mmc-hs200-1_8v;
171         mmc-hs400-1_8v;
172         bus-width = <8>;
173         status = "okay";
174 };
175
176 &fspi {
177         status = "okay";
178
179         mt35xu02g0: flash@0 {
180                 compatible = "jedec,spi-nor";
181                 #address-cells = <1>;
182                 #size-cells = <1>;
183                 spi-max-frequency = <50000000>;
184                 /* The following setting enables 1-1-8 (CMD-ADDR-DATA) mode */
185                 spi-rx-bus-width = <8>; /* 8 SPI Rx lines */
186                 spi-tx-bus-width = <1>; /* 1 SPI Tx line */
187                 reg = <0>;
188         };
189 };
190
191 &ftm_alarm1 {
192         status = "okay";
193 };
194
195 &i2c0 {
196         status = "okay";
197
198         i2c-mux@77 {
199                 compatible = "nxp,pca9847";
200                 reg = <0x77>;
201                 #address-cells = <1>;
202                 #size-cells = <0>;
203
204                 i2c@1 {
205                         #address-cells = <1>;
206                         #size-cells = <0>;
207                         reg = <0x1>;
208
209                         sgtl5000: audio-codec@a {
210                                 #sound-dai-cells = <0>;
211                                 compatible = "fsl,sgtl5000";
212                                 reg = <0xa>;
213                                 VDDA-supply = <&reg_1p8v>;
214                                 VDDIO-supply = <&reg_1p8v>;
215                                 clocks = <&sys_mclk>;
216                                 sclk-strength = <3>;
217                         };
218                 };
219
220                 i2c@2 {
221                         #address-cells = <1>;
222                         #size-cells = <0>;
223                         reg = <0x02>;
224
225                         current-monitor@40 {
226                                 compatible = "ti,ina220";
227                                 reg = <0x40>;
228                                 shunt-resistor = <500>;
229                         };
230                 };
231
232                 i2c@3 {
233                         #address-cells = <1>;
234                         #size-cells = <0>;
235                         reg = <0x3>;
236
237                         temperature-sensor@4c {
238                                 compatible = "nxp,sa56004";
239                                 reg = <0x4c>;
240                                 vcc-supply = <&sb_3v3>;
241                         };
242
243                         rtc@51 {
244                                 compatible = "nxp,pcf2129";
245                                 reg = <0x51>;
246                         };
247                 };
248         };
249 };
250
251 &mscc_felix {
252         status = "okay";
253 };
254
255 &mscc_felix_port0 {
256         label = "swp0";
257         managed = "in-band-status";
258         phy-handle = <&qsgmii_phy0>;
259         phy-mode = "qsgmii";
260         status = "okay";
261 };
262
263 &mscc_felix_port1 {
264         label = "swp1";
265         managed = "in-band-status";
266         phy-handle = <&qsgmii_phy1>;
267         phy-mode = "qsgmii";
268         status = "okay";
269 };
270
271 &mscc_felix_port2 {
272         label = "swp2";
273         managed = "in-band-status";
274         phy-handle = <&qsgmii_phy2>;
275         phy-mode = "qsgmii";
276         status = "okay";
277 };
278
279 &mscc_felix_port3 {
280         label = "swp3";
281         managed = "in-band-status";
282         phy-handle = <&qsgmii_phy3>;
283         phy-mode = "qsgmii";
284         status = "okay";
285 };
286
287 &mscc_felix_port4 {
288         status = "okay";
289 };
290
291 &mscc_felix_port5 {
292         status = "okay";
293 };
294
295 &optee {
296         status = "okay";
297 };
298
299 &pwm0 {
300         status = "okay";
301 };
302
303 &sai4 {
304         status = "okay";
305 };
306
307 &sata {
308         status = "okay";
309 };
310
311 &usb0 {
312         dr_mode = "host";
313         status = "okay";
314 };
315
316 &usb1 {
317         status = "okay";
318 };