kernel: bump 4.14 to 4.14.107
[openwrt/openwrt.git] / target / linux / layerscape / patches-4.14 / 302-dts-support-layerscape.patch
1 From caecd8632a257759735ed6dd9354091cae8a5746 Mon Sep 17 00:00:00 2001
2 From: Biwen Li <biwen.li@nxp.com>
3 Date: Fri, 16 Nov 2018 17:11:32 +0800
4 Subject: [PATCH] dts: support layerscape This is an integrated patch of dts
5 for layerscape
6
7 Signed-off-by: Abhimanyu Saini <abhimanyu.saini@nxp.com>
8 Signed-off-by: Akhil Goyal <akhil.goyal@nxp.com>
9 Signed-off-by: Alan Wang <alan.wang@nxp.com>
10 Signed-off-by: Alison Wang <alison.wang@nxp.com>
11 Signed-off-by: Amrita Kumari <amrita.kumari@nxp.com>
12 Signed-off-by: Anjaneyulu Jagarlmudi <anji.jagarlmudi@nxp.com>
13 Signed-off-by: Ashish Kumar <ashish.kumar@nxp.com>
14 Signed-off-by: Ashish Kumar <Ashish.Kumar@nxp.com>
15 Signed-off-by: Bao Xiaowei <xiaowei.bao@nxp.com>
16 Signed-off-by: Bharat Bhushan <Bharat.Bhushan@nxp.com>
17 Signed-off-by: Bhaskar Upadhaya <Bhaskar.Upadhaya@nxp.com>
18 Signed-off-by: Bhupesh Sharma <bhupesh.sharma@freescale.com>
19 Signed-off-by: Biwen Li <biwen.li@nxp.com>
20 Signed-off-by: Bogdan Purcareata <bogdan.purcareata@nxp.com>
21 Signed-off-by: Calvin Johnson <calvin.johnson@nxp.com>
22 Signed-off-by: Camelia Groza <camelia.groza@nxp.com>
23 Signed-off-by: Changming Huang <jerry.huang@nxp.com>
24 Signed-off-by: Constantin Tudor <constantin.tudor@nxp.com>
25 Signed-off-by: Florinel Iordache <florinel.iordache@nxp.com>
26 Signed-off-by: Guanhua Gao <guanhua.gao@nxp.com>
27 Signed-off-by: Honghua Yin <Hong-Hua.Yin@freescale.com>
28 Signed-off-by: Hou Zhiqiang <Zhiqiang.Hou@nxp.com>
29 Signed-off-by: Ioana Radulescu <ruxandra.radulescu@nxp.com>
30 Signed-off-by: Iordache Florinel-R70177 <florinel.iordache@nxp.com>
31 Signed-off-by: Jagdish Gediya <jagdish.gediya@nxp.com>
32 Signed-off-by: Biwen Li <biwen.li@nxp.com>
33 ---
34 arch/arm/boot/dts/ls1021a-qds.dts | 28 +
35 arch/arm/boot/dts/ls1021a-twr.dts | 27 +
36 arch/arm/boot/dts/ls1021a.dtsi | 105 +++-
37 arch/arm64/boot/dts/freescale/Makefile | 9 +
38 .../boot/dts/freescale/fsl-ls1012a-2g5rdb.dts | 123 +++++
39 .../boot/dts/freescale/fsl-ls1012a-frdm.dts | 96 ++--
40 .../boot/dts/freescale/fsl-ls1012a-frwy.dts | 177 +++++++
41 .../boot/dts/freescale/fsl-ls1012a-qds.dts | 133 +++--
42 .../boot/dts/freescale/fsl-ls1012a-rdb.dts | 100 ++--
43 .../arm64/boot/dts/freescale/fsl-ls1012a.dtsi | 179 +++++--
44 .../boot/dts/freescale/fsl-ls1043-post.dtsi | 3 +-
45 .../dts/freescale/fsl-ls1043a-qds-sdk.dts | 71 +++
46 .../boot/dts/freescale/fsl-ls1043a-qds.dts | 201 ++++++--
47 .../dts/freescale/fsl-ls1043a-rdb-sdk.dts | 71 +++
48 .../dts/freescale/fsl-ls1043a-rdb-usdpaa.dts | 117 +++++
49 .../boot/dts/freescale/fsl-ls1043a-rdb.dts | 75 ++-
50 .../arm64/boot/dts/freescale/fsl-ls1043a.dtsi | 196 +++++--
51 .../boot/dts/freescale/fsl-ls1046-post.dtsi | 2 +-
52 .../dts/freescale/fsl-ls1046a-qds-sdk.dts | 79 +++
53 .../boot/dts/freescale/fsl-ls1046a-qds.dts | 189 +++++--
54 .../dts/freescale/fsl-ls1046a-rdb-sdk.dts | 115 +++++
55 .../dts/freescale/fsl-ls1046a-rdb-usdpaa.dts | 110 ++++
56 .../boot/dts/freescale/fsl-ls1046a-rdb.dts | 44 +-
57 .../arm64/boot/dts/freescale/fsl-ls1046a.dtsi | 182 +++++--
58 .../boot/dts/freescale/fsl-ls1088a-qds.dts | 88 ++--
59 .../boot/dts/freescale/fsl-ls1088a-rdb.dts | 150 ++++--
60 .../arm64/boot/dts/freescale/fsl-ls1088a.dtsi | 486 ++++++++++++++++--
61 .../boot/dts/freescale/fsl-ls2080a-qds.dts | 100 ++--
62 .../boot/dts/freescale/fsl-ls2080a-rdb.dts | 118 +++--
63 .../boot/dts/freescale/fsl-ls2080a-simu.dts | 38 +-
64 .../arm64/boot/dts/freescale/fsl-ls2080a.dtsi | 42 +-
65 .../boot/dts/freescale/fsl-ls2081a-rdb.dts | 163 ++++++
66 .../boot/dts/freescale/fsl-ls2088a-qds.dts | 158 ++++--
67 .../boot/dts/freescale/fsl-ls2088a-rdb.dts | 118 +++--
68 .../arm64/boot/dts/freescale/fsl-ls2088a.dtsi | 44 +-
69 .../boot/dts/freescale/fsl-ls208xa-qds.dtsi | 43 +-
70 .../boot/dts/freescale/fsl-ls208xa-rdb.dtsi | 60 +--
71 .../arm64/boot/dts/freescale/fsl-ls208xa.dtsi | 210 ++++++--
72 .../dts/freescale/qoriq-bman-portals-sdk.dtsi | 55 ++
73 .../dts/freescale/qoriq-bman-portals.dtsi | 8 +-
74 .../boot/dts/freescale/qoriq-dpaa-eth.dtsi | 97 ++++
75 .../dts/freescale/qoriq-fman3-0-10g-0.dtsi | 11 +-
76 .../dts/freescale/qoriq-fman3-0-10g-1.dtsi | 11 +-
77 .../dts/freescale/qoriq-fman3-0-1g-0.dtsi | 7 +-
78 .../dts/freescale/qoriq-fman3-0-1g-1.dtsi | 7 +-
79 .../dts/freescale/qoriq-fman3-0-1g-2.dtsi | 7 +-
80 .../dts/freescale/qoriq-fman3-0-1g-3.dtsi | 7 +-
81 .../dts/freescale/qoriq-fman3-0-1g-4.dtsi | 7 +-
82 .../dts/freescale/qoriq-fman3-0-1g-5.dtsi | 7 +-
83 .../boot/dts/freescale/qoriq-fman3-0-6oh.dtsi | 47 ++
84 .../boot/dts/freescale/qoriq-fman3-0.dtsi | 54 +-
85 .../dts/freescale/qoriq-qman-portals-sdk.dtsi | 38 ++
86 .../dts/freescale/qoriq-qman-portals.dtsi | 9 +-
87 .../boot/dts/fsl/qoriq-fman-0-10g-0.dtsi | 4 +-
88 .../boot/dts/fsl/qoriq-fman-0-1g-0.dtsi | 4 +-
89 .../boot/dts/fsl/qoriq-fman-0-1g-1.dtsi | 4 +-
90 .../boot/dts/fsl/qoriq-fman-0-1g-2.dtsi | 4 +-
91 .../boot/dts/fsl/qoriq-fman-0-1g-3.dtsi | 4 +-
92 .../boot/dts/fsl/qoriq-fman-0-1g-4.dtsi | 4 +-
93 .../boot/dts/fsl/qoriq-fman-1-10g-0.dtsi | 4 +-
94 .../boot/dts/fsl/qoriq-fman-1-1g-0.dtsi | 4 +-
95 .../boot/dts/fsl/qoriq-fman-1-1g-1.dtsi | 4 +-
96 .../boot/dts/fsl/qoriq-fman-1-1g-2.dtsi | 4 +-
97 .../boot/dts/fsl/qoriq-fman-1-1g-3.dtsi | 4 +-
98 .../boot/dts/fsl/qoriq-fman-1-1g-4.dtsi | 4 +-
99 .../fsl/qoriq-fman3-0-10g-0-best-effort.dtsi | 4 +-
100 .../boot/dts/fsl/qoriq-fman3-0-10g-0.dtsi | 4 +-
101 .../fsl/qoriq-fman3-0-10g-1-best-effort.dtsi | 4 +-
102 .../boot/dts/fsl/qoriq-fman3-0-10g-1.dtsi | 4 +-
103 .../boot/dts/fsl/qoriq-fman3-0-1g-0.dtsi | 4 +-
104 .../boot/dts/fsl/qoriq-fman3-0-1g-1.dtsi | 4 +-
105 .../boot/dts/fsl/qoriq-fman3-0-1g-2.dtsi | 4 +-
106 .../boot/dts/fsl/qoriq-fman3-0-1g-3.dtsi | 4 +-
107 .../boot/dts/fsl/qoriq-fman3-0-1g-4.dtsi | 4 +-
108 .../boot/dts/fsl/qoriq-fman3-0-1g-5.dtsi | 4 +-
109 .../boot/dts/fsl/qoriq-fman3-1-10g-0.dtsi | 4 +-
110 .../boot/dts/fsl/qoriq-fman3-1-10g-1.dtsi | 4 +-
111 .../boot/dts/fsl/qoriq-fman3-1-1g-0.dtsi | 4 +-
112 .../boot/dts/fsl/qoriq-fman3-1-1g-1.dtsi | 4 +-
113 .../boot/dts/fsl/qoriq-fman3-1-1g-2.dtsi | 4 +-
114 .../boot/dts/fsl/qoriq-fman3-1-1g-3.dtsi | 4 +-
115 .../boot/dts/fsl/qoriq-fman3-1-1g-4.dtsi | 4 +-
116 .../boot/dts/fsl/qoriq-fman3-1-1g-5.dtsi | 4 +-
117 83 files changed, 3742 insertions(+), 1000 deletions(-)
118 create mode 100644 arch/arm64/boot/dts/freescale/fsl-ls1012a-2g5rdb.dts
119 create mode 100644 arch/arm64/boot/dts/freescale/fsl-ls1012a-frwy.dts
120 create mode 100644 arch/arm64/boot/dts/freescale/fsl-ls1043a-qds-sdk.dts
121 create mode 100644 arch/arm64/boot/dts/freescale/fsl-ls1043a-rdb-sdk.dts
122 create mode 100644 arch/arm64/boot/dts/freescale/fsl-ls1043a-rdb-usdpaa.dts
123 create mode 100644 arch/arm64/boot/dts/freescale/fsl-ls1046a-qds-sdk.dts
124 create mode 100644 arch/arm64/boot/dts/freescale/fsl-ls1046a-rdb-sdk.dts
125 create mode 100644 arch/arm64/boot/dts/freescale/fsl-ls1046a-rdb-usdpaa.dts
126 create mode 100644 arch/arm64/boot/dts/freescale/fsl-ls2081a-rdb.dts
127 create mode 100644 arch/arm64/boot/dts/freescale/qoriq-bman-portals-sdk.dtsi
128 create mode 100644 arch/arm64/boot/dts/freescale/qoriq-dpaa-eth.dtsi
129 create mode 100644 arch/arm64/boot/dts/freescale/qoriq-fman3-0-6oh.dtsi
130 create mode 100644 arch/arm64/boot/dts/freescale/qoriq-qman-portals-sdk.dtsi
131
132 --- a/arch/arm/boot/dts/ls1021a-qds.dts
133 +++ b/arch/arm/boot/dts/ls1021a-qds.dts
134 @@ -124,6 +124,21 @@
135 };
136 };
137
138 +&qspi {
139 + num-cs = <2>;
140 + status = "okay";
141 +
142 + qflash0: s25fl128s@0 {
143 + compatible = "spansion,m25p80";
144 + #address-cells = <1>;
145 + #size-cells = <1>;
146 + spi-max-frequency = <20000000>;
147 + reg = <0>;
148 + spi-rx-bus-width = <4>;
149 + spi-tx-bus-width = <4>;
150 + };
151 +};
152 +
153 &enet0 {
154 tbi-handle = <&tbi0>;
155 phy-handle = <&sgmii_phy1c>;
156 @@ -239,6 +254,11 @@
157 device-width = <1>;
158 };
159
160 + nand@2,0 {
161 + compatible = "fsl,ifc-nand";
162 + reg = <0x2 0x0 0x10000>;
163 + };
164 +
165 fpga: board-control@3,0 {
166 #address-cells = <1>;
167 #size-cells = <1>;
168 @@ -331,3 +351,11 @@
169 &uart1 {
170 status = "okay";
171 };
172 +
173 +&can0 {
174 + status = "okay";
175 +};
176 +
177 +&can1 {
178 + status = "okay";
179 +};
180 --- a/arch/arm/boot/dts/ls1021a-twr.dts
181 +++ b/arch/arm/boot/dts/ls1021a-twr.dts
182 @@ -142,6 +142,21 @@
183 };
184 };
185
186 +&qspi {
187 + num-cs = <2>;
188 + status = "okay";
189 +
190 + qflash0: n25q128a13@0 {
191 + compatible = "n25q128a13", "jedec,spi-nor";
192 + #address-cells = <1>;
193 + #size-cells = <1>;
194 + spi-max-frequency = <20000000>;
195 + reg = <0>;
196 + spi-rx-bus-width = <4>;
197 + spi-tx-bus-width = <4>;
198 + };
199 +};
200 +
201 &enet0 {
202 tbi-handle = <&tbi1>;
203 phy-handle = <&sgmii_phy2>;
204 @@ -228,6 +243,10 @@
205 };
206 };
207
208 +&esdhc {
209 + status = "okay";
210 +};
211 +
212 &sai1 {
213 status = "okay";
214 };
215 @@ -243,3 +262,11 @@
216 &uart1 {
217 status = "okay";
218 };
219 +
220 +&can0 {
221 + status = "okay";
222 +};
223 +
224 +&can1 {
225 + status = "okay";
226 +};
227 --- a/arch/arm/boot/dts/ls1021a.dtsi
228 +++ b/arch/arm/boot/dts/ls1021a.dtsi
229 @@ -146,12 +146,13 @@
230 ifc: ifc@1530000 {
231 compatible = "fsl,ifc", "simple-bus";
232 reg = <0x0 0x1530000 0x0 0x10000>;
233 + big-endian;
234 interrupts = <GIC_SPI 75 IRQ_TYPE_LEVEL_HIGH>;
235 };
236
237 dcfg: dcfg@1ee0000 {
238 compatible = "fsl,ls1021a-dcfg", "syscon";
239 - reg = <0x0 0x1ee0000 0x0 0x10000>;
240 + reg = <0x0 0x1ee0000 0x0 0x1000>;
241 big-endian;
242 };
243
244 @@ -334,25 +335,41 @@
245 status = "disabled";
246 };
247
248 + qspi: quadspi@1550000 {
249 + compatible = "fsl,ls1021a-qspi";
250 + #address-cells = <1>;
251 + #size-cells = <0>;
252 + reg = <0x0 0x1550000 0x0 0x10000>,
253 + <0x0 0x40000000 0x0 0x4000000>;
254 + reg-names = "QuadSPI", "QuadSPI-memory";
255 + interrupts = <GIC_SPI 131 IRQ_TYPE_LEVEL_HIGH>;
256 + clock-names = "qspi_en", "qspi";
257 + clocks = <&clockgen 4 1>, <&clockgen 4 1>;
258 + big-endian;
259 + status = "disabled";
260 + };
261 +
262 i2c0: i2c@2180000 {
263 - compatible = "fsl,vf610-i2c";
264 + compatible = "fsl,vf610-i2c", "fsl,ls1021a-vf610-i2c";
265 #address-cells = <1>;
266 #size-cells = <0>;
267 reg = <0x0 0x2180000 0x0 0x10000>;
268 interrupts = <GIC_SPI 88 IRQ_TYPE_LEVEL_HIGH>;
269 clock-names = "i2c";
270 clocks = <&clockgen 4 1>;
271 + fsl-scl-gpio = <&gpio3 23 0>;
272 status = "disabled";
273 };
274
275 i2c1: i2c@2190000 {
276 - compatible = "fsl,vf610-i2c";
277 + compatible = "fsl,vf610-i2c", "fsl,ls1021a-vf610-i2c";
278 #address-cells = <1>;
279 #size-cells = <0>;
280 reg = <0x0 0x2190000 0x0 0x10000>;
281 interrupts = <GIC_SPI 89 IRQ_TYPE_LEVEL_HIGH>;
282 clock-names = "i2c";
283 clocks = <&clockgen 4 1>;
284 + fsl-scl-gpio = <&gpio3 23 0>;
285 status = "disabled";
286 };
287
288 @@ -497,6 +514,17 @@
289 status = "disabled";
290 };
291
292 + ftm0: ftm0@29d0000 {
293 + compatible = "fsl,ls1021a-ftm-alarm";
294 + reg = <0x0 0x29d0000 0x0 0x10000>,
295 + <0x0 0x1ee2144 0x0 0x4>,
296 + <0x0 0x0157051c 0x0 0x4>;
297 + reg-names = "ftm", "pmctrl", "scrachpad";
298 + interrupts = <GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH>;
299 + big-endian;
300 + status = "okay";
301 + };
302 +
303 wdog0: watchdog@2ad0000 {
304 compatible = "fsl,imx21-wdt";
305 reg = <0x0 0x2ad0000 0x0 0x10000>;
306 @@ -550,6 +578,25 @@
307 <&clockgen 4 1>;
308 };
309
310 + qdma: qdma@8390000 {
311 + compatible = "fsl,ls1021a-qdma";
312 + reg = <0x0 0x8388000 0x0 0x1000>, /* Controller regs */
313 + <0x0 0x8389000 0x0 0x1000>, /* Status regs */
314 + <0x0 0x838a000 0x0 0x2000>; /* Block regs */
315 + interrupts = <GIC_SPI 185 IRQ_TYPE_LEVEL_HIGH>,
316 + <GIC_SPI 76 IRQ_TYPE_LEVEL_HIGH>,
317 + <GIC_SPI 77 IRQ_TYPE_LEVEL_HIGH>;
318 + interrupt-names = "qdma-error",
319 + "qdma-queue0", "qdma-queue1";
320 + channels = <8>;
321 + block-number = <2>;
322 + block-offset = <0x1000>;
323 + queues = <2>;
324 + status-sizes = <64>;
325 + queue-sizes = <64 64>;
326 + big-endian;
327 + };
328 +
329 dcu: dcu@2ce0000 {
330 compatible = "fsl,ls1021a-dcu";
331 reg = <0x0 0x2ce0000 0x0 0x10000>;
332 @@ -684,6 +731,10 @@
333 dr_mode = "host";
334 snps,quirk-frame-length-adjustment = <0x20>;
335 snps,dis_rxdet_inp3_quirk;
336 + configure-gfladj;
337 + usb3-lpm-capable;
338 + snps,dis-u1u2-when-u3-quirk;
339 + snps,incr-burst-type-adjustment = <1>, <4>, <8>, <16>;
340 };
341
342 pcie@3400000 {
343 @@ -691,7 +742,9 @@
344 reg = <0x00 0x03400000 0x0 0x00010000 /* controller registers */
345 0x40 0x00000000 0x0 0x00002000>; /* configuration space */
346 reg-names = "regs", "config";
347 - interrupts = <GIC_SPI 177 IRQ_TYPE_LEVEL_HIGH>; /* controller interrupt */
348 + interrupts = <GIC_SPI 181 IRQ_TYPE_LEVEL_HIGH>,
349 + <GIC_SPI 183 IRQ_TYPE_LEVEL_HIGH>; /* aer interrupt */
350 + interrupt-names = "pme", "aer";
351 fsl,pcie-scfg = <&scfg 0>;
352 #address-cells = <3>;
353 #size-cells = <2>;
354 @@ -714,7 +767,9 @@
355 reg = <0x00 0x03500000 0x0 0x00010000 /* controller registers */
356 0x48 0x00000000 0x0 0x00002000>; /* configuration space */
357 reg-names = "regs", "config";
358 - interrupts = <GIC_SPI 178 IRQ_TYPE_LEVEL_HIGH>;
359 + interrupts = <GIC_SPI 182 IRQ_TYPE_LEVEL_HIGH>,
360 + <GIC_SPI 184 IRQ_TYPE_LEVEL_HIGH>; /* aer interrupt */
361 + interrupt-names = "pme", "aer";
362 fsl,pcie-scfg = <&scfg 1>;
363 #address-cells = <3>;
364 #size-cells = <2>;
365 @@ -731,5 +786,45 @@
366 <0000 0 0 3 &gic GIC_SPI 191 IRQ_TYPE_LEVEL_HIGH>,
367 <0000 0 0 4 &gic GIC_SPI 193 IRQ_TYPE_LEVEL_HIGH>;
368 };
369 +
370 + can0: can@2a70000 {
371 + compatible = "fsl,ls1021ar2-flexcan";
372 + reg = <0x0 0x2a70000 0x0 0x1000>;
373 + interrupts = <GIC_SPI 126 IRQ_TYPE_LEVEL_HIGH>;
374 + clocks = <&clockgen 4 1>, <&clockgen 4 1>;
375 + clock-names = "ipg", "per";
376 + big-endian;
377 + status = "disabled";
378 + };
379 +
380 + can1: can@2a80000 {
381 + compatible = "fsl,ls1021ar2-flexcan";
382 + reg = <0x0 0x2a80000 0x0 0x1000>;
383 + interrupts = <GIC_SPI 127 IRQ_TYPE_LEVEL_HIGH>;
384 + clocks = <&clockgen 4 1>, <&clockgen 4 1>;
385 + clock-names = "ipg", "per";
386 + big-endian;
387 + status = "disabled";
388 + };
389 +
390 + can2: can@2a90000 {
391 + compatible = "fsl,ls1021ar2-flexcan";
392 + reg = <0x0 0x2a90000 0x0 0x1000>;
393 + interrupts = <GIC_SPI 128 IRQ_TYPE_LEVEL_HIGH>;
394 + clocks = <&clockgen 4 1>, <&clockgen 4 1>;
395 + clock-names = "ipg", "per";
396 + big-endian;
397 + status = "disabled";
398 + };
399 +
400 + can3: can@2aa0000 {
401 + compatible = "fsl,ls1021ar2-flexcan";
402 + reg = <0x0 0x2aa0000 0x0 0x1000>;
403 + interrupts = <GIC_SPI 129 IRQ_TYPE_LEVEL_HIGH>;
404 + clocks = <&clockgen 4 1>, <&clockgen 4 1>;
405 + clock-names = "ipg", "per";
406 + big-endian;
407 + status = "disabled";
408 + };
409 };
410 };
411 --- a/arch/arm64/boot/dts/freescale/Makefile
412 +++ b/arch/arm64/boot/dts/freescale/Makefile
413 @@ -1,15 +1,24 @@
414 # SPDX-License-Identifier: GPL-2.0
415 dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1012a-frdm.dtb
416 +dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1012a-frwy.dtb
417 dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1012a-qds.dtb
418 dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1012a-rdb.dtb
419 +dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1012a-2g5rdb.dtb
420 dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1043a-qds.dtb
421 +dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1043a-qds-sdk.dtb
422 dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1043a-rdb.dtb
423 +dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1043a-rdb-sdk.dtb
424 +dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1043a-rdb-usdpaa.dtb
425 dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1046a-qds.dtb
426 +dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1046a-qds-sdk.dtb
427 dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1046a-rdb.dtb
428 +dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1046a-rdb-sdk.dtb
429 +dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1046a-rdb-usdpaa.dtb
430 dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1088a-qds.dtb
431 dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1088a-rdb.dtb
432 dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls2080a-qds.dtb
433 dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls2080a-rdb.dtb
434 +dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls2081a-rdb.dtb
435 dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls2080a-simu.dtb
436 dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls2088a-qds.dtb
437 dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls2088a-rdb.dtb
438 --- /dev/null
439 +++ b/arch/arm64/boot/dts/freescale/fsl-ls1012a-2g5rdb.dts
440 @@ -0,0 +1,123 @@
441 +/*
442 + * Device Tree file for NXP LS1012A 2G5RDB Board.
443 + *
444 + * Copyright 2017 NXP
445 + *
446 + * Bhaskar Upadhaya <bhaskar.upadhaya@nxp.com>
447 + *
448 + * This file is dual-licensed: you can use it either under the terms
449 + * of the GPLv2 or the X11 license, at your option. Note that this dual
450 + * licensing only applies to this file, and not this project as a
451 + * whole.
452 + *
453 + * a) This library is free software; you can redistribute it and/or
454 + * modify it under the terms of the GNU General Public License as
455 + * published by the Free Software Foundation; either version 2 of the
456 + * License, or (at your option) any later version.
457 + *
458 + * This library is distributed in the hope that it will be useful,
459 + * but WITHOUT ANY WARRANTY; without even the implied warranty of
460 + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
461 + * GNU General Public License for more details.
462 + *
463 + * Or, alternatively,
464 + *
465 + * b) Permission is hereby granted, free of charge, to any person
466 + * obtaining a copy of this software and associated documentation
467 + * files (the "Software"), to deal in the Software without
468 + * restriction, including without limitation the rights to use,
469 + * copy, modify, merge, publish, distribute, sublicense, and/or
470 + * sell copies of the Software, and to permit persons to whom the
471 + * Software is furnished to do so, subject to the following
472 + * conditions:
473 + *
474 + * The above copyright notice and this permission notice shall be
475 + * included in all copies or substantial portions of the Software.
476 + *
477 + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
478 + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
479 + * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
480 + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
481 + * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
482 + * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
483 + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
484 + * OTHER DEALINGS IN THE SOFTWARE.
485 + */
486 +/dts-v1/;
487 +
488 +#include "fsl-ls1012a.dtsi"
489 +
490 +/ {
491 + model = "LS1012A 2G5RDB Board";
492 + compatible = "fsl,ls1012a-rdb", "fsl,ls1012a";
493 +
494 + aliases {
495 + ethernet0 = &pfe_mac0;
496 + ethernet1 = &pfe_mac1;
497 + };
498 +};
499 +
500 +&duart0 {
501 + status = "okay";
502 +};
503 +
504 +&i2c0 {
505 + status = "okay";
506 +};
507 +
508 +&qspi {
509 + num-cs = <2>;
510 + bus-num = <0>;
511 + status = "okay";
512 +
513 + qflash0: s25fs512s@0 {
514 + compatible = "spansion,m25p80";
515 + #address-cells = <1>;
516 + #size-cells = <1>;
517 + spi-max-frequency = <20000000>;
518 + m25p,fast-read;
519 + reg = <0>;
520 + };
521 +};
522 +
523 +&sata {
524 + status = "okay";
525 +};
526 +
527 +&pfe {
528 + status = "okay";
529 + #address-cells = <1>;
530 + #size-cells = <0>;
531 +
532 + ethernet@0 {
533 + compatible = "fsl,pfe-gemac-port";
534 + #address-cells = <1>;
535 + #size-cells = <0>;
536 + reg = <0x0>; /* GEM_ID */
537 + fsl,gemac-bus-id = <0x0>; /* BUS_ID */
538 + fsl,gemac-phy-id = <0x1>; /* PHY_ID */
539 + fsl,mdio-mux-val = <0x0>;
540 + phy-mode = "sgmii-2500";
541 + fsl,pfe-phy-if-flags = <0x0>;
542 +
543 + mdio@0 {
544 + reg = <0x1>; /* enabled/disabled */
545 + };
546 + };
547 +
548 + ethernet@1 {
549 + compatible = "fsl,pfe-gemac-port";
550 + #address-cells = <1>;
551 + #size-cells = <0>;
552 + reg = <0x1>; /* GEM_ID */
553 + fsl,gemac-bus-id = < 0x0>; /* BUS_ID */
554 + fsl,gemac-phy-id = < 0x2>; /* PHY_ID */
555 + fsl,mdio-mux-val = <0x0>;
556 + phy-mode = "sgmii-2500";
557 + fsl,pfe-phy-if-flags = <0x0>;
558 +
559 + mdio@0 {
560 + reg = <0x0>; /* enabled/disabled */
561 + };
562 + };
563 +};
564 --- a/arch/arm64/boot/dts/freescale/fsl-ls1012a-frdm.dts
565 +++ b/arch/arm64/boot/dts/freescale/fsl-ls1012a-frdm.dts
566 @@ -1,45 +1,9 @@
567 +// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
568 /*
569 * Device Tree file for Freescale LS1012A Freedom Board.
570 *
571 * Copyright 2016 Freescale Semiconductor, Inc.
572 *
573 - * This file is dual-licensed: you can use it either under the terms
574 - * of the GPLv2 or the X11 license, at your option. Note that this dual
575 - * licensing only applies to this file, and not this project as a
576 - * whole.
577 - *
578 - * a) This library is free software; you can redistribute it and/or
579 - * modify it under the terms of the GNU General Public License as
580 - * published by the Free Software Foundation; either version 2 of the
581 - * License, or (at your option) any later version.
582 - *
583 - * This library is distributed in the hope that it will be useful,
584 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
585 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
586 - * GNU General Public License for more details.
587 - *
588 - * Or, alternatively,
589 - *
590 - * b) Permission is hereby granted, free of charge, to any person
591 - * obtaining a copy of this software and associated documentation
592 - * files (the "Software"), to deal in the Software without
593 - * restriction, including without limitation the rights to use,
594 - * copy, modify, merge, publish, distribute, sublicense, and/or
595 - * sell copies of the Software, and to permit persons to whom the
596 - * Software is furnished to do so, subject to the following
597 - * conditions:
598 - *
599 - * The above copyright notice and this permission notice shall be
600 - * included in all copies or substantial portions of the Software.
601 - *
602 - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
603 - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
604 - * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
605 - * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
606 - * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
607 - * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
608 - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
609 - * OTHER DEALINGS IN THE SOFTWARE.
610 */
611 /dts-v1/;
612
613 @@ -49,6 +13,11 @@
614 model = "LS1012A Freedom Board";
615 compatible = "fsl,ls1012a-frdm", "fsl,ls1012a";
616
617 + aliases {
618 + ethernet0 = &pfe_mac0;
619 + ethernet1 = &pfe_mac1;
620 + };
621 +
622 sys_mclk: clock-mclk {
623 compatible = "fixed-clock";
624 #clock-cells = <0>;
625 @@ -110,6 +79,44 @@
626 };
627 };
628
629 +&pfe {
630 + status = "okay";
631 + #address-cells = <1>;
632 + #size-cells = <0>;
633 +
634 + ethernet@0 {
635 + compatible = "fsl,pfe-gemac-port";
636 + #address-cells = <1>;
637 + #size-cells = <0>;
638 + reg = <0x0>; /* GEM_ID */
639 + fsl,gemac-bus-id = <0x0>; /* BUS_ID */
640 + fsl,gemac-phy-id = <0x2>; /* PHY_ID */
641 + fsl,mdio-mux-val = <0x0>;
642 + phy-mode = "sgmii";
643 + fsl,pfe-phy-if-flags = <0x0>;
644 +
645 + mdio@0 {
646 + reg = <0x1>; /* enabled/disabled */
647 + };
648 + };
649 +
650 + ethernet@1 {
651 + compatible = "fsl,pfe-gemac-port";
652 + #address-cells = <1>;
653 + #size-cells = <0>;
654 + reg = <0x1>; /* GEM_ID */
655 + fsl,gemac-bus-id = <0x1>; /* BUS_ID */
656 + fsl,gemac-phy-id = <0x1>; /* PHY_ID */
657 + fsl,mdio-mux-val = <0x0>;
658 + phy-mode = "sgmii";
659 + fsl,pfe-phy-if-flags = <0x0>;
660 +
661 + mdio@0 {
662 + reg = <0x0>; /* enabled/disabled */
663 + };
664 + };
665 +};
666 +
667 &sai2 {
668 status = "okay";
669 };
670 @@ -117,3 +124,18 @@
671 &sata {
672 status = "okay";
673 };
674 +
675 +&qspi {
676 + status = "okay";
677 + qflash0: s25fs512s@0 {
678 + compatible = "spansion,m25p80";
679 + #address-cells = <1>;
680 + #size-cells = <1>;
681 + spi-max-frequency = <20000000>;
682 + m25p,fast-read;
683 + reg = <0>;
684 + spi-rx-bus-width = <2>;
685 + spi-tx-bus-width = <2>;
686 + };
687 +
688 +};
689 --- /dev/null
690 +++ b/arch/arm64/boot/dts/freescale/fsl-ls1012a-frwy.dts
691 @@ -0,0 +1,177 @@
692 +/*
693 + * Device Tree file for NXP LS1012A FRWY Board.
694 + *
695 + * Copyright 2018 NXP
696 + *
697 + * This file is dual-licensed: you can use it either under the terms
698 + * of the GPLv2 or the X11 license, at your option. Note that this dual
699 + * licensing only applies to this file, and not this project as a
700 + * whole.
701 + *
702 + * a) This library is free software; you can redistribute it and/or
703 + * modify it under the terms of the GNU General Public License as
704 + * published by the Free Software Foundation; either version 2 of the
705 + * License, or (at your option) any later version.
706 + *
707 + * This library is distributed in the hope that it will be useful,
708 + * but WITHOUT ANY WARRANTY; without even the implied warranty of
709 + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
710 + * GNU General Public License for more details.
711 + *
712 + * Or, alternatively,
713 + *
714 + * b) Permission is hereby granted, free of charge, to any person
715 + * obtaining a copy of this software and associated documentation
716 + * files (the "Software"), to deal in the Software without
717 + * restriction, including without limitation the rights to use,
718 + * copy, modify, merge, publish, distribute, sublicense, and/or
719 + * sell copies of the Software, and to permit persons to whom the
720 + * Software is furnished to do so, subject to the following
721 + * conditions:
722 + *
723 + * The above copyright notice and this permission notice shall be
724 + * included in all copies or substantial portions of the Software.
725 + *
726 + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
727 + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
728 + * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
729 + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
730 + * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
731 + * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
732 + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
733 + * OTHER DEALINGS IN THE SOFTWARE.
734 + */
735 +/dts-v1/;
736 +
737 +#include "fsl-ls1012a.dtsi"
738 +
739 +/ {
740 + model = "LS1012A FRWY Board";
741 + compatible = "fsl,ls1012a-frwy", "fsl,ls1012a";
742 +
743 + aliases {
744 + ethernet0 = &pfe_mac0;
745 + ethernet1 = &pfe_mac1;
746 + };
747 +
748 + sys_mclk: clock-mclk {
749 + compatible = "fixed-clock";
750 + #clock-cells = <0>;
751 + clock-frequency = <25000000>;
752 + };
753 +
754 + reg_1p8v: regulator-1p8v {
755 + compatible = "regulator-fixed";
756 + regulator-name = "1P8V";
757 + regulator-min-microvolt = <1800000>;
758 + regulator-max-microvolt = <1800000>;
759 + regulator-always-on;
760 + };
761 +
762 + sound {
763 + compatible = "simple-audio-card";
764 + simple-audio-card,format = "i2s";
765 + simple-audio-card,widgets =
766 + "Microphone", "Microphone Jack",
767 + "Headphone", "Headphone Jack",
768 + "Speaker", "Speaker Ext",
769 + "Line", "Line In Jack";
770 + simple-audio-card,routing =
771 + "MIC_IN", "Microphone Jack",
772 + "Microphone Jack", "Mic Bias",
773 + "LINE_IN", "Line In Jack",
774 + "Headphone Jack", "HP_OUT",
775 + "Speaker Ext", "LINE_OUT";
776 +
777 + simple-audio-card,cpu {
778 + sound-dai = <&sai2>;
779 + frame-master;
780 + bitclock-master;
781 + };
782 +
783 + simple-audio-card,codec {
784 + sound-dai = <&codec>;
785 + frame-master;
786 + bitclock-master;
787 + system-clock-frequency = <25000000>;
788 + };
789 + };
790 +};
791 +
792 +&pcie {
793 + status = "okay";
794 +};
795 +
796 +&duart0 {
797 + status = "okay";
798 +};
799 +
800 +&i2c0 {
801 + status = "okay";
802 +
803 + codec: sgtl5000@a {
804 + compatible = "fsl,sgtl5000";
805 + #sound-dai-cells = <0>;
806 + reg = <0xa>;
807 + VDDA-supply = <&reg_1p8v>;
808 + VDDIO-supply = <&reg_1p8v>;
809 + clocks = <&sys_mclk>;
810 + };
811 +};
812 +
813 +&qspi {
814 + num-cs = <1>;
815 + bus-num = <0>;
816 + status = "okay";
817 +
818 + qflash0: w25q16dw@0 {
819 + compatible = "spansion,m25p80";
820 + #address-cells = <1>;
821 + #size-cells = <1>;
822 + m25p,fast-read;
823 + spi-max-frequency = <20000000>;
824 + reg = <0>;
825 + };
826 +};
827 +
828 +&pfe {
829 + status = "okay";
830 + #address-cells = <1>;
831 + #size-cells = <0>;
832 +
833 + ethernet@0 {
834 + compatible = "fsl,pfe-gemac-port";
835 + #address-cells = <1>;
836 + #size-cells = <0>;
837 + reg = <0x0>; /* GEM_ID */
838 + fsl,gemac-bus-id = <0x0>; /* BUS_ID */
839 + fsl,gemac-phy-id = <0x2>; /* PHY_ID */
840 + fsl,mdio-mux-val = <0x0>;
841 + phy-mode = "sgmii";
842 + fsl,pfe-phy-if-flags = <0x0>;
843 +
844 + mdio@0 {
845 + reg = <0x1>; /* enabled/disabled */
846 + };
847 + };
848 +
849 + ethernet@1 {
850 + compatible = "fsl,pfe-gemac-port";
851 + #address-cells = <1>;
852 + #size-cells = <0>;
853 + reg = <0x1>; /* GEM_ID */
854 + fsl,gemac-bus-id = <0x1>; /* BUS_ID */
855 + fsl,gemac-phy-id = <0x1>; /* PHY_ID */
856 + fsl,mdio-mux-val = <0x0>;
857 + phy-mode = "sgmii";
858 + fsl,pfe-phy-if-flags = <0x0>;
859 +
860 + mdio@0 {
861 + reg = <0x0>; /* enabled/disabled */
862 + };
863 + };
864 +};
865 +
866 +&sai2 {
867 + status = "okay";
868 +};
869 --- a/arch/arm64/boot/dts/freescale/fsl-ls1012a-qds.dts
870 +++ b/arch/arm64/boot/dts/freescale/fsl-ls1012a-qds.dts
871 @@ -1,45 +1,9 @@
872 +// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
873 /*
874 * Device Tree file for Freescale LS1012A QDS Board.
875 *
876 * Copyright 2016 Freescale Semiconductor, Inc.
877 *
878 - * This file is dual-licensed: you can use it either under the terms
879 - * of the GPLv2 or the X11 license, at your option. Note that this dual
880 - * licensing only applies to this file, and not this project as a
881 - * whole.
882 - *
883 - * a) This library is free software; you can redistribute it and/or
884 - * modify it under the terms of the GNU General Public License as
885 - * published by the Free Software Foundation; either version 2 of the
886 - * License, or (at your option) any later version.
887 - *
888 - * This library is distributed in the hope that it will be useful,
889 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
890 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
891 - * GNU General Public License for more details.
892 - *
893 - * Or, alternatively,
894 - *
895 - * b) Permission is hereby granted, free of charge, to any person
896 - * obtaining a copy of this software and associated documentation
897 - * files (the "Software"), to deal in the Software without
898 - * restriction, including without limitation the rights to use,
899 - * copy, modify, merge, publish, distribute, sublicense, and/or
900 - * sell copies of the Software, and to permit persons to whom the
901 - * Software is furnished to do so, subject to the following
902 - * conditions:
903 - *
904 - * The above copyright notice and this permission notice shall be
905 - * included in all copies or substantial portions of the Software.
906 - *
907 - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
908 - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
909 - * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
910 - * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
911 - * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
912 - * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
913 - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
914 - * OTHER DEALINGS IN THE SOFTWARE.
915 */
916 /dts-v1/;
917
918 @@ -49,6 +13,11 @@
919 model = "LS1012A QDS Board";
920 compatible = "fsl,ls1012a-qds", "fsl,ls1012a";
921
922 + aliases {
923 + ethernet0 = &pfe_mac0;
924 + ethernet1 = &pfe_mac1;
925 + };
926 +
927 sys_mclk: clock-mclk {
928 compatible = "fixed-clock";
929 #clock-cells = <0>;
930 @@ -93,6 +62,43 @@
931 };
932 };
933
934 +&pcie {
935 + status = "okay";
936 +};
937 +
938 +&dspi {
939 + bus-num = <0>;
940 + status = "okay";
941 +
942 + flash@0 {
943 + #address-cells = <1>;
944 + #size-cells = <1>;
945 + compatible = "n25q128a11", "jedec,spi-nor";
946 + reg = <0>;
947 + spi-max-frequency = <10000000>;
948 + };
949 +
950 + flash@1 {
951 + #address-cells = <1>;
952 + #size-cells = <1>;
953 + compatible = "sst25wf040b", "jedec,spi-nor";
954 + spi-cpol;
955 + spi-cpha;
956 + reg = <1>;
957 + spi-max-frequency = <10000000>;
958 + };
959 +
960 + flash@2 {
961 + #address-cells = <1>;
962 + #size-cells = <1>;
963 + compatible = "en25s64", "jedec,spi-nor";
964 + spi-cpol;
965 + spi-cpha;
966 + reg = <2>;
967 + spi-max-frequency = <10000000>;
968 + };
969 +};
970 +
971 &duart0 {
972 status = "okay";
973 };
974 @@ -131,6 +137,44 @@
975 };
976 };
977
978 +&pfe {
979 + status = "okay";
980 + #address-cells = <1>;
981 + #size-cells = <0>;
982 +
983 + ethernet@0 {
984 + compatible = "fsl,pfe-gemac-port";
985 + #address-cells = <1>;
986 + #size-cells = <0>;
987 + reg = <0x0>; /* GEM_ID */
988 + fsl,gemac-bus-id = <0x0>; /* BUS_ID */
989 + fsl,gemac-phy-id = <0x1>; /* PHY_ID */
990 + fsl,mdio-mux-val = <0x2>;
991 + phy-mode = "sgmii-2500";
992 + fsl,pfe-phy-if-flags = <0x0>;
993 +
994 + mdio@0 {
995 + reg = <0x1>; /* enabled/disabled */
996 + };
997 + };
998 +
999 + ethernet@1 {
1000 + compatible = "fsl,pfe-gemac-port";
1001 + #address-cells = <1>;
1002 + #size-cells = <0>;
1003 + reg = <0x1>; /* GEM_ID */
1004 + fsl,gemac-bus-id = <0x1>; /* BUS_ID */
1005 + fsl,gemac-phy-id = <0x2>; /* PHY_ID */
1006 + fsl,mdio-mux-val = <0x3>;
1007 + phy-mode = "sgmii-2500";
1008 + fsl,pfe-phy-if-flags = <0x0>;
1009 +
1010 + mdio@0 {
1011 + reg = <0x0>; /* enabled/disabled */
1012 + };
1013 + };
1014 +};
1015 +
1016 &sai2 {
1017 status = "okay";
1018 };
1019 @@ -138,3 +182,18 @@
1020 &sata {
1021 status = "okay";
1022 };
1023 +
1024 +&qspi {
1025 + status = "okay";
1026 + qflash0: s25fs512s@0 {
1027 + compatible = "spansion,m25p80";
1028 + #address-cells = <1>;
1029 + #size-cells = <1>;
1030 + spi-max-frequency = <20000000>;
1031 + m25p,fast-read;
1032 + reg = <0>;
1033 + spi-rx-bus-width = <2>;
1034 + spi-tx-bus-width = <2>;
1035 + };
1036 +
1037 +};
1038 --- a/arch/arm64/boot/dts/freescale/fsl-ls1012a-rdb.dts
1039 +++ b/arch/arm64/boot/dts/freescale/fsl-ls1012a-rdb.dts
1040 @@ -1,45 +1,9 @@
1041 +// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
1042 /*
1043 * Device Tree file for Freescale LS1012A RDB Board.
1044 *
1045 * Copyright 2016 Freescale Semiconductor, Inc.
1046 *
1047 - * This file is dual-licensed: you can use it either under the terms
1048 - * of the GPLv2 or the X11 license, at your option. Note that this dual
1049 - * licensing only applies to this file, and not this project as a
1050 - * whole.
1051 - *
1052 - * a) This library is free software; you can redistribute it and/or
1053 - * modify it under the terms of the GNU General Public License as
1054 - * published by the Free Software Foundation; either version 2 of the
1055 - * License, or (at your option) any later version.
1056 - *
1057 - * This library is distributed in the hope that it will be useful,
1058 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
1059 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
1060 - * GNU General Public License for more details.
1061 - *
1062 - * Or, alternatively,
1063 - *
1064 - * b) Permission is hereby granted, free of charge, to any person
1065 - * obtaining a copy of this software and associated documentation
1066 - * files (the "Software"), to deal in the Software without
1067 - * restriction, including without limitation the rights to use,
1068 - * copy, modify, merge, publish, distribute, sublicense, and/or
1069 - * sell copies of the Software, and to permit persons to whom the
1070 - * Software is furnished to do so, subject to the following
1071 - * conditions:
1072 - *
1073 - * The above copyright notice and this permission notice shall be
1074 - * included in all copies or substantial portions of the Software.
1075 - *
1076 - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
1077 - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
1078 - * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
1079 - * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
1080 - * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
1081 - * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
1082 - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
1083 - * OTHER DEALINGS IN THE SOFTWARE.
1084 */
1085 /dts-v1/;
1086
1087 @@ -48,6 +12,15 @@
1088 / {
1089 model = "LS1012A RDB Board";
1090 compatible = "fsl,ls1012a-rdb", "fsl,ls1012a";
1091 +
1092 + aliases {
1093 + ethernet0 = &pfe_mac0;
1094 + ethernet1 = &pfe_mac1;
1095 + };
1096 +};
1097 +
1098 +&pcie {
1099 + status = "okay";
1100 };
1101
1102 &duart0 {
1103 @@ -74,3 +47,56 @@
1104 &sata {
1105 status = "okay";
1106 };
1107 +
1108 +&pfe {
1109 + status = "okay";
1110 + #address-cells = <1>;
1111 + #size-cells = <0>;
1112 +
1113 + ethernet@0 {
1114 + compatible = "fsl,pfe-gemac-port";
1115 + #address-cells = <1>;
1116 + #size-cells = <0>;
1117 + reg = <0x0>; /* GEM_ID */
1118 + fsl,gemac-bus-id = <0x0>; /* BUS_ID */
1119 + fsl,gemac-phy-id = <0x2>; /* PHY_ID */
1120 + fsl,mdio-mux-val = <0x0>;
1121 + phy-mode = "sgmii";
1122 + fsl,pfe-phy-if-flags = <0x0>;
1123 +
1124 + mdio@0 {
1125 + reg = <0x1>; /* enabled/disabled */
1126 + };
1127 + };
1128 +
1129 + ethernet@1 {
1130 + compatible = "fsl,pfe-gemac-port";
1131 + #address-cells = <1>;
1132 + #size-cells = <0>;
1133 + reg = <0x1>; /* GEM_ID */
1134 + fsl,gemac-bus-id = < 0x1 >; /* BUS_ID */
1135 + fsl,gemac-phy-id = < 0x1 >; /* PHY_ID */
1136 + fsl,mdio-mux-val = <0x0>;
1137 + phy-mode = "rgmii-txid";
1138 + fsl,pfe-phy-if-flags = <0x0>;
1139 +
1140 + mdio@0 {
1141 + reg = <0x0>; /* enabled/disabled */
1142 + };
1143 + };
1144 +};
1145 +
1146 +&qspi {
1147 + status = "okay";
1148 + qflash0: s25fs512s@0 {
1149 + compatible = "spansion,m25p80";
1150 + #address-cells = <1>;
1151 + #size-cells = <1>;
1152 + spi-max-frequency = <20000000>;
1153 + m25p,fast-read;
1154 + reg = <0>;
1155 + spi-rx-bus-width = <2>;
1156 + spi-tx-bus-width = <2>;
1157 + };
1158 +
1159 +};
1160 --- a/arch/arm64/boot/dts/freescale/fsl-ls1012a.dtsi
1161 +++ b/arch/arm64/boot/dts/freescale/fsl-ls1012a.dtsi
1162 @@ -1,45 +1,9 @@
1163 +// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
1164 /*
1165 * Device Tree Include file for Freescale Layerscape-1012A family SoC.
1166 *
1167 * Copyright 2016 Freescale Semiconductor, Inc.
1168 *
1169 - * This file is dual-licensed: you can use it either under the terms
1170 - * of the GPLv2 or the X11 license, at your option. Note that this dual
1171 - * licensing only applies to this file, and not this project as a
1172 - * whole.
1173 - *
1174 - * a) This library is free software; you can redistribute it and/or
1175 - * modify it under the terms of the GNU General Public License as
1176 - * published by the Free Software Foundation; either version 2 of the
1177 - * License, or (at your option) any later version.
1178 - *
1179 - * This library is distributed in the hope that it will be useful,
1180 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
1181 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
1182 - * GNU General Public License for more details.
1183 - *
1184 - * Or, alternatively,
1185 - *
1186 - * b) Permission is hereby granted, free of charge, to any person
1187 - * obtaining a copy of this software and associated documentation
1188 - * files (the "Software"), to deal in the Software without
1189 - * restriction, including without limitation the rights to use,
1190 - * copy, modify, merge, publish, distribute, sublicense, and/or
1191 - * sell copies of the Software, and to permit persons to whom the
1192 - * Software is furnished to do so, subject to the following
1193 - * conditions:
1194 - *
1195 - * The above copyright notice and this permission notice shall be
1196 - * included in all copies or substantial portions of the Software.
1197 - *
1198 - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
1199 - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
1200 - * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
1201 - * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
1202 - * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
1203 - * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
1204 - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
1205 - * OTHER DEALINGS IN THE SOFTWARE.
1206 */
1207
1208 #include <dt-bindings/interrupt-controller/arm-gic.h>
1209 @@ -70,6 +34,24 @@
1210 reg = <0x0>;
1211 clocks = <&clockgen 1 0>;
1212 #cooling-cells = <2>;
1213 + cpu-idle-states = <&CPU_PH20>;
1214 + };
1215 + };
1216 +
1217 + idle-states {
1218 + /*
1219 + * PSCI node is not added default, U-boot will add missing
1220 + * parts if it determines to use PSCI.
1221 + */
1222 + entry-method = "arm,psci";
1223 +
1224 + CPU_PH20: cpu-ph20 {
1225 + compatible = "arm,idle-state";
1226 + idle-state-name = "PH20";
1227 + arm,psci-suspend-param = <0x0>;
1228 + entry-latency-us = <1000>;
1229 + exit-latency-us = <1000>;
1230 + min-residency-us = <3000>;
1231 };
1232 };
1233
1234 @@ -247,7 +229,7 @@
1235 dcfg: dcfg@1ee0000 {
1236 compatible = "fsl,ls1012a-dcfg",
1237 "syscon";
1238 - reg = <0x0 0x1ee0000 0x0 0x10000>;
1239 + reg = <0x0 0x1ee0000 0x0 0x1000>;
1240 big-endian;
1241 };
1242
1243 @@ -335,13 +317,23 @@
1244 };
1245 };
1246
1247 + ftm0: ftm0@29d0000 {
1248 + compatible = "fsl,ls1012a-ftm-alarm";
1249 + reg = <0x0 0x29d0000 0x0 0x10000>,
1250 + <0x0 0x1ee2140 0x0 0x4>;
1251 + reg-names = "ftm", "pmctrl";
1252 + interrupts = <0 86 0x4>;
1253 + big-endian;
1254 + };
1255 +
1256 i2c0: i2c@2180000 {
1257 - compatible = "fsl,vf610-i2c";
1258 + compatible = "fsl,vf610-i2c", "fsl,ls1012a-vf610-i2c";
1259 #address-cells = <1>;
1260 #size-cells = <0>;
1261 reg = <0x0 0x2180000 0x0 0x10000>;
1262 interrupts = <0 56 IRQ_TYPE_LEVEL_HIGH>;
1263 - clocks = <&clockgen 4 0>;
1264 + clocks = <&clockgen 4 3>;
1265 + fsl-scl-gpio = <&gpio0 13 0>;
1266 status = "disabled";
1267 };
1268
1269 @@ -351,7 +343,20 @@
1270 #size-cells = <0>;
1271 reg = <0x0 0x2190000 0x0 0x10000>;
1272 interrupts = <0 57 IRQ_TYPE_LEVEL_HIGH>;
1273 + clocks = <&clockgen 4 3>;
1274 + status = "disabled";
1275 + };
1276 +
1277 + dspi: dspi@2100000 {
1278 + compatible = "fsl,ls1012a-dspi", "fsl,ls1021a-v1.0-dspi";
1279 + #address-cells = <1>;
1280 + #size-cells = <0>;
1281 + reg = <0x0 0x2100000 0x0 0x10000>;
1282 + interrupts = <0 64 IRQ_TYPE_LEVEL_HIGH>;
1283 + clock-names = "dspi";
1284 clocks = <&clockgen 4 0>;
1285 + spi-num-chipselects = <5>;
1286 + big-endian;
1287 status = "disabled";
1288 };
1289
1290 @@ -400,6 +405,20 @@
1291 big-endian;
1292 };
1293
1294 + qspi: quadspi@1550000 {
1295 + compatible = "fsl,ls1012a-qspi", "fsl,ls1021a-qspi";
1296 + #address-cells = <1>;
1297 + #size-cells = <0>;
1298 + reg = <0x0 0x1550000 0x0 0x10000>,
1299 + <0x0 0x40000000 0x0 0x10000000>;
1300 + reg-names = "QuadSPI", "QuadSPI-memory";
1301 + interrupts = <0 99 IRQ_TYPE_LEVEL_HIGH>;
1302 + clock-names = "qspi_en", "qspi";
1303 + clocks = <&clockgen 4 0>, <&clockgen 4 0>;
1304 + big-endian;
1305 + status = "disabled";
1306 + };
1307 +
1308 sai1: sai@2b50000 {
1309 #sound-dai-cells = <0>;
1310 compatible = "fsl,vf610-sai";
1311 @@ -451,6 +470,7 @@
1312 dr_mode = "host";
1313 snps,quirk-frame-length-adjustment = <0x20>;
1314 snps,dis_rxdet_inp3_quirk;
1315 + snps,incr-burst-type-adjustment = <1>, <4>, <8>, <16>;
1316 };
1317
1318 sata: sata@3200000 {
1319 @@ -471,5 +491,84 @@
1320 dr_mode = "host";
1321 phy_type = "ulpi";
1322 };
1323 +
1324 + msi: msi-controller1@1572000 {
1325 + compatible = "fsl,ls1012a-msi";
1326 + reg = <0x0 0x1572000 0x0 0x8>;
1327 + msi-controller;
1328 + interrupts = <0 126 IRQ_TYPE_LEVEL_HIGH>;
1329 + };
1330 +
1331 + pcie: pcie@3400000 {
1332 + compatible = "fsl,ls1012a-pcie", "snps,dw-pcie";
1333 + reg = <0x00 0x03400000 0x0 0x00100000 /* controller registers */
1334 + 0x40 0x00000000 0x0 0x00002000>; /* configuration space */
1335 + reg-names = "regs", "config";
1336 + interrupts = <0 118 0x4>, /* AER interrupt */
1337 + <0 117 0x4>; /* PME interrupt */
1338 + interrupt-names = "aer", "pme";
1339 + #address-cells = <3>;
1340 + #size-cells = <2>;
1341 + device_type = "pci";
1342 + num-lanes = <4>;
1343 + bus-range = <0x0 0xff>;
1344 + ranges = <0x81000000 0x0 0x00000000 0x40 0x00010000 0x0 0x00010000 /* downstream I/O */
1345 + 0x82000000 0x0 0x40000000 0x40 0x40000000 0x0 0x40000000>; /* non-prefetchable memory */
1346 + msi-parent = <&msi>;
1347 + #interrupt-cells = <1>;
1348 + interrupt-map-mask = <0 0 0 7>;
1349 + interrupt-map = <0000 0 0 1 &gic 0 110 IRQ_TYPE_LEVEL_HIGH>,
1350 + <0000 0 0 2 &gic 0 111 IRQ_TYPE_LEVEL_HIGH>,
1351 + <0000 0 0 3 &gic 0 112 IRQ_TYPE_LEVEL_HIGH>,
1352 + <0000 0 0 4 &gic 0 113 IRQ_TYPE_LEVEL_HIGH>;
1353 + status = "disabled";
1354 + };
1355 +
1356 + rcpm: rcpm@1ee2000 {
1357 + compatible = "fsl,ls1012a-rcpm", "fsl,qoriq-rcpm-2.1";
1358 + reg = <0x0 0x1ee2000 0x0 0x1000>;
1359 + fsl,#rcpm-wakeup-cells = <1>;
1360 + };
1361 + };
1362 +
1363 + reserved-memory {
1364 + #address-cells = <2>;
1365 + #size-cells = <2>;
1366 + ranges;
1367 +
1368 + pfe_reserved: packetbuffer@83400000 {
1369 + reg = <0 0x83400000 0 0xc00000>;
1370 + };
1371 + };
1372 +
1373 + pfe: pfe@04000000 {
1374 + compatible = "fsl,pfe";
1375 + reg = <0x0 0x04000000 0x0 0xc00000>, /* AXI 16M */
1376 + <0x0 0x83400000 0x0 0xc00000>; /* PFE DDR 12M */
1377 + reg-names = "pfe", "pfe-ddr";
1378 + fsl,pfe-num-interfaces = <0x2>;
1379 + interrupts = <0 172 0x4>, /* HIF interrupt */
1380 + <0 173 0x4>, /*HIF_NOCPY interrupt */
1381 + <0 174 0x4>; /* WoL interrupt */
1382 + interrupt-names = "pfe_hif", "pfe_hif_nocpy", "pfe_wol";
1383 + memory-region = <&pfe_reserved>;
1384 + fsl,pfe-scfg = <&scfg 0>;
1385 + fsl,rcpm-wakeup = <&rcpm 0xf0000020>;
1386 + clocks = <&clockgen 4 0>;
1387 + clock-names = "pfe";
1388 +
1389 + status = "okay";
1390 + pfe_mac0: ethernet@0 {
1391 + };
1392 +
1393 + pfe_mac1: ethernet@1 {
1394 + };
1395 + };
1396 +
1397 + firmware {
1398 + optee {
1399 + compatible = "linaro,optee-tz";
1400 + method = "smc";
1401 + };
1402 };
1403 };
1404 --- a/arch/arm64/boot/dts/freescale/fsl-ls1043-post.dtsi
1405 +++ b/arch/arm64/boot/dts/freescale/fsl-ls1043-post.dtsi
1406 @@ -1,9 +1,8 @@
1407 +// SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)
1408 /*
1409 * QorIQ FMan v3 device tree nodes for ls1043
1410 *
1411 * Copyright 2015-2016 Freescale Semiconductor Inc.
1412 - *
1413 - * SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)
1414 */
1415
1416 &soc {
1417 --- /dev/null
1418 +++ b/arch/arm64/boot/dts/freescale/fsl-ls1043a-qds-sdk.dts
1419 @@ -0,0 +1,71 @@
1420 +/*
1421 + * Device Tree Include file for Freescale Layerscape-1043A family SoC.
1422 + *
1423 + * Copyright 2014-2015 Freescale Semiconductor, Inc.
1424 + *
1425 + * Mingkai Hu <Mingkai.hu@freescale.com>
1426 + *
1427 + * This file is dual-licensed: you can use it either under the terms
1428 + * of the GPLv2 or the X11 license, at your option. Note that this dual
1429 + * licensing only applies to this file, and not this project as a
1430 + * whole.
1431 + *
1432 + * a) This library is free software; you can redistribute it and/or
1433 + * modify it under the terms of the GNU General Public License as
1434 + * published by the Free Software Foundation; either version 2 of the
1435 + * License, or (at your option) any later version.
1436 + *
1437 + * This library is distributed in the hope that it will be useful,
1438 + * but WITHOUT ANY WARRANTY; without even the implied warranty of
1439 + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
1440 + * GNU General Public License for more details.
1441 + *
1442 + * Or, alternatively,
1443 + *
1444 + * b) Permission is hereby granted, free of charge, to any person
1445 + * obtaining a copy of this software and associated documentation
1446 + * files (the "Software"), to deal in the Software without
1447 + * restriction, including without limitation the rights to use,
1448 + * copy, modify, merge, publish, distribute, sublicense, and/or
1449 + * sell copies of the Software, and to permit persons to whom the
1450 + * Software is furnished to do so, subject to the following
1451 + * conditions:
1452 + *
1453 + * The above copyright notice and this permission notice shall be
1454 + * included in all copies or substantial portions of the Software.
1455 + *
1456 + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
1457 + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
1458 + * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
1459 + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
1460 + * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
1461 + * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
1462 + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
1463 + * OTHER DEALINGS IN THE SOFTWARE.
1464 + */
1465 +
1466 +#include "fsl-ls1043a-qds.dts"
1467 +#include "qoriq-qman-portals-sdk.dtsi"
1468 +#include "qoriq-bman-portals-sdk.dtsi"
1469 +
1470 +&bman_fbpr {
1471 + compatible = "fsl,bman-fbpr";
1472 + alloc-ranges = <0 0 0x10000 0>;
1473 +};
1474 +&qman_fqd {
1475 + compatible = "fsl,qman-fqd";
1476 + alloc-ranges = <0 0 0x10000 0>;
1477 +};
1478 +&qman_pfdr {
1479 + compatible = "fsl,qman-pfdr";
1480 + alloc-ranges = <0 0 0x10000 0>;
1481 +};
1482 +
1483 +&soc {
1484 +#include "qoriq-dpaa-eth.dtsi"
1485 +#include "qoriq-fman3-0-6oh.dtsi"
1486 +};
1487 +
1488 +&fman0 {
1489 + compatible = "fsl,fman", "simple-bus";
1490 +};
1491 --- a/arch/arm64/boot/dts/freescale/fsl-ls1043a-qds.dts
1492 +++ b/arch/arm64/boot/dts/freescale/fsl-ls1043a-qds.dts
1493 @@ -1,47 +1,10 @@
1494 +// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
1495 /*
1496 * Device Tree Include file for Freescale Layerscape-1043A family SoC.
1497 *
1498 * Copyright 2014-2015 Freescale Semiconductor, Inc.
1499 *
1500 * Mingkai Hu <Mingkai.hu@freescale.com>
1501 - *
1502 - * This file is dual-licensed: you can use it either under the terms
1503 - * of the GPLv2 or the X11 license, at your option. Note that this dual
1504 - * licensing only applies to this file, and not this project as a
1505 - * whole.
1506 - *
1507 - * a) This library is free software; you can redistribute it and/or
1508 - * modify it under the terms of the GNU General Public License as
1509 - * published by the Free Software Foundation; either version 2 of the
1510 - * License, or (at your option) any later version.
1511 - *
1512 - * This library is distributed in the hope that it will be useful,
1513 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
1514 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
1515 - * GNU General Public License for more details.
1516 - *
1517 - * Or, alternatively,
1518 - *
1519 - * b) Permission is hereby granted, free of charge, to any person
1520 - * obtaining a copy of this software and associated documentation
1521 - * files (the "Software"), to deal in the Software without
1522 - * restriction, including without limitation the rights to use,
1523 - * copy, modify, merge, publish, distribute, sublicense, and/or
1524 - * sell copies of the Software, and to permit persons to whom the
1525 - * Software is furnished to do so, subject to the following
1526 - * conditions:
1527 - *
1528 - * The above copyright notice and this permission notice shall be
1529 - * included in all copies or substantial portions of the Software.
1530 - *
1531 - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
1532 - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
1533 - * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
1534 - * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
1535 - * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
1536 - * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
1537 - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
1538 - * OTHER DEALINGS IN THE SOFTWARE.
1539 */
1540
1541 /dts-v1/;
1542 @@ -60,6 +23,22 @@
1543 serial1 = &duart1;
1544 serial2 = &duart2;
1545 serial3 = &duart3;
1546 + sgmii_riser_s1_p1 = &sgmii_phy_s1_p1;
1547 + sgmii_riser_s2_p1 = &sgmii_phy_s2_p1;
1548 + sgmii_riser_s3_p1 = &sgmii_phy_s3_p1;
1549 + sgmii_riser_s4_p1 = &sgmii_phy_s4_p1;
1550 + qsgmii_s1_p1 = &qsgmii_phy_s1_p1;
1551 + qsgmii_s1_p2 = &qsgmii_phy_s1_p2;
1552 + qsgmii_s1_p3 = &qsgmii_phy_s1_p3;
1553 + qsgmii_s1_p4 = &qsgmii_phy_s1_p4;
1554 + qsgmii_s2_p1 = &qsgmii_phy_s2_p1;
1555 + qsgmii_s2_p2 = &qsgmii_phy_s2_p2;
1556 + qsgmii_s2_p3 = &qsgmii_phy_s2_p3;
1557 + qsgmii_s2_p4 = &qsgmii_phy_s2_p4;
1558 + emi1_slot1 = &ls1043mdio_s1;
1559 + emi1_slot2 = &ls1043mdio_s2;
1560 + emi1_slot3 = &ls1043mdio_s3;
1561 + emi1_slot4 = &ls1043mdio_s4;
1562 };
1563
1564 chosen {
1565 @@ -179,7 +158,153 @@
1566 #size-cells = <1>;
1567 spi-max-frequency = <20000000>;
1568 reg = <0>;
1569 + spi-rx-bus-width = <4>;
1570 + spi-tx-bus-width = <4>;
1571 };
1572 };
1573
1574 #include "fsl-ls1043-post.dtsi"
1575 +
1576 +&fman0 {
1577 + ethernet@e0000 {
1578 + phy-handle = <&qsgmii_phy_s2_p1>;
1579 + phy-connection-type = "sgmii";
1580 + };
1581 +
1582 + ethernet@e2000 {
1583 + phy-handle = <&qsgmii_phy_s2_p2>;
1584 + phy-connection-type = "sgmii";
1585 + };
1586 +
1587 + ethernet@e4000 {
1588 + phy-handle = <&rgmii_phy1>;
1589 + phy-connection-type = "rgmii";
1590 + };
1591 +
1592 + ethernet@e6000 {
1593 + phy-handle = <&rgmii_phy2>;
1594 + phy-connection-type = "rgmii";
1595 + };
1596 +
1597 + ethernet@e8000 {
1598 + phy-handle = <&qsgmii_phy_s2_p3>;
1599 + phy-connection-type = "sgmii";
1600 + };
1601 +
1602 + ethernet@ea000 {
1603 + phy-handle = <&qsgmii_phy_s2_p4>;
1604 + phy-connection-type = "sgmii";
1605 + };
1606 +
1607 + ethernet@f0000 { /* DTSEC9/10GEC1 */
1608 + fixed-link = <1 1 10000 0 0>;
1609 + phy-connection-type = "xgmii";
1610 + };
1611 +};
1612 +
1613 +&fpga {
1614 + mdio-mux-emi1 {
1615 + compatible = "mdio-mux-mmioreg", "mdio-mux";
1616 + mdio-parent-bus = <&mdio0>;
1617 + #address-cells = <1>;
1618 + #size-cells = <0>;
1619 + reg = <0x54 1>; /* BRDCFG4 */
1620 + mux-mask = <0xe0>; /* EMI1 */
1621 +
1622 + /* On-board RGMII1 PHY */
1623 + ls1043mdio0: mdio@0 {
1624 + reg = <0>;
1625 + #address-cells = <1>;
1626 + #size-cells = <0>;
1627 +
1628 + rgmii_phy1: ethernet-phy@1 { /* MAC3 */
1629 + reg = <0x1>;
1630 + };
1631 + };
1632 +
1633 + /* On-board RGMII2 PHY */
1634 + ls1043mdio1: mdio@1 {
1635 + reg = <0x20>;
1636 + #address-cells = <1>;
1637 + #size-cells = <0>;
1638 +
1639 + rgmii_phy2: ethernet-phy@2 { /* MAC4 */
1640 + reg = <0x2>;
1641 + };
1642 + };
1643 +
1644 + /* Slot 1 */
1645 + ls1043mdio_s1: mdio@2 {
1646 + reg = <0x40>;
1647 + #address-cells = <1>;
1648 + #size-cells = <0>;
1649 + status = "disabled";
1650 +
1651 + qsgmii_phy_s1_p1: ethernet-phy@4 {
1652 + reg = <0x4>;
1653 + };
1654 + qsgmii_phy_s1_p2: ethernet-phy@5 {
1655 + reg = <0x5>;
1656 + };
1657 + qsgmii_phy_s1_p3: ethernet-phy@6 {
1658 + reg = <0x6>;
1659 + };
1660 + qsgmii_phy_s1_p4: ethernet-phy@7 {
1661 + reg = <0x7>;
1662 + };
1663 +
1664 + sgmii_phy_s1_p1: ethernet-phy@1c {
1665 + reg = <0x1c>;
1666 + };
1667 + };
1668 +
1669 + /* Slot 2 */
1670 + ls1043mdio_s2: mdio@3 {
1671 + reg = <0x60>;
1672 + #address-cells = <1>;
1673 + #size-cells = <0>;
1674 + status = "disabled";
1675 +
1676 + qsgmii_phy_s2_p1: ethernet-phy@8 {
1677 + reg = <0x8>;
1678 + };
1679 + qsgmii_phy_s2_p2: ethernet-phy@9 {
1680 + reg = <0x9>;
1681 + };
1682 + qsgmii_phy_s2_p3: ethernet-phy@a {
1683 + reg = <0xa>;
1684 + };
1685 + qsgmii_phy_s2_p4: ethernet-phy@b {
1686 + reg = <0xb>;
1687 + };
1688 +
1689 + sgmii_phy_s2_p1: ethernet-phy@1c {
1690 + reg = <0x1c>;
1691 + };
1692 + };
1693 +
1694 + /* Slot 3 */
1695 + ls1043mdio_s3: mdio@4 {
1696 + reg = <0x80>;
1697 + #address-cells = <1>;
1698 + #size-cells = <0>;
1699 + status = "disabled";
1700 +
1701 + sgmii_phy_s3_p1: ethernet-phy@1c {
1702 + reg = <0x1c>;
1703 + };
1704 + };
1705 +
1706 + /* Slot 4 */
1707 + ls1043mdio_s4: mdio@5 {
1708 + reg = <0xa0>;
1709 + #address-cells = <1>;
1710 + #size-cells = <0>;
1711 + status = "disabled";
1712 +
1713 + sgmii_phy_s4_p1: ethernet-phy@1c {
1714 + reg = <0x1c>;
1715 + };
1716 + };
1717 + };
1718 +};
1719 --- /dev/null
1720 +++ b/arch/arm64/boot/dts/freescale/fsl-ls1043a-rdb-sdk.dts
1721 @@ -0,0 +1,71 @@
1722 +/*
1723 + * Device Tree Include file for Freescale Layerscape-1043A family SoC.
1724 + *
1725 + * Copyright 2014-2015 Freescale Semiconductor, Inc.
1726 + *
1727 + * Mingkai Hu <Mingkai.hu@freescale.com>
1728 + *
1729 + * This file is dual-licensed: you can use it either under the terms
1730 + * of the GPLv2 or the X11 license, at your option. Note that this dual
1731 + * licensing only applies to this file, and not this project as a
1732 + * whole.
1733 + *
1734 + * a) This library is free software; you can redistribute it and/or
1735 + * modify it under the terms of the GNU General Public License as
1736 + * published by the Free Software Foundation; either version 2 of the
1737 + * License, or (at your option) any later version.
1738 + *
1739 + * This library is distributed in the hope that it will be useful,
1740 + * but WITHOUT ANY WARRANTY; without even the implied warranty of
1741 + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
1742 + * GNU General Public License for more details.
1743 + *
1744 + * Or, alternatively,
1745 + *
1746 + * b) Permission is hereby granted, free of charge, to any person
1747 + * obtaining a copy of this software and associated documentation
1748 + * files (the "Software"), to deal in the Software without
1749 + * restriction, including without limitation the rights to use,
1750 + * copy, modify, merge, publish, distribute, sublicense, and/or
1751 + * sell copies of the Software, and to permit persons to whom the
1752 + * Software is furnished to do so, subject to the following
1753 + * conditions:
1754 + *
1755 + * The above copyright notice and this permission notice shall be
1756 + * included in all copies or substantial portions of the Software.
1757 + *
1758 + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
1759 + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
1760 + * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
1761 + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
1762 + * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
1763 + * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
1764 + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
1765 + * OTHER DEALINGS IN THE SOFTWARE.
1766 + */
1767 +
1768 +#include "fsl-ls1043a-rdb.dts"
1769 +#include "qoriq-qman-portals-sdk.dtsi"
1770 +#include "qoriq-bman-portals-sdk.dtsi"
1771 +
1772 +&bman_fbpr {
1773 + compatible = "fsl,bman-fbpr";
1774 + alloc-ranges = <0 0 0x10000 0>;
1775 +};
1776 +&qman_fqd {
1777 + compatible = "fsl,qman-fqd";
1778 + alloc-ranges = <0 0 0x10000 0>;
1779 +};
1780 +&qman_pfdr {
1781 + compatible = "fsl,qman-pfdr";
1782 + alloc-ranges = <0 0 0x10000 0>;
1783 +};
1784 +
1785 +&soc {
1786 +#include "qoriq-dpaa-eth.dtsi"
1787 +#include "qoriq-fman3-0-6oh.dtsi"
1788 +};
1789 +
1790 +&fman0 {
1791 + compatible = "fsl,fman", "simple-bus";
1792 +};
1793 --- /dev/null
1794 +++ b/arch/arm64/boot/dts/freescale/fsl-ls1043a-rdb-usdpaa.dts
1795 @@ -0,0 +1,117 @@
1796 +/*
1797 + * Device Tree Include file for Freescale Layerscape-1043A family SoC.
1798 + *
1799 + * Copyright (C) 2014-2015, Freescale Semiconductor
1800 + *
1801 + * This file is licensed under the terms of the GNU General Public
1802 + * License version 2. This program is licensed "as is" without any
1803 + * warranty of any kind, whether express or implied.
1804 + */
1805 +
1806 +#include "fsl-ls1043a-rdb-sdk.dts"
1807 +
1808 +&soc {
1809 + bp7: buffer-pool@7 {
1810 + compatible = "fsl,p4080-bpool", "fsl,bpool";
1811 + fsl,bpid = <7>;
1812 + fsl,bpool-ethernet-cfg = <0 0 0 192 0 0xdeadbeef>;
1813 + fsl,bpool-thresholds = <0x400 0xc00 0x0 0x0>;
1814 + };
1815 +
1816 + bp8: buffer-pool@8 {
1817 + compatible = "fsl,p4080-bpool", "fsl,bpool";
1818 + fsl,bpid = <8>;
1819 + fsl,bpool-ethernet-cfg = <0 0 0 576 0 0xabbaf00d>;
1820 + fsl,bpool-thresholds = <0x100 0x300 0x0 0x0>;
1821 + };
1822 +
1823 + bp9: buffer-pool@9 {
1824 + compatible = "fsl,p4080-bpool", "fsl,bpool";
1825 + fsl,bpid = <9>;
1826 + fsl,bpool-ethernet-cfg = <0 0 0 2048 0 0xfeedabba>;
1827 + fsl,bpool-thresholds = <0x100 0x300 0x0 0x0>;
1828 + };
1829 +
1830 + fsl,dpaa {
1831 + compatible = "fsl,ls1043a", "fsl,dpaa", "simple-bus";
1832 +
1833 + ethernet@0 {
1834 + compatible = "fsl,dpa-ethernet-init";
1835 + fsl,bman-buffer-pools = <&bp7 &bp8 &bp9>;
1836 + fsl,qman-frame-queues-rx = <0x50 1 0x51 1>;
1837 + fsl,qman-frame-queues-tx = <0x70 1 0x71 1>;
1838 + };
1839 +
1840 + ethernet@1 {
1841 + compatible = "fsl,dpa-ethernet-init";
1842 + fsl,bman-buffer-pools = <&bp7 &bp8 &bp9>;
1843 + fsl,qman-frame-queues-rx = <0x52 1 0x53 1>;
1844 + fsl,qman-frame-queues-tx = <0x72 1 0x73 1>;
1845 + };
1846 +
1847 + ethernet@2 {
1848 + compatible = "fsl,dpa-ethernet-init";
1849 + fsl,bman-buffer-pools = <&bp7 &bp8 &bp9>;
1850 + fsl,qman-frame-queues-rx = <0x54 1 0x55 1>;
1851 + fsl,qman-frame-queues-tx = <0x74 1 0x75 1>;
1852 + };
1853 +
1854 + ethernet@3 {
1855 + compatible = "fsl,dpa-ethernet-init";
1856 + fsl,bman-buffer-pools = <&bp7 &bp8 &bp9>;
1857 + fsl,qman-frame-queues-rx = <0x56 1 0x57 1>;
1858 + fsl,qman-frame-queues-tx = <0x76 1 0x77 1>;
1859 + };
1860 +
1861 + ethernet@4 {
1862 + compatible = "fsl,dpa-ethernet-init";
1863 + fsl,bman-buffer-pools = <&bp7 &bp8 &bp9>;
1864 + fsl,qman-frame-queues-rx = <0x58 1 0x59 1>;
1865 + fsl,qman-frame-queues-tx = <0x78 1 0x79 1>;
1866 + };
1867 +
1868 + ethernet@5 {
1869 + compatible = "fsl,dpa-ethernet-init";
1870 + fsl,bman-buffer-pools = <&bp7 &bp8 &bp9>;
1871 + fsl,qman-frame-queues-rx = <0x60 1 0x61 1>;
1872 + fsl,qman-frame-queues-tx = <0x80 1 0x81 1>;
1873 + };
1874 +
1875 + ethernet@8 {
1876 + compatible = "fsl,dpa-ethernet-init";
1877 + fsl,bman-buffer-pools = <&bp7 &bp8 &bp9>;
1878 + fsl,qman-frame-queues-rx = <0x5c 1 0x5d 1>;
1879 + fsl,qman-frame-queues-tx = <0x7c 1 0x7d 1>;
1880 +
1881 + };
1882 + dpa-fman0-oh@2 {
1883 + compatible = "fsl,dpa-oh";
1884 + /* Define frame queues for the OH port*/
1885 + /* <OH Rx error, OH Rx default> */
1886 + fsl,qman-frame-queues-oh = <0x5a 1 0x5b 1>;
1887 + fsl,fman-oh-port = <&fman0_oh2>;
1888 + };
1889 + };
1890 +};
1891 +/ {
1892 + reserved-memory {
1893 + #address-cells = <2>;
1894 + #size-cells = <2>;
1895 + ranges;
1896 +
1897 + usdpaa_mem: usdpaa_mem {
1898 + compatible = "fsl,usdpaa-mem";
1899 + alloc-ranges = <0 0 0x10000 0>;
1900 + size = <0 0x10000000>;
1901 + alignment = <0 0x10000000>;
1902 + };
1903 + };
1904 +};
1905 +
1906 +&fman0 {
1907 + fman0_oh2: port@83000 {
1908 + cell-index = <1>;
1909 + compatible = "fsl,fman-port-oh";
1910 + reg = <0x83000 0x1000>;
1911 + };
1912 +};
1913 --- a/arch/arm64/boot/dts/freescale/fsl-ls1043a-rdb.dts
1914 +++ b/arch/arm64/boot/dts/freescale/fsl-ls1043a-rdb.dts
1915 @@ -1,47 +1,10 @@
1916 +// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
1917 /*
1918 * Device Tree Include file for Freescale Layerscape-1043A family SoC.
1919 *
1920 * Copyright 2014-2015 Freescale Semiconductor, Inc.
1921 *
1922 * Mingkai Hu <Mingkai.hu@freescale.com>
1923 - *
1924 - * This file is dual-licensed: you can use it either under the terms
1925 - * of the GPLv2 or the X11 license, at your option. Note that this dual
1926 - * licensing only applies to this file, and not this project as a
1927 - * whole.
1928 - *
1929 - * a) This library is free software; you can redistribute it and/or
1930 - * modify it under the terms of the GNU General Public License as
1931 - * published by the Free Software Foundation; either version 2 of the
1932 - * License, or (at your option) any later version.
1933 - *
1934 - * This library is distributed in the hope that it will be useful,
1935 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
1936 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
1937 - * GNU General Public License for more details.
1938 - *
1939 - * Or, alternatively,
1940 - *
1941 - * b) Permission is hereby granted, free of charge, to any person
1942 - * obtaining a copy of this software and associated documentation
1943 - * files (the "Software"), to deal in the Software without
1944 - * restriction, including without limitation the rights to use,
1945 - * copy, modify, merge, publish, distribute, sublicense, and/or
1946 - * sell copies of the Software, and to permit persons to whom the
1947 - * Software is furnished to do so, subject to the following
1948 - * conditions:
1949 - *
1950 - * The above copyright notice and this permission notice shall be
1951 - * included in all copies or substantial portions of the Software.
1952 - *
1953 - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
1954 - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
1955 - * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
1956 - * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
1957 - * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
1958 - * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
1959 - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
1960 - * OTHER DEALINGS IN THE SOFTWARE.
1961 */
1962
1963 /dts-v1/;
1964 @@ -86,6 +49,10 @@
1965 compatible = "pericom,pt7c4338";
1966 reg = <0x68>;
1967 };
1968 + rtc@51 {
1969 + compatible = "nxp,pcf85263";
1970 + reg = <0x51>;
1971 + };
1972 };
1973
1974 &ifc {
1975 @@ -130,6 +97,38 @@
1976 reg = <0>;
1977 spi-max-frequency = <1000000>; /* input clock */
1978 };
1979 +
1980 + slic@2 {
1981 + compatible = "maxim,ds26522";
1982 + reg = <2>;
1983 + spi-max-frequency = <2000000>;
1984 + fsl,spi-cs-sck-delay = <100>;
1985 + fsl,spi-sck-cs-delay = <50>;
1986 + };
1987 +
1988 + slic@3 {
1989 + compatible = "maxim,ds26522";
1990 + reg = <3>;
1991 + spi-max-frequency = <2000000>;
1992 + fsl,spi-cs-sck-delay = <100>;
1993 + fsl,spi-sck-cs-delay = <50>;
1994 + };
1995 +};
1996 +
1997 +&uqe {
1998 + ucc_hdlc: ucc@2000 {
1999 + compatible = "fsl,ucc-hdlc";
2000 + rx-clock-name = "clk8";
2001 + tx-clock-name = "clk9";
2002 + fsl,rx-sync-clock = "rsync_pin";
2003 + fsl,tx-sync-clock = "tsync_pin";
2004 + fsl,tx-timeslot-mask = <0xfffffffe>;
2005 + fsl,rx-timeslot-mask = <0xfffffffe>;
2006 + fsl,tdm-framer-type = "e1";
2007 + fsl,tdm-id = <0>;
2008 + fsl,siram-entry-id = <0>;
2009 + fsl,tdm-interface;
2010 + };
2011 };
2012
2013 &duart0 {
2014 --- a/arch/arm64/boot/dts/freescale/fsl-ls1043a.dtsi
2015 +++ b/arch/arm64/boot/dts/freescale/fsl-ls1043a.dtsi
2016 @@ -1,47 +1,10 @@
2017 +// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2018 /*
2019 * Device Tree Include file for Freescale Layerscape-1043A family SoC.
2020 *
2021 * Copyright 2014-2015 Freescale Semiconductor, Inc.
2022 *
2023 * Mingkai Hu <Mingkai.hu@freescale.com>
2024 - *
2025 - * This file is dual-licensed: you can use it either under the terms
2026 - * of the GPLv2 or the X11 license, at your option. Note that this dual
2027 - * licensing only applies to this file, and not this project as a
2028 - * whole.
2029 - *
2030 - * a) This library is free software; you can redistribute it and/or
2031 - * modify it under the terms of the GNU General Public License as
2032 - * published by the Free Software Foundation; either version 2 of the
2033 - * License, or (at your option) any later version.
2034 - *
2035 - * This library is distributed in the hope that it will be useful,
2036 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
2037 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
2038 - * GNU General Public License for more details.
2039 - *
2040 - * Or, alternatively,
2041 - *
2042 - * b) Permission is hereby granted, free of charge, to any person
2043 - * obtaining a copy of this software and associated documentation
2044 - * files (the "Software"), to deal in the Software without
2045 - * restriction, including without limitation the rights to use,
2046 - * copy, modify, merge, publish, distribute, sublicense, and/or
2047 - * sell copies of the Software, and to permit persons to whom the
2048 - * Software is furnished to do so, subject to the following
2049 - * conditions:
2050 - *
2051 - * The above copyright notice and this permission notice shall be
2052 - * included in all copies or substantial portions of the Software.
2053 - *
2054 - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
2055 - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
2056 - * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
2057 - * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
2058 - * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
2059 - * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
2060 - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
2061 - * OTHER DEALINGS IN THE SOFTWARE.
2062 */
2063
2064 #include <dt-bindings/thermal/thermal.h>
2065 @@ -81,6 +44,7 @@
2066 clocks = <&clockgen 1 0>;
2067 next-level-cache = <&l2>;
2068 #cooling-cells = <2>;
2069 + cpu-idle-states = <&CPU_PH20>;
2070 };
2071
2072 cpu1: cpu@1 {
2073 @@ -89,6 +53,7 @@
2074 reg = <0x1>;
2075 clocks = <&clockgen 1 0>;
2076 next-level-cache = <&l2>;
2077 + cpu-idle-states = <&CPU_PH20>;
2078 };
2079
2080 cpu2: cpu@2 {
2081 @@ -97,6 +62,7 @@
2082 reg = <0x2>;
2083 clocks = <&clockgen 1 0>;
2084 next-level-cache = <&l2>;
2085 + cpu-idle-states = <&CPU_PH20>;
2086 };
2087
2088 cpu3: cpu@3 {
2089 @@ -105,6 +71,7 @@
2090 reg = <0x3>;
2091 clocks = <&clockgen 1 0>;
2092 next-level-cache = <&l2>;
2093 + cpu-idle-states = <&CPU_PH20>;
2094 };
2095
2096 l2: l2-cache {
2097 @@ -112,6 +79,23 @@
2098 };
2099 };
2100
2101 + idle-states {
2102 + /*
2103 + * PSCI node is not added default, U-boot will add missing
2104 + * parts if it determines to use PSCI.
2105 + */
2106 + entry-method = "arm,psci";
2107 +
2108 + CPU_PH20: cpu-ph20 {
2109 + compatible = "arm,idle-state";
2110 + idle-state-name = "PH20";
2111 + arm,psci-suspend-param = <0x0>;
2112 + entry-latency-us = <1000>;
2113 + exit-latency-us = <1000>;
2114 + min-residency-us = <3000>;
2115 + };
2116 + };
2117 +
2118 memory@80000000 {
2119 device_type = "memory";
2120 reg = <0x0 0x80000000 0 0x80000000>;
2121 @@ -255,7 +239,7 @@
2122
2123 dcfg: dcfg@1ee0000 {
2124 compatible = "fsl,ls1043a-dcfg", "syscon";
2125 - reg = <0x0 0x1ee0000 0x0 0x10000>;
2126 + reg = <0x0 0x1ee0000 0x0 0x1000>;
2127 big-endian;
2128 };
2129
2130 @@ -422,7 +406,7 @@
2131 };
2132
2133 i2c0: i2c@2180000 {
2134 - compatible = "fsl,vf610-i2c";
2135 + compatible = "fsl,vf610-i2c", "fsl,ls1043a-vf610-i2c";
2136 #address-cells = <1>;
2137 #size-cells = <0>;
2138 reg = <0x0 0x2180000 0x0 0x10000>;
2139 @@ -432,6 +416,7 @@
2140 dmas = <&edma0 1 39>,
2141 <&edma0 1 38>;
2142 dma-names = "tx", "rx";
2143 + fsl-scl-gpio = <&gpio4 12 0>;
2144 status = "disabled";
2145 };
2146
2147 @@ -536,6 +521,72 @@
2148 #interrupt-cells = <2>;
2149 };
2150
2151 + uqe: uqe@2400000 {
2152 + #address-cells = <1>;
2153 + #size-cells = <1>;
2154 + device_type = "qe";
2155 + compatible = "fsl,qe", "simple-bus";
2156 + ranges = <0x0 0x0 0x2400000 0x40000>;
2157 + reg = <0x0 0x2400000 0x0 0x480>;
2158 + brg-frequency = <100000000>;
2159 + bus-frequency = <200000000>;
2160 +
2161 + fsl,qe-num-riscs = <1>;
2162 + fsl,qe-num-snums = <28>;
2163 +
2164 + qeic: qeic@80 {
2165 + compatible = "fsl,qe-ic";
2166 + reg = <0x80 0x80>;
2167 + #address-cells = <0>;
2168 + interrupt-controller;
2169 + #interrupt-cells = <1>;
2170 + interrupts = <0 77 0x04 0 77 0x04>;
2171 + };
2172 +
2173 + si1: si@700 {
2174 + #address-cells = <1>;
2175 + #size-cells = <0>;
2176 + compatible = "fsl,ls1043-qe-si",
2177 + "fsl,t1040-qe-si";
2178 + reg = <0x700 0x80>;
2179 + };
2180 +
2181 + siram1: siram@1000 {
2182 + #address-cells = <1>;
2183 + #size-cells = <1>;
2184 + compatible = "fsl,ls1043-qe-siram",
2185 + "fsl,t1040-qe-siram";
2186 + reg = <0x1000 0x800>;
2187 + };
2188 +
2189 + ucc@2000 {
2190 + cell-index = <1>;
2191 + reg = <0x2000 0x200>;
2192 + interrupts = <32>;
2193 + interrupt-parent = <&qeic>;
2194 + };
2195 +
2196 + ucc@2200 {
2197 + cell-index = <3>;
2198 + reg = <0x2200 0x200>;
2199 + interrupts = <34>;
2200 + interrupt-parent = <&qeic>;
2201 + };
2202 +
2203 + muram@10000 {
2204 + #address-cells = <1>;
2205 + #size-cells = <1>;
2206 + compatible = "fsl,qe-muram", "fsl,cpm-muram";
2207 + ranges = <0x0 0x10000 0x6000>;
2208 +
2209 + data-only@0 {
2210 + compatible = "fsl,qe-muram-data",
2211 + "fsl,cpm-muram-data";
2212 + reg = <0x0 0x6000>;
2213 + };
2214 + };
2215 + };
2216 +
2217 lpuart0: serial@2950000 {
2218 compatible = "fsl,ls1021a-lpuart";
2219 reg = <0x0 0x2950000 0x0 0x1000>;
2220 @@ -590,6 +641,16 @@
2221 status = "disabled";
2222 };
2223
2224 + ftm0: ftm0@29d0000 {
2225 + compatible = "fsl,ls1043a-ftm-alarm";
2226 + reg = <0x0 0x29d0000 0x0 0x10000>,
2227 + <0x0 0x1ee2140 0x0 0x4>;
2228 + reg-names = "ftm", "pmctrl";
2229 + interrupts = <0 86 0x4>;
2230 + big-endian;
2231 + status = "okay";
2232 + };
2233 +
2234 wdog0: wdog@2ad0000 {
2235 compatible = "fsl,ls1043a-wdt", "fsl,imx21-wdt";
2236 reg = <0x0 0x2ad0000 0x0 0x10000>;
2237 @@ -622,6 +683,9 @@
2238 dr_mode = "host";
2239 snps,quirk-frame-length-adjustment = <0x20>;
2240 snps,dis_rxdet_inp3_quirk;
2241 + usb3-lpm-capable;
2242 + snps,dis-u1u2-when-u3-quirk;
2243 + snps,incr-burst-type-adjustment = <1>, <4>, <8>, <16>;
2244 };
2245
2246 usb1: usb3@3000000 {
2247 @@ -631,6 +695,9 @@
2248 dr_mode = "host";
2249 snps,quirk-frame-length-adjustment = <0x20>;
2250 snps,dis_rxdet_inp3_quirk;
2251 + usb3-lpm-capable;
2252 + snps,dis-u1u2-when-u3-quirk;
2253 + snps,incr-burst-type-adjustment = <1>, <4>, <8>, <16>;
2254 };
2255
2256 usb2: usb3@3100000 {
2257 @@ -640,6 +707,9 @@
2258 dr_mode = "host";
2259 snps,quirk-frame-length-adjustment = <0x20>;
2260 snps,dis_rxdet_inp3_quirk;
2261 + usb3-lpm-capable;
2262 + snps,dis-u1u2-when-u3-quirk;
2263 + snps,incr-burst-type-adjustment = <1>, <4>, <8>, <16>;
2264 };
2265
2266 sata: sata@3200000 {
2267 @@ -652,6 +722,27 @@
2268 dma-coherent;
2269 };
2270
2271 + qdma: qdma@8380000 {
2272 + compatible = "fsl,ls1021a-qdma", "fsl,ls1043a-qdma";
2273 + reg = <0x0 0x8380000 0x0 0x1000>, /* Controller regs */
2274 + <0x0 0x8390000 0x0 0x10000>, /* Status regs */
2275 + <0x0 0x83a0000 0x0 0x40000>; /* Block regs */
2276 + interrupts = <0 152 0x4>,
2277 + <0 39 0x4>,
2278 + <0 40 0x4>,
2279 + <0 41 0x4>,
2280 + <0 42 0x4>;
2281 + interrupt-names = "qdma-error", "qdma-queue0",
2282 + "qdma-queue1", "qdma-queue2", "qdma-queue3";
2283 + channels = <8>;
2284 + block-number = <1>;
2285 + block-offset = <0x10000>;
2286 + queues = <2>;
2287 + status-sizes = <64>;
2288 + queue-sizes = <64 64>;
2289 + big-endian;
2290 + };
2291 +
2292 msi1: msi-controller1@1571000 {
2293 compatible = "fsl,ls1043a-msi";
2294 reg = <0x0 0x1571000 0x0 0x8>;
2295 @@ -678,9 +769,9 @@
2296 reg = <0x00 0x03400000 0x0 0x00100000 /* controller registers */
2297 0x40 0x00000000 0x0 0x00002000>; /* configuration space */
2298 reg-names = "regs", "config";
2299 - interrupts = <0 118 0x4>, /* controller interrupt */
2300 - <0 117 0x4>; /* PME interrupt */
2301 - interrupt-names = "intr", "pme";
2302 + interrupts = <0 117 0x4>, /* PME interrupt */
2303 + <0 118 0x4>; /* aer interrupt */
2304 + interrupt-names = "pme", "aer";
2305 #address-cells = <3>;
2306 #size-cells = <2>;
2307 device_type = "pci";
2308 @@ -703,9 +794,9 @@
2309 reg = <0x00 0x03500000 0x0 0x00100000 /* controller registers */
2310 0x48 0x00000000 0x0 0x00002000>; /* configuration space */
2311 reg-names = "regs", "config";
2312 - interrupts = <0 128 0x4>,
2313 - <0 127 0x4>;
2314 - interrupt-names = "intr", "pme";
2315 + interrupts = <0 127 0x4>,
2316 + <0 128 0x4>;
2317 + interrupt-names = "pme", "aer";
2318 #address-cells = <3>;
2319 #size-cells = <2>;
2320 device_type = "pci";
2321 @@ -728,9 +819,9 @@
2322 reg = <0x00 0x03600000 0x0 0x00100000 /* controller registers */
2323 0x50 0x00000000 0x0 0x00002000>; /* configuration space */
2324 reg-names = "regs", "config";
2325 - interrupts = <0 162 0x4>,
2326 - <0 161 0x4>;
2327 - interrupt-names = "intr", "pme";
2328 + interrupts = <0 161 0x4>,
2329 + <0 162 0x4>;
2330 + interrupt-names = "pme", "aer";
2331 #address-cells = <3>;
2332 #size-cells = <2>;
2333 device_type = "pci";
2334 @@ -749,6 +840,13 @@
2335 };
2336 };
2337
2338 + firmware {
2339 + optee {
2340 + compatible = "linaro,optee-tz";
2341 + method = "smc";
2342 + };
2343 + };
2344 +
2345 };
2346
2347 #include "qoriq-qman-portals.dtsi"
2348 --- a/arch/arm64/boot/dts/freescale/fsl-ls1046-post.dtsi
2349 +++ b/arch/arm64/boot/dts/freescale/fsl-ls1046-post.dtsi
2350 @@ -1,9 +1,9 @@
2351 +// SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)
2352 /*
2353 * QorIQ FMan v3 device tree nodes for ls1046
2354 *
2355 * Copyright 2015-2016 Freescale Semiconductor Inc.
2356 *
2357 - * SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)
2358 */
2359
2360 &soc {
2361 --- /dev/null
2362 +++ b/arch/arm64/boot/dts/freescale/fsl-ls1046a-qds-sdk.dts
2363 @@ -0,0 +1,79 @@
2364 +/*
2365 + * Device Tree Include file for Freescale Layerscape-1046A family SoC.
2366 + *
2367 + * Copyright 2014-2015 Freescale Semiconductor, Inc.
2368 + *
2369 + * Mingkai Hu <Mingkai.hu@freescale.com>
2370 + *
2371 + * This file is dual-licensed: you can use it either under the terms
2372 + * of the GPLv2 or the X11 license, at your option. Note that this dual
2373 + * licensing only applies to this file, and not this project as a
2374 + * whole.
2375 + *
2376 + * a) This library is free software; you can redistribute it and/or
2377 + * modify it under the terms of the GNU General Public License as
2378 + * published by the Free Software Foundation; either version 2 of the
2379 + * License, or (at your option) any later version.
2380 + *
2381 + * This library is distributed in the hope that it will be useful,
2382 + * but WITHOUT ANY WARRANTY; without even the implied warranty of
2383 + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
2384 + * GNU General Public License for more details.
2385 + *
2386 + * Or, alternatively,
2387 + *
2388 + * b) Permission is hereby granted, free of charge, to any person
2389 + * obtaining a copy of this software and associated documentation
2390 + * files (the "Software"), to deal in the Software without
2391 + * restriction, including without limitation the rights to use,
2392 + * copy, modify, merge, publish, distribute, sublicense, and/or
2393 + * sell copies of the Software, and to permit persons to whom the
2394 + * Software is furnished to do so, subject to the following
2395 + * conditions:
2396 + *
2397 + * The above copyright notice and this permission notice shall be
2398 + * included in all copies or substantial portions of the Software.
2399 + *
2400 + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
2401 + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
2402 + * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
2403 + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
2404 + * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
2405 + * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
2406 + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
2407 + * OTHER DEALINGS IN THE SOFTWARE.
2408 + */
2409 +
2410 +#include "fsl-ls1046a-qds.dts"
2411 +#include "qoriq-qman-portals-sdk.dtsi"
2412 +#include "qoriq-bman-portals-sdk.dtsi"
2413 +
2414 +&bman_fbpr {
2415 + compatible = "fsl,bman-fbpr";
2416 + alloc-ranges = <0 0 0x10000 0>;
2417 +};
2418 +&qman_fqd {
2419 + compatible = "fsl,qman-fqd";
2420 + alloc-ranges = <0 0 0x10000 0>;
2421 +};
2422 +&qman_pfdr {
2423 + compatible = "fsl,qman-pfdr";
2424 + alloc-ranges = <0 0 0x10000 0>;
2425 +};
2426 +
2427 +&soc {
2428 +#include "qoriq-dpaa-eth.dtsi"
2429 +#include "qoriq-fman3-0-6oh.dtsi"
2430 +};
2431 +
2432 +&fsldpaa {
2433 + ethernet@9 {
2434 + compatible = "fsl,dpa-ethernet";
2435 + fsl,fman-mac = <&enet7>;
2436 + dma-coherent;
2437 + };
2438 +};
2439 +
2440 +&fman0 {
2441 + compatible = "fsl,fman", "simple-bus";
2442 +};
2443 --- a/arch/arm64/boot/dts/freescale/fsl-ls1046a-qds.dts
2444 +++ b/arch/arm64/boot/dts/freescale/fsl-ls1046a-qds.dts
2445 @@ -1,47 +1,10 @@
2446 +// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2447 /*
2448 * Device Tree Include file for Freescale Layerscape-1046A family SoC.
2449 *
2450 * Copyright 2016 Freescale Semiconductor, Inc.
2451 *
2452 * Shaohui Xie <Shaohui.Xie@nxp.com>
2453 - *
2454 - * This file is dual-licensed: you can use it either under the terms
2455 - * of the GPLv2 or the X11 license, at your option. Note that this dual
2456 - * licensing only applies to this file, and not this project as a
2457 - * whole.
2458 - *
2459 - * a) This library is free software; you can redistribute it and/or
2460 - * modify it under the terms of the GNU General Public License as
2461 - * published by the Free Software Foundation; either version 2 of the
2462 - * License, or (at your option) any later version.
2463 - *
2464 - * This library is distributed in the hope that it will be useful,
2465 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
2466 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
2467 - * GNU General Public License for more details.
2468 - *
2469 - * Or, alternatively,
2470 - *
2471 - * b) Permission is hereby granted, free of charge, to any person
2472 - * obtaining a copy of this software and associated documentation
2473 - * files (the "Software"), to deal in the Software without
2474 - * restriction, including without limitation the rights to use,
2475 - * copy, modify, merge, publish, distribute, sublicense, and/or
2476 - * sell copies of the Software, and to permit persons to whom the
2477 - * Software is furnished to do so, subject to the following
2478 - * conditions:
2479 - *
2480 - * The above copyright notice and this permission notice shall be
2481 - * included in all copies or substantial portions of the Software.
2482 - *
2483 - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
2484 - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
2485 - * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
2486 - * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
2487 - * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
2488 - * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
2489 - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
2490 - * OTHER DEALINGS IN THE SOFTWARE.
2491 */
2492
2493 /dts-v1/;
2494 @@ -61,6 +24,20 @@
2495 serial1 = &duart1;
2496 serial2 = &duart2;
2497 serial3 = &duart3;
2498 +
2499 + emi1_slot1 = &ls1046mdio_s1;
2500 + emi1_slot2 = &ls1046mdio_s2;
2501 + emi1_slot4 = &ls1046mdio_s4;
2502 +
2503 + sgmii_s1_p1 = &sgmii_phy_s1_p1;
2504 + sgmii_s1_p2 = &sgmii_phy_s1_p2;
2505 + sgmii_s1_p3 = &sgmii_phy_s1_p3;
2506 + sgmii_s1_p4 = &sgmii_phy_s1_p4;
2507 + sgmii_s4_p1 = &sgmii_phy_s4_p1;
2508 + qsgmii_s2_p1 = &qsgmii_phy_s2_p1;
2509 + qsgmii_s2_p2 = &qsgmii_phy_s2_p2;
2510 + qsgmii_s2_p3 = &qsgmii_phy_s2_p3;
2511 + qsgmii_s2_p4 = &qsgmii_phy_s2_p4;
2512 };
2513
2514 chosen {
2515 @@ -208,7 +185,143 @@
2516 #size-cells = <1>;
2517 spi-max-frequency = <20000000>;
2518 reg = <0>;
2519 + spi-rx-bus-width = <4>;
2520 + spi-tx-bus-width = <4>;
2521 };
2522 };
2523
2524 #include "fsl-ls1046-post.dtsi"
2525 +
2526 +&fman0 {
2527 + ethernet@e0000 {
2528 + phy-handle = <&qsgmii_phy_s2_p1>;
2529 + phy-connection-type = "sgmii";
2530 + };
2531 +
2532 + ethernet@e2000 {
2533 + phy-handle = <&sgmii_phy_s4_p1>;
2534 + phy-connection-type = "sgmii";
2535 + };
2536 +
2537 + ethernet@e4000 {
2538 + phy-handle = <&rgmii_phy1>;
2539 + phy-connection-type = "rgmii";
2540 + };
2541 +
2542 + ethernet@e6000 {
2543 + phy-handle = <&rgmii_phy2>;
2544 + phy-connection-type = "rgmii";
2545 + };
2546 +
2547 + ethernet@e8000 {
2548 + phy-handle = <&sgmii_phy_s1_p3>;
2549 + phy-connection-type = "sgmii";
2550 + };
2551 +
2552 + ethernet@ea000 {
2553 + phy-handle = <&sgmii_phy_s1_p4>;
2554 + phy-connection-type = "sgmii";
2555 + };
2556 +
2557 + ethernet@f0000 { /* DTSEC9/10GEC1 */
2558 + phy-handle = <&sgmii_phy_s1_p1>;
2559 + phy-connection-type = "xgmii";
2560 + };
2561 +
2562 + ethernet@f2000 { /* DTSEC10/10GEC2 */
2563 + phy-handle = <&sgmii_phy_s1_p2>;
2564 + phy-connection-type = "xgmii";
2565 + };
2566 +};
2567 +
2568 +&fpga {
2569 + #address-cells = <1>;
2570 + #size-cells = <1>;
2571 + mdio-mux-emi1 {
2572 + compatible = "mdio-mux-mmioreg", "mdio-mux";
2573 + mdio-parent-bus = <&mdio0>;
2574 + #address-cells = <1>;
2575 + #size-cells = <0>;
2576 + reg = <0x54 1>; /* BRDCFG4 */
2577 + mux-mask = <0xe0>; /* EMI1 */
2578 +
2579 + /* On-board RGMII1 PHY */
2580 + ls1046mdio0: mdio@0 {
2581 + reg = <0>;
2582 + #address-cells = <1>;
2583 + #size-cells = <0>;
2584 +
2585 + rgmii_phy1: ethernet-phy@1 { /* MAC3 */
2586 + reg = <0x1>;
2587 + };
2588 + };
2589 +
2590 + /* On-board RGMII2 PHY */
2591 + ls1046mdio1: mdio@1 {
2592 + reg = <0x20>;
2593 + #address-cells = <1>;
2594 + #size-cells = <0>;
2595 +
2596 + rgmii_phy2: ethernet-phy@2 { /* MAC4 */
2597 + reg = <0x2>;
2598 + };
2599 + };
2600 +
2601 + /* Slot 1 */
2602 + ls1046mdio_s1: mdio@2 {
2603 + reg = <0x40>;
2604 + #address-cells = <1>;
2605 + #size-cells = <0>;
2606 + status = "disabled";
2607 +
2608 + sgmii_phy_s1_p1: ethernet-phy@1c {
2609 + reg = <0x1c>;
2610 + };
2611 +
2612 + sgmii_phy_s1_p2: ethernet-phy@1d {
2613 + reg = <0x1d>;
2614 + };
2615 +
2616 + sgmii_phy_s1_p3: ethernet-phy@1e {
2617 + reg = <0x1e>;
2618 + };
2619 +
2620 + sgmii_phy_s1_p4: ethernet-phy@1f {
2621 + reg = <0x1f>;
2622 + };
2623 + };
2624 +
2625 + /* Slot 2 */
2626 + ls1046mdio_s2: mdio@3 {
2627 + reg = <0x60>;
2628 + #address-cells = <1>;
2629 + #size-cells = <0>;
2630 + status = "disabled";
2631 +
2632 + qsgmii_phy_s2_p1: ethernet-phy@8 {
2633 + reg = <0x8>;
2634 + };
2635 + qsgmii_phy_s2_p2: ethernet-phy@9 {
2636 + reg = <0x9>;
2637 + };
2638 + qsgmii_phy_s2_p3: ethernet-phy@a {
2639 + reg = <0xa>;
2640 + };
2641 + qsgmii_phy_s2_p4: ethernet-phy@b {
2642 + reg = <0xb>;
2643 + };
2644 + };
2645 +
2646 + /* Slot 4 */
2647 + ls1046mdio_s4: mdio@5 {
2648 + reg = <0x80>;
2649 + #address-cells = <1>;
2650 + #size-cells = <0>;
2651 + status = "disabled";
2652 +
2653 + sgmii_phy_s4_p1: ethernet-phy@1c {
2654 + reg = <0x1c>;
2655 + };
2656 + };
2657 + };
2658 +};
2659 --- /dev/null
2660 +++ b/arch/arm64/boot/dts/freescale/fsl-ls1046a-rdb-sdk.dts
2661 @@ -0,0 +1,115 @@
2662 +/*
2663 + * Device Tree Include file for Freescale Layerscape-1046A family SoC.
2664 + *
2665 + * Copyright 2014-2015 Freescale Semiconductor, Inc.
2666 + *
2667 + * Mingkai Hu <Mingkai.hu@freescale.com>
2668 + *
2669 + * This file is dual-licensed: you can use it either under the terms
2670 + * of the GPLv2 or the X11 license, at your option. Note that this dual
2671 + * licensing only applies to this file, and not this project as a
2672 + * whole.
2673 + *
2674 + * a) This library is free software; you can redistribute it and/or
2675 + * modify it under the terms of the GNU General Public License as
2676 + * published by the Free Software Foundation; either version 2 of the
2677 + * License, or (at your option) any later version.
2678 + *
2679 + * This library is distributed in the hope that it will be useful,
2680 + * but WITHOUT ANY WARRANTY; without even the implied warranty of
2681 + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
2682 + * GNU General Public License for more details.
2683 + *
2684 + * Or, alternatively,
2685 + *
2686 + * b) Permission is hereby granted, free of charge, to any person
2687 + * obtaining a copy of this software and associated documentation
2688 + * files (the "Software"), to deal in the Software without
2689 + * restriction, including without limitation the rights to use,
2690 + * copy, modify, merge, publish, distribute, sublicense, and/or
2691 + * sell copies of the Software, and to permit persons to whom the
2692 + * Software is furnished to do so, subject to the following
2693 + * conditions:
2694 + *
2695 + * The above copyright notice and this permission notice shall be
2696 + * included in all copies or substantial portions of the Software.
2697 + *
2698 + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
2699 + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
2700 + * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
2701 + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
2702 + * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
2703 + * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
2704 + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
2705 + * OTHER DEALINGS IN THE SOFTWARE.
2706 + */
2707 +
2708 +#include "fsl-ls1046a-rdb.dts"
2709 +#include "qoriq-qman-portals-sdk.dtsi"
2710 +#include "qoriq-bman-portals-sdk.dtsi"
2711 +
2712 +&bman_fbpr {
2713 + compatible = "fsl,bman-fbpr";
2714 + alloc-ranges = <0 0 0x10000 0>;
2715 +};
2716 +&qman_fqd {
2717 + compatible = "fsl,qman-fqd";
2718 + alloc-ranges = <0 0 0x10000 0>;
2719 +};
2720 +&qman_pfdr {
2721 + compatible = "fsl,qman-pfdr";
2722 + alloc-ranges = <0 0 0x10000 0>;
2723 +};
2724 +
2725 +&soc {
2726 +#include "qoriq-dpaa-eth.dtsi"
2727 +#include "qoriq-fman3-0-6oh.dtsi"
2728 +};
2729 +
2730 +&fsldpaa {
2731 + ethernet@0 {
2732 + status = "disabled";
2733 + };
2734 + ethernet@1 {
2735 + status = "disabled";
2736 + };
2737 + ethernet@9 {
2738 + compatible = "fsl,dpa-ethernet";
2739 + fsl,fman-mac = <&enet7>;
2740 + dma-coherent;
2741 + };
2742 +};
2743 +
2744 +&fman0 {
2745 + compatible = "fsl,fman", "simple-bus";
2746 +};
2747 +
2748 +&mdio9 {
2749 + pcsphy6: ethernet-phy@0 {
2750 + backplane-mode = "10gbase-kr";
2751 + compatible = "ethernet-phy-ieee802.3-c45";
2752 + reg = <0x0>;
2753 + fsl,lane-handle = <&serdes1>;
2754 + fsl,lane-reg = <0x8C0 0x40>; /* lane D */
2755 + };
2756 +};
2757 +
2758 +&mdio10 {
2759 + pcsphy7: ethernet-phy@0 {
2760 + backplane-mode = "10gbase-kr";
2761 + compatible = "ethernet-phy-ieee802.3-c45";
2762 + reg = <0x0>;
2763 + fsl,lane-handle = <&serdes1>;
2764 + fsl,lane-reg = <0x880 0x40>; /* lane C */
2765 + };
2766 +};
2767 +
2768 +/* Update MAC connections to backplane PHYs
2769 + * &mac9 {
2770 + * phy-handle = <&pcsphy6>;
2771 + *};
2772 + *
2773 + *&mac10 {
2774 + * phy-handle = <&pcsphy7>;
2775 + *};
2776 +*/
2777 --- /dev/null
2778 +++ b/arch/arm64/boot/dts/freescale/fsl-ls1046a-rdb-usdpaa.dts
2779 @@ -0,0 +1,110 @@
2780 +/*
2781 + * Device Tree Include file for Freescale Layerscape-1046A family SoC.
2782 + *
2783 + * Copyright (C) 2016, Freescale Semiconductor
2784 + *
2785 + * This file is licensed under the terms of the GNU General Public
2786 + * License version 2. This program is licensed "as is" without any
2787 + * warranty of any kind, whether express or implied.
2788 + */
2789 +
2790 +#include "fsl-ls1046a-rdb-sdk.dts"
2791 +
2792 +&soc {
2793 + bp7: buffer-pool@7 {
2794 + compatible = "fsl,ls1046a-bpool", "fsl,bpool";
2795 + fsl,bpid = <7>;
2796 + fsl,bpool-ethernet-cfg = <0 0 0 192 0 0xdeadbeef>;
2797 + fsl,bpool-thresholds = <0x400 0xc00 0x0 0x0>;
2798 + };
2799 +
2800 + bp8: buffer-pool@8 {
2801 + compatible = "fsl,ls1046a-bpool", "fsl,bpool";
2802 + fsl,bpid = <8>;
2803 + fsl,bpool-ethernet-cfg = <0 0 0 576 0 0xabbaf00d>;
2804 + fsl,bpool-thresholds = <0x100 0x300 0x0 0x0>;
2805 + };
2806 +
2807 + bp9: buffer-pool@9 {
2808 + compatible = "fsl,ls1046a-bpool", "fsl,bpool";
2809 + fsl,bpid = <9>;
2810 + fsl,bpool-ethernet-cfg = <0 0 0 2048 0 0xfeedabba>;
2811 + fsl,bpool-thresholds = <0x100 0x300 0x0 0x0>;
2812 + };
2813 +
2814 + fsl,dpaa {
2815 + compatible = "fsl,ls1046a", "fsl,dpaa", "simple-bus";
2816 +
2817 + ethernet@2 {
2818 + compatible = "fsl,dpa-ethernet-init";
2819 + fsl,bman-buffer-pools = <&bp7 &bp8 &bp9>;
2820 + fsl,qman-frame-queues-rx = <0x54 1 0x55 1>;
2821 + fsl,qman-frame-queues-tx = <0x74 1 0x75 1>;
2822 + };
2823 +
2824 + ethernet@3 {
2825 + compatible = "fsl,dpa-ethernet-init";
2826 + fsl,bman-buffer-pools = <&bp7 &bp8 &bp9>;
2827 + fsl,qman-frame-queues-rx = <0x56 1 0x57 1>;
2828 + fsl,qman-frame-queues-tx = <0x76 1 0x77 1>;
2829 + };
2830 +
2831 + ethernet@4 {
2832 + compatible = "fsl,dpa-ethernet-init";
2833 + fsl,bman-buffer-pools = <&bp7 &bp8 &bp9>;
2834 + fsl,qman-frame-queues-rx = <0x58 1 0x59 1>;
2835 + fsl,qman-frame-queues-tx = <0x78 1 0x79 1>;
2836 + };
2837 +
2838 + ethernet@5 {
2839 + compatible = "fsl,dpa-ethernet-init";
2840 + fsl,bman-buffer-pools = <&bp7 &bp8 &bp9>;
2841 + fsl,qman-frame-queues-rx = <0x5a 1 0x5b 1>;
2842 + fsl,qman-frame-queues-tx = <0x7a 1 0x7b 1>;
2843 + };
2844 +
2845 + ethernet@8 {
2846 + compatible = "fsl,dpa-ethernet-init";
2847 + fsl,bman-buffer-pools = <&bp7 &bp8 &bp9>;
2848 + fsl,qman-frame-queues-rx = <0x5c 1 0x5d 1>;
2849 + fsl,qman-frame-queues-tx = <0x7c 1 0x7d 1>;
2850 + };
2851 +
2852 + ethernet@9 {
2853 + compatible = "fsl,dpa-ethernet-init";
2854 + fsl,bman-buffer-pools = <&bp7 &bp8 &bp9>;
2855 + fsl,qman-frame-queues-rx = <0x5e 1 0x5f 1>;
2856 + fsl,qman-frame-queues-tx = <0x7e 1 0x7f 1>;
2857 + };
2858 +
2859 + dpa-fman0-oh@2 {
2860 + compatible = "fsl,dpa-oh";
2861 + /* Define frame queues for the OH port*/
2862 + /* <OH Rx error, OH Rx default> */
2863 + fsl,qman-frame-queues-oh = <0x60 1 0x61 1>;
2864 + fsl,fman-oh-port = <&fman0_oh2>;
2865 + };
2866 + };
2867 +};
2868 +/ {
2869 + reserved-memory {
2870 + #address-cells = <2>;
2871 + #size-cells = <2>;
2872 + ranges;
2873 +
2874 + usdpaa_mem: usdpaa_mem {
2875 + compatible = "fsl,usdpaa-mem";
2876 + alloc-ranges = <0 0 0x10000 0>;
2877 + size = <0 0x10000000>;
2878 + alignment = <0 0x10000000>;
2879 + };
2880 + };
2881 +};
2882 +
2883 +&fman0 {
2884 + fman0_oh2: port@83000 {
2885 + cell-index = <1>;
2886 + compatible = "fsl,fman-port-oh";
2887 + reg = <0x83000 0x1000>;
2888 + };
2889 +};
2890 --- a/arch/arm64/boot/dts/freescale/fsl-ls1046a-rdb.dts
2891 +++ b/arch/arm64/boot/dts/freescale/fsl-ls1046a-rdb.dts
2892 @@ -1,47 +1,10 @@
2893 +// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2894 /*
2895 * Device Tree Include file for Freescale Layerscape-1046A family SoC.
2896 *
2897 * Copyright 2016 Freescale Semiconductor, Inc.
2898 *
2899 * Mingkai Hu <mingkai.hu@nxp.com>
2900 - *
2901 - * This file is dual-licensed: you can use it either under the terms
2902 - * of the GPLv2 or the X11 license, at your option. Note that this dual
2903 - * licensing only applies to this file, and not this project as a
2904 - * whole.
2905 - *
2906 - * a) This library is free software; you can redistribute it and/or
2907 - * modify it under the terms of the GNU General Public License as
2908 - * published by the Free Software Foundation; either version 2 of the
2909 - * License, or (at your option) any later version.
2910 - *
2911 - * This library is distributed in the hope that it will be useful,
2912 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
2913 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
2914 - * GNU General Public License for more details.
2915 - *
2916 - * Or, alternatively,
2917 - *
2918 - * b) Permission is hereby granted, free of charge, to any person
2919 - * obtaining a copy of this software and associated documentation
2920 - * files (the "Software"), to deal in the Software without
2921 - * restriction, including without limitation the rights to use,
2922 - * copy, modify, merge, publish, distribute, sublicense, and/or
2923 - * sell copies of the Software, and to permit persons to whom the
2924 - * Software is furnished to do so, subject to the following
2925 - * conditions:
2926 - *
2927 - * The above copyright notice and this permission notice shall be
2928 - * included in all copies or substantial portions of the Software.
2929 - *
2930 - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
2931 - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
2932 - * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
2933 - * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
2934 - * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
2935 - * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
2936 - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
2937 - * OTHER DEALINGS IN THE SOFTWARE.
2938 */
2939
2940 /dts-v1/;
2941 @@ -139,6 +102,7 @@
2942 num-cs = <2>;
2943 bus-num = <0>;
2944 status = "okay";
2945 + fsl,qspi-has-second-chip;
2946
2947 qflash0: s25fs512s@0 {
2948 compatible = "spansion,m25p80";
2949 @@ -146,6 +110,8 @@
2950 #size-cells = <1>;
2951 spi-max-frequency = <20000000>;
2952 reg = <0>;
2953 + spi-rx-bus-width = <4>;
2954 + spi-tx-bus-width = <4>;
2955 };
2956
2957 qflash1: s25fs512s@1 {
2958 @@ -154,6 +120,8 @@
2959 #size-cells = <1>;
2960 spi-max-frequency = <20000000>;
2961 reg = <1>;
2962 + spi-rx-bus-width = <4>;
2963 + spi-tx-bus-width = <4>;
2964 };
2965 };
2966
2967 --- a/arch/arm64/boot/dts/freescale/fsl-ls1046a.dtsi
2968 +++ b/arch/arm64/boot/dts/freescale/fsl-ls1046a.dtsi
2969 @@ -1,47 +1,10 @@
2970 +// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2971 /*
2972 * Device Tree Include file for Freescale Layerscape-1046A family SoC.
2973 *
2974 * Copyright 2016 Freescale Semiconductor, Inc.
2975 *
2976 * Mingkai Hu <mingkai.hu@nxp.com>
2977 - *
2978 - * This file is dual-licensed: you can use it either under the terms
2979 - * of the GPLv2 or the X11 license, at your option. Note that this dual
2980 - * licensing only applies to this file, and not this project as a
2981 - * whole.
2982 - *
2983 - * a) This library is free software; you can redistribute it and/or
2984 - * modify it under the terms of the GNU General Public License as
2985 - * published by the Free Software Foundation; either version 2 of the
2986 - * License, or (at your option) any later version.
2987 - *
2988 - * This library is distributed in the hope that it will be useful,
2989 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
2990 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
2991 - * GNU General Public License for more details.
2992 - *
2993 - * Or, alternatively,
2994 - *
2995 - * b) Permission is hereby granted, free of charge, to any person
2996 - * obtaining a copy of this software and associated documentation
2997 - * files (the "Software"), to deal in the Software without
2998 - * restriction, including without limitation the rights to use,
2999 - * copy, modify, merge, publish, distribute, sublicense, and/or
3000 - * sell copies of the Software, and to permit persons to whom the
3001 - * Software is furnished to do so, subject to the following
3002 - * conditions:
3003 - *
3004 - * The above copyright notice and this permission notice shall be
3005 - * included in all copies or substantial portions of the Software.
3006 - *
3007 - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
3008 - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
3009 - * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
3010 - * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
3011 - * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
3012 - * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
3013 - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
3014 - * OTHER DEALINGS IN THE SOFTWARE.
3015 */
3016
3017 #include <dt-bindings/interrupt-controller/arm-gic.h>
3018 @@ -122,7 +85,7 @@
3019 CPU_PH20: cpu-ph20 {
3020 compatible = "arm,idle-state";
3021 idle-state-name = "PH20";
3022 - arm,psci-suspend-param = <0x00010000>;
3023 + arm,psci-suspend-param = <0x0>;
3024 entry-latency-us = <1000>;
3025 exit-latency-us = <1000>;
3026 min-residency-us = <3000>;
3027 @@ -214,7 +177,6 @@
3028 clock-names = "qspi_en", "qspi";
3029 clocks = <&clockgen 4 1>, <&clockgen 4 1>;
3030 big-endian;
3031 - fsl,qspi-has-second-chip;
3032 status = "disabled";
3033 };
3034
3035 @@ -304,7 +266,7 @@
3036
3037 dcfg: dcfg@1ee0000 {
3038 compatible = "fsl,ls1046a-dcfg", "syscon";
3039 - reg = <0x0 0x1ee0000 0x0 0x10000>;
3040 + reg = <0x0 0x1ee0000 0x0 0x1000>;
3041 big-endian;
3042 };
3043
3044 @@ -407,7 +369,7 @@
3045 };
3046
3047 i2c0: i2c@2180000 {
3048 - compatible = "fsl,vf610-i2c";
3049 + compatible = "fsl,vf610-i2c", "fsl,ls1046a-vf610-i2c";
3050 #address-cells = <1>;
3051 #size-cells = <0>;
3052 reg = <0x0 0x2180000 0x0 0x10000>;
3053 @@ -416,6 +378,7 @@
3054 dmas = <&edma0 1 39>,
3055 <&edma0 1 38>;
3056 dma-names = "tx", "rx";
3057 + fsl-scl-gpio = <&gpio3 12 0>;
3058 status = "disabled";
3059 };
3060
3061 @@ -440,12 +403,13 @@
3062 };
3063
3064 i2c3: i2c@21b0000 {
3065 - compatible = "fsl,vf610-i2c";
3066 + compatible = "fsl,vf610-i2c", "fsl,ls1046a-vf610-i2c";
3067 #address-cells = <1>;
3068 #size-cells = <0>;
3069 reg = <0x0 0x21b0000 0x0 0x10000>;
3070 interrupts = <GIC_SPI 59 IRQ_TYPE_LEVEL_HIGH>;
3071 clocks = <&clockgen 4 1>;
3072 + fsl-scl-gpio = <&gpio3 12 0>;
3073 status = "disabled";
3074 };
3075
3076 @@ -571,6 +535,15 @@
3077 status = "disabled";
3078 };
3079
3080 + ftm0: ftm0@29d0000 {
3081 + compatible = "fsl,ls1046a-ftm-alarm";
3082 + reg = <0x0 0x29d0000 0x0 0x10000>,
3083 + <0x0 0x1ee2140 0x0 0x4>;
3084 + reg-names = "ftm", "pmctrl";
3085 + interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>;
3086 + big-endian;
3087 + };
3088 +
3089 wdog0: watchdog@2ad0000 {
3090 compatible = "fsl,imx21-wdt";
3091 reg = <0x0 0x2ad0000 0x0 0x10000>;
3092 @@ -602,6 +575,9 @@
3093 dr_mode = "host";
3094 snps,quirk-frame-length-adjustment = <0x20>;
3095 snps,dis_rxdet_inp3_quirk;
3096 + usb3-lpm-capable;
3097 + snps,dis-u1u2-when-u3-quirk;
3098 + snps,incr-burst-type-adjustment = <1>, <4>, <8>, <16>;
3099 };
3100
3101 usb1: usb@3000000 {
3102 @@ -611,6 +587,9 @@
3103 dr_mode = "host";
3104 snps,quirk-frame-length-adjustment = <0x20>;
3105 snps,dis_rxdet_inp3_quirk;
3106 + usb3-lpm-capable;
3107 + snps,dis-u1u2-when-u3-quirk;
3108 + snps,incr-burst-type-adjustment = <1>, <4>, <8>, <16>;
3109 };
3110
3111 usb2: usb@3100000 {
3112 @@ -620,6 +599,9 @@
3113 dr_mode = "host";
3114 snps,quirk-frame-length-adjustment = <0x20>;
3115 snps,dis_rxdet_inp3_quirk;
3116 + usb3-lpm-capable;
3117 + snps,dis-u1u2-when-u3-quirk;
3118 + snps,incr-burst-type-adjustment = <1>, <4>, <8>, <16>;
3119 };
3120
3121 sata: sata@3200000 {
3122 @@ -631,6 +613,27 @@
3123 clocks = <&clockgen 4 1>;
3124 };
3125
3126 + qdma: qdma@8380000 {
3127 + compatible = "fsl,ls1046a-qdma", "fsl,ls1021a-qdma";
3128 + reg = <0x0 0x8380000 0x0 0x1000>, /* Controller regs */
3129 + <0x0 0x8390000 0x0 0x10000>, /* Status regs */
3130 + <0x0 0x83a0000 0x0 0x40000>; /* Block regs */
3131 + interrupts = <0 153 0x4>,
3132 + <0 39 0x4>,
3133 + <0 40 0x4>,
3134 + <0 41 0x4>,
3135 + <0 42 0x4>;
3136 + interrupt-names = "qdma-error", "qdma-queue0",
3137 + "qdma-queue1", "qdma-queue2", "qdma-queue3";
3138 + channels = <8>;
3139 + block-number = <1>;
3140 + block-offset = <0x10000>;
3141 + queues = <2>;
3142 + status-sizes = <64>;
3143 + queue-sizes = <64 64>;
3144 + big-endian;
3145 + };
3146 +
3147 msi1: msi-controller@1580000 {
3148 compatible = "fsl,ls1046a-msi";
3149 msi-controller;
3150 @@ -661,6 +664,92 @@
3151 <GIC_SPI 157 IRQ_TYPE_LEVEL_HIGH>;
3152 };
3153
3154 + pcie@3400000 {
3155 + compatible = "fsl,ls1046a-pcie", "snps,dw-pcie";
3156 + reg = <0x00 0x03400000 0x0 0x00100000 /* controller registers */
3157 + 0x40 0x00000000 0x0 0x00002000>; /* configuration space */
3158 + reg-names = "regs", "config";
3159 + interrupts = <GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH>, /* PME interrupt */
3160 + <GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH>; /* aer interrupt */
3161 + interrupt-names = "pme", "aer";
3162 + #address-cells = <3>;
3163 + #size-cells = <2>;
3164 + device_type = "pci";
3165 + dma-coherent;
3166 + num-lanes = <4>;
3167 + num-ib-windows = <6>;
3168 + num-ob-windows = <6>;
3169 + bus-range = <0x0 0xff>;
3170 + ranges = <0x81000000 0x0 0x00000000 0x40 0x00010000 0x0 0x00010000 /* downstream I/O */
3171 + 0x82000000 0x0 0x40000000 0x40 0x40000000 0x0 0x40000000>; /* non-prefetchable memory */
3172 + msi-parent = <&msi1>, <&msi2>, <&msi3>;
3173 + #interrupt-cells = <1>;
3174 + interrupt-map-mask = <0 0 0 7>;
3175 + interrupt-map = <0000 0 0 1 &gic GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>,
3176 + <0000 0 0 2 &gic GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>,
3177 + <0000 0 0 3 &gic GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>,
3178 + <0000 0 0 4 &gic GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>;
3179 + };
3180 +
3181 + pcie@3500000 {
3182 + compatible = "fsl,ls1046a-pcie", "snps,dw-pcie";
3183 + reg = <0x00 0x03500000 0x0 0x00100000 /* controller registers */
3184 + 0x48 0x00000000 0x0 0x00002000>; /* configuration space */
3185 + reg-names = "regs", "config";
3186 + interrupts = <GIC_SPI 127 IRQ_TYPE_LEVEL_HIGH>,
3187 + <GIC_SPI 128 IRQ_TYPE_LEVEL_HIGH>;
3188 + interrupt-names = "pme", "aer";
3189 + #address-cells = <3>;
3190 + #size-cells = <2>;
3191 + device_type = "pci";
3192 + dma-coherent;
3193 + num-lanes = <2>;
3194 + num-ib-windows = <6>;
3195 + num-ob-windows = <6>;
3196 + bus-range = <0x0 0xff>;
3197 + ranges = <0x81000000 0x0 0x00000000 0x48 0x00010000 0x0 0x00010000 /* downstream I/O */
3198 + 0x82000000 0x0 0x40000000 0x48 0x40000000 0x0 0x40000000>; /* non-prefetchable memory */
3199 + msi-parent = <&msi1>, <&msi2>, <&msi3>;
3200 + #interrupt-cells = <1>;
3201 + interrupt-map-mask = <0 0 0 7>;
3202 + interrupt-map = <0000 0 0 1 &gic GIC_SPI 120 IRQ_TYPE_LEVEL_HIGH>,
3203 + <0000 0 0 2 &gic GIC_SPI 120 IRQ_TYPE_LEVEL_HIGH>,
3204 + <0000 0 0 3 &gic GIC_SPI 120 IRQ_TYPE_LEVEL_HIGH>,
3205 + <0000 0 0 4 &gic GIC_SPI 120 IRQ_TYPE_LEVEL_HIGH>;
3206 + };
3207 +
3208 + pcie@3600000 {
3209 + compatible = "fsl,ls1046a-pcie", "snps,dw-pcie";
3210 + reg = <0x00 0x03600000 0x0 0x00100000 /* controller registers */
3211 + 0x50 0x00000000 0x0 0x00002000>; /* configuration space */
3212 + reg-names = "regs", "config";
3213 + interrupts = <GIC_SPI 161 IRQ_TYPE_LEVEL_HIGH>,
3214 + <GIC_SPI 162 IRQ_TYPE_LEVEL_HIGH>;
3215 + interrupt-names = "pme", "aer";
3216 + #address-cells = <3>;
3217 + #size-cells = <2>;
3218 + device_type = "pci";
3219 + dma-coherent;
3220 + num-lanes = <2>;
3221 + num-ib-windows = <6>;
3222 + num-ob-windows = <6>;
3223 + bus-range = <0x0 0xff>;
3224 + ranges = <0x81000000 0x0 0x00000000 0x50 0x00010000 0x0 0x00010000 /* downstream I/O */
3225 + 0x82000000 0x0 0x40000000 0x50 0x40000000 0x0 0x40000000>; /* non-prefetchable memory */
3226 + msi-parent = <&msi1>, <&msi2>, <&msi3>;
3227 + #interrupt-cells = <1>;
3228 + interrupt-map-mask = <0 0 0 7>;
3229 + interrupt-map = <0000 0 0 1 &gic GIC_SPI 154 IRQ_TYPE_LEVEL_HIGH>,
3230 + <0000 0 0 2 &gic GIC_SPI 154 IRQ_TYPE_LEVEL_HIGH>,
3231 + <0000 0 0 3 &gic GIC_SPI 154 IRQ_TYPE_LEVEL_HIGH>,
3232 + <0000 0 0 4 &gic GIC_SPI 154 IRQ_TYPE_LEVEL_HIGH>;
3233 + };
3234 +
3235 + serdes1: serdes@1ea0000 {
3236 + reg = <0x0 0x1ea0000 0 0x00002000>;
3237 + compatible = "fsl,serdes-10g";
3238 + };
3239 +
3240 };
3241
3242 reserved-memory {
3243 @@ -689,6 +778,13 @@
3244 no-map;
3245 };
3246 };
3247 +
3248 + firmware {
3249 + optee {
3250 + compatible = "linaro,optee-tz";
3251 + method = "smc";
3252 + };
3253 + };
3254 };
3255
3256 #include "qoriq-qman-portals.dtsi"
3257 --- a/arch/arm64/boot/dts/freescale/fsl-ls1088a-qds.dts
3258 +++ b/arch/arm64/boot/dts/freescale/fsl-ls1088a-qds.dts
3259 @@ -1,3 +1,4 @@
3260 +// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
3261 /*
3262 * Device Tree file for NXP LS1088A QDS Board.
3263 *
3264 @@ -5,43 +6,6 @@
3265 *
3266 * Harninder Rai <harninder.rai@nxp.com>
3267 *
3268 - * This file is dual-licensed: you can use it either under the terms
3269 - * of the GPLv2 or the X11 license, at your option. Note that this dual
3270 - * licensing only applies to this file, and not this project as a
3271 - * whole.
3272 - *
3273 - * a) This library is free software; you can redistribute it and/or
3274 - * modify it under the terms of the GNU General Public License as
3275 - * published by the Free Software Foundation; either version 2 of the
3276 - * License, or (at your option) any later version.
3277 - *
3278 - * This library is distributed in the hope that it will be useful,
3279 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
3280 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
3281 - * GNU General Public License for more details.
3282 - *
3283 - * Or, alternatively,
3284 - *
3285 - * b) Permission is hereby granted, free of charge, to any person
3286 - * obtaining a copy of this software and associated documentation
3287 - * files (the "Software"), to deal in the Software without
3288 - * restriction, including without limitation the rights to use,
3289 - * copy, modify, merge, publish, distribute, sublicense, and/or
3290 - * sell copies of the Software, and to permit persons to whom the
3291 - * Software is furnished to do so, subject to the following
3292 - * conditions:
3293 - *
3294 - * The above copyright notice and this permission notice shall be
3295 - * included in all copies or substantial portions of the Software.
3296 - *
3297 - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
3298 - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
3299 - * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
3300 - * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
3301 - * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
3302 - * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
3303 - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
3304 - * OTHER DEALINGS IN THE SOFTWARE.
3305 */
3306
3307 /dts-v1/;
3308 @@ -134,6 +98,30 @@
3309 };
3310 };
3311
3312 +&qspi {
3313 + status = "okay";
3314 + fsl,qspi-has-second-chip;
3315 + qflash0: s25fs512s@0 {
3316 + compatible = "spansion,m25p80";
3317 + #address-cells = <1>;
3318 + #size-cells = <1>;
3319 + spi-max-frequency = <20000000>;
3320 + reg = <0>;
3321 + spi-rx-bus-width = <4>;
3322 + spi-tx-bus-width = <4>;
3323 + };
3324 +
3325 + qflash1: s25fs512s@1 {
3326 + compatible = "spansion,m25p80";
3327 + #address-cells = <1>;
3328 + #size-cells = <1>;
3329 + spi-max-frequency = <20000000>;
3330 + reg = <1>;
3331 + spi-rx-bus-width = <4>;
3332 + spi-tx-bus-width = <4>;
3333 + };
3334 +};
3335 +
3336 &duart0 {
3337 status = "okay";
3338 };
3339 @@ -149,3 +137,29 @@
3340 &sata {
3341 status = "okay";
3342 };
3343 +
3344 +&pcs_mdio1 {
3345 + pcs_phy1: ethernet-phy@0 {
3346 + backplane-mode = "10gbase-kr";
3347 + compatible = "ethernet-phy-ieee802.3-c45";
3348 + reg = <0x0>;
3349 + fsl,lane-handle = <&serdes1>;
3350 + fsl,lane-reg = <0x840 0x40>;/* lane B */
3351 + };
3352 +};
3353 +
3354 +&pcs_mdio2 {
3355 + pcs_phy2: ethernet-phy@0 {
3356 + backplane-mode = "10gbase-kr";
3357 + compatible = "ethernet-phy-ieee802.3-c45";
3358 + reg = <0x0>;
3359 + fsl,lane-handle = <&serdes1>;
3360 + fsl,lane-reg = <0x800 0x40>;/* lane A */
3361 + };
3362 +};
3363 +
3364 +/* Update DPMAC connections to backplane PHYs, under SerDes 0x1D_0xXX.
3365 + * &dpmac1 {
3366 + * phy-handle = <&pcs_phy1>;
3367 + * };
3368 + */
3369 --- a/arch/arm64/boot/dts/freescale/fsl-ls1088a-rdb.dts
3370 +++ b/arch/arm64/boot/dts/freescale/fsl-ls1088a-rdb.dts
3371 @@ -1,3 +1,4 @@
3372 +// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
3373 /*
3374 * Device Tree file for NXP LS1088A RDB Board.
3375 *
3376 @@ -5,43 +6,6 @@
3377 *
3378 * Harninder Rai <harninder.rai@nxp.com>
3379 *
3380 - * This file is dual-licensed: you can use it either under the terms
3381 - * of the GPLv2 or the X11 license, at your option. Note that this dual
3382 - * licensing only applies to this file, and not this project as a
3383 - * whole.
3384 - *
3385 - * a) This library is free software; you can redistribute it and/or
3386 - * modify it under the terms of the GNU General Public License as
3387 - * published by the Free Software Foundation; either version 2 of the
3388 - * License, or (at your option) any later version.
3389 - *
3390 - * This library is distributed in the hope that it will be useful,
3391 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
3392 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
3393 - * GNU General Public License for more details.
3394 - *
3395 - * Or, alternatively,
3396 - *
3397 - * b) Permission is hereby granted, free of charge, to any person
3398 - * obtaining a copy of this software and associated documentation
3399 - * files (the "Software"), to deal in the Software without
3400 - * restriction, including without limitation the rights to use,
3401 - * copy, modify, merge, publish, distribute, sublicense, and/or
3402 - * sell copies of the Software, and to permit persons to whom the
3403 - * Software is furnished to do so, subject to the following
3404 - * conditions:
3405 - *
3406 - * The above copyright notice and this permission notice shall be
3407 - * included in all copies or substantial portions of the Software.
3408 - *
3409 - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
3410 - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
3411 - * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
3412 - * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
3413 - * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
3414 - * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
3415 - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
3416 - * OTHER DEALINGS IN THE SOFTWARE.
3417 */
3418
3419 /dts-v1/;
3420 @@ -110,6 +74,31 @@
3421 };
3422 };
3423
3424 +&qspi {
3425 + status = "okay";
3426 + fsl,qspi-has-second-chip;
3427 + qflash0: s25fs512s@0 {
3428 + compatible = "spansion,m25p80";
3429 + #address-cells = <1>;
3430 + #size-cells = <1>;
3431 + spi-max-frequency = <20000000>;
3432 + reg = <0>;
3433 + spi-rx-bus-width = <4>;
3434 + spi-tx-bus-width = <4>;
3435 + };
3436 +
3437 + qflash1: s25fs512s@1 {
3438 + compatible = "spansion,m25p80";
3439 + #address-cells = <1>;
3440 + #size-cells = <1>;
3441 + spi-max-frequency = <20000000>;
3442 + reg = <1>;
3443 + spi-rx-bus-width = <4>;
3444 + spi-tx-bus-width = <4>;
3445 + };
3446 +
3447 +};
3448 +
3449 &duart0 {
3450 status = "okay";
3451 };
3452 @@ -118,6 +107,14 @@
3453 status = "okay";
3454 };
3455
3456 +&usb0 {
3457 + status = "okay";
3458 +};
3459 +
3460 +&usb1 {
3461 + status = "okay";
3462 +};
3463 +
3464 &esdhc {
3465 status = "okay";
3466 };
3467 @@ -125,3 +122,82 @@
3468 &sata {
3469 status = "okay";
3470 };
3471 +
3472 +&emdio1 {
3473 + /* Freescale F104 PHY1 */
3474 + mdio1_phy1: emdio1_phy@1 {
3475 + reg = <0x1c>;
3476 + phy-connection-type = "qsgmii";
3477 + };
3478 + mdio1_phy2: emdio1_phy@2 {
3479 + reg = <0x1d>;
3480 + phy-connection-type = "qsgmii";
3481 + };
3482 + mdio1_phy3: emdio1_phy@3 {
3483 + reg = <0x1e>;
3484 + phy-connection-type = "qsgmii";
3485 + };
3486 + mdio1_phy4: emdio1_phy@4 {
3487 + reg = <0x1f>;
3488 + phy-connection-type = "qsgmii";
3489 + };
3490 + /* F104 PHY2 */
3491 + mdio1_phy5: emdio1_phy@5 {
3492 + reg = <0x0c>;
3493 + phy-connection-type = "qsgmii";
3494 + };
3495 + mdio1_phy6: emdio1_phy@6 {
3496 + reg = <0x0d>;
3497 + phy-connection-type = "qsgmii";
3498 + };
3499 + mdio1_phy7: emdio1_phy@7 {
3500 + reg = <0x0e>;
3501 + phy-connection-type = "qsgmii";
3502 + };
3503 + mdio1_phy8: emdio1_phy@8 {
3504 + reg = <0x0f>;
3505 + phy-connection-type = "qsgmii";
3506 + };
3507 +};
3508 +
3509 +&emdio2 {
3510 + /* Aquantia AQR105 10G PHY */
3511 + mdio2_phy1: emdio2_phy@1 {
3512 + compatible = "ethernet-phy-ieee802.3-c45";
3513 + interrupts = <0 2 0x4>;
3514 + reg = <0x0>;
3515 + phy-connection-type = "xfi";
3516 + };
3517 +};
3518 +
3519 +/* DPMAC connections to external PHYs
3520 + * based on LS1088A RM RevC - $24.1.2 SerDes Options
3521 + */
3522 +/* DPMAC1 is 10G SFP+, fixed link */
3523 +&dpmac2 {
3524 + phy-handle = <&mdio2_phy1>;
3525 +};
3526 +&dpmac3 {
3527 + phy-handle = <&mdio1_phy5>;
3528 +};
3529 +&dpmac4 {
3530 + phy-handle = <&mdio1_phy6>;
3531 +};
3532 +&dpmac5 {
3533 + phy-handle = <&mdio1_phy7>;
3534 +};
3535 +&dpmac6 {
3536 + phy-handle = <&mdio1_phy8>;
3537 +};
3538 +&dpmac7 {
3539 + phy-handle = <&mdio1_phy1>;
3540 +};
3541 +&dpmac8 {
3542 + phy-handle = <&mdio1_phy2>;
3543 +};
3544 +&dpmac9 {
3545 + phy-handle = <&mdio1_phy3>;
3546 +};
3547 +&dpmac10 {
3548 + phy-handle = <&mdio1_phy4>;
3549 +};
3550 --- a/arch/arm64/boot/dts/freescale/fsl-ls1088a.dtsi
3551 +++ b/arch/arm64/boot/dts/freescale/fsl-ls1088a.dtsi
3552 @@ -1,3 +1,4 @@
3553 +// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
3554 /*
3555 * Device Tree Include file for NXP Layerscape-1088A family SoC.
3556 *
3557 @@ -5,43 +6,6 @@
3558 *
3559 * Harninder Rai <harninder.rai@nxp.com>
3560 *
3561 - * This file is dual-licensed: you can use it either under the terms
3562 - * of the GPLv2 or the X11 license, at your option. Note that this dual
3563 - * licensing only applies to this file, and not this project as a
3564 - * whole.
3565 - *
3566 - * a) This library is free software; you can redistribute it and/or
3567 - * modify it under the terms of the GNU General Public License as
3568 - * published by the Free Software Foundation; either version 2 of the
3569 - * License, or (at your option) any later version.
3570 - *
3571 - * This library is distributed in the hope that it will be useful,
3572 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
3573 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
3574 - * GNU General Public License for more details.
3575 - *
3576 - * Or, alternatively,
3577 - *
3578 - * b) Permission is hereby granted, free of charge, to any person
3579 - * obtaining a copy of this software and associated documentation
3580 - * files (the "Software"), to deal in the Software without
3581 - * restriction, including without limitation the rights to use,
3582 - * copy, modify, merge, publish, distribute, sublicense, and/or
3583 - * sell copies of the Software, and to permit persons to whom the
3584 - * Software is furnished to do so, subject to the following
3585 - * conditions:
3586 - *
3587 - * The above copyright notice and this permission notice shall be
3588 - * included in all copies or substantial portions of the Software.
3589 - *
3590 - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
3591 - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
3592 - * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
3593 - * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
3594 - * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
3595 - * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
3596 - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
3597 - * OTHER DEALINGS IN THE SOFTWARE.
3598 */
3599 #include <dt-bindings/interrupt-controller/arm-gic.h>
3600 #include <dt-bindings/thermal/thermal.h>
3601 @@ -130,7 +94,7 @@
3602 CPU_PH20: cpu-ph20 {
3603 compatible = "arm,idle-state";
3604 idle-state-name = "PH20";
3605 - arm,psci-suspend-param = <0x00010000>;
3606 + arm,psci-suspend-param = <0x0>;
3607 entry-latency-us = <1000>;
3608 exit-latency-us = <1000>;
3609 min-residency-us = <3000>;
3610 @@ -147,6 +111,15 @@
3611 <0x0 0x0c0d0000 0 0x1000>, /* GICH */
3612 <0x0 0x0c0e0000 0 0x20000>; /* GICV */
3613 interrupts = <1 9 IRQ_TYPE_LEVEL_HIGH>;
3614 + #address-cells = <2>;
3615 + #size-cells = <2>;
3616 + ranges;
3617 +
3618 + its: gic-its@6020000 {
3619 + compatible = "arm,gic-v3-its";
3620 + msi-controller;
3621 + reg = <0x0 0x6020000 0 0x20000>;
3622 + };
3623 };
3624
3625 timer {
3626 @@ -169,11 +142,31 @@
3627 clock-output-names = "sysclk";
3628 };
3629
3630 + dcfg: dcfg@1e00000 {
3631 + compatible = "fsl,ls1088a-dcfg", "syscon";
3632 + reg = <0x0 0x1e00000 0x0 0x10000>;
3633 + little-endian;
3634 + };
3635 +
3636 + rstcr: syscon@1e60000 {
3637 + compatible = "fsl,ls1088a-rstcr", "syscon";
3638 + reg = <0x0 0x1e60000 0x0 0x4>;
3639 + };
3640 +
3641 + reboot {
3642 + compatible = "syscon-reboot";
3643 + regmap = <&rstcr>;
3644 + offset = <0x0>;
3645 + mask = <0x02>;
3646 + };
3647 +
3648 +
3649 soc {
3650 compatible = "simple-bus";
3651 #address-cells = <2>;
3652 #size-cells = <2>;
3653 ranges;
3654 + dma-ranges = <0x0 0x0 0x0 0x0 0x10000 0x00000000>;
3655
3656 clockgen: clocking@1300000 {
3657 compatible = "fsl,ls1088a-clockgen";
3658 @@ -283,6 +276,62 @@
3659 status = "disabled";
3660 };
3661
3662 + cluster1_core0_watchdog: wdt@c000000 {
3663 + compatible = "arm,sp805-wdt", "arm,primecell";
3664 + reg = <0x0 0xc000000 0x0 0x1000>;
3665 + clocks = <&clockgen 4 3>, <&clockgen 4 3>;
3666 + clock-names = "apb_pclk", "wdog_clk";
3667 + };
3668 +
3669 + cluster1_core1_watchdog: wdt@c010000 {
3670 + compatible = "arm,sp805-wdt", "arm,primecell";
3671 + reg = <0x0 0xc010000 0x0 0x1000>;
3672 + clocks = <&clockgen 4 3>, <&clockgen 4 3>;
3673 + clock-names = "apb_pclk", "wdog_clk";
3674 + };
3675 +
3676 + cluster1_core2_watchdog: wdt@c020000 {
3677 + compatible = "arm,sp805-wdt", "arm,primecell";
3678 + reg = <0x0 0xc020000 0x0 0x1000>;
3679 + clocks = <&clockgen 4 3>, <&clockgen 4 3>;
3680 + clock-names = "apb_pclk", "wdog_clk";
3681 + };
3682 +
3683 + cluster1_core3_watchdog: wdt@c030000 {
3684 + compatible = "arm,sp805-wdt", "arm,primecell";
3685 + reg = <0x0 0xc030000 0x0 0x1000>;
3686 + clocks = <&clockgen 4 3>, <&clockgen 4 3>;
3687 + clock-names = "apb_pclk", "wdog_clk";
3688 + };
3689 +
3690 + cluster2_core0_watchdog: wdt@c100000 {
3691 + compatible = "arm,sp805-wdt", "arm,primecell";
3692 + reg = <0x0 0xc100000 0x0 0x1000>;
3693 + clocks = <&clockgen 4 3>, <&clockgen 4 3>;
3694 + clock-names = "apb_pclk", "wdog_clk";
3695 + };
3696 +
3697 + cluster2_core1_watchdog: wdt@c110000 {
3698 + compatible = "arm,sp805-wdt", "arm,primecell";
3699 + reg = <0x0 0xc110000 0x0 0x1000>;
3700 + clocks = <&clockgen 4 3>, <&clockgen 4 3>;
3701 + clock-names = "apb_pclk", "wdog_clk";
3702 + };
3703 +
3704 + cluster2_core2_watchdog: wdt@c120000 {
3705 + compatible = "arm,sp805-wdt", "arm,primecell";
3706 + reg = <0x0 0xc120000 0x0 0x1000>;
3707 + clocks = <&clockgen 4 3>, <&clockgen 4 3>;
3708 + clock-names = "apb_pclk", "wdog_clk";
3709 + };
3710 +
3711 + cluster2_core3_watchdog: wdt@c130000 {
3712 + compatible = "arm,sp805-wdt", "arm,primecell";
3713 + reg = <0x0 0xc130000 0x0 0x1000>;
3714 + clocks = <&clockgen 4 3>, <&clockgen 4 3>;
3715 + clock-names = "apb_pclk", "wdog_clk";
3716 + };
3717 +
3718 gpio0: gpio@2300000 {
3719 compatible = "fsl,qoriq-gpio";
3720 reg = <0x0 0x2300000 0x0 0x10000>;
3721 @@ -323,6 +372,72 @@
3722 #interrupt-cells = <2>;
3723 };
3724
3725 + /* TODO: WRIOP (CCSR?) */
3726 + emdio1: mdio@0x8B96000 { /* WRIOP0: 0x8B8_0000,
3727 + * E-MDIO1: 0x1_6000
3728 + */
3729 + compatible = "fsl,fman-memac-mdio";
3730 + reg = <0x0 0x8B96000 0x0 0x1000>;
3731 + device_type = "mdio";
3732 + little-endian; /* force the driver in LE mode */
3733 +
3734 + /* Not necessary on the QDS, but needed on the RDB */
3735 + #address-cells = <1>;
3736 + #size-cells = <0>;
3737 + };
3738 +
3739 + emdio2: mdio@0x8B97000 { /* WRIOP0: 0x8B8_0000,
3740 + * E-MDIO2: 0x1_7000
3741 + */
3742 + compatible = "fsl,fman-memac-mdio";
3743 + reg = <0x0 0x8B97000 0x0 0x1000>;
3744 + device_type = "mdio";
3745 + little-endian; /* force the driver in LE mode */
3746 +
3747 + #address-cells = <1>;
3748 + #size-cells = <0>;
3749 + };
3750 +
3751 + pcs_mdio1: mdio@0x8c07000 {
3752 + compatible = "fsl,fman-memac-mdio";
3753 + reg = <0x0 0x8c07000 0x0 0x1000>;
3754 + device_type = "mdio";
3755 + little-endian;
3756 +
3757 + #address-cells = <1>;
3758 + #size-cells = <0>;
3759 + };
3760 +
3761 + pcs_mdio2: mdio@0x8c0b000 {
3762 + compatible = "fsl,fman-memac-mdio";
3763 + reg = <0x0 0x8c0b000 0x0 0x1000>;
3764 + device_type = "mdio";
3765 + little-endian;
3766 +
3767 + #address-cells = <1>;
3768 + #size-cells = <0>;
3769 + };
3770 +
3771 + pcs_mdio3: mdio@0x8c0f000 {
3772 + compatible = "fsl,fman-memac-mdio";
3773 + reg = <0x0 0x8c0f000 0x0 0x1000>;
3774 + device_type = "mdio";
3775 + little-endian;
3776 +
3777 + #address-cells = <1>;
3778 + #size-cells = <0>;
3779 + };
3780 +
3781 + pcs_mdio4: mdio@0x8c13000 {
3782 + compatible = "fsl,fman-memac-mdio";
3783 + reg = <0x0 0x8c13000 0x0 0x1000>;
3784 + device_type = "mdio";
3785 + little-endian;
3786 +
3787 + #address-cells = <1>;
3788 + #size-cells = <0>;
3789 + };
3790 +
3791 ifc: ifc@2240000 {
3792 compatible = "fsl,ifc", "simple-bus";
3793 reg = <0x0 0x2240000 0x0 0x20000>;
3794 @@ -333,13 +448,22 @@
3795 status = "disabled";
3796 };
3797
3798 + ftm0: ftm0@2800000 {
3799 + compatible = "fsl,ls1088a-ftm-alarm";
3800 + reg = <0x0 0x2800000 0x0 0x10000>,
3801 + <0x0 0x1e34050 0x0 0x4>;
3802 + reg-names = "ftm", "pmctrl";
3803 + interrupts = <0 44 4>;
3804 + };
3805 +
3806 i2c0: i2c@2000000 {
3807 - compatible = "fsl,vf610-i2c";
3808 + compatible = "fsl,vf610-i2c", "fsl,ls1088a-vf610-i2c";
3809 #address-cells = <1>;
3810 #size-cells = <0>;
3811 reg = <0x0 0x2000000 0x0 0x10000>;
3812 interrupts = <0 34 IRQ_TYPE_LEVEL_HIGH>;
3813 - clocks = <&clockgen 4 3>;
3814 + clocks = <&clockgen 4 7>;
3815 + fsl-scl-gpio = <&gpio3 30 0>;
3816 status = "disabled";
3817 };
3818
3819 @@ -349,7 +473,7 @@
3820 #size-cells = <0>;
3821 reg = <0x0 0x2010000 0x0 0x10000>;
3822 interrupts = <0 34 IRQ_TYPE_LEVEL_HIGH>;
3823 - clocks = <&clockgen 4 3>;
3824 + clocks = <&clockgen 4 7>;
3825 status = "disabled";
3826 };
3827
3828 @@ -359,7 +483,7 @@
3829 #size-cells = <0>;
3830 reg = <0x0 0x2020000 0x0 0x10000>;
3831 interrupts = <0 35 IRQ_TYPE_LEVEL_HIGH>;
3832 - clocks = <&clockgen 4 3>;
3833 + clocks = <&clockgen 4 7>;
3834 status = "disabled";
3835 };
3836
3837 @@ -369,7 +493,7 @@
3838 #size-cells = <0>;
3839 reg = <0x0 0x2030000 0x0 0x10000>;
3840 interrupts = <0 35 IRQ_TYPE_LEVEL_HIGH>;
3841 - clocks = <&clockgen 4 3>;
3842 + clocks = <&clockgen 4 7>;
3843 status = "disabled";
3844 };
3845
3846 @@ -385,6 +509,26 @@
3847 status = "disabled";
3848 };
3849
3850 + usb0: usb3@3100000 {
3851 + compatible = "snps,dwc3";
3852 + reg = <0x0 0x3100000 0x0 0x10000>;
3853 + interrupts = <0 80 0x4>; /* Level high type */
3854 + dr_mode = "host";
3855 + configure-gfladj;
3856 + snps,dis_rxdet_inp3_quirk;
3857 + snps,incr-burst-type-adjustment = <1>, <4>, <8>, <16>;
3858 + };
3859 +
3860 + usb1: usb3@3110000 {
3861 + compatible = "snps,dwc3";
3862 + reg = <0x0 0x3110000 0x0 0x10000>;
3863 + interrupts = <0 81 0x4>; /* Level high type */
3864 + dr_mode = "host";
3865 + configure-gfladj;
3866 + snps,dis_rxdet_inp3_quirk;
3867 + snps,incr-burst-type-adjustment = <1>, <4>, <8>, <16>;
3868 + };
3869 +
3870 sata: sata@3200000 {
3871 compatible = "fsl,ls1088a-ahci";
3872 reg = <0x0 0x3200000 0x0 0x10000>,
3873 @@ -395,6 +539,17 @@
3874 dma-coherent;
3875 status = "disabled";
3876 };
3877 + qspi: quadspi@20c0000 {
3878 + compatible = "fsl,ls2080a-qspi", "fsl,ls1088a-qspi";
3879 + #address-cells = <1>;
3880 + #size-cells = <0>;
3881 + reg = <0x0 0x20c0000 0x0 0x10000>,
3882 + <0x0 0x20000000 0x0 0x10000000>;
3883 + reg-names = "QuadSPI", "QuadSPI-memory";
3884 + interrupts = <0 25 0x4>; /* Level high type */
3885 + clocks = <&clockgen 4 3>, <&clockgen 4 3>;
3886 + clock-names = "qspi_en", "qspi";
3887 + };
3888
3889 crypto: crypto@8000000 {
3890 compatible = "fsl,sec-v5.0", "fsl,sec-v4.0";
3891 @@ -434,6 +589,251 @@
3892 interrupts = <GIC_SPI 143 IRQ_TYPE_LEVEL_HIGH>;
3893 };
3894 };
3895 +
3896 + pcie@3400000 {
3897 + compatible = "fsl,ls1088a-pcie", "snps,dw-pcie";
3898 + reg = <0x00 0x03400000 0x0 0x00100000 /* controller registers */
3899 + 0x20 0x00000000 0x0 0x00002000>; /* configuration space */
3900 + reg-names = "regs", "config";
3901 + interrupts = <0 108 IRQ_TYPE_LEVEL_HIGH>; /* aer interrupt */
3902 + interrupt-names = "aer";
3903 + #address-cells = <3>;
3904 + #size-cells = <2>;
3905 + device_type = "pci";
3906 + dma-coherent;
3907 + num-lanes = <4>;
3908 + bus-range = <0x0 0xff>;
3909 + ranges = <0x81000000 0x0 0x00000000 0x20 0x00010000 0x0 0x00010000 /* downstream I/O */
3910 + 0x82000000 0x0 0x40000000 0x20 0x40000000 0x0 0x40000000>; /* non-prefetchable memory */
3911 + msi-parent = <&its>;
3912 + iommu-map = <0 &smmu 0 1>; /* This is fixed-up by u-boot */
3913 + #interrupt-cells = <1>;
3914 + interrupt-map-mask = <0 0 0 7>;
3915 + interrupt-map = <0000 0 0 1 &gic 0 0 0 109 IRQ_TYPE_LEVEL_HIGH>,
3916 + <0000 0 0 2 &gic 0 0 0 110 IRQ_TYPE_LEVEL_HIGH>,
3917 + <0000 0 0 3 &gic 0 0 0 111 IRQ_TYPE_LEVEL_HIGH>,
3918 + <0000 0 0 4 &gic 0 0 0 112 IRQ_TYPE_LEVEL_HIGH>;
3919 + };
3920 +
3921 + pcie@3500000 {
3922 + compatible = "fsl,ls1088a-pcie", "snps,dw-pcie";
3923 + reg = <0x00 0x03500000 0x0 0x00100000 /* controller registers */
3924 + 0x28 0x00000000 0x0 0x00002000>; /* configuration space */
3925 + reg-names = "regs", "config";
3926 + interrupts = <0 113 IRQ_TYPE_LEVEL_HIGH>; /* aer interrupt */
3927 + interrupt-names = "aer";
3928 + #address-cells = <3>;
3929 + #size-cells = <2>;
3930 + device_type = "pci";
3931 + dma-coherent;
3932 + num-lanes = <4>;
3933 + bus-range = <0x0 0xff>;
3934 + ranges = <0x81000000 0x0 0x00000000 0x28 0x00010000 0x0 0x00010000 /* downstream I/O */
3935 + 0x82000000 0x0 0x40000000 0x28 0x40000000 0x0 0x40000000>; /* non-prefetchable memory */
3936 + msi-parent = <&its>;
3937 + iommu-map = <0 &smmu 0 1>; /* This is fixed-up by u-boot */
3938 + #interrupt-cells = <1>;
3939 + interrupt-map-mask = <0 0 0 7>;
3940 + interrupt-map = <0000 0 0 1 &gic 0 0 0 114 IRQ_TYPE_LEVEL_HIGH>,
3941 + <0000 0 0 2 &gic 0 0 0 115 IRQ_TYPE_LEVEL_HIGH>,
3942 + <0000 0 0 3 &gic 0 0 0 116 IRQ_TYPE_LEVEL_HIGH>,
3943 + <0000 0 0 4 &gic 0 0 0 117 IRQ_TYPE_LEVEL_HIGH>;
3944 + };
3945 +
3946 + pcie@3600000 {
3947 + compatible = "fsl,ls1088a-pcie", "snps,dw-pcie";
3948 + reg = <0x00 0x03600000 0x0 0x00100000 /* controller registers */
3949 + 0x30 0x00000000 0x0 0x00002000>; /* configuration space */
3950 + reg-names = "regs", "config";
3951 + interrupts = <0 118 IRQ_TYPE_LEVEL_HIGH>; /* aer interrupt */
3952 + interrupt-names = "aer";
3953 + #address-cells = <3>;
3954 + #size-cells = <2>;
3955 + device_type = "pci";
3956 + dma-coherent;
3957 + num-lanes = <8>;
3958 + bus-range = <0x0 0xff>;
3959 + ranges = <0x81000000 0x0 0x00000000 0x30 0x00010000 0x0 0x00010000 /* downstream I/O */
3960 + 0x82000000 0x0 0x40000000 0x30 0x40000000 0x0 0x40000000>; /* non-prefetchable memory */
3961 + msi-parent = <&its>;
3962 + iommu-map = <0 &smmu 0 1>; /* This is fixed-up by u-boot */
3963 + #interrupt-cells = <1>;
3964 + interrupt-map-mask = <0 0 0 7>;
3965 + interrupt-map = <0000 0 0 1 &gic 0 0 0 119 IRQ_TYPE_LEVEL_HIGH>,
3966 + <0000 0 0 2 &gic 0 0 0 120 IRQ_TYPE_LEVEL_HIGH>,
3967 + <0000 0 0 3 &gic 0 0 0 121 IRQ_TYPE_LEVEL_HIGH>,
3968 + <0000 0 0 4 &gic 0 0 0 122 IRQ_TYPE_LEVEL_HIGH>;
3969 + };
3970 +
3971 + fsl_mc: fsl-mc@80c000000 {
3972 + compatible = "fsl,qoriq-mc";
3973 + reg = <0x00000008 0x0c000000 0 0x40>, /* MC portal base */
3974 + <0x00000000 0x08340000 0 0x40000>; /* MC control reg */
3975 + msi-parent = <&its>;
3976 + iommu-map = <0 &smmu 0 0>; /* This is fixed-up by u-boot */
3977 + dma-coherent;
3978 + #address-cells = <3>;
3979 + #size-cells = <1>;
3980 +
3981 + /*
3982 + * Region type 0x0 - MC portals
3983 + * Region type 0x1 - QBMAN portals
3984 + */
3985 + ranges = <0x0 0x0 0x0 0x8 0x0c000000 0x4000000
3986 + 0x1 0x0 0x0 0x8 0x18000000 0x8000000>;
3987 +
3988 + dpmacs {
3989 + #address-cells = <1>;
3990 + #size-cells = <0>;
3991 +
3992 + dpmac1: dpmac@1 {
3993 + compatible = "fsl,qoriq-mc-dpmac";
3994 + reg = <1>;
3995 + };
3996 +
3997 + dpmac2: dpmac@2 {
3998 + compatible = "fsl,qoriq-mc-dpmac";
3999 + reg = <2>;
4000 + };
4001 +
4002 + dpmac3: dpmac@3 {
4003 + compatible = "fsl,qoriq-mc-dpmac";
4004 + reg = <3>;
4005 + };
4006 +
4007 + dpmac4: dpmac@4 {
4008 + compatible = "fsl,qoriq-mc-dpmac";
4009 + reg = <4>;
4010 + };
4011 +
4012 + dpmac5: dpmac@5 {
4013 + compatible = "fsl,qoriq-mc-dpmac";
4014 + reg = <5>;
4015 + };
4016 +
4017 + dpmac6: dpmac@6 {
4018 + compatible = "fsl,qoriq-mc-dpmac";
4019 + reg = <6>;
4020 + };
4021 +
4022 + dpmac7: dpmac@7 {
4023 + compatible = "fsl,qoriq-mc-dpmac";
4024 + reg = <7>;
4025 + };
4026 +
4027 + dpmac8: dpmac@8 {
4028 + compatible = "fsl,qoriq-mc-dpmac";
4029 + reg = <8>;
4030 + };
4031 +
4032 + dpmac9: dpmac@9 {
4033 + compatible = "fsl,qoriq-mc-dpmac";
4034 + reg = <9>;
4035 + };
4036 +
4037 + dpmac10: dpmac@a {
4038 + compatible = "fsl,qoriq-mc-dpmac";
4039 + reg = <0xa>;
4040 + };
4041 + };
4042 + };
4043 +
4044 + smmu: iommu@5000000 {
4045 + compatible = "arm,mmu-500";
4046 + reg = <0 0x5000000 0 0x800000>;
4047 + #global-interrupts = <12>;
4048 + #iommu-cells = <1>;
4049 + stream-match-mask = <0x7C00>;
4050 + interrupts = <0 13 4>, /* global secure fault */
4051 + <0 14 4>, /* combined secure interrupt */
4052 + <0 15 4>, /* global non-secure fault */
4053 + <0 16 4>, /* combined non-secure interrupt */
4054 + /* performance counter interrupts 0-7 */
4055 + <0 211 4>,
4056 + <0 212 4>,
4057 + <0 213 4>,
4058 + <0 214 4>,
4059 + <0 215 4>,
4060 + <0 216 4>,
4061 + <0 217 4>,
4062 + <0 218 4>,
4063 + /* per context interrupt, 64 interrupts */
4064 + <0 146 4>,
4065 + <0 147 4>,
4066 + <0 148 4>,
4067 + <0 149 4>,
4068 + <0 150 4>,
4069 + <0 151 4>,
4070 + <0 152 4>,
4071 + <0 153 4>,
4072 + <0 154 4>,
4073 + <0 155 4>,
4074 + <0 156 4>,
4075 + <0 157 4>,
4076 + <0 158 4>,
4077 + <0 159 4>,
4078 + <0 160 4>,
4079 + <0 161 4>,
4080 + <0 162 4>,
4081 + <0 163 4>,
4082 + <0 164 4>,
4083 + <0 165 4>,
4084 + <0 166 4>,
4085 + <0 167 4>,
4086 + <0 168 4>,
4087 + <0 169 4>,
4088 + <0 170 4>,
4089 + <0 171 4>,
4090 + <0 172 4>,
4091 + <0 173 4>,
4092 + <0 174 4>,
4093 + <0 175 4>,
4094 + <0 176 4>,
4095 + <0 177 4>,
4096 + <0 178 4>,
4097 + <0 179 4>,
4098 + <0 180 4>,
4099 + <0 181 4>,
4100 + <0 182 4>,
4101 + <0 183 4>,
4102 + <0 184 4>,
4103 + <0 185 4>,
4104 + <0 186 4>,
4105 + <0 187 4>,
4106 + <0 188 4>,
4107 + <0 189 4>,
4108 + <0 190 4>,
4109 + <0 191 4>,
4110 + <0 192 4>,
4111 + <0 193 4>,
4112 + <0 194 4>,
4113 + <0 195 4>,
4114 + <0 196 4>,
4115 + <0 197 4>,
4116 + <0 198 4>,
4117 + <0 199 4>,
4118 + <0 200 4>,
4119 + <0 201 4>,
4120 + <0 202 4>,
4121 + <0 203 4>,
4122 + <0 204 4>,
4123 + <0 205 4>,
4124 + <0 206 4>,
4125 + <0 207 4>,
4126 + <0 208 4>,
4127 + <0 209 4>;
4128 + };
4129 +
4130 + serdes1: serdes@1ea0000 {
4131 + reg = <0x0 0x1ea0000 0 0x00002000>;
4132 + compatible = "fsl,serdes-10g";
4133 + };
4134 };
4135
4136 + firmware {
4137 + optee {
4138 + compatible = "linaro,optee-tz";
4139 + method = "smc";
4140 + };
4141 + };
4142 };
4143 --- a/arch/arm64/boot/dts/freescale/fsl-ls2080a-qds.dts
4144 +++ b/arch/arm64/boot/dts/freescale/fsl-ls2080a-qds.dts
4145 @@ -1,3 +1,4 @@
4146 +// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
4147 /*
4148 * Device Tree file for Freescale LS2080a QDS Board.
4149 *
4150 @@ -7,43 +8,6 @@
4151 * Abhimanyu Saini <abhimanyu.saini@nxp.com>
4152 * Bhupesh Sharma <bhupesh.sharma@freescale.com>
4153 *
4154 - * This file is dual-licensed: you can use it either under the terms
4155 - * of the GPLv2 or the X11 license, at your option. Note that this dual
4156 - * licensing only applies to this file, and not this project as a
4157 - * whole.
4158 - *
4159 - * a) This library is free software; you can redistribute it and/or
4160 - * modify it under the terms of the GNU General Public License as
4161 - * published by the Free Software Foundation; either version 2 of the
4162 - * License, or (at your option) any later version.
4163 - *
4164 - * This library is distributed in the hope that it will be useful,
4165 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
4166 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
4167 - * GNU General Public License for more details.
4168 - *
4169 - * Or, alternatively,
4170 - *
4171 - * b) Permission is hereby granted, free of charge, to any person
4172 - * obtaining a copy of this software and associated documentation
4173 - * files (the "Software"), to deal in the Software without
4174 - * restriction, including without limitation the rights to use,
4175 - * copy, modify, merge, publish, distribute, sublicense, and/or
4176 - * sell copies of the Software, and to permit persons to whom the
4177 - * Software is furnished to do so, subject to the following
4178 - * conditions:
4179 - *
4180 - * The above copyright notice and this permission notice shall be
4181 - * included in all copies or substantial portions of the Software.
4182 - *
4183 - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
4184 - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
4185 - * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
4186 - * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
4187 - * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
4188 - * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
4189 - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
4190 - * OTHER DEALINGS IN THE SOFTWARE.
4191 */
4192
4193 /dts-v1/;
4194 @@ -59,3 +23,65 @@
4195 stdout-path = "serial0:115200n8";
4196 };
4197 };
4198 +
4199 +&ifc {
4200 + boardctrl: board-control@3,0 {
4201 + #address-cells = <1>;
4202 + #size-cells = <1>;
4203 + compatible = "fsl,tetra-fpga", "fsl,fpga-qixis", "simple-bus";
4204 + reg = <3 0 0x300>; /* TODO check address */
4205 + ranges = <0 3 0 0x300>;
4206 +
4207 + mdio_mux_emi1 {
4208 + compatible = "mdio-mux-mmioreg", "mdio-mux";
4209 + mdio-parent-bus = <&emdio1>;
4210 + reg = <0x54 1>; /* BRDCFG4 */
4211 + mux-mask = <0xe0>; /* EMI1_MDIO */
4212 +
4213 + #address-cells=<1>;
4214 + #size-cells = <0>;
4215 +
4216 + /* Child MDIO buses, one for each riser card:
4217 + * reg = 0x0, 0x20, 0x40, 0x60, 0x80, 0xa0.
4218 + * VSC8234 PHYs on the riser cards.
4219 + */
4220 +
4221 + mdio_mux3: mdio@60 {
4222 + reg = <0x60>;
4223 + #address-cells = <1>;
4224 + #size-cells = <0>;
4225 +
4226 + mdio0_phy12: mdio_phy0@1c {
4227 + reg = <0x1c>;
4228 + phy-connection-type = "sgmii";
4229 + };
4230 + mdio0_phy13: mdio_phy1@1d {
4231 + reg = <0x1d>;
4232 + phy-connection-type = "sgmii";
4233 + };
4234 + mdio0_phy14: mdio_phy2@1e {
4235 + reg = <0x1e>;
4236 + phy-connection-type = "sgmii";
4237 + };
4238 + mdio0_phy15: mdio_phy3@1f {
4239 + reg = <0x1f>;
4240 + phy-connection-type = "sgmii";
4241 + };
4242 + };
4243 + };
4244 + };
4245 +};
4246 +
4247 +/* Update DPMAC connections to external PHYs, under SerDes 0x2a_0x49. */
4248 +&dpmac9 {
4249 + phy-handle = <&mdio0_phy12>;
4250 +};
4251 +&dpmac10 {
4252 + phy-handle = <&mdio0_phy13>;
4253 +};
4254 +&dpmac11 {
4255 + phy-handle = <&mdio0_phy14>;
4256 +};
4257 +&dpmac12 {
4258 + phy-handle = <&mdio0_phy15>;
4259 +};
4260 --- a/arch/arm64/boot/dts/freescale/fsl-ls2080a-rdb.dts
4261 +++ b/arch/arm64/boot/dts/freescale/fsl-ls2080a-rdb.dts
4262 @@ -1,3 +1,4 @@
4263 +// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
4264 /*
4265 * Device Tree file for Freescale LS2080a RDB Board.
4266 *
4267 @@ -7,43 +8,6 @@
4268 * Abhimanyu Saini <abhimanyu.saini@nxp.com>
4269 * Bhupesh Sharma <bhupesh.sharma@freescale.com>
4270 *
4271 - * This file is dual-licensed: you can use it either under the terms
4272 - * of the GPLv2 or the X11 license, at your option. Note that this dual
4273 - * licensing only applies to this file, and not this project as a
4274 - * whole.
4275 - *
4276 - * a) This library is free software; you can redistribute it and/or
4277 - * modify it under the terms of the GNU General Public License as
4278 - * published by the Free Software Foundation; either version 2 of the
4279 - * License, or (at your option) any later version.
4280 - *
4281 - * This library is distributed in the hope that it will be useful,
4282 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
4283 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
4284 - * GNU General Public License for more details.
4285 - *
4286 - * Or, alternatively,
4287 - *
4288 - * b) Permission is hereby granted, free of charge, to any person
4289 - * obtaining a copy of this software and associated documentation
4290 - * files (the "Software"), to deal in the Software without
4291 - * restriction, including without limitation the rights to use,
4292 - * copy, modify, merge, publish, distribute, sublicense, and/or
4293 - * sell copies of the Software, and to permit persons to whom the
4294 - * Software is furnished to do so, subject to the following
4295 - * conditions:
4296 - *
4297 - * The above copyright notice and this permission notice shall be
4298 - * included in all copies or substantial portions of the Software.
4299 - *
4300 - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
4301 - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
4302 - * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
4303 - * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
4304 - * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
4305 - * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
4306 - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
4307 - * OTHER DEALINGS IN THE SOFTWARE.
4308 */
4309
4310 /dts-v1/;
4311 @@ -59,3 +23,83 @@
4312 stdout-path = "serial1:115200n8";
4313 };
4314 };
4315 +
4316 +&emdio1 {
4317 + status = "disabled";
4318 + /* CS4340 PHYs */
4319 + mdio1_phy1: emdio1_phy@1 {
4320 + reg = <0x10>;
4321 + phy-connection-type = "xfi";
4322 + };
4323 + mdio1_phy2: emdio1_phy@2 {
4324 + reg = <0x11>;
4325 + phy-connection-type = "xfi";
4326 + };
4327 + mdio1_phy3: emdio1_phy@3 {
4328 + reg = <0x12>;
4329 + phy-connection-type = "xfi";
4330 + };
4331 + mdio1_phy4: emdio1_phy@4 {
4332 + reg = <0x13>;
4333 + phy-connection-type = "xfi";
4334 + };
4335 +};
4336 +
4337 +&emdio2 {
4338 + /* AQR405 PHYs */
4339 + mdio2_phy1: emdio2_phy@1 {
4340 + compatible = "ethernet-phy-ieee802.3-c45";
4341 + interrupts = <0 1 0x4>; /* Level high type */
4342 + reg = <0x0>;
4343 + phy-connection-type = "xfi";
4344 + };
4345 + mdio2_phy2: emdio2_phy@2 {
4346 + compatible = "ethernet-phy-ieee802.3-c45";
4347 + interrupts = <0 2 0x4>; /* Level high type */
4348 + reg = <0x1>;
4349 + phy-connection-type = "xfi";
4350 + };
4351 + mdio2_phy3: emdio2_phy@3 {
4352 + compatible = "ethernet-phy-ieee802.3-c45";
4353 + interrupts = <0 4 0x4>; /* Level high type */
4354 + reg = <0x2>;
4355 + phy-connection-type = "xfi";
4356 + };
4357 + mdio2_phy4: emdio2_phy@4 {
4358 + compatible = "ethernet-phy-ieee802.3-c45";
4359 + interrupts = <0 5 0x4>; /* Level high type */
4360 + reg = <0x3>;
4361 + phy-connection-type = "xfi";
4362 + };
4363 +};
4364 +
4365 +/* Update DPMAC connections to external PHYs, under the assumption of
4366 + * SerDes 0x2a_0x41. This is currently the only SerDes supported on the board.
4367 + */
4368 +/* Leave Cortina nodes commented out until driver is integrated
4369 + *&dpmac1 {
4370 + * phy-handle = <&mdio1_phy1>;
4371 + *};
4372 + *&dpmac2 {
4373 + * phy-handle = <&mdio1_phy2>;
4374 + *};
4375 + *&dpmac3 {
4376 + * phy-handle = <&mdio1_phy3>;
4377 + *};
4378 + *&dpmac4 {
4379 + * phy-handle = <&mdio1_phy4>;
4380 + *};
4381 + */
4382 +
4383 +&dpmac5 {
4384 + phy-handle = <&mdio2_phy1>;
4385 +};
4386 +&dpmac6 {
4387 + phy-handle = <&mdio2_phy2>;
4388 +};
4389 +&dpmac7 {
4390 + phy-handle = <&mdio2_phy3>;
4391 +};
4392 +&dpmac8 {
4393 + phy-handle = <&mdio2_phy4>;
4394 +};
4395 --- a/arch/arm64/boot/dts/freescale/fsl-ls2080a-simu.dts
4396 +++ b/arch/arm64/boot/dts/freescale/fsl-ls2080a-simu.dts
4397 @@ -1,3 +1,4 @@
4398 +// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
4399 /*
4400 * Device Tree file for Freescale LS2080a software Simulator model
4401 *
4402 @@ -5,43 +6,6 @@
4403 *
4404 * Bhupesh Sharma <bhupesh.sharma@freescale.com>
4405 *
4406 - * This file is dual-licensed: you can use it either under the terms
4407 - * of the GPL or the X11 license, at your option. Note that this dual
4408 - * licensing only applies to this file, and not this project as a
4409 - * whole.
4410 - *
4411 - * a) This library is free software; you can redistribute it and/or
4412 - * modify it under the terms of the GNU General Public License as
4413 - * published by the Free Software Foundation; either version 2 of the
4414 - * License, or (at your option) any later version.
4415 - *
4416 - * This library is distributed in the hope that it will be useful,
4417 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
4418 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
4419 - * GNU General Public License for more details.
4420 - *
4421 - * Or, alternatively,
4422 - *
4423 - * b) Permission is hereby granted, free of charge, to any person
4424 - * obtaining a copy of this software and associated documentation
4425 - * files (the "Software"), to deal in the Software without
4426 - * restriction, including without limitation the rights to use,
4427 - * copy, modify, merge, publish, distribute, sublicense, and/or
4428 - * sell copies of the Software, and to permit persons to whom the
4429 - * Software is furnished to do so, subject to the following
4430 - * conditions:
4431 - *
4432 - * The above copyright notice and this permission notice shall be
4433 - * included in all copies or substantial portions of the Software.
4434 - *
4435 - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
4436 - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
4437 - * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
4438 - * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
4439 - * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
4440 - * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
4441 - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
4442 - * OTHER DEALINGS IN THE SOFTWARE.
4443 */
4444
4445 /dts-v1/;
4446 --- a/arch/arm64/boot/dts/freescale/fsl-ls2080a.dtsi
4447 +++ b/arch/arm64/boot/dts/freescale/fsl-ls2080a.dtsi
4448 @@ -1,3 +1,4 @@
4449 +// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
4450 /*
4451 * Device Tree Include file for Freescale Layerscape-2080A family SoC.
4452 *
4453 @@ -6,43 +7,6 @@
4454 * Abhimanyu Saini <abhimanyu.saini@nxp.com>
4455 * Bhupesh Sharma <bhupesh.sharma@freescale.com>
4456 *
4457 - * This file is dual-licensed: you can use it either under the terms
4458 - * of the GPLv2 or the X11 license, at your option. Note that this dual
4459 - * licensing only applies to this file, and not this project as a
4460 - * whole.
4461 - *
4462 - * a) This library is free software; you can redistribute it and/or
4463 - * modify it under the terms of the GNU General Public License as
4464 - * published by the Free Software Foundation; either version 2 of the
4465 - * License, or (at your option) any later version.
4466 - *
4467 - * This library is distributed in the hope that it will be useful,
4468 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
4469 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
4470 - * GNU General Public License for more details.
4471 - *
4472 - * Or, alternatively,
4473 - *
4474 - * b) Permission is hereby granted, free of charge, to any person
4475 - * obtaining a copy of this software and associated documentation
4476 - * files (the "Software"), to deal in the Software without
4477 - * restriction, including without limitation the rights to use,
4478 - * copy, modify, merge, publish, distribute, sublicense, and/or
4479 - * sell copies of the Software, and to permit persons to whom the
4480 - * Software is furnished to do so, subject to the following
4481 - * conditions:
4482 - *
4483 - * The above copyright notice and this permission notice shall be
4484 - * included in all copies or substantial portions of the Software.
4485 - *
4486 - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
4487 - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
4488 - * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
4489 - * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
4490 - * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
4491 - * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
4492 - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
4493 - * OTHER DEALINGS IN THE SOFTWARE.
4494 */
4495
4496 #include "fsl-ls208xa.dtsi"
4497 @@ -150,6 +114,10 @@
4498 };
4499 };
4500
4501 +&timer {
4502 + fsl,erratum-a008585;
4503 +};
4504 +
4505 &pcie1 {
4506 reg = <0x00 0x03400000 0x0 0x00100000 /* controller registers */
4507 0x10 0x00000000 0x0 0x00002000>; /* configuration space */
4508 --- /dev/null
4509 +++ b/arch/arm64/boot/dts/freescale/fsl-ls2081a-rdb.dts
4510 @@ -0,0 +1,163 @@
4511 +/*
4512 + * Device Tree file for NXP LS2081A RDB Board.
4513 + *
4514 + * Copyright 2017 NXP
4515 + *
4516 + * Priyanka Jain <priyanka.jain@nxp.com>
4517 + *
4518 + * This file is dual-licensed: you can use it either under the terms
4519 + * of the GPLv2 or the X11 license, at your option. Note that this dual
4520 + * licensing only applies to this file, and not this project as a
4521 + * whole.
4522 + *
4523 + * a) This library is free software; you can redistribute it and/or
4524 + * modify it under the terms of the GNU General Public License as
4525 + * published by the Free Software Foundation; either version 2 of the
4526 + * License, or (at your option) any later version.
4527 + *
4528 + * This library is distributed in the hope that it will be useful,
4529 + * but WITHOUT ANY WARRANTY; without even the implied warranty of
4530 + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
4531 + * GNU General Public License for more details.
4532 + *
4533 + * Or, alternatively,
4534 + *
4535 + * b) Permission is hereby granted, free of charge, to any person
4536 + * obtaining a copy of this software and associated documentation
4537 + * files (the "Software"), to deal in the Software without
4538 + * restriction, including without limitation the rights to use,
4539 + * copy, modify, merge, publish, distribute, sublicense, and/or
4540 + * sell copies of the Software, and to permit persons to whom the
4541 + * Software is furnished to do so, subject to the following
4542 + * conditions:
4543 + *
4544 + * The above copyright notice and this permission notice shall be
4545 + * included in all copies or substantial portions of the Software.
4546 + *
4547 + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
4548 + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
4549 + * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
4550 + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
4551 + * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
4552 + * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
4553 + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
4554 + * OTHER DEALINGS IN THE SOFTWARE.
4555 + */
4556 +
4557 +/dts-v1/;
4558 +
4559 +#include "fsl-ls2088a.dtsi"
4560 +
4561 +/ {
4562 + model = "NXP Layerscape 2081A RDB Board";
4563 + compatible = "fsl,ls2081a-rdb", "fsl,ls2081a";
4564 +
4565 + aliases {
4566 + serial0 = &serial0;
4567 + serial1 = &serial1;
4568 + };
4569 +
4570 + chosen {
4571 + stdout-path = "serial1:115200n8";
4572 + };
4573 +};
4574 +
4575 +&esdhc {
4576 + status = "okay";
4577 +};
4578 +
4579 +&ifc {
4580 + status = "disabled";
4581 +};
4582 +
4583 +&i2c0 {
4584 + status = "okay";
4585 + pca9547@75 {
4586 + compatible = "nxp,pca9547";
4587 + reg = <0x75>;
4588 + #address-cells = <1>;
4589 + #size-cells = <0>;
4590 + i2c@1 {
4591 + #address-cells = <1>;
4592 + #size-cells = <0>;
4593 + reg = <0x01>;
4594 + rtc@51 {
4595 + compatible = "nxp,pcf2129";
4596 + reg = <0x51>;
4597 + };
4598 + };
4599 +
4600 + i2c@2 {
4601 + #address-cells = <1>;
4602 + #size-cells = <0>;
4603 + reg = <0x02>;
4604 +
4605 + ina220@40 {
4606 + compatible = "ti,ina220";
4607 + reg = <0x40>;
4608 + shunt-resistor = <500>;
4609 + };
4610 + };
4611 +
4612 + i2c@3 {
4613 + #address-cells = <1>;
4614 + #size-cells = <0>;
4615 + reg = <0x3>;
4616 +
4617 + adt7481@4c {
4618 + compatible = "adi,adt7461";
4619 + reg = <0x4c>;
4620 + };
4621 + };
4622 + };
4623 +};
4624 +
4625 +&dspi {
4626 + status = "okay";
4627 + dflash0: n25q512a {
4628 + #address-cells = <1>;
4629 + #size-cells = <1>;
4630 + compatible = "st,m25p80";
4631 + spi-max-frequency = <3000000>;
4632 + reg = <0>;
4633 + };
4634 +};
4635 +
4636 +&qspi {
4637 + status = "okay";
4638 + fsl,qspi-has-second-chip;
4639 + flash0: s25fs512s@0 {
4640 + #address-cells = <1>;
4641 + #size-cells = <1>;
4642 + compatible = "spansion,m25p80";
4643 + spi-rx-bus-width = <4>;
4644 + spi-tx-bus-width = <4>;
4645 + spi-max-frequency = <20000000>;
4646 + reg = <0>;
4647 + };
4648 + flash1: s25fs512s@1 {
4649 + #address-cells = <1>;
4650 + #size-cells = <1>;
4651 + spi-rx-bus-width = <4>;
4652 + spi-tx-bus-width = <4>;
4653 + compatible = "spansion,m25p80";
4654 + spi-max-frequency = <20000000>;
4655 + reg = <1>;
4656 + };
4657 +};
4658 +
4659 +&sata0 {
4660 + status = "okay";
4661 +};
4662 +
4663 +&sata1 {
4664 + status = "okay";
4665 +};
4666 +
4667 +&usb0 {
4668 + status = "okay";
4669 +};
4670 +
4671 +&usb1 {
4672 + status = "okay";
4673 +};
4674 --- a/arch/arm64/boot/dts/freescale/fsl-ls2088a-qds.dts
4675 +++ b/arch/arm64/boot/dts/freescale/fsl-ls2088a-qds.dts
4676 @@ -1,3 +1,4 @@
4677 +// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
4678 /*
4679 * Device Tree file for Freescale LS2088A QDS Board.
4680 *
4681 @@ -6,43 +7,6 @@
4682 *
4683 * Abhimanyu Saini <abhimanyu.saini@nxp.com>
4684 *
4685 - * This file is dual-licensed: you can use it either under the terms
4686 - * of the GPLv2 or the X11 license, at your option. Note that this dual
4687 - * licensing only applies to this file, and not this project as a
4688 - * whole.
4689 - *
4690 - * a) This library is free software; you can redistribute it and/or
4691 - * modify it under the terms of the GNU General Public License as
4692 - * published by the Free Software Foundation; either version 2 of the
4693 - * License, or (at your option) any later version.
4694 - *
4695 - * This library is distributed in the hope that it will be useful,
4696 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
4697 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
4698 - * GNU General Public License for more details.
4699 - *
4700 - * Or, alternatively,
4701 - *
4702 - * b) Permission is hereby granted, free of charge, to any person
4703 - * obtaining a copy of this software and associated documentation
4704 - * files (the "Software"), to deal in the Software without
4705 - * restriction, including without limitation the rights to use,
4706 - * copy, modify, merge, publish, distribute, sublicense, and/or
4707 - * sell copies of the Software, and to permit persons to whom the
4708 - * Software is furnished to do so, subject to the following
4709 - * conditions:
4710 - *
4711 - * The above copyright notice and this permission notice shall be
4712 - * included in all copies or substantial portions of the Software.
4713 - *
4714 - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
4715 - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
4716 - * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
4717 - * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
4718 - * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
4719 - * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
4720 - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
4721 - * OTHER DEALINGS IN THE SOFTWARE.
4722 */
4723
4724 /dts-v1/;
4725 @@ -58,3 +22,123 @@
4726 stdout-path = "serial0:115200n8";
4727 };
4728 };
4729 +
4730 +&ifc {
4731 + boardctrl: board-control@3,0 {
4732 + #address-cells = <1>;
4733 + #size-cells = <1>;
4734 + compatible = "fsl,tetra-fpga", "fsl,fpga-qixis", "simple-bus";
4735 + reg = <3 0 0x300>; /* TODO check address */
4736 + ranges = <0 3 0 0x300>;
4737 +
4738 + mdio_mux_emi1 {
4739 + compatible = "mdio-mux-mmioreg", "mdio-mux";
4740 + mdio-parent-bus = <&emdio1>;
4741 + reg = <0x54 1>; /* BRDCFG4 */
4742 + mux-mask = <0xe0>; /* EMI1_MDIO */
4743 +
4744 + #address-cells=<1>;
4745 + #size-cells = <0>;
4746 +
4747 + /* Child MDIO buses, one for each riser card:
4748 + * reg = 0x0, 0x20, 0x40, 0x60, 0x80, 0xa0.
4749 + * VSC8234 PHYs on the riser cards.
4750 + */
4751 +
4752 + mdio_mux3: mdio@60 {
4753 + reg = <0x60>;
4754 + #address-cells = <1>;
4755 + #size-cells = <0>;
4756 +
4757 + mdio0_phy12: mdio_phy0@1c {
4758 + reg = <0x1c>;
4759 + phy-connection-type = "sgmii";
4760 + };
4761 + mdio0_phy13: mdio_phy1@1d {
4762 + reg = <0x1d>;
4763 + phy-connection-type = "sgmii";
4764 + };
4765 + mdio0_phy14: mdio_phy2@1e {
4766 + reg = <0x1e>;
4767 + phy-connection-type = "sgmii";
4768 + };
4769 + mdio0_phy15: mdio_phy3@1f {
4770 + reg = <0x1f>;
4771 + phy-connection-type = "sgmii";
4772 + };
4773 + };
4774 + };
4775 + };
4776 +};
4777 +
4778 +&pcs_mdio1 {
4779 + pcs_phy1: ethernet-phy@0 {
4780 + backplane-mode = "10gbase-kr";
4781 + compatible = "ethernet-phy-ieee802.3-c45";
4782 + reg = <0x0>;
4783 + fsl,lane-handle = <&serdes1>;
4784 + fsl,lane-reg = <0x9C0 0x40>;/* lane H */
4785 + };
4786 +};
4787 +
4788 +&pcs_mdio2 {
4789 + pcs_phy2: ethernet-phy@0 {
4790 + backplane-mode = "10gbase-kr";
4791 + compatible = "ethernet-phy-ieee802.3-c45";
4792 + reg = <0x0>;
4793 + fsl,lane-handle = <&serdes1>;
4794 + fsl,lane-reg = <0x980 0x40>;/* lane G */
4795 + };
4796 +};
4797 +
4798 +&pcs_mdio3 {
4799 + pcs_phy3: ethernet-phy@0 {
4800 + backplane-mode = "10gbase-kr";
4801 + compatible = "ethernet-phy-ieee802.3-c45";
4802 + reg = <0x0>;
4803 + fsl,lane-handle = <&serdes1>;
4804 + fsl,lane-reg = <0x940 0x40>;/* lane F */
4805 + };
4806 +};
4807 +
4808 +&pcs_mdio4 {
4809 + pcs_phy4: ethernet-phy@0 {
4810 + backplane-mode = "10gbase-kr";
4811 + compatible = "ethernet-phy-ieee802.3-c45";
4812 + reg = <0x0>;
4813 + fsl,lane-handle = <&serdes1>;
4814 + fsl,lane-reg = <0x900 0x40>;/* lane E */
4815 + };
4816 +};
4817 +
4818 +/* Update DPMAC connections to backplane PHYs, under SerDes 0x2a_0xXX.
4819 + * &dpmac1 {
4820 + * phy-handle = <&pcs_phy1>;
4821 + * };
4822 + *
4823 + * &dpmac2 {
4824 + * phy-handle = <&pcs_phy2>;
4825 + * };
4826 + *
4827 + * &dpmac3 {
4828 + * phy-handle = <&pcs_phy3>;
4829 + * };
4830 + *
4831 + * &dpmac4 {
4832 + * phy-handle = <&pcs_phy4>;
4833 + * };
4834 + */
4835 +
4836 +/* Update DPMAC connections to external PHYs, under SerDes 0x2a_0x49. */
4837 +&dpmac9 {
4838 + phy-handle = <&mdio0_phy12>;
4839 +};
4840 +&dpmac10 {
4841 + phy-handle = <&mdio0_phy13>;
4842 +};
4843 +&dpmac11 {
4844 + phy-handle = <&mdio0_phy14>;
4845 +};
4846 +&dpmac12 {
4847 + phy-handle = <&mdio0_phy15>;
4848 +};
4849 --- a/arch/arm64/boot/dts/freescale/fsl-ls2088a-rdb.dts
4850 +++ b/arch/arm64/boot/dts/freescale/fsl-ls2088a-rdb.dts
4851 @@ -1,3 +1,4 @@
4852 +// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
4853 /*
4854 * Device Tree file for Freescale LS2088A RDB Board.
4855 *
4856 @@ -6,43 +7,6 @@
4857 *
4858 * Abhimanyu Saini <abhimanyu.saini@nxp.com>
4859 *
4860 - * This file is dual-licensed: you can use it either under the terms
4861 - * of the GPLv2 or the X11 license, at your option. Note that this dual
4862 - * licensing only applies to this file, and not this project as a
4863 - * whole.
4864 - *
4865 - * a) This library is free software; you can redistribute it and/or
4866 - * modify it under the terms of the GNU General Public License as
4867 - * published by the Free Software Foundation; either version 2 of the
4868 - * License, or (at your option) any later version.
4869 - *
4870 - * This library is distributed in the hope that it will be useful,
4871 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
4872 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
4873 - * GNU General Public License for more details.
4874 - *
4875 - * Or, alternatively,
4876 - *
4877 - * b) Permission is hereby granted, free of charge, to any person
4878 - * obtaining a copy of this software and associated documentation
4879 - * files (the "Software"), to deal in the Software without
4880 - * restriction, including without limitation the rights to use,
4881 - * copy, modify, merge, publish, distribute, sublicense, and/or
4882 - * sell copies of the Software, and to permit persons to whom the
4883 - * Software is furnished to do so, subject to the following
4884 - * conditions:
4885 - *
4886 - * The above copyright notice and this permission notice shall be
4887 - * included in all copies or substantial portions of the Software.
4888 - *
4889 - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
4890 - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
4891 - * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
4892 - * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
4893 - * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
4894 - * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
4895 - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
4896 - * OTHER DEALINGS IN THE SOFTWARE.
4897 */
4898
4899 /dts-v1/;
4900 @@ -58,3 +22,83 @@
4901 stdout-path = "serial1:115200n8";
4902 };
4903 };
4904 +
4905 +&emdio1 {
4906 + status = "disabled";
4907 + /* CS4340 PHYs */
4908 + mdio1_phy1: emdio1_phy@1 {
4909 + reg = <0x10>;
4910 + phy-connection-type = "xfi";
4911 + };
4912 + mdio1_phy2: emdio1_phy@2 {
4913 + reg = <0x11>;
4914 + phy-connection-type = "xfi";
4915 + };
4916 + mdio1_phy3: emdio1_phy@3 {
4917 + reg = <0x12>;
4918 + phy-connection-type = "xfi";
4919 + };
4920 + mdio1_phy4: emdio1_phy@4 {
4921 + reg = <0x13>;
4922 + phy-connection-type = "xfi";
4923 + };
4924 +};
4925 +
4926 +&emdio2 {
4927 + /* AQR405 PHYs */
4928 + mdio2_phy1: emdio2_phy@1 {
4929 + compatible = "ethernet-phy-ieee802.3-c45";
4930 + interrupts = <0 1 0x4>; /* Level high type */
4931 + reg = <0x0>;
4932 + phy-connection-type = "xfi";
4933 + };
4934 + mdio2_phy2: emdio2_phy@2 {
4935 + compatible = "ethernet-phy-ieee802.3-c45";
4936 + interrupts = <0 2 0x4>; /* Level high type */
4937 + reg = <0x1>;
4938 + phy-connection-type = "xfi";
4939 + };
4940 + mdio2_phy3: emdio2_phy@3 {
4941 + compatible = "ethernet-phy-ieee802.3-c45";
4942 + interrupts = <0 4 0x4>; /* Level high type */
4943 + reg = <0x2>;
4944 + phy-connection-type = "xfi";
4945 + };
4946 + mdio2_phy4: emdio2_phy@4 {
4947 + compatible = "ethernet-phy-ieee802.3-c45";
4948 + interrupts = <0 5 0x4>; /* Level high type */
4949 + reg = <0x3>;
4950 + phy-connection-type = "xfi";
4951 + };
4952 +};
4953 +
4954 +/* Update DPMAC connections to external PHYs, under the assumption of
4955 + * SerDes 0x2a_0x41. This is currently the only SerDes supported on the board.
4956 + */
4957 +/* Leave Cortina PHYs commented out until proper driver is integrated
4958 + *&dpmac1 {
4959 + * phy-handle = <&mdio1_phy1>;
4960 + *};
4961 + *&dpmac2 {
4962 + * phy-handle = <&mdio1_phy2>;
4963 + *};
4964 + *&dpmac3 {
4965 + * phy-handle = <&mdio1_phy3>;
4966 + *};
4967 + *&dpmac4 {
4968 + * phy-handle = <&mdio1_phy4>;
4969 + *};
4970 + */
4971 +
4972 +&dpmac5 {
4973 + phy-handle = <&mdio2_phy1>;
4974 +};
4975 +&dpmac6 {
4976 + phy-handle = <&mdio2_phy2>;
4977 +};
4978 +&dpmac7 {
4979 + phy-handle = <&mdio2_phy3>;
4980 +};
4981 +&dpmac8 {
4982 + phy-handle = <&mdio2_phy4>;
4983 +};
4984 --- a/arch/arm64/boot/dts/freescale/fsl-ls2088a.dtsi
4985 +++ b/arch/arm64/boot/dts/freescale/fsl-ls2088a.dtsi
4986 @@ -1,3 +1,4 @@
4987 +// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
4988 /*
4989 * Device Tree Include file for Freescale Layerscape-2088A family SoC.
4990 *
4991 @@ -6,43 +7,6 @@
4992 *
4993 * Abhimanyu Saini <abhimanyu.saini@nxp.com>
4994 *
4995 - * This file is dual-licensed: you can use it either under the terms
4996 - * of the GPLv2 or the X11 license, at your option. Note that this dual
4997 - * licensing only applies to this file, and not this project as a
4998 - * whole.
4999 - *
5000 - * a) This library is free software; you can redistribute it and/or
5001 - * modify it under the terms of the GNU General Public License as
5002 - * published by the Free Software Foundation; either version 2 of the
5003 - * License, or (at your option) any later version.
5004 - *
5005 - * This library is distributed in the hope that it will be useful,
5006 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
5007 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
5008 - * GNU General Public License for more details.
5009 - *
5010 - * Or, alternatively,
5011 - *
5012 - * b) Permission is hereby granted, free of charge, to any person
5013 - * obtaining a copy of this software and associated documentation
5014 - * files (the "Software"), to deal in the Software without
5015 - * restriction, including without limitation the rights to use,
5016 - * copy, modify, merge, publish, distribute, sublicense, and/or
5017 - * sell copies of the Software, and to permit persons to whom the
5018 - * Software is furnished to do so, subject to the following
5019 - * conditions:
5020 - *
5021 - * The above copyright notice and this permission notice shall be
5022 - * included in all copies or substantial portions of the Software.
5023 - *
5024 - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
5025 - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
5026 - * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
5027 - * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
5028 - * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
5029 - * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
5030 - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
5031 - * OTHER DEALINGS IN THE SOFTWARE.
5032 */
5033
5034 #include "fsl-ls208xa.dtsi"
5035 @@ -143,7 +107,7 @@
5036 CPU_PW20: cpu-pw20 {
5037 compatible = "arm,idle-state";
5038 idle-state-name = "PW20";
5039 - arm,psci-suspend-param = <0x00010000>;
5040 + arm,psci-suspend-param = <0x0>;
5041 entry-latency-us = <2000>;
5042 exit-latency-us = <2000>;
5043 min-residency-us = <6000>;
5044 @@ -151,6 +115,7 @@
5045 };
5046
5047 &pcie1 {
5048 + compatible = "fsl,ls2088a-pcie", "snps,dw-pcie";
5049 reg = <0x00 0x03400000 0x0 0x00100000 /* controller registers */
5050 0x20 0x00000000 0x0 0x00002000>; /* configuration space */
5051
5052 @@ -159,6 +124,7 @@
5053 };
5054
5055 &pcie2 {
5056 + compatible = "fsl,ls2088a-pcie", "snps,dw-pcie";
5057 reg = <0x00 0x03500000 0x0 0x00100000 /* controller registers */
5058 0x28 0x00000000 0x0 0x00002000>; /* configuration space */
5059
5060 @@ -167,6 +133,7 @@
5061 };
5062
5063 &pcie3 {
5064 + compatible = "fsl,ls2088a-pcie", "snps,dw-pcie";
5065 reg = <0x00 0x03600000 0x0 0x00100000 /* controller registers */
5066 0x30 0x00000000 0x0 0x00002000>; /* configuration space */
5067
5068 @@ -175,6 +142,7 @@
5069 };
5070
5071 &pcie4 {
5072 + compatible = "fsl,ls2088a-pcie", "snps,dw-pcie";
5073 reg = <0x00 0x03700000 0x0 0x00100000 /* controller registers */
5074 0x38 0x00000000 0x0 0x00002000>; /* configuration space */
5075
5076 --- a/arch/arm64/boot/dts/freescale/fsl-ls208xa-qds.dtsi
5077 +++ b/arch/arm64/boot/dts/freescale/fsl-ls208xa-qds.dtsi
5078 @@ -1,3 +1,4 @@
5079 +// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
5080 /*
5081 * Device Tree file for Freescale LS2080A QDS Board.
5082 *
5083 @@ -6,43 +7,6 @@
5084 *
5085 * Abhimanyu Saini <abhimanyu.saini@nxp.com>
5086 *
5087 - * This file is dual-licensed: you can use it either under the terms
5088 - * of the GPLv2 or the X11 license, at your option. Note that this dual
5089 - * licensing only applies to this file, and not this project as a
5090 - * whole.
5091 - *
5092 - * a) This library is free software; you can redistribute it and/or
5093 - * modify it under the terms of the GNU General Public License as
5094 - * published by the Free Software Foundation; either version 2 of the
5095 - * License, or (at your option) any later version.
5096 - *
5097 - * This library is distributed in the hope that it will be useful,
5098 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
5099 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
5100 - * GNU General Public License for more details.
5101 - *
5102 - * Or, alternatively,
5103 - *
5104 - * b) Permission is hereby granted, free of charge, to any person
5105 - * obtaining a copy of this software and associated documentation
5106 - * files (the "Software"), to deal in the Software without
5107 - * restriction, including without limitation the rights to use,
5108 - * copy, modify, merge, publish, distribute, sublicense, and/or
5109 - * sell copies of the Software, and to permit persons to whom the
5110 - * Software is furnished to do so, subject to the following
5111 - * conditions:
5112 - *
5113 - * The above copyright notice and this permission notice shall be
5114 - * included in all copies or substantial portions of the Software.
5115 - *
5116 - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
5117 - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
5118 - * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
5119 - * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
5120 - * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
5121 - * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
5122 - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
5123 - * OTHER DEALINGS IN THE SOFTWARE.
5124 */
5125
5126 &esdhc {
5127 @@ -165,16 +129,21 @@
5128
5129 &qspi {
5130 status = "okay";
5131 + fsl,qspi-has-second-chip;
5132 flash0: s25fl256s1@0 {
5133 #address-cells = <1>;
5134 #size-cells = <1>;
5135 compatible = "st,m25p80";
5136 + spi-rx-bus-width = <4>;
5137 + spi-tx-bus-width = <4>;
5138 spi-max-frequency = <20000000>;
5139 reg = <0>;
5140 };
5141 flash2: s25fl256s1@2 {
5142 #address-cells = <1>;
5143 #size-cells = <1>;
5144 + spi-rx-bus-width = <4>;
5145 + spi-tx-bus-width = <4>;
5146 compatible = "st,m25p80";
5147 spi-max-frequency = <20000000>;
5148 reg = <0>;
5149 --- a/arch/arm64/boot/dts/freescale/fsl-ls208xa-rdb.dtsi
5150 +++ b/arch/arm64/boot/dts/freescale/fsl-ls208xa-rdb.dtsi
5151 @@ -1,3 +1,4 @@
5152 +// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
5153 /*
5154 * Device Tree file for Freescale LS2080A RDB Board.
5155 *
5156 @@ -6,43 +7,6 @@
5157 *
5158 * Abhimanyu Saini <abhimanyu.saini@nxp.com>
5159 *
5160 - * This file is dual-licensed: you can use it either under the terms
5161 - * of the GPLv2 or the X11 license, at your option. Note that this dual
5162 - * licensing only applies to this file, and not this project as a
5163 - * whole.
5164 - *
5165 - * a) This library is free software; you can redistribute it and/or
5166 - * modify it under the terms of the GNU General Public License as
5167 - * published by the Free Software Foundation; either version 2 of the
5168 - * License, or (at your option) any later version.
5169 - *
5170 - * This library is distributed in the hope that it will be useful,
5171 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
5172 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
5173 - * GNU General Public License for more details.
5174 - *
5175 - * Or, alternatively,
5176 - *
5177 - * b) Permission is hereby granted, free of charge, to any person
5178 - * obtaining a copy of this software and associated documentation
5179 - * files (the "Software"), to deal in the Software without
5180 - * restriction, including without limitation the rights to use,
5181 - * copy, modify, merge, publish, distribute, sublicense, and/or
5182 - * sell copies of the Software, and to permit persons to whom the
5183 - * Software is furnished to do so, subject to the following
5184 - * conditions:
5185 - *
5186 - * The above copyright notice and this permission notice shall be
5187 - * included in all copies or substantial portions of the Software.
5188 - *
5189 - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
5190 - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
5191 - * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
5192 - * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
5193 - * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
5194 - * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
5195 - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
5196 - * OTHER DEALINGS IN THE SOFTWARE.
5197 */
5198
5199 &esdhc {
5200 @@ -85,6 +49,7 @@
5201 reg = <0x75>;
5202 #address-cells = <1>;
5203 #size-cells = <0>;
5204 + i2c-mux-never-disable;
5205 i2c@1 {
5206 #address-cells = <1>;
5207 #size-cells = <0>;
5208 @@ -95,6 +60,17 @@
5209 };
5210 };
5211
5212 + i2c@2 {
5213 + #address-cells = <1>;
5214 + #size-cells = <0>;
5215 + reg = <0x02>;
5216 + ina220@40 {
5217 + compatible = "ti,ina220";
5218 + reg = <0x40>;
5219 + shunt-resistor = <500>;
5220 + };
5221 + };
5222 +
5223 i2c@3 {
5224 #address-cells = <1>;
5225 #size-cells = <0>;
5226 @@ -132,7 +108,15 @@
5227 };
5228
5229 &qspi {
5230 - status = "disabled";
5231 + status = "okay";
5232 + flash0: s25fs512s@0 {
5233 + #address-cells = <1>;
5234 + #size-cells = <1>;
5235 + compatible = "spansion,m25p80";
5236 + m25p,fast-read;
5237 + spi-max-frequency = <20000000>;
5238 + reg = <0>;
5239 + };
5240 };
5241
5242 &sata0 {
5243 --- a/arch/arm64/boot/dts/freescale/fsl-ls208xa.dtsi
5244 +++ b/arch/arm64/boot/dts/freescale/fsl-ls208xa.dtsi
5245 @@ -1,3 +1,4 @@
5246 +// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
5247 /*
5248 * Device Tree Include file for Freescale Layerscape-2080A family SoC.
5249 *
5250 @@ -6,43 +7,6 @@
5251 *
5252 * Abhimanyu Saini <abhimanyu.saini@nxp.com>
5253 *
5254 - * This file is dual-licensed: you can use it either under the terms
5255 - * of the GPLv2 or the X11 license, at your option. Note that this dual
5256 - * licensing only applies to this file, and not this project as a
5257 - * whole.
5258 - *
5259 - * a) This library is free software; you can redistribute it and/or
5260 - * modify it under the terms of the GNU General Public License as
5261 - * published by the Free Software Foundation; either version 2 of the
5262 - * License, or (at your option) any later version.
5263 - *
5264 - * This library is distributed in the hope that it will be useful,
5265 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
5266 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
5267 - * GNU General Public License for more details.
5268 - *
5269 - * Or, alternatively,
5270 - *
5271 - * b) Permission is hereby granted, free of charge, to any person
5272 - * obtaining a copy of this software and associated documentation
5273 - * files (the "Software"), to deal in the Software without
5274 - * restriction, including without limitation the rights to use,
5275 - * copy, modify, merge, publish, distribute, sublicense, and/or
5276 - * sell copies of the Software, and to permit persons to whom the
5277 - * Software is furnished to do so, subject to the following
5278 - * conditions:
5279 - *
5280 - * The above copyright notice and this permission notice shall be
5281 - * included in all copies or substantial portions of the Software.
5282 - *
5283 - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
5284 - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
5285 - * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
5286 - * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
5287 - * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
5288 - * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
5289 - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
5290 - * OTHER DEALINGS IN THE SOFTWARE.
5291 */
5292
5293 #include <dt-bindings/thermal/thermal.h>
5294 @@ -111,13 +75,12 @@
5295 mask = <0x2>;
5296 };
5297
5298 - timer {
5299 + timer: timer {
5300 compatible = "arm,armv8-timer";
5301 interrupts = <1 13 4>, /* Physical Secure PPI, active-low */
5302 <1 14 4>, /* Physical Non-Secure PPI, active-low */
5303 <1 11 4>, /* Virtual PPI, active-low */
5304 <1 10 4>; /* Hypervisor PPI, active-low */
5305 - fsl,erratum-a008585;
5306 };
5307
5308 pmu {
5309 @@ -135,6 +98,7 @@
5310 #address-cells = <2>;
5311 #size-cells = <2>;
5312 ranges;
5313 + dma-ranges = <0x0 0x0 0x0 0x0 0x10000 0x00000000>;
5314
5315 clockgen: clocking@1300000 {
5316 compatible = "fsl,ls2080a-clockgen";
5317 @@ -357,6 +321,8 @@
5318 reg = <0x00000008 0x0c000000 0 0x40>, /* MC portal base */
5319 <0x00000000 0x08340000 0 0x40000>; /* MC control reg */
5320 msi-parent = <&its>;
5321 + iommu-map = <0 &smmu 0 0>; /* This is fixed-up by u-boot */
5322 + dma-coherent;
5323 #address-cells = <3>;
5324 #size-cells = <1>;
5325
5326 @@ -460,6 +426,8 @@
5327 compatible = "arm,mmu-500";
5328 reg = <0 0x5000000 0 0x800000>;
5329 #global-interrupts = <12>;
5330 + #iommu-cells = <1>;
5331 + stream-match-mask = <0x7C00>;
5332 interrupts = <0 13 4>, /* global secure fault */
5333 <0 14 4>, /* combined secure interrupt */
5334 <0 15 4>, /* global non-secure fault */
5335 @@ -502,7 +470,6 @@
5336 <0 204 4>, <0 205 4>,
5337 <0 206 4>, <0 207 4>,
5338 <0 208 4>, <0 209 4>;
5339 - mmu-masters = <&fsl_mc 0x300 0>;
5340 };
5341
5342 dspi: dspi@2100000 {
5343 @@ -574,15 +541,126 @@
5344 #interrupt-cells = <2>;
5345 };
5346
5347 + /* TODO: WRIOP (CCSR?) */
5348 + emdio1: mdio@0x8B96000 { /* WRIOP0: 0x8B8_0000,
5349 + * E-MDIO1: 0x1_6000
5350 + */
5351 + compatible = "fsl,fman-memac-mdio";
5352 + reg = <0x0 0x8B96000 0x0 0x1000>;
5353 + device_type = "mdio"; /* TODO: is this necessary? */
5354 + little-endian; /* force the driver in LE mode */
5355 +
5356 + /* Not necessary on the QDS, but needed on the RDB */
5357 + #address-cells = <1>;
5358 + #size-cells = <0>;
5359 + };
5360 +
5361 + emdio2: mdio@0x8B97000 { /* WRIOP0: 0x8B8_0000,
5362 + * E-MDIO2: 0x1_7000
5363 + */
5364 + compatible = "fsl,fman-memac-mdio";
5365 + reg = <0x0 0x8B97000 0x0 0x1000>;
5366 + device_type = "mdio"; /* TODO: is this necessary? */
5367 + little-endian; /* force the driver in LE mode */
5368 +
5369 + #address-cells = <1>;
5370 + #size-cells = <0>;
5371 + };
5372 +
5373 + pcs_mdio1: mdio@0x8c07000 {
5374 + compatible = "fsl,fman-memac-mdio";
5375 + reg = <0x0 0x8c07000 0x0 0x1000>;
5376 + device_type = "mdio";
5377 + little-endian;
5378 +
5379 + #address-cells = <1>;
5380 + #size-cells = <0>;
5381 + };
5382 +
5383 + pcs_mdio2: mdio@0x8c0b000 {
5384 + compatible = "fsl,fman-memac-mdio";
5385 + reg = <0x0 0x8c0b000 0x0 0x1000>;
5386 + device_type = "mdio";
5387 + little-endian;
5388 +
5389 + #address-cells = <1>;
5390 + #size-cells = <0>;
5391 + };
5392 +
5393 + pcs_mdio3: mdio@0x8c0f000 {
5394 + compatible = "fsl,fman-memac-mdio";
5395 + reg = <0x0 0x8c0f000 0x0 0x1000>;
5396 + device_type = "mdio";
5397 + little-endian;
5398 +
5399 + #address-cells = <1>;
5400 + #size-cells = <0>;
5401 + };
5402 +
5403 + pcs_mdio4: mdio@0x8c13000 {
5404 + compatible = "fsl,fman-memac-mdio";
5405 + reg = <0x0 0x8c13000 0x0 0x1000>;
5406 + device_type = "mdio";
5407 + little-endian;
5408 +
5409 + #address-cells = <1>;
5410 + #size-cells = <0>;
5411 + };
5412 +
5413 + pcs_mdio5: mdio@0x8c17000 {
5414 + status = "disabled";
5415 + compatible = "fsl,fman-memac-mdio";
5416 + reg = <0x0 0x8c17000 0x0 0x1000>;
5417 + device_type = "mdio";
5418 + little-endian;
5419 +
5420 + #address-cells = <1>;
5421 + #size-cells = <0>;
5422 + };
5423 +
5424 + pcs_mdio6: mdio@0x8c1b000 {
5425 + status = "disabled";
5426 + compatible = "fsl,fman-memac-mdio";
5427 + reg = <0x0 0x8c1b000 0x0 0x1000>;
5428 + device_type = "mdio";
5429 + little-endian;
5430 +
5431 + #address-cells = <1>;
5432 + #size-cells = <0>;
5433 + };
5434 +
5435 + pcs_mdio7: mdio@0x8c1f000 {
5436 + status = "disabled";
5437 + compatible = "fsl,fman-memac-mdio";
5438 + reg = <0x0 0x8c1f000 0x0 0x1000>;
5439 + device_type = "mdio";
5440 + little-endian;
5441 +
5442 + #address-cells = <1>;
5443 + #size-cells = <0>;
5444 + };
5445 +
5446 + pcs_mdio8: mdio@0x8c23000 {
5447 + status = "disabled";
5448 + compatible = "fsl,fman-memac-mdio";
5449 + reg = <0x0 0x8c23000 0x0 0x1000>;
5450 + device_type = "mdio";
5451 + little-endian;
5452 +
5453 + #address-cells = <1>;
5454 + #size-cells = <0>;
5455 + };
5456 +
5457 i2c0: i2c@2000000 {
5458 status = "disabled";
5459 - compatible = "fsl,vf610-i2c";
5460 + compatible = "fsl,vf610-i2c", "fsl,ls208xa-vf610-i2c";
5461 #address-cells = <1>;
5462 #size-cells = <0>;
5463 reg = <0x0 0x2000000 0x0 0x10000>;
5464 interrupts = <0 34 0x4>; /* Level high type */
5465 clock-names = "i2c";
5466 - clocks = <&clockgen 4 3>;
5467 + clocks = <&clockgen 4 1>;
5468 + fsl-scl-gpio = <&gpio3 10 0>;
5469 };
5470
5471 i2c1: i2c@2010000 {
5472 @@ -593,7 +671,7 @@
5473 reg = <0x0 0x2010000 0x0 0x10000>;
5474 interrupts = <0 34 0x4>; /* Level high type */
5475 clock-names = "i2c";
5476 - clocks = <&clockgen 4 3>;
5477 + clocks = <&clockgen 4 1>;
5478 };
5479
5480 i2c2: i2c@2020000 {
5481 @@ -604,7 +682,7 @@
5482 reg = <0x0 0x2020000 0x0 0x10000>;
5483 interrupts = <0 35 0x4>; /* Level high type */
5484 clock-names = "i2c";
5485 - clocks = <&clockgen 4 3>;
5486 + clocks = <&clockgen 4 1>;
5487 };
5488
5489 i2c3: i2c@2030000 {
5490 @@ -615,7 +693,7 @@
5491 reg = <0x0 0x2030000 0x0 0x10000>;
5492 interrupts = <0 35 0x4>; /* Level high type */
5493 clock-names = "i2c";
5494 - clocks = <&clockgen 4 3>;
5495 + clocks = <&clockgen 4 1>;
5496 };
5497
5498 ifc: ifc@2240000 {
5499 @@ -648,8 +726,8 @@
5500 compatible = "fsl,ls2080a-pcie", "fsl,ls2085a-pcie",
5501 "snps,dw-pcie";
5502 reg-names = "regs", "config";
5503 - interrupts = <0 108 0x4>; /* Level high type */
5504 - interrupt-names = "intr";
5505 + interrupts = <0 108 0x4>; /* aer interrupt */
5506 + interrupt-names = "aer";
5507 #address-cells = <3>;
5508 #size-cells = <2>;
5509 device_type = "pci";
5510 @@ -657,6 +735,7 @@
5511 num-lanes = <4>;
5512 bus-range = <0x0 0xff>;
5513 msi-parent = <&its>;
5514 + iommu-map = <0 &smmu 0 1>; /* This is fixed-up by u-boot */
5515 #interrupt-cells = <1>;
5516 interrupt-map-mask = <0 0 0 7>;
5517 interrupt-map = <0000 0 0 1 &gic 0 0 0 109 4>,
5518 @@ -669,8 +748,8 @@
5519 compatible = "fsl,ls2080a-pcie", "fsl,ls2085a-pcie",
5520 "snps,dw-pcie";
5521 reg-names = "regs", "config";
5522 - interrupts = <0 113 0x4>; /* Level high type */
5523 - interrupt-names = "intr";
5524 + interrupts = <0 113 0x4>; /* aer interrupt */
5525 + interrupt-names = "aer";
5526 #address-cells = <3>;
5527 #size-cells = <2>;
5528 device_type = "pci";
5529 @@ -678,6 +757,7 @@
5530 num-lanes = <4>;
5531 bus-range = <0x0 0xff>;
5532 msi-parent = <&its>;
5533 + iommu-map = <0 &smmu 0 1>; /* This is fixed-up by u-boot */
5534 #interrupt-cells = <1>;
5535 interrupt-map-mask = <0 0 0 7>;
5536 interrupt-map = <0000 0 0 1 &gic 0 0 0 114 4>,
5537 @@ -690,8 +770,8 @@
5538 compatible = "fsl,ls2080a-pcie", "fsl,ls2085a-pcie",
5539 "snps,dw-pcie";
5540 reg-names = "regs", "config";
5541 - interrupts = <0 118 0x4>; /* Level high type */
5542 - interrupt-names = "intr";
5543 + interrupts = <0 118 0x4>; /* aer interrupt */
5544 + interrupt-names = "aer";
5545 #address-cells = <3>;
5546 #size-cells = <2>;
5547 device_type = "pci";
5548 @@ -699,6 +779,7 @@
5549 num-lanes = <8>;
5550 bus-range = <0x0 0xff>;
5551 msi-parent = <&its>;
5552 + iommu-map = <0 &smmu 0 1>; /* This is fixed-up by u-boot */
5553 #interrupt-cells = <1>;
5554 interrupt-map-mask = <0 0 0 7>;
5555 interrupt-map = <0000 0 0 1 &gic 0 0 0 119 4>,
5556 @@ -711,8 +792,8 @@
5557 compatible = "fsl,ls2080a-pcie", "fsl,ls2085a-pcie",
5558 "snps,dw-pcie";
5559 reg-names = "regs", "config";
5560 - interrupts = <0 123 0x4>; /* Level high type */
5561 - interrupt-names = "intr";
5562 + interrupts = <0 123 0x4>; /* aer interrupt */
5563 + interrupt-names = "aer";
5564 #address-cells = <3>;
5565 #size-cells = <2>;
5566 device_type = "pci";
5567 @@ -720,6 +801,7 @@
5568 num-lanes = <4>;
5569 bus-range = <0x0 0xff>;
5570 msi-parent = <&its>;
5571 + iommu-map = <0 &smmu 0 1>; /* This is fixed-up by u-boot */
5572 #interrupt-cells = <1>;
5573 interrupt-map-mask = <0 0 0 7>;
5574 interrupt-map = <0000 0 0 1 &gic 0 0 0 124 4>,
5575 @@ -754,6 +836,7 @@
5576 dr_mode = "host";
5577 snps,quirk-frame-length-adjustment = <0x20>;
5578 snps,dis_rxdet_inp3_quirk;
5579 + snps,incr-burst-type-adjustment = <1>, <4>, <8>, <16>;
5580 };
5581
5582 usb1: usb3@3110000 {
5583 @@ -764,6 +847,12 @@
5584 dr_mode = "host";
5585 snps,quirk-frame-length-adjustment = <0x20>;
5586 snps,dis_rxdet_inp3_quirk;
5587 + snps,incr-burst-type-adjustment = <1>, <4>, <8>, <16>;
5588 + };
5589 +
5590 + serdes1: serdes@1ea0000 {
5591 + reg = <0x0 0x1ea0000 0 0x00002000>;
5592 + compatible = "fsl,serdes-10g";
5593 };
5594
5595 ccn@4000000 {
5596 @@ -771,6 +860,14 @@
5597 reg = <0x0 0x04000000 0x0 0x01000000>;
5598 interrupts = <0 12 4>;
5599 };
5600 +
5601 + ftm0: ftm0@2800000 {
5602 + compatible = "fsl,ls208xa-ftm-alarm";
5603 + reg = <0x0 0x2800000 0x0 0x10000>,
5604 + <0x0 0x1e34050 0x0 0x4>;
5605 + reg-names = "ftm", "pmctrl";
5606 + interrupts = <0 44 4>;
5607 + };
5608 };
5609
5610 ddr1: memory-controller@1080000 {
5611 @@ -786,4 +883,11 @@
5612 interrupts = <0 18 0x4>;
5613 little-endian;
5614 };
5615 +
5616 + firmware {
5617 + optee {
5618 + compatible = "linaro,optee-tz";
5619 + method = "smc";
5620 + };
5621 + };
5622 };
5623 --- /dev/null
5624 +++ b/arch/arm64/boot/dts/freescale/qoriq-bman-portals-sdk.dtsi
5625 @@ -0,0 +1,55 @@
5626 +/*
5627 + * QorIQ BMan SDK Portals device tree nodes
5628 + *
5629 + * Copyright 2011-2016 Freescale Semiconductor Inc.
5630 + * Copyright 2017 NXP
5631 + *
5632 + * SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)
5633 + */
5634 +
5635 +&bportals {
5636 + bman-portal@0 {
5637 + cell-index = <0>;
5638 + };
5639 +
5640 + bman-portal@10000 {
5641 + cell-index = <1>;
5642 + };
5643 +
5644 + bman-portal@20000 {
5645 + cell-index = <2>;
5646 + };
5647 +
5648 + bman-portal@30000 {
5649 + cell-index = <3>;
5650 + };
5651 +
5652 + bman-portal@40000 {
5653 + cell-index = <4>;
5654 + };
5655 +
5656 + bman-portal@50000 {
5657 + cell-index = <5>;
5658 + };
5659 +
5660 + bman-portal@60000 {
5661 + cell-index = <6>;
5662 + };
5663 +
5664 + bman-portal@70000 {
5665 + cell-index = <7>;
5666 + };
5667 +
5668 + bman-portal@80000 {
5669 + cell-index = <8>;
5670 + };
5671 +
5672 + bman-portal@90000 {
5673 + cell-index = <9>;
5674 + };
5675 +
5676 + bman-bpids@0 {
5677 + compatible = "fsl,bpid-range";
5678 + fsl,bpid-range = <32 32>;
5679 + };
5680 +};
5681 --- a/arch/arm64/boot/dts/freescale/qoriq-bman-portals.dtsi
5682 +++ b/arch/arm64/boot/dts/freescale/qoriq-bman-portals.dtsi
5683 @@ -1,9 +1,9 @@
5684 +// SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)
5685 /*
5686 * QorIQ BMan Portals device tree
5687 *
5688 * Copyright 2011-2016 Freescale Semiconductor Inc.
5689 *
5690 - * SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)
5691 */
5692
5693 &bportals {
5694 @@ -68,4 +68,10 @@
5695 reg = <0x80000 0x4000>, <0x4080000 0x4000>;
5696 interrupts = <GIC_SPI 189 IRQ_TYPE_LEVEL_HIGH>;
5697 };
5698 +
5699 + bman-portal@90000 {
5700 + compatible = "fsl,bman-portal";
5701 + reg = <0x90000 0x4000>, <0x4090000 0x4000>;
5702 + interrupts = <GIC_SPI 191 IRQ_TYPE_LEVEL_HIGH>;
5703 + };
5704 };
5705 --- /dev/null
5706 +++ b/arch/arm64/boot/dts/freescale/qoriq-dpaa-eth.dtsi
5707 @@ -0,0 +1,97 @@
5708 +/*
5709 + * QorIQ FMan v3 10g port #1 device tree stub [ controller @ offset 0x400000 ]
5710 + *
5711 + * Copyright 2012 - 2015 Freescale Semiconductor Inc.
5712 + *
5713 + * Redistribution and use in source and binary forms, with or without
5714 + * modification, are permitted provided that the following conditions are met:
5715 + * * Redistributions of source code must retain the above copyright
5716 + * notice, this list of conditions and the following disclaimer.
5717 + * * Redistributions in binary form must reproduce the above copyright
5718 + * notice, this list of conditions and the following disclaimer in the
5719 + * documentation and/or other materials provided with the distribution.
5720 + * * Neither the name of Freescale Semiconductor nor the
5721 + * names of its contributors may be used to endorse or promote products
5722 + * derived from this software without specific prior written permission.
5723 + *
5724 + *
5725 + * ALTERNATIVELY, this software may be distributed under the terms of the
5726 + * GNU General Public License ("GPL") as published by the Free Software
5727 + * Foundation, either version 2 of that License or (at your option) any
5728 + * later version.
5729 + *
5730 + * THIS SOFTWARE IS PROVIDED BY Freescale Semiconductor ``AS IS'' AND ANY
5731 + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
5732 + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
5733 + * DISCLAIMED. IN NO EVENT SHALL Freescale Semiconductor BE LIABLE FOR ANY
5734 + * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
5735 + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
5736 + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
5737 + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
5738 + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
5739 + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
5740 + */
5741 +
5742 +fsldpaa: fsl,dpaa {
5743 + compatible = "fsl,ls1043a-dpaa", "simple-bus", "fsl,dpaa";
5744 + ethernet@0 {
5745 + compatible = "fsl,dpa-ethernet";
5746 + fsl,fman-mac = <&enet0>;
5747 + dma-coherent;
5748 + };
5749 + ethernet@1 {
5750 + compatible = "fsl,dpa-ethernet";
5751 + fsl,fman-mac = <&enet1>;
5752 + dma-coherent;
5753 + };
5754 + ethernet@2 {
5755 + compatible = "fsl,dpa-ethernet";
5756 + fsl,fman-mac = <&enet2>;
5757 + dma-coherent;
5758 + };
5759 + ethernet@3 {
5760 + compatible = "fsl,dpa-ethernet";
5761 + fsl,fman-mac = <&enet3>;
5762 + dma-coherent;
5763 + };
5764 + ethernet@4 {
5765 + compatible = "fsl,dpa-ethernet";
5766 + fsl,fman-mac = <&enet4>;
5767 + dma-coherent;
5768 + };
5769 + ethernet@5 {
5770 + compatible = "fsl,dpa-ethernet";
5771 + fsl,fman-mac = <&enet5>;
5772 + dma-coherent;
5773 + };
5774 + ethernet@8 {
5775 + compatible = "fsl,dpa-ethernet";
5776 + fsl,fman-mac = <&enet6>;
5777 + dma-coherent;
5778 + };
5779 + ethernet@6 {
5780 + compatible = "fsl,im-ethernet";
5781 + fsl,fman-mac = <&enet2>;
5782 + dma-coherent;
5783 + fpmevt-sel = <0>;
5784 + };
5785 + ethernet@7 {
5786 + compatible = "fsl,im-ethernet";
5787 + fsl,fman-mac = <&enet3>;
5788 + dma-coherent;
5789 + fpmevt-sel = <1>;
5790 + };
5791 + ethernet@10 {
5792 + compatible = "fsl,im-ethernet";
5793 + fsl,fman-mac = <&enet4>;
5794 + dma-coherent;
5795 + fpmevt-sel = <2>;
5796 + };
5797 + ethernet@11 {
5798 + compatible = "fsl,im-ethernet";
5799 + fsl,fman-mac = <&enet5>;
5800 + dma-coherent;
5801 + fpmevt-sel = <3>;
5802 + };
5803 +};
5804 +
5805 --- a/arch/arm64/boot/dts/freescale/qoriq-fman3-0-10g-0.dtsi
5806 +++ b/arch/arm64/boot/dts/freescale/qoriq-fman3-0-10g-0.dtsi
5807 @@ -1,27 +1,28 @@
5808 +// SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)
5809 /*
5810 * QorIQ FMan v3 10g port #0 device tree
5811 *
5812 * Copyright 2012-2015 Freescale Semiconductor Inc.
5813 *
5814 - * SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)
5815 */
5816
5817 fman@1a00000 {
5818 fman0_rx_0x10: port@90000 {
5819 cell-index = <0x10>;
5820 - compatible = "fsl,fman-v3-port-rx";
5821 + compatible = "fsl,fman-v3-port-rx", "fsl,fman-port-10g-rx";
5822 reg = <0x90000 0x1000>;
5823 fsl,fman-10g-port;
5824 };
5825
5826 fman0_tx_0x30: port@b0000 {
5827 cell-index = <0x30>;
5828 - compatible = "fsl,fman-v3-port-tx";
5829 + compatible = "fsl,fman-v3-port-tx", "fsl,fman-port-10g-tx";
5830 reg = <0xb0000 0x1000>;
5831 fsl,fman-10g-port;
5832 + fsl,qman-channel-id = <0x800>;
5833 };
5834
5835 - ethernet@f0000 {
5836 + mac9: ethernet@f0000 {
5837 cell-index = <0x8>;
5838 compatible = "fsl,fman-memac";
5839 reg = <0xf0000 0x1000>;
5840 @@ -29,7 +30,7 @@ fman@1a00000 {
5841 pcsphy-handle = <&pcsphy6>;
5842 };
5843
5844 - mdio@f1000 {
5845 + mdio9: mdio@f1000 {
5846 #address-cells = <1>;
5847 #size-cells = <0>;
5848 compatible = "fsl,fman-memac-mdio", "fsl,fman-xmdio";
5849 --- a/arch/arm64/boot/dts/freescale/qoriq-fman3-0-10g-1.dtsi
5850 +++ b/arch/arm64/boot/dts/freescale/qoriq-fman3-0-10g-1.dtsi
5851 @@ -1,27 +1,28 @@
5852 +// SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)
5853 /*
5854 * QorIQ FMan v3 10g port #1 device tree
5855 *
5856 * Copyright 2012-2015 Freescale Semiconductor Inc.
5857 *
5858 - * SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)
5859 */
5860
5861 fman@1a00000 {
5862 fman0_rx_0x11: port@91000 {
5863 cell-index = <0x11>;
5864 - compatible = "fsl,fman-v3-port-rx";
5865 + compatible = "fsl,fman-v3-port-rx", "fsl,fman-port-10g-rx";
5866 reg = <0x91000 0x1000>;
5867 fsl,fman-10g-port;
5868 };
5869
5870 fman0_tx_0x31: port@b1000 {
5871 cell-index = <0x31>;
5872 - compatible = "fsl,fman-v3-port-tx";
5873 + compatible = "fsl,fman-v3-port-tx", "fsl,fman-port-10g-tx";
5874 reg = <0xb1000 0x1000>;
5875 fsl,fman-10g-port;
5876 + fsl,qman-channel-id = <0x801>;
5877 };
5878
5879 - ethernet@f2000 {
5880 + mac10: ethernet@f2000 {
5881 cell-index = <0x9>;
5882 compatible = "fsl,fman-memac";
5883 reg = <0xf2000 0x1000>;
5884 @@ -29,7 +30,7 @@ fman@1a00000 {
5885 pcsphy-handle = <&pcsphy7>;
5886 };
5887
5888 - mdio@f3000 {
5889 + mdio10: mdio@f3000 {
5890 #address-cells = <1>;
5891 #size-cells = <0>;
5892 compatible = "fsl,fman-memac-mdio", "fsl,fman-xmdio";
5893 --- a/arch/arm64/boot/dts/freescale/qoriq-fman3-0-1g-0.dtsi
5894 +++ b/arch/arm64/boot/dts/freescale/qoriq-fman3-0-1g-0.dtsi
5895 @@ -1,22 +1,23 @@
5896 +// SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)
5897 /*
5898 * QorIQ FMan v3 1g port #0 device tree
5899 *
5900 * Copyright 2012-2015 Freescale Semiconductor Inc.
5901 *
5902 - * SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)
5903 */
5904
5905 fman@1a00000 {
5906 fman0_rx_0x08: port@88000 {
5907 cell-index = <0x8>;
5908 - compatible = "fsl,fman-v3-port-rx";
5909 + compatible = "fsl,fman-v3-port-rx", "fsl,fman-port-1g-rx";
5910 reg = <0x88000 0x1000>;
5911 };
5912
5913 fman0_tx_0x28: port@a8000 {
5914 cell-index = <0x28>;
5915 - compatible = "fsl,fman-v3-port-tx";
5916 + compatible = "fsl,fman-v3-port-tx", "fsl,fman-port-1g-tx";
5917 reg = <0xa8000 0x1000>;
5918 + fsl,qman-channel-id = <0x802>;
5919 };
5920
5921 ethernet@e0000 {
5922 --- a/arch/arm64/boot/dts/freescale/qoriq-fman3-0-1g-1.dtsi
5923 +++ b/arch/arm64/boot/dts/freescale/qoriq-fman3-0-1g-1.dtsi
5924 @@ -1,22 +1,23 @@
5925 +// SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)
5926 /*
5927 * QorIQ FMan v3 1g port #1 device tree
5928 *
5929 * Copyright 2012-2015 Freescale Semiconductor Inc.
5930 *
5931 - * SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)
5932 */
5933
5934 fman@1a00000 {
5935 fman0_rx_0x09: port@89000 {
5936 cell-index = <0x9>;
5937 - compatible = "fsl,fman-v3-port-rx";
5938 + compatible = "fsl,fman-v3-port-rx", "fsl,fman-port-1g-rx";
5939 reg = <0x89000 0x1000>;
5940 };
5941
5942 fman0_tx_0x29: port@a9000 {
5943 cell-index = <0x29>;
5944 - compatible = "fsl,fman-v3-port-tx";
5945 + compatible = "fsl,fman-v3-port-tx", "fsl,fman-port-1g-tx";
5946 reg = <0xa9000 0x1000>;
5947 + fsl,qman-channel-id = <0x803>;
5948 };
5949
5950 ethernet@e2000 {
5951 --- a/arch/arm64/boot/dts/freescale/qoriq-fman3-0-1g-2.dtsi
5952 +++ b/arch/arm64/boot/dts/freescale/qoriq-fman3-0-1g-2.dtsi
5953 @@ -1,22 +1,23 @@
5954 +// SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)
5955 /*
5956 * QorIQ FMan v3 1g port #2 device tree
5957 *
5958 * Copyright 2012-2015 Freescale Semiconductor Inc.
5959 *
5960 - * SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)
5961 */
5962
5963 fman@1a00000 {
5964 fman0_rx_0x0a: port@8a000 {
5965 cell-index = <0xa>;
5966 - compatible = "fsl,fman-v3-port-rx";
5967 + compatible = "fsl,fman-v3-port-rx", "fsl,fman-port-1g-rx";
5968 reg = <0x8a000 0x1000>;
5969 };
5970
5971 fman0_tx_0x2a: port@aa000 {
5972 cell-index = <0x2a>;
5973 - compatible = "fsl,fman-v3-port-tx";
5974 + compatible = "fsl,fman-v3-port-tx", "fsl,fman-port-1g-tx";
5975 reg = <0xaa000 0x1000>;
5976 + fsl,qman-channel-id = <0x804>;
5977 };
5978
5979 ethernet@e4000 {
5980 --- a/arch/arm64/boot/dts/freescale/qoriq-fman3-0-1g-3.dtsi
5981 +++ b/arch/arm64/boot/dts/freescale/qoriq-fman3-0-1g-3.dtsi
5982 @@ -1,22 +1,23 @@
5983 +// SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)
5984 /*
5985 * QorIQ FMan v3 1g port #3 device tree
5986 *
5987 * Copyright 2012-2015 Freescale Semiconductor Inc.
5988 *
5989 - * SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)
5990 */
5991
5992 fman@1a00000 {
5993 fman0_rx_0x0b: port@8b000 {
5994 cell-index = <0xb>;
5995 - compatible = "fsl,fman-v3-port-rx";
5996 + compatible = "fsl,fman-v3-port-rx", "fsl,fman-port-1g-rx";
5997 reg = <0x8b000 0x1000>;
5998 };
5999
6000 fman0_tx_0x2b: port@ab000 {
6001 cell-index = <0x2b>;
6002 - compatible = "fsl,fman-v3-port-tx";
6003 + compatible = "fsl,fman-v3-port-tx", "fsl,fman-port-1g-tx";
6004 reg = <0xab000 0x1000>;
6005 + fsl,qman-channel-id = <0x805>;
6006 };
6007
6008 ethernet@e6000 {
6009 --- a/arch/arm64/boot/dts/freescale/qoriq-fman3-0-1g-4.dtsi
6010 +++ b/arch/arm64/boot/dts/freescale/qoriq-fman3-0-1g-4.dtsi
6011 @@ -1,22 +1,23 @@
6012 +// SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)
6013 /*
6014 * QorIQ FMan v3 1g port #4 device tree
6015 *
6016 * Copyright 2012-2015 Freescale Semiconductor Inc.
6017 *
6018 - * SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)
6019 */
6020
6021 fman@1a00000 {
6022 fman0_rx_0x0c: port@8c000 {
6023 cell-index = <0xc>;
6024 - compatible = "fsl,fman-v3-port-rx";
6025 + compatible = "fsl,fman-v3-port-rx", "fsl,fman-port-1g-rx";
6026 reg = <0x8c000 0x1000>;
6027 };
6028
6029 fman0_tx_0x2c: port@ac000 {
6030 cell-index = <0x2c>;
6031 - compatible = "fsl,fman-v3-port-tx";
6032 + compatible = "fsl,fman-v3-port-tx", "fsl,fman-port-1g-tx";
6033 reg = <0xac000 0x1000>;
6034 + fsl,qman-channel-id = <0x806>;
6035 };
6036
6037 ethernet@e8000 {
6038 --- a/arch/arm64/boot/dts/freescale/qoriq-fman3-0-1g-5.dtsi
6039 +++ b/arch/arm64/boot/dts/freescale/qoriq-fman3-0-1g-5.dtsi
6040 @@ -1,22 +1,23 @@
6041 +// SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)
6042 /*
6043 * QorIQ FMan v3 1g port #5 device tree
6044 *
6045 * Copyright 2012-2015 Freescale Semiconductor Inc.
6046 *
6047 - * SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)
6048 */
6049
6050 fman@1a00000 {
6051 fman0_rx_0x0d: port@8d000 {
6052 cell-index = <0xd>;
6053 - compatible = "fsl,fman-v3-port-rx";
6054 + compatible = "fsl,fman-v3-port-rx", "fsl,fman-port-1g-rx";
6055 reg = <0x8d000 0x1000>;
6056 };
6057
6058 fman0_tx_0x2d: port@ad000 {
6059 cell-index = <0x2d>;
6060 - compatible = "fsl,fman-v3-port-tx";
6061 + compatible = "fsl,fman-v3-port-tx", "fsl,fman-port-1g-tx";
6062 reg = <0xad000 0x1000>;
6063 + fsl,qman-channel-id = <0x807>;
6064 };
6065
6066 ethernet@ea000 {
6067 --- /dev/null
6068 +++ b/arch/arm64/boot/dts/freescale/qoriq-fman3-0-6oh.dtsi
6069 @@ -0,0 +1,47 @@
6070 +/*
6071 + * QorIQ FMan v3 OH ports device tree
6072 + *
6073 + * Copyright 2012-2015 Freescale Semiconductor Inc.
6074 + *
6075 + * SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)
6076 + */
6077 +
6078 +fman@1a00000 {
6079 +
6080 + fman0_oh1: port@82000 {
6081 + cell-index = <0>;
6082 + compatible = "fsl,fman-port-oh";
6083 + reg = <0x82000 0x1000>;
6084 + };
6085 +
6086 + fman0_oh2: port@83000 {
6087 + cell-index = <1>;
6088 + compatible = "fsl,fman-port-oh";
6089 + reg = <0x83000 0x1000>;
6090 + };
6091 +
6092 + fman0_oh3: port@84000 {
6093 + cell-index = <2>;
6094 + compatible = "fsl,fman-port-oh";
6095 + reg = <0x84000 0x1000>;
6096 + };
6097 +
6098 + fman0_oh4: port@85000 {
6099 + cell-index = <3>;
6100 + compatible = "fsl,fman-port-oh";
6101 + reg = <0x85000 0x1000>;
6102 + };
6103 +
6104 + fman0_oh5: port@86000 {
6105 + cell-index = <4>;
6106 + compatible = "fsl,fman-port-oh";
6107 + reg = <0x86000 0x1000>;
6108 + };
6109 +
6110 + fman0_oh6: port@87000 {
6111 + cell-index = <5>;
6112 + compatible = "fsl,fman-port-oh";
6113 + reg = <0x87000 0x1000>;
6114 + };
6115 +
6116 +};
6117 --- a/arch/arm64/boot/dts/freescale/qoriq-fman3-0.dtsi
6118 +++ b/arch/arm64/boot/dts/freescale/qoriq-fman3-0.dtsi
6119 @@ -1,9 +1,9 @@
6120 +// SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)
6121 /*
6122 * QorIQ FMan v3 device tree
6123 *
6124 * Copyright 2012-2015 Freescale Semiconductor Inc.
6125 *
6126 - * SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)
6127 */
6128
6129 fman0: fman@1a00000 {
6130 @@ -19,45 +19,95 @@ fman0: fman@1a00000 {
6131 clock-names = "fmanclk";
6132 fsl,qman-channel-range = <0x800 0x10>;
6133
6134 + cc {
6135 + compatible = "fsl,fman-cc";
6136 + };
6137 +
6138 muram@0 {
6139 compatible = "fsl,fman-muram";
6140 reg = <0x0 0x60000>;
6141 };
6142
6143 + bmi@80000 {
6144 + compatible = "fsl,fman-bmi";
6145 + reg = <0x80000 0x400>;
6146 + };
6147 +
6148 + qmi@80400 {
6149 + compatible = "fsl,fman-qmi";
6150 + reg = <0x80400 0x400>;
6151 + };
6152 +
6153 fman0_oh_0x2: port@82000 {
6154 cell-index = <0x2>;
6155 compatible = "fsl,fman-v3-port-oh";
6156 reg = <0x82000 0x1000>;
6157 + fsl,qman-channel-id = <0x809>;
6158 };
6159
6160 fman0_oh_0x3: port@83000 {
6161 cell-index = <0x3>;
6162 compatible = "fsl,fman-v3-port-oh";
6163 reg = <0x83000 0x1000>;
6164 + fsl,qman-channel-id = <0x80a>;
6165 };
6166
6167 fman0_oh_0x4: port@84000 {
6168 cell-index = <0x4>;
6169 compatible = "fsl,fman-v3-port-oh";
6170 reg = <0x84000 0x1000>;
6171 + fsl,qman-channel-id = <0x80b>;
6172 };
6173
6174 fman0_oh_0x5: port@85000 {
6175 cell-index = <0x5>;
6176 compatible = "fsl,fman-v3-port-oh";
6177 reg = <0x85000 0x1000>;
6178 + fsl,qman-channel-id = <0x80c>;
6179 };
6180
6181 fman0_oh_0x6: port@86000 {
6182 cell-index = <0x6>;
6183 compatible = "fsl,fman-v3-port-oh";
6184 reg = <0x86000 0x1000>;
6185 + fsl,qman-channel-id = <0x80d>;
6186 };
6187
6188 fman0_oh_0x7: port@87000 {
6189 cell-index = <0x7>;
6190 compatible = "fsl,fman-v3-port-oh";
6191 reg = <0x87000 0x1000>;
6192 + fsl,qman-channel-id = <0x80e>;
6193 + };
6194 +
6195 + policer@c0000 {
6196 + compatible = "fsl,fman-policer";
6197 + reg = <0xc0000 0x1000>;
6198 + };
6199 +
6200 + keygen@c1000 {
6201 + compatible = "fsl,fman-keygen";
6202 + reg = <0xc1000 0x1000>;
6203 + };
6204 +
6205 + dma@c2000 {
6206 + compatible = "fsl,fman-dma";
6207 + reg = <0xc2000 0x1000>;
6208 + };
6209 +
6210 + fpm@c3000 {
6211 + compatible = "fsl,fman-fpm";
6212 + reg = <0xc3000 0x1000>;
6213 + };
6214 +
6215 + parser@c7000 {
6216 + compatible = "fsl,fman-parser";
6217 + reg = <0xc7000 0x1000>;
6218 + };
6219 +
6220 + vsps@dc000 {
6221 + compatible = "fsl,fman-vsps";
6222 + reg = <0xdc000 0x1000>;
6223 };
6224
6225 mdio0: mdio@fc000 {
6226 @@ -75,7 +125,7 @@ fman0: fman@1a00000 {
6227 };
6228
6229 ptp_timer0: ptp-timer@fe000 {
6230 - compatible = "fsl,fman-ptp-timer";
6231 + compatible = "fsl,fman-ptp-timer", "fsl,fman-rtc";
6232 reg = <0xfe000 0x1000>;
6233 };
6234 };
6235 --- /dev/null
6236 +++ b/arch/arm64/boot/dts/freescale/qoriq-qman-portals-sdk.dtsi
6237 @@ -0,0 +1,38 @@
6238 +/*
6239 + * QorIQ QMan SDK Portals device tree nodes
6240 + *
6241 + * Copyright 2011-2016 Freescale Semiconductor Inc.
6242 + * Copyright 2017 NXP
6243 + *
6244 + * SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)
6245 + */
6246 +
6247 +&qportals {
6248 + qman-fqids@0 {
6249 + compatible = "fsl,fqid-range";
6250 + fsl,fqid-range = <256 256>;
6251 + };
6252 +
6253 + qman-fqids@1 {
6254 + compatible = "fsl,fqid-range";
6255 + fsl,fqid-range = <32768 32768>;
6256 + };
6257 +
6258 + qman-pools@0 {
6259 + compatible = "fsl,pool-channel-range";
6260 + fsl,pool-channel-range = <0x401 0xf>;
6261 + };
6262 +
6263 + qman-cgrids@0 {
6264 + compatible = "fsl,cgrid-range";
6265 + fsl,cgrid-range = <0 256>;
6266 + };
6267 +
6268 + qman-ceetm@0 {
6269 + compatible = "fsl,qman-ceetm";
6270 + fsl,ceetm-lfqid-range = <0xf00000 0x1000>;
6271 + fsl,ceetm-sp-range = <0 16>;
6272 + fsl,ceetm-lni-range = <0 8>;
6273 + fsl,ceetm-channel-range = <0 32>;
6274 + };
6275 +};
6276 --- a/arch/arm64/boot/dts/freescale/qoriq-qman-portals.dtsi
6277 +++ b/arch/arm64/boot/dts/freescale/qoriq-qman-portals.dtsi
6278 @@ -1,9 +1,9 @@
6279 +// SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)
6280 /*
6281 * QorIQ QMan Portals device tree
6282 *
6283 * Copyright 2011-2016 Freescale Semiconductor Inc.
6284 *
6285 - * SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)
6286 */
6287
6288 &qportals {
6289 @@ -77,4 +77,11 @@
6290 interrupts = <GIC_SPI 188 IRQ_TYPE_LEVEL_HIGH>;
6291 cell-index = <8>;
6292 };
6293 +
6294 + qportal9: qman-portal@90000 {
6295 + compatible = "fsl,qman-portal";
6296 + reg = <0x90000 0x4000>, <0x4090000 0x4000>;
6297 + interrupts = <GIC_SPI 190 IRQ_TYPE_LEVEL_HIGH>;
6298 + cell-index = <9>;
6299 + };
6300 };
6301 --- a/arch/powerpc/boot/dts/fsl/qoriq-fman-0-10g-0.dtsi
6302 +++ b/arch/powerpc/boot/dts/fsl/qoriq-fman-0-10g-0.dtsi
6303 @@ -35,13 +35,13 @@
6304 fman@400000 {
6305 fman0_rx_0x10: port@90000 {
6306 cell-index = <0x10>;
6307 - compatible = "fsl,fman-v2-port-rx";
6308 + compatible = "fsl,fman-v2-port-rx","fsl,fman-port-10g-rx";
6309 reg = <0x90000 0x1000>;
6310 };
6311
6312 fman0_tx_0x30: port@b0000 {
6313 cell-index = <0x30>;
6314 - compatible = "fsl,fman-v2-port-tx";
6315 + compatible = "fsl,fman-v2-port-tx","fsl,fman-port-10g-tx";
6316 reg = <0xb0000 0x1000>;
6317 };
6318
6319 --- a/arch/powerpc/boot/dts/fsl/qoriq-fman-0-1g-0.dtsi
6320 +++ b/arch/powerpc/boot/dts/fsl/qoriq-fman-0-1g-0.dtsi
6321 @@ -35,13 +35,13 @@
6322 fman@400000 {
6323 fman0_rx_0x08: port@88000 {
6324 cell-index = <0x8>;
6325 - compatible = "fsl,fman-v2-port-rx";
6326 + compatible = "fsl,fman-v2-port-rx","fsl,fman-port-1g-rx";
6327 reg = <0x88000 0x1000>;
6328 };
6329
6330 fman0_tx_0x28: port@a8000 {
6331 cell-index = <0x28>;
6332 - compatible = "fsl,fman-v2-port-tx";
6333 + compatible = "fsl,fman-v2-port-tx","fsl,fman-port-1g-tx";
6334 reg = <0xa8000 0x1000>;
6335 };
6336
6337 --- a/arch/powerpc/boot/dts/fsl/qoriq-fman-0-1g-1.dtsi
6338 +++ b/arch/powerpc/boot/dts/fsl/qoriq-fman-0-1g-1.dtsi
6339 @@ -35,13 +35,13 @@
6340 fman@400000 {
6341 fman0_rx_0x09: port@89000 {
6342 cell-index = <0x9>;
6343 - compatible = "fsl,fman-v2-port-rx";
6344 + compatible = "fsl,fman-v2-port-rx","fsl,fman-port-1g-rx";
6345 reg = <0x89000 0x1000>;
6346 };
6347
6348 fman0_tx_0x29: port@a9000 {
6349 cell-index = <0x29>;
6350 - compatible = "fsl,fman-v2-port-tx";
6351 + compatible = "fsl,fman-v2-port-tx","fsl,fman-port-1g-tx";
6352 reg = <0xa9000 0x1000>;
6353 };
6354
6355 --- a/arch/powerpc/boot/dts/fsl/qoriq-fman-0-1g-2.dtsi
6356 +++ b/arch/powerpc/boot/dts/fsl/qoriq-fman-0-1g-2.dtsi
6357 @@ -35,13 +35,13 @@
6358 fman@400000 {
6359 fman0_rx_0x0a: port@8a000 {
6360 cell-index = <0xa>;
6361 - compatible = "fsl,fman-v2-port-rx";
6362 + compatible = "fsl,fman-v2-port-rx","fsl,fman-port-1g-rx";
6363 reg = <0x8a000 0x1000>;
6364 };
6365
6366 fman0_tx_0x2a: port@aa000 {
6367 cell-index = <0x2a>;
6368 - compatible = "fsl,fman-v2-port-tx";
6369 + compatible = "fsl,fman-v2-port-tx","fsl,fman-port-1g-tx";
6370 reg = <0xaa000 0x1000>;
6371 };
6372
6373 --- a/arch/powerpc/boot/dts/fsl/qoriq-fman-0-1g-3.dtsi
6374 +++ b/arch/powerpc/boot/dts/fsl/qoriq-fman-0-1g-3.dtsi
6375 @@ -35,13 +35,13 @@
6376 fman@400000 {
6377 fman0_rx_0x0b: port@8b000 {
6378 cell-index = <0xb>;
6379 - compatible = "fsl,fman-v2-port-rx";
6380 + compatible = "fsl,fman-v2-port-rx","fsl,fman-port-1g-rx";
6381 reg = <0x8b000 0x1000>;
6382 };
6383
6384 fman0_tx_0x2b: port@ab000 {
6385 cell-index = <0x2b>;
6386 - compatible = "fsl,fman-v2-port-tx";
6387 + compatible = "fsl,fman-v2-port-tx","fsl,fman-port-1g-tx";
6388 reg = <0xab000 0x1000>;
6389 };
6390
6391 --- a/arch/powerpc/boot/dts/fsl/qoriq-fman-0-1g-4.dtsi
6392 +++ b/arch/powerpc/boot/dts/fsl/qoriq-fman-0-1g-4.dtsi
6393 @@ -35,13 +35,13 @@
6394 fman@400000 {
6395 fman0_rx_0x0c: port@8c000 {
6396 cell-index = <0xc>;
6397 - compatible = "fsl,fman-v2-port-rx";
6398 + compatible = "fsl,fman-v2-port-rx","fsl,fman-port-1g-rx";
6399 reg = <0x8c000 0x1000>;
6400 };
6401
6402 fman0_tx_0x2c: port@ac000 {
6403 cell-index = <0x2c>;
6404 - compatible = "fsl,fman-v2-port-tx";
6405 + compatible = "fsl,fman-v2-port-tx","fsl,fman-port-1g-tx";
6406 reg = <0xac000 0x1000>;
6407 };
6408
6409 --- a/arch/powerpc/boot/dts/fsl/qoriq-fman-1-10g-0.dtsi
6410 +++ b/arch/powerpc/boot/dts/fsl/qoriq-fman-1-10g-0.dtsi
6411 @@ -35,13 +35,13 @@
6412 fman@500000 {
6413 fman1_rx_0x10: port@90000 {
6414 cell-index = <0x10>;
6415 - compatible = "fsl,fman-v2-port-rx";
6416 + compatible = "fsl,fman-v2-port-rx","fsl,fman-port-10g-rx";
6417 reg = <0x90000 0x1000>;
6418 };
6419
6420 fman1_tx_0x30: port@b0000 {
6421 cell-index = <0x30>;
6422 - compatible = "fsl,fman-v2-port-tx";
6423 + compatible = "fsl,fman-v2-port-tx","fsl,fman-port-10g-tx";
6424 reg = <0xb0000 0x1000>;
6425 };
6426
6427 --- a/arch/powerpc/boot/dts/fsl/qoriq-fman-1-1g-0.dtsi
6428 +++ b/arch/powerpc/boot/dts/fsl/qoriq-fman-1-1g-0.dtsi
6429 @@ -35,13 +35,13 @@
6430 fman@500000 {
6431 fman1_rx_0x08: port@88000 {
6432 cell-index = <0x8>;
6433 - compatible = "fsl,fman-v2-port-rx";
6434 + compatible = "fsl,fman-v2-port-rx","fsl,fman-port-1g-rx";
6435 reg = <0x88000 0x1000>;
6436 };
6437
6438 fman1_tx_0x28: port@a8000 {
6439 cell-index = <0x28>;
6440 - compatible = "fsl,fman-v2-port-tx";
6441 + compatible = "fsl,fman-v2-port-tx","fsl,fman-port-1g-tx";
6442 reg = <0xa8000 0x1000>;
6443 };
6444
6445 --- a/arch/powerpc/boot/dts/fsl/qoriq-fman-1-1g-1.dtsi
6446 +++ b/arch/powerpc/boot/dts/fsl/qoriq-fman-1-1g-1.dtsi
6447 @@ -35,13 +35,13 @@
6448 fman@500000 {
6449 fman1_rx_0x09: port@89000 {
6450 cell-index = <0x9>;
6451 - compatible = "fsl,fman-v2-port-rx";
6452 + compatible = "fsl,fman-v2-port-rx","fsl,fman-port-1g-rx";
6453 reg = <0x89000 0x1000>;
6454 };
6455
6456 fman1_tx_0x29: port@a9000 {
6457 cell-index = <0x29>;
6458 - compatible = "fsl,fman-v2-port-tx";
6459 + compatible = "fsl,fman-v2-port-tx","fsl,fman-port-1g-tx";
6460 reg = <0xa9000 0x1000>;
6461 };
6462
6463 --- a/arch/powerpc/boot/dts/fsl/qoriq-fman-1-1g-2.dtsi
6464 +++ b/arch/powerpc/boot/dts/fsl/qoriq-fman-1-1g-2.dtsi
6465 @@ -35,13 +35,13 @@
6466 fman@500000 {
6467 fman1_rx_0x0a: port@8a000 {
6468 cell-index = <0xa>;
6469 - compatible = "fsl,fman-v2-port-rx";
6470 + compatible = "fsl,fman-v2-port-rx","fsl,fman-port-1g-rx";
6471 reg = <0x8a000 0x1000>;
6472 };
6473
6474 fman1_tx_0x2a: port@aa000 {
6475 cell-index = <0x2a>;
6476 - compatible = "fsl,fman-v2-port-tx";
6477 + compatible = "fsl,fman-v2-port-tx","fsl,fman-port-1g-tx";
6478 reg = <0xaa000 0x1000>;
6479 };
6480
6481 --- a/arch/powerpc/boot/dts/fsl/qoriq-fman-1-1g-3.dtsi
6482 +++ b/arch/powerpc/boot/dts/fsl/qoriq-fman-1-1g-3.dtsi
6483 @@ -35,13 +35,13 @@
6484 fman@500000 {
6485 fman1_rx_0x0b: port@8b000 {
6486 cell-index = <0xb>;
6487 - compatible = "fsl,fman-v2-port-rx";
6488 + compatible = "fsl,fman-v2-port-rx","fsl,fman-port-1g-rx";
6489 reg = <0x8b000 0x1000>;
6490 };
6491
6492 fman1_tx_0x2b: port@ab000 {
6493 cell-index = <0x2b>;
6494 - compatible = "fsl,fman-v2-port-tx";
6495 + compatible = "fsl,fman-v2-port-tx","fsl,fman-port-1g-tx";
6496 reg = <0xab000 0x1000>;
6497 };
6498
6499 --- a/arch/powerpc/boot/dts/fsl/qoriq-fman-1-1g-4.dtsi
6500 +++ b/arch/powerpc/boot/dts/fsl/qoriq-fman-1-1g-4.dtsi
6501 @@ -35,13 +35,13 @@
6502 fman@500000 {
6503 fman1_rx_0x0c: port@8c000 {
6504 cell-index = <0xc>;
6505 - compatible = "fsl,fman-v2-port-rx";
6506 + compatible = "fsl,fman-v2-port-rx","fsl,fman-port-1g-rx";
6507 reg = <0x8c000 0x1000>;
6508 };
6509
6510 fman1_tx_0x2c: port@ac000 {
6511 cell-index = <0x2c>;
6512 - compatible = "fsl,fman-v2-port-tx";
6513 + compatible = "fsl,fman-v2-port-tx","fsl,fman-port-1g-tx";
6514 reg = <0xac000 0x1000>;
6515 };
6516
6517 --- a/arch/powerpc/boot/dts/fsl/qoriq-fman3-0-10g-0-best-effort.dtsi
6518 +++ b/arch/powerpc/boot/dts/fsl/qoriq-fman3-0-10g-0-best-effort.dtsi
6519 @@ -35,7 +35,7 @@
6520 fman@400000 {
6521 fman0_rx_0x08: port@88000 {
6522 cell-index = <0x8>;
6523 - compatible = "fsl,fman-v3-port-rx";
6524 + compatible = "fsl,fman-v3-port-rx","fsl,fman-port-10g-rx";
6525 reg = <0x88000 0x1000>;
6526 fsl,fman-10g-port;
6527 fsl,fman-best-effort-port;
6528 @@ -43,7 +43,7 @@ fman@400000 {
6529
6530 fman0_tx_0x28: port@a8000 {
6531 cell-index = <0x28>;
6532 - compatible = "fsl,fman-v3-port-tx";
6533 + compatible = "fsl,fman-v3-port-tx","fsl,fman-port-10g-tx";
6534 reg = <0xa8000 0x1000>;
6535 fsl,fman-10g-port;
6536 fsl,fman-best-effort-port;
6537 --- a/arch/powerpc/boot/dts/fsl/qoriq-fman3-0-10g-0.dtsi
6538 +++ b/arch/powerpc/boot/dts/fsl/qoriq-fman3-0-10g-0.dtsi
6539 @@ -35,14 +35,14 @@
6540 fman@400000 {
6541 fman0_rx_0x10: port@90000 {
6542 cell-index = <0x10>;
6543 - compatible = "fsl,fman-v3-port-rx";
6544 + compatible = "fsl,fman-v3-port-rx", "fsl,fman-port-10g-rx";
6545 reg = <0x90000 0x1000>;
6546 fsl,fman-10g-port;
6547 };
6548
6549 fman0_tx_0x30: port@b0000 {
6550 cell-index = <0x30>;
6551 - compatible = "fsl,fman-v3-port-tx";
6552 + compatible = "fsl,fman-v3-port-tx", "fsl,fman-port-10g-tx";
6553 reg = <0xb0000 0x1000>;
6554 fsl,fman-10g-port;
6555 };
6556 --- a/arch/powerpc/boot/dts/fsl/qoriq-fman3-0-10g-1-best-effort.dtsi
6557 +++ b/arch/powerpc/boot/dts/fsl/qoriq-fman3-0-10g-1-best-effort.dtsi
6558 @@ -35,7 +35,7 @@
6559 fman@400000 {
6560 fman0_rx_0x09: port@89000 {
6561 cell-index = <0x9>;
6562 - compatible = "fsl,fman-v3-port-rx";
6563 + compatible = "fsl,fman-v3-port-rx","fsl,fman-port-10g-rx";
6564 reg = <0x89000 0x1000>;
6565 fsl,fman-10g-port;
6566 fsl,fman-best-effort-port;
6567 @@ -43,7 +43,7 @@ fman@400000 {
6568
6569 fman0_tx_0x29: port@a9000 {
6570 cell-index = <0x29>;
6571 - compatible = "fsl,fman-v3-port-tx";
6572 + compatible = "fsl,fman-v3-port-tx","fsl,fman-port-10g-tx";
6573 reg = <0xa9000 0x1000>;
6574 fsl,fman-10g-port;
6575 fsl,fman-best-effort-port;
6576 --- a/arch/powerpc/boot/dts/fsl/qoriq-fman3-0-10g-1.dtsi
6577 +++ b/arch/powerpc/boot/dts/fsl/qoriq-fman3-0-10g-1.dtsi
6578 @@ -35,14 +35,14 @@
6579 fman@400000 {
6580 fman0_rx_0x11: port@91000 {
6581 cell-index = <0x11>;
6582 - compatible = "fsl,fman-v3-port-rx";
6583 + compatible = "fsl,fman-v3-port-rx", "fsl,fman-port-10g-rx";
6584 reg = <0x91000 0x1000>;
6585 fsl,fman-10g-port;
6586 };
6587
6588 fman0_tx_0x31: port@b1000 {
6589 cell-index = <0x31>;
6590 - compatible = "fsl,fman-v3-port-tx";
6591 + compatible = "fsl,fman-v3-port-tx", "fsl,fman-port-10g-tx";
6592 reg = <0xb1000 0x1000>;
6593 fsl,fman-10g-port;
6594 };
6595 --- a/arch/powerpc/boot/dts/fsl/qoriq-fman3-0-1g-0.dtsi
6596 +++ b/arch/powerpc/boot/dts/fsl/qoriq-fman3-0-1g-0.dtsi
6597 @@ -35,13 +35,13 @@
6598 fman@400000 {
6599 fman0_rx_0x08: port@88000 {
6600 cell-index = <0x8>;
6601 - compatible = "fsl,fman-v3-port-rx";
6602 + compatible = "fsl,fman-v3-port-rx","fsl,fman-port-1g-rx";
6603 reg = <0x88000 0x1000>;
6604 };
6605
6606 fman0_tx_0x28: port@a8000 {
6607 cell-index = <0x28>;
6608 - compatible = "fsl,fman-v3-port-tx";
6609 + compatible = "fsl,fman-v3-port-tx","fsl,fman-port-1g-tx";
6610 reg = <0xa8000 0x1000>;
6611 };
6612
6613 --- a/arch/powerpc/boot/dts/fsl/qoriq-fman3-0-1g-1.dtsi
6614 +++ b/arch/powerpc/boot/dts/fsl/qoriq-fman3-0-1g-1.dtsi
6615 @@ -35,13 +35,13 @@
6616 fman@400000 {
6617 fman0_rx_0x09: port@89000 {
6618 cell-index = <0x9>;
6619 - compatible = "fsl,fman-v3-port-rx";
6620 + compatible = "fsl,fman-v3-port-rx","fsl,fman-port-1g-rx";
6621 reg = <0x89000 0x1000>;
6622 };
6623
6624 fman0_tx_0x29: port@a9000 {
6625 cell-index = <0x29>;
6626 - compatible = "fsl,fman-v3-port-tx";
6627 + compatible = "fsl,fman-v3-port-tx","fsl,fman-port-1g-tx";
6628 reg = <0xa9000 0x1000>;
6629 };
6630
6631 --- a/arch/powerpc/boot/dts/fsl/qoriq-fman3-0-1g-2.dtsi
6632 +++ b/arch/powerpc/boot/dts/fsl/qoriq-fman3-0-1g-2.dtsi
6633 @@ -35,13 +35,13 @@
6634 fman@400000 {
6635 fman0_rx_0x0a: port@8a000 {
6636 cell-index = <0xa>;
6637 - compatible = "fsl,fman-v3-port-rx";
6638 + compatible = "fsl,fman-v3-port-rx","fsl,fman-port-1g-rx";
6639 reg = <0x8a000 0x1000>;
6640 };
6641
6642 fman0_tx_0x2a: port@aa000 {
6643 cell-index = <0x2a>;
6644 - compatible = "fsl,fman-v3-port-tx";
6645 + compatible = "fsl,fman-v3-port-tx","fsl,fman-port-1g-tx";
6646 reg = <0xaa000 0x1000>;
6647 };
6648
6649 --- a/arch/powerpc/boot/dts/fsl/qoriq-fman3-0-1g-3.dtsi
6650 +++ b/arch/powerpc/boot/dts/fsl/qoriq-fman3-0-1g-3.dtsi
6651 @@ -35,13 +35,13 @@
6652 fman@400000 {
6653 fman0_rx_0x0b: port@8b000 {
6654 cell-index = <0xb>;
6655 - compatible = "fsl,fman-v3-port-rx";
6656 + compatible = "fsl,fman-v3-port-rx","fsl,fman-port-1g-rx";
6657 reg = <0x8b000 0x1000>;
6658 };
6659
6660 fman0_tx_0x2b: port@ab000 {
6661 cell-index = <0x2b>;
6662 - compatible = "fsl,fman-v3-port-tx";
6663 + compatible = "fsl,fman-v3-port-tx","fsl,fman-port-1g-tx";
6664 reg = <0xab000 0x1000>;
6665 };
6666
6667 --- a/arch/powerpc/boot/dts/fsl/qoriq-fman3-0-1g-4.dtsi
6668 +++ b/arch/powerpc/boot/dts/fsl/qoriq-fman3-0-1g-4.dtsi
6669 @@ -35,13 +35,13 @@
6670 fman@400000 {
6671 fman0_rx_0x0c: port@8c000 {
6672 cell-index = <0xc>;
6673 - compatible = "fsl,fman-v3-port-rx";
6674 + compatible = "fsl,fman-v3-port-rx","fsl,fman-port-1g-rx";
6675 reg = <0x8c000 0x1000>;
6676 };
6677
6678 fman0_tx_0x2c: port@ac000 {
6679 cell-index = <0x2c>;
6680 - compatible = "fsl,fman-v3-port-tx";
6681 + compatible = "fsl,fman-v3-port-tx","fsl,fman-port-1g-tx";
6682 reg = <0xac000 0x1000>;
6683 };
6684
6685 --- a/arch/powerpc/boot/dts/fsl/qoriq-fman3-0-1g-5.dtsi
6686 +++ b/arch/powerpc/boot/dts/fsl/qoriq-fman3-0-1g-5.dtsi
6687 @@ -35,13 +35,13 @@
6688 fman@400000 {
6689 fman0_rx_0x0d: port@8d000 {
6690 cell-index = <0xd>;
6691 - compatible = "fsl,fman-v3-port-rx";
6692 + compatible = "fsl,fman-v3-port-rx","fsl,fman-port-1g-rx";
6693 reg = <0x8d000 0x1000>;
6694 };
6695
6696 fman0_tx_0x2d: port@ad000 {
6697 cell-index = <0x2d>;
6698 - compatible = "fsl,fman-v3-port-tx";
6699 + compatible = "fsl,fman-v3-port-tx","fsl,fman-port-1g-tx";
6700 reg = <0xad000 0x1000>;
6701 };
6702
6703 --- a/arch/powerpc/boot/dts/fsl/qoriq-fman3-1-10g-0.dtsi
6704 +++ b/arch/powerpc/boot/dts/fsl/qoriq-fman3-1-10g-0.dtsi
6705 @@ -35,14 +35,14 @@
6706 fman@500000 {
6707 fman1_rx_0x10: port@90000 {
6708 cell-index = <0x10>;
6709 - compatible = "fsl,fman-v3-port-rx";
6710 + compatible = "fsl,fman-v3-port-rx","fsl,fman-port-10g-rx";
6711 reg = <0x90000 0x1000>;
6712 fsl,fman-10g-port;
6713 };
6714
6715 fman1_tx_0x30: port@b0000 {
6716 cell-index = <0x30>;
6717 - compatible = "fsl,fman-v3-port-tx";
6718 + compatible = "fsl,fman-v3-port-tx","fsl,fman-port-10g-tx";
6719 reg = <0xb0000 0x1000>;
6720 fsl,fman-10g-port;
6721 };
6722 --- a/arch/powerpc/boot/dts/fsl/qoriq-fman3-1-10g-1.dtsi
6723 +++ b/arch/powerpc/boot/dts/fsl/qoriq-fman3-1-10g-1.dtsi
6724 @@ -35,14 +35,14 @@
6725 fman@500000 {
6726 fman1_rx_0x11: port@91000 {
6727 cell-index = <0x11>;
6728 - compatible = "fsl,fman-v3-port-rx";
6729 + compatible = "fsl,fman-v3-port-rx","fsl,fman-port-10g-rx";
6730 reg = <0x91000 0x1000>;
6731 fsl,fman-10g-port;
6732 };
6733
6734 fman1_tx_0x31: port@b1000 {
6735 cell-index = <0x31>;
6736 - compatible = "fsl,fman-v3-port-tx";
6737 + compatible = "fsl,fman-v3-port-tx","fsl,fman-port-10g-tx";
6738 reg = <0xb1000 0x1000>;
6739 fsl,fman-10g-port;
6740 };
6741 --- a/arch/powerpc/boot/dts/fsl/qoriq-fman3-1-1g-0.dtsi
6742 +++ b/arch/powerpc/boot/dts/fsl/qoriq-fman3-1-1g-0.dtsi
6743 @@ -35,13 +35,13 @@
6744 fman@500000 {
6745 fman1_rx_0x08: port@88000 {
6746 cell-index = <0x8>;
6747 - compatible = "fsl,fman-v3-port-rx";
6748 + compatible = "fsl,fman-v3-port-rx","fsl,fman-port-1g-rx";
6749 reg = <0x88000 0x1000>;
6750 };
6751
6752 fman1_tx_0x28: port@a8000 {
6753 cell-index = <0x28>;
6754 - compatible = "fsl,fman-v3-port-tx";
6755 + compatible = "fsl,fman-v3-port-tx","fsl,fman-port-1g-tx";
6756 reg = <0xa8000 0x1000>;
6757 };
6758
6759 --- a/arch/powerpc/boot/dts/fsl/qoriq-fman3-1-1g-1.dtsi
6760 +++ b/arch/powerpc/boot/dts/fsl/qoriq-fman3-1-1g-1.dtsi
6761 @@ -35,13 +35,13 @@
6762 fman@500000 {
6763 fman1_rx_0x09: port@89000 {
6764 cell-index = <0x9>;
6765 - compatible = "fsl,fman-v3-port-rx";
6766 + compatible = "fsl,fman-v3-port-rx","fsl,fman-port-1g-rx";
6767 reg = <0x89000 0x1000>;
6768 };
6769
6770 fman1_tx_0x29: port@a9000 {
6771 cell-index = <0x29>;
6772 - compatible = "fsl,fman-v3-port-tx";
6773 + compatible = "fsl,fman-v3-port-tx","fsl,fman-port-1g-tx";
6774 reg = <0xa9000 0x1000>;
6775 };
6776
6777 --- a/arch/powerpc/boot/dts/fsl/qoriq-fman3-1-1g-2.dtsi
6778 +++ b/arch/powerpc/boot/dts/fsl/qoriq-fman3-1-1g-2.dtsi
6779 @@ -35,13 +35,13 @@
6780 fman@500000 {
6781 fman1_rx_0x0a: port@8a000 {
6782 cell-index = <0xa>;
6783 - compatible = "fsl,fman-v3-port-rx";
6784 + compatible = "fsl,fman-v3-port-rx","fsl,fman-port-1g-rx";
6785 reg = <0x8a000 0x1000>;
6786 };
6787
6788 fman1_tx_0x2a: port@aa000 {
6789 cell-index = <0x2a>;
6790 - compatible = "fsl,fman-v3-port-tx";
6791 + compatible = "fsl,fman-v3-port-tx","fsl,fman-port-1g-tx";
6792 reg = <0xaa000 0x1000>;
6793 };
6794
6795 --- a/arch/powerpc/boot/dts/fsl/qoriq-fman3-1-1g-3.dtsi
6796 +++ b/arch/powerpc/boot/dts/fsl/qoriq-fman3-1-1g-3.dtsi
6797 @@ -35,13 +35,13 @@
6798 fman@500000 {
6799 fman1_rx_0x0b: port@8b000 {
6800 cell-index = <0xb>;
6801 - compatible = "fsl,fman-v3-port-rx";
6802 + compatible = "fsl,fman-v3-port-rx","fsl,fman-port-1g-rx";
6803 reg = <0x8b000 0x1000>;
6804 };
6805
6806 fman1_tx_0x2b: port@ab000 {
6807 cell-index = <0x2b>;
6808 - compatible = "fsl,fman-v3-port-tx";
6809 + compatible = "fsl,fman-v3-port-tx","fsl,fman-port-1g-tx";
6810 reg = <0xab000 0x1000>;
6811 };
6812
6813 --- a/arch/powerpc/boot/dts/fsl/qoriq-fman3-1-1g-4.dtsi
6814 +++ b/arch/powerpc/boot/dts/fsl/qoriq-fman3-1-1g-4.dtsi
6815 @@ -35,13 +35,13 @@
6816 fman@500000 {
6817 fman1_rx_0x0c: port@8c000 {
6818 cell-index = <0xc>;
6819 - compatible = "fsl,fman-v3-port-rx";
6820 + compatible = "fsl,fman-v3-port-rx","fsl,fman-port-1g-rx";
6821 reg = <0x8c000 0x1000>;
6822 };
6823
6824 fman1_tx_0x2c: port@ac000 {
6825 cell-index = <0x2c>;
6826 - compatible = "fsl,fman-v3-port-tx";
6827 + compatible = "fsl,fman-v3-port-tx","fsl,fman-port-1g-tx";
6828 reg = <0xac000 0x1000>;
6829 };
6830
6831 --- a/arch/powerpc/boot/dts/fsl/qoriq-fman3-1-1g-5.dtsi
6832 +++ b/arch/powerpc/boot/dts/fsl/qoriq-fman3-1-1g-5.dtsi
6833 @@ -35,13 +35,13 @@
6834 fman@500000 {
6835 fman1_rx_0x0d: port@8d000 {
6836 cell-index = <0xd>;
6837 - compatible = "fsl,fman-v3-port-rx";
6838 + compatible = "fsl,fman-v3-port-rx","fsl,fman-port-1g-rx";
6839 reg = <0x8d000 0x1000>;
6840 };
6841
6842 fman1_tx_0x2d: port@ad000 {
6843 cell-index = <0x2d>;
6844 - compatible = "fsl,fman-v3-port-tx";
6845 + compatible = "fsl,fman-v3-port-tx","fsl,fman-port-1g-tx";
6846 reg = <0xad000 0x1000>;
6847 };
6848