919bb30cfcc4db6871d986a4ab3bbf3940eec1c6
[openwrt/staging/mkresin.git] / target / linux / layerscape / patches-4.14 / 302-dts-support-layerscape.patch
1 From cc1d1d1b68d18a31aeb8a572ca6b3929b083855c Mon Sep 17 00:00:00 2001
2 From: Biwen Li <biwen.li@nxp.com>
3 Date: Wed, 17 Apr 2019 18:58:33 +0800
4 Subject: [PATCH] dts: support layerscape
5 MIME-Version: 1.0
6 Content-Type: text/plain; charset=UTF-8
7 Content-Transfer-Encoding: 8bit
8
9 This is an integrated patch of dts for layerscape
10
11 Signed-off-by: Abhimanyu Saini <abhimanyu.saini@nxp.com>
12 Signed-off-by: Akhil Goyal <akhil.goyal@nxp.com>
13 Signed-off-by: Alan Wang <alan.wang@nxp.com>
14 Signed-off-by: Alison Wang <alison.wang@nxp.com>
15 Signed-off-by: Amrita Kumari <amrita.kumari@nxp.com>
16 Signed-off-by: Anjaneyulu Jagarlmudi <anji.jagarlmudi@nxp.com>
17 Signed-off-by: Ashish Kumar <Ashish.Kumar@nxp.com>
18 Signed-off-by: Bharat Bhushan <Bharat.Bhushan@nxp.com>
19 Signed-off-by: Bhaskar Upadhaya <Bhaskar.Upadhaya@nxp.com>
20 Signed-off-by: Bhupesh Sharma <bhupesh.sharma@freescale.com>
21 Signed-off-by: Biwen Li <biwen.li@nxp.com>
22 Signed-off-by: Bogdan Purcareata <bogdan.purcareata@nxp.com>
23 Signed-off-by: Calvin Johnson <calvin.johnson@nxp.com>
24 Signed-off-by: Camelia Groza <camelia.groza@nxp.com>
25 Signed-off-by: Catalin Neacsu <valentin-catalin.neacsu@nxp.com>
26 Signed-off-by: Changming Huang <jerry.huang@nxp.com>
27 Signed-off-by: Chuanhua Han <chuanhua.han@nxp.com>
28 Signed-off-by: Constantin Tudor <constantin.tudor@nxp.com>
29 Signed-off-by: David S. Miller <davem@davemloft.net>
30 Signed-off-by: Florin Chiculita <florinlaurentiu.chiculita@nxp.com>
31 Signed-off-by: Florinel Iordache <florinel.iordache@nxp.com>
32 Signed-off-by: Guanhua Gao <guanhua.gao@nxp.com>
33 Signed-off-by: Honghua Yin <Hong-Hua.Yin@freescale.com>
34 Signed-off-by: Horia Geantă <horia.geanta@nxp.com>
35 Signed-off-by: Hou Zhiqiang <Zhiqiang.Hou@nxp.com>
36 Signed-off-by: Ioana Radulescu <ruxandra.radulescu@nxp.com>
37 Signed-off-by: Iordache Florinel-R70177 <florinel.iordache@nxp.com>
38 Signed-off-by: Jagdish Gediya <jagdish.gediya@nxp.com>
39 Signed-off-by: jiaheng.fan <jiaheng.fan@nxp.com>
40 Signed-off-by: Laurentiu Tudor <laurentiu.tudor@nxp.com>
41 Signed-off-by: Li Yang <leoyang.li@nxp.com>
42 Signed-off-by: Madalin Bucur <madalin.bucur@nxp.com>
43 Signed-off-by: Mathew McBride <matt@traverse.com.au>
44 Signed-off-by: Nipun Gupta <nipun.gupta@nxp.com>
45 Signed-off-by: Pankaj Bansal <pankaj.bansal@nxp.com>
46 Signed-off-by: Pankaj Gupta <pankaj.gupta@nxp.com>
47 Signed-off-by: Peng Ma <peng.ma@nxp.com>
48 Signed-off-by: Po Liu <po.liu@nxp.com>
49 Signed-off-by: Prabhakar Kushwaha <prabhakar.kushwaha@nxp.com>
50 Signed-off-by: Pratiyush Mohan Srivastava <pratiyush.srivastava@nxp.com>
51 Signed-off-by: Priyanka Jain <priyanka.jain@nxp.com>
52 Signed-off-by: Raghav Dogra <raghav.dogra@nxp.com>
53 Signed-off-by: Rai Harninder <harninder.rai@nxp.com>
54 Signed-off-by: Ramneek Mehresh <ramneek.mehresh@nxp.com>
55 Signed-off-by: Ran Wang <ran.wang_1@nxp.com>
56 Signed-off-by: Roy Pledge <roy.pledge@nxp.com>
57 Signed-off-by: Sakar Arora <Sakar.Arora@freescale.com>
58 Signed-off-by: Santan Kumar <santan.kumar@nxp.com>
59 Signed-off-by: Scott Wood <oss@buserror.net>
60 Signed-off-by: Shaohui Xie <Shaohui.Xie@nxp.com>
61 Signed-off-by: Shawn Guo <shawnguo@kernel.org>
62 Signed-off-by: Sriram Dash <sriram.dash@nxp.com>
63 Signed-off-by: Sumit Garg <sumit.garg@nxp.com>
64 Signed-off-by: Suresh Gupta <suresh.gupta@nxp.com>
65 Signed-off-by: Tang Yuantian <andy.tang@nxp.com>
66 Signed-off-by: Tao Yang <b31903@freescale.com>
67 Signed-off-by: Vabhav Sharma <vabhav.sharma@nxp.com>
68 Signed-off-by: Vicentiu Galanopulo <vicentiu.galanopulo@nxp.com>
69 Signed-off-by: Vladimir Oltean <vladimir.oltean@nxp.com>
70 Signed-off-by: Wasim Khan <wasim.khan@nxp.com>
71 Signed-off-by: Xiaowei Bao <xiaowei.bao@nxp.com>
72 Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
73 Signed-off-by: Yinbo Zhu <yinbo.zhu@nxp.com>
74 Signed-off-by: Yogesh Gaur <yogeshnarayan.gaur@nxp.com>
75 Signed-off-by: Yuantian Tang <andy.tang@nxp.com>
76 Signed-off-by: Yuan Yao <yao.yuan@nxp.com>
77 Signed-off-by: Zhang Ying-22455 <ying.zhang22455@nxp.com>
78 Signed-off-by: Zhao Chenhui <chenhui.zhao@freescale.com>
79 Signed-off-by: Zhao Qiang <qiang.zhao@nxp.com>
80 ---
81 arch/arm/boot/dts/Makefile | 3 +-
82 arch/arm/boot/dts/imx25.dtsi | 4 +-
83 arch/arm/boot/dts/imx28.dtsi | 4 +-
84 arch/arm/boot/dts/imx35.dtsi | 4 +-
85 arch/arm/boot/dts/imx53.dtsi | 4 +-
86 arch/arm/boot/dts/ls1021a-iot.dts | 262 ++++
87 arch/arm/boot/dts/ls1021a-qds.dts | 32 +
88 arch/arm/boot/dts/ls1021a-twr.dts | 27 +
89 arch/arm/boot/dts/ls1021a.dtsi | 111 +-
90 arch/arm64/boot/dts/freescale/Makefile | 16 +-
91 .../boot/dts/freescale/fsl-ls1012a-2g5rdb.dts | 126 ++
92 .../boot/dts/freescale/fsl-ls1012a-frdm.dts | 97 +-
93 .../boot/dts/freescale/fsl-ls1012a-frwy.dts | 179 +++
94 .../boot/dts/freescale/fsl-ls1012a-qds.dts | 136 +-
95 .../boot/dts/freescale/fsl-ls1012a-rdb.dts | 100 +-
96 .../arm64/boot/dts/freescale/fsl-ls1012a.dtsi | 210 ++-
97 .../boot/dts/freescale/fsl-ls1043-post.dtsi | 3 +-
98 .../dts/freescale/fsl-ls1043a-qds-sdk.dts | 263 ++++
99 .../boot/dts/freescale/fsl-ls1043a-qds.dts | 206 ++-
100 .../dts/freescale/fsl-ls1043a-rdb-sdk.dts | 262 ++++
101 .../dts/freescale/fsl-ls1043a-rdb-usdpaa.dts | 140 ++
102 .../boot/dts/freescale/fsl-ls1043a-rdb.dts | 76 +-
103 .../arm64/boot/dts/freescale/fsl-ls1043a.dtsi | 382 +++--
104 .../boot/dts/freescale/fsl-ls1046-post.dtsi | 2 +-
105 .../dts/freescale/fsl-ls1046a-qds-sdk.dts | 268 ++++
106 .../boot/dts/freescale/fsl-ls1046a-qds.dts | 194 ++-
107 .../dts/freescale/fsl-ls1046a-rdb-sdk.dts | 307 ++++
108 .../dts/freescale/fsl-ls1046a-rdb-usdpaa.dts | 133 ++
109 .../boot/dts/freescale/fsl-ls1046a-rdb.dts | 48 +-
110 .../arm64/boot/dts/freescale/fsl-ls1046a.dtsi | 386 +++--
111 .../boot/dts/freescale/fsl-ls1088a-qds.dts | 88 +-
112 .../boot/dts/freescale/fsl-ls1088a-rdb.dts | 150 +-
113 .../arm64/boot/dts/freescale/fsl-ls1088a.dtsi | 546 ++++++-
114 .../boot/dts/freescale/fsl-ls2080a-qds.dts | 100 +-
115 .../boot/dts/freescale/fsl-ls2080a-rdb.dts | 118 +-
116 .../boot/dts/freescale/fsl-ls2080a-simu.dts | 38 +-
117 .../arm64/boot/dts/freescale/fsl-ls2080a.dtsi | 50 +-
118 .../boot/dts/freescale/fsl-ls2081a-rdb.dts | 163 ++
119 .../boot/dts/freescale/fsl-ls2088a-qds.dts | 158 +-
120 .../boot/dts/freescale/fsl-ls2088a-rdb.dts | 118 +-
121 .../arm64/boot/dts/freescale/fsl-ls2088a.dtsi | 52 +-
122 .../boot/dts/freescale/fsl-ls208xa-qds.dtsi | 43 +-
123 .../boot/dts/freescale/fsl-ls208xa-rdb.dtsi | 60 +-
124 .../arm64/boot/dts/freescale/fsl-ls208xa.dtsi | 299 ++--
125 .../boot/dts/freescale/fsl-lx2160a-qds.dts | 353 +++++
126 .../boot/dts/freescale/fsl-lx2160a-rdb.dts | 241 +++
127 .../arm64/boot/dts/freescale/fsl-lx2160a.dtsi | 1318 +++++++++++++++++
128 .../boot/dts/freescale/fsl-tmu-map1.dtsi | 99 ++
129 .../boot/dts/freescale/fsl-tmu-map2.dtsi | 99 ++
130 .../boot/dts/freescale/fsl-tmu-map3.dtsi | 99 ++
131 arch/arm64/boot/dts/freescale/fsl-tmu.dtsi | 251 ++++
132 .../dts/freescale/qoriq-bman-portals-sdk.dtsi | 55 +
133 .../dts/freescale/qoriq-bman-portals.dtsi | 8 +-
134 .../boot/dts/freescale/qoriq-dpaa-eth.dtsi | 97 ++
135 .../dts/freescale/qoriq-fman3-0-10g-0.dtsi | 11 +-
136 .../dts/freescale/qoriq-fman3-0-10g-1.dtsi | 11 +-
137 .../dts/freescale/qoriq-fman3-0-1g-0.dtsi | 7 +-
138 .../dts/freescale/qoriq-fman3-0-1g-1.dtsi | 7 +-
139 .../dts/freescale/qoriq-fman3-0-1g-2.dtsi | 7 +-
140 .../dts/freescale/qoriq-fman3-0-1g-3.dtsi | 7 +-
141 .../dts/freescale/qoriq-fman3-0-1g-4.dtsi | 7 +-
142 .../dts/freescale/qoriq-fman3-0-1g-5.dtsi | 7 +-
143 .../boot/dts/freescale/qoriq-fman3-0-6oh.dtsi | 47 +
144 .../boot/dts/freescale/qoriq-fman3-0.dtsi | 67 +-
145 .../dts/freescale/qoriq-qman-portals-sdk.dtsi | 38 +
146 .../dts/freescale/qoriq-qman-portals.dtsi | 9 +-
147 .../boot/dts/freescale/traverse-ls1043s.dts | 29 +
148 .../boot/dts/freescale/traverse-ls1043v.dts | 29 +
149 68 files changed, 7660 insertions(+), 1211 deletions(-)
150 create mode 100644 arch/arm/boot/dts/ls1021a-iot.dts
151 create mode 100644 arch/arm64/boot/dts/freescale/fsl-ls1012a-2g5rdb.dts
152 create mode 100644 arch/arm64/boot/dts/freescale/fsl-ls1012a-frwy.dts
153 create mode 100644 arch/arm64/boot/dts/freescale/fsl-ls1043a-qds-sdk.dts
154 create mode 100644 arch/arm64/boot/dts/freescale/fsl-ls1043a-rdb-sdk.dts
155 create mode 100644 arch/arm64/boot/dts/freescale/fsl-ls1043a-rdb-usdpaa.dts
156 create mode 100644 arch/arm64/boot/dts/freescale/fsl-ls1046a-qds-sdk.dts
157 create mode 100644 arch/arm64/boot/dts/freescale/fsl-ls1046a-rdb-sdk.dts
158 create mode 100644 arch/arm64/boot/dts/freescale/fsl-ls1046a-rdb-usdpaa.dts
159 create mode 100644 arch/arm64/boot/dts/freescale/fsl-ls2081a-rdb.dts
160 create mode 100644 arch/arm64/boot/dts/freescale/fsl-lx2160a-qds.dts
161 create mode 100644 arch/arm64/boot/dts/freescale/fsl-lx2160a-rdb.dts
162 create mode 100644 arch/arm64/boot/dts/freescale/fsl-lx2160a.dtsi
163 create mode 100644 arch/arm64/boot/dts/freescale/fsl-tmu-map1.dtsi
164 create mode 100644 arch/arm64/boot/dts/freescale/fsl-tmu-map2.dtsi
165 create mode 100644 arch/arm64/boot/dts/freescale/fsl-tmu-map3.dtsi
166 create mode 100644 arch/arm64/boot/dts/freescale/fsl-tmu.dtsi
167 create mode 100644 arch/arm64/boot/dts/freescale/qoriq-bman-portals-sdk.dtsi
168 create mode 100644 arch/arm64/boot/dts/freescale/qoriq-dpaa-eth.dtsi
169 create mode 100644 arch/arm64/boot/dts/freescale/qoriq-fman3-0-6oh.dtsi
170 create mode 100644 arch/arm64/boot/dts/freescale/qoriq-qman-portals-sdk.dtsi
171
172 --- a/arch/arm/boot/dts/Makefile
173 +++ b/arch/arm/boot/dts/Makefile
174 @@ -496,7 +496,8 @@ dtb-$(CONFIG_SOC_IMX7D) += \
175 imx7s-warp.dtb
176 dtb-$(CONFIG_SOC_LS1021A) += \
177 ls1021a-qds.dtb \
178 - ls1021a-twr.dtb
179 + ls1021a-twr.dtb \
180 + ls1021a-iot.dtb
181 dtb-$(CONFIG_SOC_VF610) += \
182 vf500-colibri-eval-v3.dtb \
183 vf610-colibri-eval-v3.dtb \
184 --- a/arch/arm/boot/dts/imx25.dtsi
185 +++ b/arch/arm/boot/dts/imx25.dtsi
186 @@ -122,7 +122,7 @@
187 };
188
189 can1: can@43f88000 {
190 - compatible = "fsl,imx25-flexcan", "fsl,p1010-flexcan";
191 + compatible = "fsl,imx25-flexcan";
192 reg = <0x43f88000 0x4000>;
193 interrupts = <43>;
194 clocks = <&clks 75>, <&clks 75>;
195 @@ -131,7 +131,7 @@
196 };
197
198 can2: can@43f8c000 {
199 - compatible = "fsl,imx25-flexcan", "fsl,p1010-flexcan";
200 + compatible = "fsl,imx25-flexcan";
201 reg = <0x43f8c000 0x4000>;
202 interrupts = <44>;
203 clocks = <&clks 76>, <&clks 76>;
204 --- a/arch/arm/boot/dts/imx28.dtsi
205 +++ b/arch/arm/boot/dts/imx28.dtsi
206 @@ -1038,7 +1038,7 @@
207 };
208
209 can0: can@80032000 {
210 - compatible = "fsl,imx28-flexcan", "fsl,p1010-flexcan";
211 + compatible = "fsl,imx28-flexcan";
212 reg = <0x80032000 0x2000>;
213 interrupts = <8>;
214 clocks = <&clks 58>, <&clks 58>;
215 @@ -1047,7 +1047,7 @@
216 };
217
218 can1: can@80034000 {
219 - compatible = "fsl,imx28-flexcan", "fsl,p1010-flexcan";
220 + compatible = "fsl,imx28-flexcan";
221 reg = <0x80034000 0x2000>;
222 interrupts = <9>;
223 clocks = <&clks 59>, <&clks 59>;
224 --- a/arch/arm/boot/dts/imx35.dtsi
225 +++ b/arch/arm/boot/dts/imx35.dtsi
226 @@ -303,7 +303,7 @@
227 };
228
229 can1: can@53fe4000 {
230 - compatible = "fsl,imx35-flexcan", "fsl,p1010-flexcan";
231 + compatible = "fsl,imx35-flexcan";
232 reg = <0x53fe4000 0x1000>;
233 clocks = <&clks 33>, <&clks 33>;
234 clock-names = "ipg", "per";
235 @@ -312,7 +312,7 @@
236 };
237
238 can2: can@53fe8000 {
239 - compatible = "fsl,imx35-flexcan", "fsl,p1010-flexcan";
240 + compatible = "fsl,imx35-flexcan";
241 reg = <0x53fe8000 0x1000>;
242 clocks = <&clks 34>, <&clks 34>;
243 clock-names = "ipg", "per";
244 --- a/arch/arm/boot/dts/imx53.dtsi
245 +++ b/arch/arm/boot/dts/imx53.dtsi
246 @@ -536,7 +536,7 @@
247 };
248
249 can1: can@53fc8000 {
250 - compatible = "fsl,imx53-flexcan", "fsl,p1010-flexcan";
251 + compatible = "fsl,imx53-flexcan";
252 reg = <0x53fc8000 0x4000>;
253 interrupts = <82>;
254 clocks = <&clks IMX5_CLK_CAN1_IPG_GATE>,
255 @@ -546,7 +546,7 @@
256 };
257
258 can2: can@53fcc000 {
259 - compatible = "fsl,imx53-flexcan", "fsl,p1010-flexcan";
260 + compatible = "fsl,imx53-flexcan";
261 reg = <0x53fcc000 0x4000>;
262 interrupts = <83>;
263 clocks = <&clks IMX5_CLK_CAN2_IPG_GATE>,
264 --- /dev/null
265 +++ b/arch/arm/boot/dts/ls1021a-iot.dts
266 @@ -0,0 +1,262 @@
267 +/*
268 + * Copyright 2013-2016 Freescale Semiconductor, Inc.
269 + *
270 + * This program is free software; you can redistribute it and/or modify
271 + * it under the terms of the GNU General Public License as published by
272 + * the Free Software Foundation; either version 2 of the License, or
273 + * (at your option) any later version.
274 + */
275 +
276 +/dts-v1/;
277 +#include "ls1021a.dtsi"
278 +
279 +/ {
280 + model = "LS1021A IOT Board";
281 +
282 + sys_mclk: clock-mclk {
283 + compatible = "fixed-clock";
284 + #clock-cells = <0>;
285 + clock-frequency = <24576000>;
286 + };
287 +
288 + regulators {
289 + compatible = "simple-bus";
290 + #address-cells = <1>;
291 + #size-cells = <0>;
292 +
293 + reg_3p3v: regulator@0 {
294 + compatible = "regulator-fixed";
295 + reg = <0>;
296 + regulator-name = "3P3V";
297 + regulator-min-microvolt = <3300000>;
298 + regulator-max-microvolt = <3300000>;
299 + regulator-always-on;
300 + };
301 +
302 + reg_2p5v: regulator@1 {
303 + compatible = "regulator-fixed";
304 + reg = <1>;
305 + regulator-name = "2P5V";
306 + regulator-min-microvolt = <2500000>;
307 + regulator-max-microvolt = <2500000>;
308 + regulator-always-on;
309 + };
310 + };
311 +
312 + sound {
313 + compatible = "simple-audio-card";
314 + simple-audio-card,format = "i2s";
315 + simple-audio-card,widgets =
316 + "Microphone", "Microphone Jack",
317 + "Headphone", "Headphone Jack",
318 + "Speaker", "Speaker Ext",
319 + "Line", "Line In Jack";
320 + simple-audio-card,routing =
321 + "MIC_IN", "Microphone Jack",
322 + "Microphone Jack", "Mic Bias",
323 + "LINE_IN", "Line In Jack",
324 + "Headphone Jack", "HP_OUT",
325 + "Speaker Ext", "LINE_OUT";
326 +
327 + simple-audio-card,cpu {
328 + sound-dai = <&sai2>;
329 + frame-master;
330 + bitclock-master;
331 + };
332 +
333 + simple-audio-card,codec {
334 + sound-dai = <&codec>;
335 + frame-master;
336 + bitclock-master;
337 + };
338 + };
339 +
340 + firmware {
341 + optee {
342 + compatible = "linaro,optee-tz";
343 + method = "smc";
344 + };
345 + };
346 +};
347 +
348 +&enet0 {
349 + tbi-handle = <&tbi1>;
350 + phy-handle = <&phy1>;
351 + phy-connection-type = "sgmii";
352 + status = "okay";
353 +};
354 +
355 +&enet1 {
356 + tbi-handle = <&tbi1>;
357 + phy-handle = <&phy3>;
358 + phy-connection-type = "sgmii";
359 + status = "okay";
360 +};
361 +
362 +&enet2 {
363 + fixed-link = <0 1 1000 0 0>;
364 + phy-connection-type = "rgmii-id";
365 + status = "okay";
366 +};
367 +
368 +&can0{
369 + status = "disabled";
370 +};
371 +
372 +&can1{
373 + status = "disabled";
374 +};
375 +
376 +&can2{
377 + status = "disabled";
378 +};
379 +
380 +&can3{
381 + status = "okay";
382 +};
383 +
384 +&esdhc{
385 + status = "okay";
386 +};
387 +
388 +&i2c0 {
389 + status = "okay";
390 +
391 + max1239@35 {
392 + compatible = "maxim,max1239";
393 + reg = <0x35>;
394 + #io-channel-cells = <1>;
395 + };
396 +
397 + codec: sgtl5000@2a {
398 + #sound-dai-cells=<0x0>;
399 + compatible = "fsl,sgtl5000";
400 + reg = <0x2a>;
401 + VDDA-supply = <&reg_3p3v>;
402 + VDDIO-supply = <&reg_2p5v>;
403 + clocks = <&sys_mclk 1>;
404 + };
405 +
406 + pca9555: pca9555@23 {
407 + compatible = "nxp,pca9555";
408 + /*pinctrl-names = "default";*/
409 + /*interrupt-parent = <&gpio2>;
410 + interrupts = <19 0x2>;*/
411 + gpio-controller;
412 + #gpio-cells = <2>;
413 + interrupt-controller;
414 + #interrupt-cells = <2>;
415 + reg = <0x23>;
416 + };
417 +
418 + ina220@44 {
419 + compatible = "ti,ina220";
420 + reg = <0x44>;
421 + shunt-resistor = <1000>;
422 + };
423 +
424 + ina220@45 {
425 + compatible = "ti,ina220";
426 + reg = <0x45>;
427 + shunt-resistor = <1000>;
428 + };
429 +
430 + lm75b@48 {
431 + compatible = "nxp,lm75a";
432 + reg = <0x48>;
433 + };
434 +
435 + adt7461a@4c {
436 + compatible = "adt7461a";
437 + reg = <0x4c>;
438 + };
439 +
440 + hdmi: sii9022a@39 {
441 + compatible = "fsl,sii902x";
442 + reg = <0x39>;
443 + interrupts = <GIC_SPI 163 IRQ_TYPE_EDGE_RISING>;
444 + };
445 +};
446 +
447 +&i2c1 {
448 + status = "disabled";
449 +};
450 +
451 +&ifc {
452 + status = "disabled";
453 +};
454 +
455 +&lpuart0 {
456 + status = "okay";
457 +};
458 +
459 +&mdio0 {
460 + phy0: ethernet-phy@0 {
461 + reg = <0x0>;
462 + };
463 + phy1: ethernet-phy@1 {
464 + reg = <0x1>;
465 + };
466 + phy2: ethernet-phy@2 {
467 + reg = <0x2>;
468 + };
469 + phy3: ethernet-phy@3 {
470 + reg = <0x3>;
471 + };
472 + tbi1: tbi-phy@1f {
473 + reg = <0x1f>;
474 + device_type = "tbi-phy";
475 + };
476 +};
477 +
478 +&qspi {
479 + num-cs = <2>;
480 + status = "okay";
481 +
482 + qflash0: s25fl128s@0 {
483 + compatible = "spansion,s25fl129p1";
484 + #address-cells = <1>;
485 + #size-cells = <1>;
486 + spi-max-frequency = <20000000>;
487 + reg = <0>;
488 + };
489 +};
490 +
491 +&sai2 {
492 + status = "okay";
493 +};
494 +
495 +&uart0 {
496 + status = "okay";
497 +};
498 +
499 +&uart1 {
500 + status = "okay";
501 +};
502 +
503 +&dcu {
504 + display = <&display>;
505 + status = "okay";
506 +
507 + display: display@0 {
508 + bits-per-pixel = <24>;
509 +
510 + display-timings {
511 + native-mode = <&timing0>;
512 +
513 + timing0: mode0 {
514 + clock-frequency = <25000000>;
515 + hactive = <640>;
516 + vactive = <480>;
517 + hback-porch = <80>;
518 + hfront-porch = <80>;
519 + vback-porch = <16>;
520 + vfront-porch = <16>;
521 + hsync-len = <12>;
522 + vsync-len = <2>;
523 + hsync-active = <1>;
524 + vsync-active = <1>;
525 + };
526 + };
527 + };
528 +};
529 --- a/arch/arm/boot/dts/ls1021a-qds.dts
530 +++ b/arch/arm/boot/dts/ls1021a-qds.dts
531 @@ -124,6 +124,21 @@
532 };
533 };
534
535 +&qspi {
536 + num-cs = <2>;
537 + status = "okay";
538 +
539 + qflash0: s25fl128s@0 {
540 + compatible = "spansion,m25p80";
541 + #address-cells = <1>;
542 + #size-cells = <1>;
543 + spi-max-frequency = <20000000>;
544 + reg = <0>;
545 + spi-rx-bus-width = <4>;
546 + spi-tx-bus-width = <4>;
547 + };
548 +};
549 +
550 &enet0 {
551 tbi-handle = <&tbi0>;
552 phy-handle = <&sgmii_phy1c>;
553 @@ -239,6 +254,11 @@
554 device-width = <1>;
555 };
556
557 + nand@2,0 {
558 + compatible = "fsl,ifc-nand";
559 + reg = <0x2 0x0 0x10000>;
560 + };
561 +
562 fpga: board-control@3,0 {
563 #address-cells = <1>;
564 #size-cells = <1>;
565 @@ -316,6 +336,10 @@
566 };
567 };
568
569 +&esdhc {
570 + status = "okay";
571 +};
572 +
573 &sai2 {
574 status = "okay";
575 };
576 @@ -331,3 +355,11 @@
577 &uart1 {
578 status = "okay";
579 };
580 +
581 +&can0 {
582 + status = "okay";
583 +};
584 +
585 +&can1 {
586 + status = "okay";
587 +};
588 --- a/arch/arm/boot/dts/ls1021a-twr.dts
589 +++ b/arch/arm/boot/dts/ls1021a-twr.dts
590 @@ -142,6 +142,21 @@
591 };
592 };
593
594 +&qspi {
595 + num-cs = <2>;
596 + status = "okay";
597 +
598 + qflash0: n25q128a13@0 {
599 + compatible = "n25q128a13", "jedec,spi-nor";
600 + #address-cells = <1>;
601 + #size-cells = <1>;
602 + spi-max-frequency = <20000000>;
603 + reg = <0>;
604 + spi-rx-bus-width = <4>;
605 + spi-tx-bus-width = <4>;
606 + };
607 +};
608 +
609 &enet0 {
610 tbi-handle = <&tbi0>;
611 phy-handle = <&sgmii_phy2>;
612 @@ -235,6 +250,10 @@
613 };
614 };
615
616 +&esdhc {
617 + status = "okay";
618 +};
619 +
620 &sai1 {
621 status = "okay";
622 };
623 @@ -250,3 +269,11 @@
624 &uart1 {
625 status = "okay";
626 };
627 +
628 +&can0 {
629 + status = "okay";
630 +};
631 +
632 +&can1 {
633 + status = "okay";
634 +};
635 --- a/arch/arm/boot/dts/ls1021a.dtsi
636 +++ b/arch/arm/boot/dts/ls1021a.dtsi
637 @@ -146,12 +146,13 @@
638 ifc: ifc@1530000 {
639 compatible = "fsl,ifc", "simple-bus";
640 reg = <0x0 0x1530000 0x0 0x10000>;
641 + big-endian;
642 interrupts = <GIC_SPI 75 IRQ_TYPE_LEVEL_HIGH>;
643 };
644
645 dcfg: dcfg@1ee0000 {
646 compatible = "fsl,ls1021a-dcfg", "syscon";
647 - reg = <0x0 0x1ee0000 0x0 0x10000>;
648 + reg = <0x0 0x1ee0000 0x0 0x1000>;
649 big-endian;
650 };
651
652 @@ -334,25 +335,44 @@
653 status = "disabled";
654 };
655
656 + qspi: quadspi@1550000 {
657 + compatible = "fsl,ls1021a-qspi";
658 + #address-cells = <1>;
659 + #size-cells = <0>;
660 + reg = <0x0 0x1550000 0x0 0x10000>,
661 + <0x0 0x40000000 0x0 0x4000000>;
662 + reg-names = "QuadSPI", "QuadSPI-memory";
663 + interrupts = <GIC_SPI 131 IRQ_TYPE_LEVEL_HIGH>;
664 + clock-names = "qspi_en", "qspi";
665 + clocks = <&clockgen 4 1>, <&clockgen 4 1>;
666 + big-endian;
667 + status = "disabled";
668 + };
669 +
670 i2c0: i2c@2180000 {
671 - compatible = "fsl,vf610-i2c";
672 + compatible = "fsl,vf610-i2c", "fsl,ls1021a-vf610-i2c";
673 #address-cells = <1>;
674 #size-cells = <0>;
675 reg = <0x0 0x2180000 0x0 0x10000>;
676 interrupts = <GIC_SPI 88 IRQ_TYPE_LEVEL_HIGH>;
677 clock-names = "i2c";
678 clocks = <&clockgen 4 1>;
679 + dma-names = "tx", "rx";
680 + dmas = <&edma0 1 39>,
681 + <&edma0 1 38>;
682 + fsl-scl-gpio = <&gpio3 23 0>;
683 status = "disabled";
684 };
685
686 i2c1: i2c@2190000 {
687 - compatible = "fsl,vf610-i2c";
688 + compatible = "fsl,vf610-i2c", "fsl,ls1021a-vf610-i2c";
689 #address-cells = <1>;
690 #size-cells = <0>;
691 reg = <0x0 0x2190000 0x0 0x10000>;
692 interrupts = <GIC_SPI 89 IRQ_TYPE_LEVEL_HIGH>;
693 clock-names = "i2c";
694 clocks = <&clockgen 4 1>;
695 + fsl-scl-gpio = <&gpio3 23 0>;
696 status = "disabled";
697 };
698
699 @@ -497,6 +517,17 @@
700 status = "disabled";
701 };
702
703 + ftm0: ftm0@29d0000 {
704 + compatible = "fsl,ls1021a-ftm-alarm";
705 + reg = <0x0 0x29d0000 0x0 0x10000>,
706 + <0x0 0x1ee2144 0x0 0x4>,
707 + <0x0 0x0157051c 0x0 0x4>;
708 + reg-names = "ftm", "pmctrl", "scrachpad";
709 + interrupts = <GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH>;
710 + big-endian;
711 + status = "okay";
712 + };
713 +
714 wdog0: watchdog@2ad0000 {
715 compatible = "fsl,imx21-wdt";
716 reg = <0x0 0x2ad0000 0x0 0x10000>;
717 @@ -550,6 +581,25 @@
718 <&clockgen 4 1>;
719 };
720
721 + qdma: qdma@8390000 {
722 + compatible = "fsl,ls1021a-qdma";
723 + reg = <0x0 0x8388000 0x0 0x1000>, /* Controller regs */
724 + <0x0 0x8389000 0x0 0x1000>, /* Status regs */
725 + <0x0 0x838a000 0x0 0x2000>; /* Block regs */
726 + interrupts = <GIC_SPI 185 IRQ_TYPE_LEVEL_HIGH>,
727 + <GIC_SPI 76 IRQ_TYPE_LEVEL_HIGH>,
728 + <GIC_SPI 77 IRQ_TYPE_LEVEL_HIGH>;
729 + interrupt-names = "qdma-error",
730 + "qdma-queue0", "qdma-queue1";
731 + channels = <8>;
732 + block-number = <2>;
733 + block-offset = <0x1000>;
734 + queues = <2>;
735 + status-sizes = <64>;
736 + queue-sizes = <64 64>;
737 + big-endian;
738 + };
739 +
740 dcu: dcu@2ce0000 {
741 compatible = "fsl,ls1021a-dcu";
742 reg = <0x0 0x2ce0000 0x0 0x10000>;
743 @@ -693,6 +743,11 @@
744 dr_mode = "host";
745 snps,quirk-frame-length-adjustment = <0x20>;
746 snps,dis_rxdet_inp3_quirk;
747 + configure-gfladj;
748 + usb3-lpm-capable;
749 + snps,dis-u1u2-when-u3-quirk;
750 + snps,incr-burst-type-adjustment = <1>, <4>, <8>, <16>;
751 + snps,host-vbus-glitches;
752 };
753
754 pcie@3400000 {
755 @@ -700,7 +755,9 @@
756 reg = <0x00 0x03400000 0x0 0x00010000 /* controller registers */
757 0x40 0x00000000 0x0 0x00002000>; /* configuration space */
758 reg-names = "regs", "config";
759 - interrupts = <GIC_SPI 177 IRQ_TYPE_LEVEL_HIGH>; /* controller interrupt */
760 + interrupts = <GIC_SPI 181 IRQ_TYPE_LEVEL_HIGH>,
761 + <GIC_SPI 183 IRQ_TYPE_LEVEL_HIGH>; /* aer interrupt */
762 + interrupt-names = "pme", "aer";
763 fsl,pcie-scfg = <&scfg 0>;
764 #address-cells = <3>;
765 #size-cells = <2>;
766 @@ -716,6 +773,7 @@
767 <0000 0 0 2 &gic GIC_SPI 188 IRQ_TYPE_LEVEL_HIGH>,
768 <0000 0 0 3 &gic GIC_SPI 190 IRQ_TYPE_LEVEL_HIGH>,
769 <0000 0 0 4 &gic GIC_SPI 192 IRQ_TYPE_LEVEL_HIGH>;
770 + status = "disabled";
771 };
772
773 pcie@3500000 {
774 @@ -723,7 +781,9 @@
775 reg = <0x00 0x03500000 0x0 0x00010000 /* controller registers */
776 0x48 0x00000000 0x0 0x00002000>; /* configuration space */
777 reg-names = "regs", "config";
778 - interrupts = <GIC_SPI 178 IRQ_TYPE_LEVEL_HIGH>;
779 + interrupts = <GIC_SPI 182 IRQ_TYPE_LEVEL_HIGH>,
780 + <GIC_SPI 184 IRQ_TYPE_LEVEL_HIGH>; /* aer interrupt */
781 + interrupt-names = "pme", "aer";
782 fsl,pcie-scfg = <&scfg 1>;
783 #address-cells = <3>;
784 #size-cells = <2>;
785 @@ -739,6 +799,47 @@
786 <0000 0 0 2 &gic GIC_SPI 189 IRQ_TYPE_LEVEL_HIGH>,
787 <0000 0 0 3 &gic GIC_SPI 191 IRQ_TYPE_LEVEL_HIGH>,
788 <0000 0 0 4 &gic GIC_SPI 193 IRQ_TYPE_LEVEL_HIGH>;
789 + status = "disabled";
790 + };
791 +
792 + can0: can@2a70000 {
793 + compatible = "fsl,ls1021ar2-flexcan";
794 + reg = <0x0 0x2a70000 0x0 0x1000>;
795 + interrupts = <GIC_SPI 126 IRQ_TYPE_LEVEL_HIGH>;
796 + clocks = <&clockgen 4 1>, <&clockgen 4 1>;
797 + clock-names = "ipg", "per";
798 + big-endian;
799 + status = "disabled";
800 + };
801 +
802 + can1: can@2a80000 {
803 + compatible = "fsl,ls1021ar2-flexcan";
804 + reg = <0x0 0x2a80000 0x0 0x1000>;
805 + interrupts = <GIC_SPI 127 IRQ_TYPE_LEVEL_HIGH>;
806 + clocks = <&clockgen 4 1>, <&clockgen 4 1>;
807 + clock-names = "ipg", "per";
808 + big-endian;
809 + status = "disabled";
810 + };
811 +
812 + can2: can@2a90000 {
813 + compatible = "fsl,ls1021ar2-flexcan";
814 + reg = <0x0 0x2a90000 0x0 0x1000>;
815 + interrupts = <GIC_SPI 128 IRQ_TYPE_LEVEL_HIGH>;
816 + clocks = <&clockgen 4 1>, <&clockgen 4 1>;
817 + clock-names = "ipg", "per";
818 + big-endian;
819 + status = "disabled";
820 + };
821 +
822 + can3: can@2aa0000 {
823 + compatible = "fsl,ls1021ar2-flexcan";
824 + reg = <0x0 0x2aa0000 0x0 0x1000>;
825 + interrupts = <GIC_SPI 129 IRQ_TYPE_LEVEL_HIGH>;
826 + clocks = <&clockgen 4 1>, <&clockgen 4 1>;
827 + clock-names = "ipg", "per";
828 + big-endian;
829 + status = "disabled";
830 };
831 };
832 };
833 --- a/arch/arm64/boot/dts/freescale/Makefile
834 +++ b/arch/arm64/boot/dts/freescale/Makefile
835 @@ -1,19 +1,33 @@
836 # SPDX-License-Identifier: GPL-2.0
837 dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1012a-frdm.dtb
838 +dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1012a-frwy.dtb
839 dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1012a-qds.dtb
840 dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1012a-rdb.dtb
841 +dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1012a-2g5rdb.dtb
842 dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1043a-qds.dtb
843 +dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1043a-qds-sdk.dtb
844 dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1043a-rdb.dtb
845 +dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1043a-rdb-sdk.dtb
846 +dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1043a-rdb-usdpaa.dtb
847 dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1046a-qds.dtb
848 +dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1046a-qds-sdk.dtb
849 dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1046a-rdb.dtb
850 +dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1046a-rdb-sdk.dtb
851 +dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1046a-rdb-usdpaa.dtb
852 dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1088a-qds.dtb
853 dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1088a-rdb.dtb
854 dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls2080a-qds.dtb
855 dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls2080a-rdb.dtb
856 +dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls2081a-rdb.dtb
857 dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls2080a-simu.dtb
858 dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls2088a-qds.dtb
859 dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls2088a-rdb.dtb
860 -
861 +dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-lx2160a-qds.dtb
862 +dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-lx2160a-rdb.dtb
863 +
864 +dtb-$(CONFIG_ARCH_LAYERSCAPE) += traverse-ls1043v.dtb
865 +dtb-$(CONFIG_ARCH_LAYERSCAPE) += traverse-ls1043s.dtb
866 +
867 always := $(dtb-y)
868 subdir-y := $(dts-dirs)
869 clean-files := *.dtb
870 --- /dev/null
871 +++ b/arch/arm64/boot/dts/freescale/fsl-ls1012a-2g5rdb.dts
872 @@ -0,0 +1,126 @@
873 +/*
874 + * Device Tree file for NXP LS1012A 2G5RDB Board.
875 + *
876 + * Copyright 2017 NXP
877 + *
878 + * Bhaskar Upadhaya <bhaskar.upadhaya@nxp.com>
879 + *
880 + * This file is dual-licensed: you can use it either under the terms
881 + * of the GPLv2 or the X11 license, at your option. Note that this dual
882 + * licensing only applies to this file, and not this project as a
883 + * whole.
884 + *
885 + * a) This library is free software; you can redistribute it and/or
886 + * modify it under the terms of the GNU General Public License as
887 + * published by the Free Software Foundation; either version 2 of the
888 + * License, or (at your option) any later version.
889 + *
890 + * This library is distributed in the hope that it will be useful,
891 + * but WITHOUT ANY WARRANTY; without even the implied warranty of
892 + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
893 + * GNU General Public License for more details.
894 + *
895 + * Or, alternatively,
896 + *
897 + * b) Permission is hereby granted, free of charge, to any person
898 + * obtaining a copy of this software and associated documentation
899 + * files (the "Software"), to deal in the Software without
900 + * restriction, including without limitation the rights to use,
901 + * copy, modify, merge, publish, distribute, sublicense, and/or
902 + * sell copies of the Software, and to permit persons to whom the
903 + * Software is furnished to do so, subject to the following
904 + * conditions:
905 + *
906 + * The above copyright notice and this permission notice shall be
907 + * included in all copies or substantial portions of the Software.
908 + *
909 + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
910 + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
911 + * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
912 + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
913 + * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
914 + * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
915 + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
916 + * OTHER DEALINGS IN THE SOFTWARE.
917 + */
918 +/dts-v1/;
919 +
920 +#include "fsl-ls1012a.dtsi"
921 +
922 +/ {
923 + model = "LS1012A 2G5RDB Board";
924 + compatible = "fsl,ls1012a-rdb", "fsl,ls1012a";
925 +
926 + aliases {
927 + ethernet0 = &pfe_mac0;
928 + ethernet1 = &pfe_mac1;
929 + };
930 +};
931 +
932 +&duart0 {
933 + status = "okay";
934 +};
935 +
936 +&i2c0 {
937 + status = "okay";
938 +};
939 +
940 +&qspi {
941 + num-cs = <2>;
942 + bus-num = <0>;
943 + status = "okay";
944 +
945 + qflash0: s25fs512s@0 {
946 + compatible = "spansion,m25p80";
947 + #address-cells = <1>;
948 + #size-cells = <1>;
949 + spi-max-frequency = <20000000>;
950 + m25p,fast-read;
951 + reg = <0>;
952 + };
953 +};
954 +
955 +&sata {
956 + status = "okay";
957 +};
958 +
959 +&pfe {
960 + status = "okay";
961 + #address-cells = <1>;
962 + #size-cells = <0>;
963 +
964 + pfe_mac0: ethernet@0 {
965 + compatible = "fsl,pfe-gemac-port";
966 + #address-cells = <1>;
967 + #size-cells = <0>;
968 + reg = <0x0>; /* GEM_ID */
969 + fsl,mdio-mux-val = <0x0>;
970 + phy-mode = "sgmii-2500";
971 + phy-handle = <&sgmii_phy1>;
972 + };
973 +
974 + pfe_mac1: ethernet@1 {
975 + compatible = "fsl,pfe-gemac-port";
976 + #address-cells = <1>;
977 + #size-cells = <0>;
978 + reg = <0x1>; /* GEM_ID */
979 + fsl,mdio-mux-val = <0x0>;
980 + phy-mode = "sgmii-2500";
981 + phy-handle = <&sgmii_phy2>;
982 + };
983 +
984 + mdio@0 {
985 + #address-cells = <1>;
986 + #size-cells = <0>;
987 +
988 + sgmii_phy1: ethernet-phy@1 {
989 + compatible = "ethernet-phy-ieee802.3-c45";
990 + reg = <0x1>;
991 + };
992 +
993 + sgmii_phy2: ethernet-phy@2 {
994 + compatible = "ethernet-phy-ieee802.3-c45";
995 + reg = <0x2>;
996 + };
997 + };
998 +};
999 --- a/arch/arm64/boot/dts/freescale/fsl-ls1012a-frdm.dts
1000 +++ b/arch/arm64/boot/dts/freescale/fsl-ls1012a-frdm.dts
1001 @@ -1,45 +1,9 @@
1002 +// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
1003 /*
1004 * Device Tree file for Freescale LS1012A Freedom Board.
1005 *
1006 * Copyright 2016 Freescale Semiconductor, Inc.
1007 *
1008 - * This file is dual-licensed: you can use it either under the terms
1009 - * of the GPLv2 or the X11 license, at your option. Note that this dual
1010 - * licensing only applies to this file, and not this project as a
1011 - * whole.
1012 - *
1013 - * a) This library is free software; you can redistribute it and/or
1014 - * modify it under the terms of the GNU General Public License as
1015 - * published by the Free Software Foundation; either version 2 of the
1016 - * License, or (at your option) any later version.
1017 - *
1018 - * This library is distributed in the hope that it will be useful,
1019 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
1020 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
1021 - * GNU General Public License for more details.
1022 - *
1023 - * Or, alternatively,
1024 - *
1025 - * b) Permission is hereby granted, free of charge, to any person
1026 - * obtaining a copy of this software and associated documentation
1027 - * files (the "Software"), to deal in the Software without
1028 - * restriction, including without limitation the rights to use,
1029 - * copy, modify, merge, publish, distribute, sublicense, and/or
1030 - * sell copies of the Software, and to permit persons to whom the
1031 - * Software is furnished to do so, subject to the following
1032 - * conditions:
1033 - *
1034 - * The above copyright notice and this permission notice shall be
1035 - * included in all copies or substantial portions of the Software.
1036 - *
1037 - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
1038 - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
1039 - * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
1040 - * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
1041 - * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
1042 - * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
1043 - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
1044 - * OTHER DEALINGS IN THE SOFTWARE.
1045 */
1046 /dts-v1/;
1047
1048 @@ -49,6 +13,11 @@
1049 model = "LS1012A Freedom Board";
1050 compatible = "fsl,ls1012a-frdm", "fsl,ls1012a";
1051
1052 + aliases {
1053 + ethernet0 = &pfe_mac0;
1054 + ethernet1 = &pfe_mac1;
1055 + };
1056 +
1057 sys_mclk: clock-mclk {
1058 compatible = "fixed-clock";
1059 #clock-cells = <0>;
1060 @@ -110,6 +79,45 @@
1061 };
1062 };
1063
1064 +&pfe {
1065 + status = "okay";
1066 + #address-cells = <1>;
1067 + #size-cells = <0>;
1068 +
1069 + pfe_mac0: ethernet@0 {
1070 + compatible = "fsl,pfe-gemac-port";
1071 + #address-cells = <1>;
1072 + #size-cells = <0>;
1073 + reg = <0x0>; /* GEM_ID */
1074 + fsl,mdio-mux-val = <0x0>;
1075 + phy-mode = "sgmii";
1076 + phy-handle = <&sgmii_phy1>;
1077 + };
1078 +
1079 + pfe_mac1: ethernet@1 {
1080 + compatible = "fsl,pfe-gemac-port";
1081 + #address-cells = <1>;
1082 + #size-cells = <0>;
1083 + reg = <0x1>; /* GEM_ID */
1084 + fsl,mdio-mux-val = <0x0>;
1085 + phy-mode = "sgmii";
1086 + phy-handle = <&sgmii_phy2>;
1087 + };
1088 +
1089 + mdio@0 {
1090 + #address-cells = <1>;
1091 + #size-cells = <0>;
1092 +
1093 + sgmii_phy1: ethernet-phy@2 {
1094 + reg = <0x2>;
1095 + };
1096 +
1097 + sgmii_phy2: ethernet-phy@1 {
1098 + reg = <0x1>;
1099 + };
1100 + };
1101 +};
1102 +
1103 &sai2 {
1104 status = "okay";
1105 };
1106 @@ -117,3 +125,18 @@
1107 &sata {
1108 status = "okay";
1109 };
1110 +
1111 +&qspi {
1112 + status = "okay";
1113 + qflash0: s25fs512s@0 {
1114 + compatible = "spansion,m25p80";
1115 + #address-cells = <1>;
1116 + #size-cells = <1>;
1117 + spi-max-frequency = <20000000>;
1118 + m25p,fast-read;
1119 + reg = <0>;
1120 + spi-rx-bus-width = <2>;
1121 + spi-tx-bus-width = <2>;
1122 + };
1123 +
1124 +};
1125 --- /dev/null
1126 +++ b/arch/arm64/boot/dts/freescale/fsl-ls1012a-frwy.dts
1127 @@ -0,0 +1,179 @@
1128 +/*
1129 + * Device Tree file for NXP LS1012A FRWY Board.
1130 + *
1131 + * Copyright 2018 NXP
1132 + *
1133 + * This file is dual-licensed: you can use it either under the terms
1134 + * of the GPLv2 or the X11 license, at your option. Note that this dual
1135 + * licensing only applies to this file, and not this project as a
1136 + * whole.
1137 + *
1138 + * a) This library is free software; you can redistribute it and/or
1139 + * modify it under the terms of the GNU General Public License as
1140 + * published by the Free Software Foundation; either version 2 of the
1141 + * License, or (at your option) any later version.
1142 + *
1143 + * This library is distributed in the hope that it will be useful,
1144 + * but WITHOUT ANY WARRANTY; without even the implied warranty of
1145 + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
1146 + * GNU General Public License for more details.
1147 + *
1148 + * Or, alternatively,
1149 + *
1150 + * b) Permission is hereby granted, free of charge, to any person
1151 + * obtaining a copy of this software and associated documentation
1152 + * files (the "Software"), to deal in the Software without
1153 + * restriction, including without limitation the rights to use,
1154 + * copy, modify, merge, publish, distribute, sublicense, and/or
1155 + * sell copies of the Software, and to permit persons to whom the
1156 + * Software is furnished to do so, subject to the following
1157 + * conditions:
1158 + *
1159 + * The above copyright notice and this permission notice shall be
1160 + * included in all copies or substantial portions of the Software.
1161 + *
1162 + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
1163 + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
1164 + * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
1165 + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
1166 + * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
1167 + * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
1168 + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
1169 + * OTHER DEALINGS IN THE SOFTWARE.
1170 + */
1171 +/dts-v1/;
1172 +
1173 +#include "fsl-ls1012a.dtsi"
1174 +
1175 +/ {
1176 + model = "LS1012A FRWY Board";
1177 + compatible = "fsl,ls1012a-frwy", "fsl,ls1012a";
1178 +
1179 + aliases {
1180 + ethernet0 = &pfe_mac0;
1181 + ethernet1 = &pfe_mac1;
1182 + };
1183 +
1184 + sys_mclk: clock-mclk {
1185 + compatible = "fixed-clock";
1186 + #clock-cells = <0>;
1187 + clock-frequency = <25000000>;
1188 + };
1189 +
1190 + reg_1p8v: regulator-1p8v {
1191 + compatible = "regulator-fixed";
1192 + regulator-name = "1P8V";
1193 + regulator-min-microvolt = <1800000>;
1194 + regulator-max-microvolt = <1800000>;
1195 + regulator-always-on;
1196 + };
1197 +
1198 + sound {
1199 + compatible = "simple-audio-card";
1200 + simple-audio-card,format = "i2s";
1201 + simple-audio-card,widgets =
1202 + "Microphone", "Microphone Jack",
1203 + "Headphone", "Headphone Jack",
1204 + "Speaker", "Speaker Ext",
1205 + "Line", "Line In Jack";
1206 + simple-audio-card,routing =
1207 + "MIC_IN", "Microphone Jack",
1208 + "Microphone Jack", "Mic Bias",
1209 + "LINE_IN", "Line In Jack",
1210 + "Headphone Jack", "HP_OUT",
1211 + "Speaker Ext", "LINE_OUT";
1212 +
1213 + simple-audio-card,cpu {
1214 + sound-dai = <&sai2>;
1215 + frame-master;
1216 + bitclock-master;
1217 + };
1218 +
1219 + simple-audio-card,codec {
1220 + sound-dai = <&codec>;
1221 + frame-master;
1222 + bitclock-master;
1223 + system-clock-frequency = <25000000>;
1224 + };
1225 + };
1226 +};
1227 +
1228 +&pcie {
1229 + status = "okay";
1230 +};
1231 +
1232 +&duart0 {
1233 + status = "okay";
1234 +};
1235 +
1236 +&i2c0 {
1237 + status = "okay";
1238 +
1239 + codec: sgtl5000@a {
1240 + compatible = "fsl,sgtl5000";
1241 + #sound-dai-cells = <0>;
1242 + reg = <0xa>;
1243 + VDDA-supply = <&reg_1p8v>;
1244 + VDDIO-supply = <&reg_1p8v>;
1245 + clocks = <&sys_mclk>;
1246 + };
1247 +};
1248 +
1249 +&qspi {
1250 + num-cs = <1>;
1251 + bus-num = <0>;
1252 + status = "okay";
1253 +
1254 + qflash0: w25q16dw@0 {
1255 + compatible = "spansion,m25p80";
1256 + #address-cells = <1>;
1257 + #size-cells = <1>;
1258 + m25p,fast-read;
1259 + spi-max-frequency = <20000000>;
1260 + reg = <0>;
1261 + };
1262 +};
1263 +
1264 +&pfe {
1265 + status = "okay";
1266 + #address-cells = <1>;
1267 + #size-cells = <0>;
1268 +
1269 + pfe_mac0: ethernet@0 {
1270 + compatible = "fsl,pfe-gemac-port";
1271 + #address-cells = <1>;
1272 + #size-cells = <0>;
1273 + reg = <0x0>; /* GEM_ID */
1274 + fsl,gemac-bus-id = <0x0>; /* BUS_ID */
1275 + fsl,mdio-mux-val = <0x0>;
1276 + phy-mode = "sgmii";
1277 + phy-handle = <&sgmii_phy1>;
1278 + };
1279 +
1280 + pfe_mac1: ethernet@1 {
1281 + compatible = "fsl,pfe-gemac-port";
1282 + #address-cells = <1>;
1283 + #size-cells = <0>;
1284 + reg = <0x1>; /* GEM_ID */
1285 + fsl,mdio-mux-val = <0x0>;
1286 + phy-mode = "sgmii";
1287 + phy-handle = <&sgmii_phy2>;
1288 + };
1289 +
1290 + mdio@0 {
1291 + #address-cells = <1>;
1292 + #size-cells = <0>;
1293 +
1294 + sgmii_phy1: ethernet-phy@2 {
1295 + reg = <0x2>;
1296 + };
1297 +
1298 + sgmii_phy2: ethernet-phy@1 {
1299 + reg = <0x1>;
1300 + };
1301 + };
1302 +};
1303 +
1304 +&sai2 {
1305 + status = "okay";
1306 +};
1307 --- a/arch/arm64/boot/dts/freescale/fsl-ls1012a-qds.dts
1308 +++ b/arch/arm64/boot/dts/freescale/fsl-ls1012a-qds.dts
1309 @@ -1,45 +1,9 @@
1310 +// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
1311 /*
1312 * Device Tree file for Freescale LS1012A QDS Board.
1313 *
1314 * Copyright 2016 Freescale Semiconductor, Inc.
1315 *
1316 - * This file is dual-licensed: you can use it either under the terms
1317 - * of the GPLv2 or the X11 license, at your option. Note that this dual
1318 - * licensing only applies to this file, and not this project as a
1319 - * whole.
1320 - *
1321 - * a) This library is free software; you can redistribute it and/or
1322 - * modify it under the terms of the GNU General Public License as
1323 - * published by the Free Software Foundation; either version 2 of the
1324 - * License, or (at your option) any later version.
1325 - *
1326 - * This library is distributed in the hope that it will be useful,
1327 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
1328 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
1329 - * GNU General Public License for more details.
1330 - *
1331 - * Or, alternatively,
1332 - *
1333 - * b) Permission is hereby granted, free of charge, to any person
1334 - * obtaining a copy of this software and associated documentation
1335 - * files (the "Software"), to deal in the Software without
1336 - * restriction, including without limitation the rights to use,
1337 - * copy, modify, merge, publish, distribute, sublicense, and/or
1338 - * sell copies of the Software, and to permit persons to whom the
1339 - * Software is furnished to do so, subject to the following
1340 - * conditions:
1341 - *
1342 - * The above copyright notice and this permission notice shall be
1343 - * included in all copies or substantial portions of the Software.
1344 - *
1345 - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
1346 - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
1347 - * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
1348 - * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
1349 - * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
1350 - * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
1351 - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
1352 - * OTHER DEALINGS IN THE SOFTWARE.
1353 */
1354 /dts-v1/;
1355
1356 @@ -49,6 +13,11 @@
1357 model = "LS1012A QDS Board";
1358 compatible = "fsl,ls1012a-qds", "fsl,ls1012a";
1359
1360 + aliases {
1361 + ethernet0 = &pfe_mac0;
1362 + ethernet1 = &pfe_mac1;
1363 + };
1364 +
1365 sys_mclk: clock-mclk {
1366 compatible = "fixed-clock";
1367 #clock-cells = <0>;
1368 @@ -93,6 +62,43 @@
1369 };
1370 };
1371
1372 +&pcie {
1373 + status = "okay";
1374 +};
1375 +
1376 +&dspi {
1377 + bus-num = <0>;
1378 + status = "okay";
1379 +
1380 + flash@0 {
1381 + #address-cells = <1>;
1382 + #size-cells = <1>;
1383 + compatible = "n25q128a11", "jedec,spi-nor";
1384 + reg = <0>;
1385 + spi-max-frequency = <10000000>;
1386 + };
1387 +
1388 + flash@1 {
1389 + #address-cells = <1>;
1390 + #size-cells = <1>;
1391 + compatible = "sst25wf040b", "jedec,spi-nor";
1392 + spi-cpol;
1393 + spi-cpha;
1394 + reg = <1>;
1395 + spi-max-frequency = <10000000>;
1396 + };
1397 +
1398 + flash@2 {
1399 + #address-cells = <1>;
1400 + #size-cells = <1>;
1401 + compatible = "en25s64", "jedec,spi-nor";
1402 + spi-cpol;
1403 + spi-cpha;
1404 + reg = <2>;
1405 + spi-max-frequency = <10000000>;
1406 + };
1407 +};
1408 +
1409 &duart0 {
1410 status = "okay";
1411 };
1412 @@ -131,6 +137,47 @@
1413 };
1414 };
1415
1416 +&pfe {
1417 + status = "okay";
1418 + #address-cells = <1>;
1419 + #size-cells = <0>;
1420 +
1421 + pfe_mac0: ethernet@0 {
1422 + compatible = "fsl,pfe-gemac-port";
1423 + #address-cells = <1>;
1424 + #size-cells = <0>;
1425 + reg = <0x0>; /* GEM_ID */
1426 + fsl,mdio-mux-val = <0x2>;
1427 + phy-mode = "sgmii-2500";
1428 + phy-handle = <&sgmii_phy1>;
1429 + };
1430 +
1431 + pfe_mac1: ethernet@1 {
1432 + compatible = "fsl,pfe-gemac-port";
1433 + #address-cells = <1>;
1434 + #size-cells = <0>;
1435 + reg = <0x1>; /* GEM_ID */
1436 + fsl,mdio-mux-val = <0x3>;
1437 + phy-mode = "sgmii-2500";
1438 + phy-handle = <&sgmii_phy2>;
1439 + };
1440 +
1441 + mdio@0 {
1442 + #address-cells = <1>;
1443 + #size-cells = <0>;
1444 +
1445 + sgmii_phy1: ethernet-phy@1 {
1446 + compatible = "ethernet-phy-ieee802.3-c45";
1447 + reg = <0x1>;
1448 + };
1449 +
1450 + sgmii_phy2: ethernet-phy@2 {
1451 + compatible = "ethernet-phy-ieee802.3-c45";
1452 + reg = <0x2>;
1453 + };
1454 + };
1455 +};
1456 +
1457 &sai2 {
1458 status = "okay";
1459 };
1460 @@ -138,3 +185,18 @@
1461 &sata {
1462 status = "okay";
1463 };
1464 +
1465 +&qspi {
1466 + status = "okay";
1467 + qflash0: s25fs512s@0 {
1468 + compatible = "spansion,m25p80";
1469 + #address-cells = <1>;
1470 + #size-cells = <1>;
1471 + spi-max-frequency = <20000000>;
1472 + m25p,fast-read;
1473 + reg = <0>;
1474 + spi-rx-bus-width = <2>;
1475 + spi-tx-bus-width = <2>;
1476 + };
1477 +
1478 +};
1479 --- a/arch/arm64/boot/dts/freescale/fsl-ls1012a-rdb.dts
1480 +++ b/arch/arm64/boot/dts/freescale/fsl-ls1012a-rdb.dts
1481 @@ -1,45 +1,9 @@
1482 +// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
1483 /*
1484 * Device Tree file for Freescale LS1012A RDB Board.
1485 *
1486 * Copyright 2016 Freescale Semiconductor, Inc.
1487 *
1488 - * This file is dual-licensed: you can use it either under the terms
1489 - * of the GPLv2 or the X11 license, at your option. Note that this dual
1490 - * licensing only applies to this file, and not this project as a
1491 - * whole.
1492 - *
1493 - * a) This library is free software; you can redistribute it and/or
1494 - * modify it under the terms of the GNU General Public License as
1495 - * published by the Free Software Foundation; either version 2 of the
1496 - * License, or (at your option) any later version.
1497 - *
1498 - * This library is distributed in the hope that it will be useful,
1499 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
1500 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
1501 - * GNU General Public License for more details.
1502 - *
1503 - * Or, alternatively,
1504 - *
1505 - * b) Permission is hereby granted, free of charge, to any person
1506 - * obtaining a copy of this software and associated documentation
1507 - * files (the "Software"), to deal in the Software without
1508 - * restriction, including without limitation the rights to use,
1509 - * copy, modify, merge, publish, distribute, sublicense, and/or
1510 - * sell copies of the Software, and to permit persons to whom the
1511 - * Software is furnished to do so, subject to the following
1512 - * conditions:
1513 - *
1514 - * The above copyright notice and this permission notice shall be
1515 - * included in all copies or substantial portions of the Software.
1516 - *
1517 - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
1518 - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
1519 - * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
1520 - * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
1521 - * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
1522 - * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
1523 - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
1524 - * OTHER DEALINGS IN THE SOFTWARE.
1525 */
1526 /dts-v1/;
1527
1528 @@ -48,6 +12,15 @@
1529 / {
1530 model = "LS1012A RDB Board";
1531 compatible = "fsl,ls1012a-rdb", "fsl,ls1012a";
1532 +
1533 + aliases {
1534 + ethernet0 = &pfe_mac0;
1535 + ethernet1 = &pfe_mac1;
1536 + };
1537 +};
1538 +
1539 +&pcie {
1540 + status = "okay";
1541 };
1542
1543 &duart0 {
1544 @@ -74,3 +47,56 @@
1545 &sata {
1546 status = "okay";
1547 };
1548 +
1549 +&pfe {
1550 + status = "okay";
1551 + #address-cells = <1>;
1552 + #size-cells = <0>;
1553 +
1554 + pfe_mac0: ethernet@0 {
1555 + compatible = "fsl,pfe-gemac-port";
1556 + #address-cells = <1>;
1557 + #size-cells = <0>;
1558 + reg = <0x0>; /* GEM_ID */
1559 + fsl,mdio-mux-val = <0x0>;
1560 + phy-mode = "sgmii";
1561 + phy-handle = <&sgmii_phy>;
1562 + };
1563 +
1564 + pfe_mac1: ethernet@1 {
1565 + compatible = "fsl,pfe-gemac-port";
1566 + #address-cells = <1>;
1567 + #size-cells = <0>;
1568 + reg = <0x1>; /* GEM_ID */
1569 + fsl,mdio-mux-val = <0x0>;
1570 + phy-mode = "rgmii-txid";
1571 + phy-handle = <&rgmii_phy>;
1572 + };
1573 + mdio@0 {
1574 + #address-cells = <1>;
1575 + #size-cells = <0>;
1576 +
1577 + sgmii_phy: ethernet-phy@2 {
1578 + reg = <0x2>;
1579 + };
1580 +
1581 + rgmii_phy: ethernet-phy@1 {
1582 + reg = <0x1>;
1583 + };
1584 + };
1585 +};
1586 +
1587 +&qspi {
1588 + status = "okay";
1589 + qflash0: s25fs512s@0 {
1590 + compatible = "spansion,m25p80";
1591 + #address-cells = <1>;
1592 + #size-cells = <1>;
1593 + spi-max-frequency = <20000000>;
1594 + m25p,fast-read;
1595 + reg = <0>;
1596 + spi-rx-bus-width = <2>;
1597 + spi-tx-bus-width = <2>;
1598 + };
1599 +
1600 +};
1601 --- a/arch/arm64/boot/dts/freescale/fsl-ls1012a.dtsi
1602 +++ b/arch/arm64/boot/dts/freescale/fsl-ls1012a.dtsi
1603 @@ -1,45 +1,9 @@
1604 +// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
1605 /*
1606 * Device Tree Include file for Freescale Layerscape-1012A family SoC.
1607 *
1608 * Copyright 2016 Freescale Semiconductor, Inc.
1609 *
1610 - * This file is dual-licensed: you can use it either under the terms
1611 - * of the GPLv2 or the X11 license, at your option. Note that this dual
1612 - * licensing only applies to this file, and not this project as a
1613 - * whole.
1614 - *
1615 - * a) This library is free software; you can redistribute it and/or
1616 - * modify it under the terms of the GNU General Public License as
1617 - * published by the Free Software Foundation; either version 2 of the
1618 - * License, or (at your option) any later version.
1619 - *
1620 - * This library is distributed in the hope that it will be useful,
1621 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
1622 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
1623 - * GNU General Public License for more details.
1624 - *
1625 - * Or, alternatively,
1626 - *
1627 - * b) Permission is hereby granted, free of charge, to any person
1628 - * obtaining a copy of this software and associated documentation
1629 - * files (the "Software"), to deal in the Software without
1630 - * restriction, including without limitation the rights to use,
1631 - * copy, modify, merge, publish, distribute, sublicense, and/or
1632 - * sell copies of the Software, and to permit persons to whom the
1633 - * Software is furnished to do so, subject to the following
1634 - * conditions:
1635 - *
1636 - * The above copyright notice and this permission notice shall be
1637 - * included in all copies or substantial portions of the Software.
1638 - *
1639 - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
1640 - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
1641 - * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
1642 - * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
1643 - * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
1644 - * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
1645 - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
1646 - * OTHER DEALINGS IN THE SOFTWARE.
1647 */
1648
1649 #include <dt-bindings/interrupt-controller/arm-gic.h>
1650 @@ -64,12 +28,30 @@
1651 #address-cells = <1>;
1652 #size-cells = <0>;
1653
1654 - cpu0: cpu@0 {
1655 + cooling_map0: cpu0: cpu@0 {
1656 device_type = "cpu";
1657 compatible = "arm,cortex-a53";
1658 reg = <0x0>;
1659 clocks = <&clockgen 1 0>;
1660 #cooling-cells = <2>;
1661 + cpu-idle-states = <&CPU_PH20>;
1662 + };
1663 + };
1664 +
1665 + idle-states {
1666 + /*
1667 + * PSCI node is not added default, U-boot will add missing
1668 + * parts if it determines to use PSCI.
1669 + */
1670 + entry-method = "arm,psci";
1671 +
1672 + CPU_PH20: cpu-ph20 {
1673 + compatible = "arm,idle-state";
1674 + idle-state-name = "PH20";
1675 + arm,psci-suspend-param = <0x0>;
1676 + entry-latency-us = <1000>;
1677 + exit-latency-us = <1000>;
1678 + min-residency-us = <3000>;
1679 };
1680 };
1681
1682 @@ -247,7 +229,7 @@
1683 dcfg: dcfg@1ee0000 {
1684 compatible = "fsl,ls1012a-dcfg",
1685 "syscon";
1686 - reg = <0x0 0x1ee0000 0x0 0x10000>;
1687 + reg = <0x0 0x1ee0000 0x0 0x1000>;
1688 big-endian;
1689 };
1690
1691 @@ -304,44 +286,25 @@
1692 #thermal-sensor-cells = <1>;
1693 };
1694
1695 - thermal-zones {
1696 - cpu_thermal: cpu-thermal {
1697 - polling-delay-passive = <1000>;
1698 - polling-delay = <5000>;
1699 - thermal-sensors = <&tmu 0>;
1700 -
1701 - trips {
1702 - cpu_alert: cpu-alert {
1703 - temperature = <85000>;
1704 - hysteresis = <2000>;
1705 - type = "passive";
1706 - };
1707 -
1708 - cpu_crit: cpu-crit {
1709 - temperature = <95000>;
1710 - hysteresis = <2000>;
1711 - type = "critical";
1712 - };
1713 - };
1714 + #include "fsl-tmu.dtsi"
1715
1716 - cooling-maps {
1717 - map0 {
1718 - trip = <&cpu_alert>;
1719 - cooling-device =
1720 - <&cpu0 THERMAL_NO_LIMIT
1721 - THERMAL_NO_LIMIT>;
1722 - };
1723 - };
1724 - };
1725 + ftm0: ftm0@29d0000 {
1726 + compatible = "fsl,ls1012a-ftm-alarm";
1727 + reg = <0x0 0x29d0000 0x0 0x10000>,
1728 + <0x0 0x1ee2140 0x0 0x4>;
1729 + reg-names = "ftm", "pmctrl";
1730 + interrupts = <0 86 0x4>;
1731 + big-endian;
1732 };
1733
1734 i2c0: i2c@2180000 {
1735 - compatible = "fsl,vf610-i2c";
1736 + compatible = "fsl,vf610-i2c", "fsl,ls1012a-vf610-i2c";
1737 #address-cells = <1>;
1738 #size-cells = <0>;
1739 reg = <0x0 0x2180000 0x0 0x10000>;
1740 interrupts = <0 56 IRQ_TYPE_LEVEL_HIGH>;
1741 - clocks = <&clockgen 4 0>;
1742 + clocks = <&clockgen 4 3>;
1743 + scl-gpios = <&gpio0 13 0>;
1744 status = "disabled";
1745 };
1746
1747 @@ -351,7 +314,20 @@
1748 #size-cells = <0>;
1749 reg = <0x0 0x2190000 0x0 0x10000>;
1750 interrupts = <0 57 IRQ_TYPE_LEVEL_HIGH>;
1751 + clocks = <&clockgen 4 3>;
1752 + status = "disabled";
1753 + };
1754 +
1755 + dspi: dspi@2100000 {
1756 + compatible = "fsl,ls1012a-dspi", "fsl,ls1021a-v1.0-dspi";
1757 + #address-cells = <1>;
1758 + #size-cells = <0>;
1759 + reg = <0x0 0x2100000 0x0 0x10000>;
1760 + interrupts = <0 64 IRQ_TYPE_LEVEL_HIGH>;
1761 + clock-names = "dspi";
1762 clocks = <&clockgen 4 0>;
1763 + spi-num-chipselects = <5>;
1764 + big-endian;
1765 status = "disabled";
1766 };
1767
1768 @@ -400,6 +376,20 @@
1769 big-endian;
1770 };
1771
1772 + qspi: quadspi@1550000 {
1773 + compatible = "fsl,ls1012a-qspi", "fsl,ls1021a-qspi";
1774 + #address-cells = <1>;
1775 + #size-cells = <0>;
1776 + reg = <0x0 0x1550000 0x0 0x10000>,
1777 + <0x0 0x40000000 0x0 0x10000000>;
1778 + reg-names = "QuadSPI", "QuadSPI-memory";
1779 + interrupts = <0 99 IRQ_TYPE_LEVEL_HIGH>;
1780 + clock-names = "qspi_en", "qspi";
1781 + clocks = <&clockgen 4 0>, <&clockgen 4 0>;
1782 + big-endian;
1783 + status = "disabled";
1784 + };
1785 +
1786 sai1: sai@2b50000 {
1787 #sound-dai-cells = <0>;
1788 compatible = "fsl,vf610-sai";
1789 @@ -451,6 +441,8 @@
1790 dr_mode = "host";
1791 snps,quirk-frame-length-adjustment = <0x20>;
1792 snps,dis_rxdet_inp3_quirk;
1793 + snps,incr-burst-type-adjustment = <1>, <4>, <8>, <16>;
1794 + snps,host-vbus-glitches;
1795 };
1796
1797 sata: sata@3200000 {
1798 @@ -471,5 +463,85 @@
1799 dr_mode = "host";
1800 phy_type = "ulpi";
1801 };
1802 +
1803 + msi: msi-controller1@1572000 {
1804 + compatible = "fsl,ls1012a-msi";
1805 + reg = <0x0 0x1572000 0x0 0x8>;
1806 + msi-controller;
1807 + interrupts = <0 126 IRQ_TYPE_LEVEL_HIGH>;
1808 + };
1809 +
1810 + pcie: pcie@3400000 {
1811 + compatible = "fsl,ls1012a-pcie", "snps,dw-pcie";
1812 + reg = <0x00 0x03400000 0x0 0x00100000 /* controller registers */
1813 + 0x40 0x00000000 0x0 0x00002000>; /* configuration space */
1814 + reg-names = "regs", "config";
1815 + interrupts = <0 118 0x4>, /* AER interrupt */
1816 + <0 117 0x4>; /* PME interrupt */
1817 + interrupt-names = "aer", "pme";
1818 + #address-cells = <3>;
1819 + #size-cells = <2>;
1820 + device_type = "pci";
1821 + num-lanes = <4>;
1822 + bus-range = <0x0 0xff>;
1823 + ranges = <0x81000000 0x0 0x00000000 0x40 0x00010000 0x0 0x00010000 /* downstream I/O */
1824 + 0x82000000 0x0 0x40000000 0x40 0x40000000 0x0 0x40000000>; /* non-prefetchable memory */
1825 + msi-parent = <&msi>;
1826 + #interrupt-cells = <1>;
1827 + interrupt-map-mask = <0 0 0 7>;
1828 + interrupt-map = <0000 0 0 1 &gic 0 110 IRQ_TYPE_LEVEL_HIGH>,
1829 + <0000 0 0 2 &gic 0 111 IRQ_TYPE_LEVEL_HIGH>,
1830 + <0000 0 0 3 &gic 0 112 IRQ_TYPE_LEVEL_HIGH>,
1831 + <0000 0 0 4 &gic 0 113 IRQ_TYPE_LEVEL_HIGH>;
1832 + status = "disabled";
1833 + };
1834 +
1835 + rcpm: rcpm@1ee2000 {
1836 + compatible = "fsl,ls1012a-rcpm", "fsl,qoriq-rcpm-2.1";
1837 + reg = <0x0 0x1ee2000 0x0 0x1000>;
1838 + fsl,#rcpm-wakeup-cells = <1>;
1839 + };
1840 + };
1841 +
1842 + reserved-memory {
1843 + #address-cells = <2>;
1844 + #size-cells = <2>;
1845 + ranges;
1846 +
1847 + pfe_reserved: packetbuffer@83400000 {
1848 + reg = <0 0x83400000 0 0xc00000>;
1849 + };
1850 + };
1851 +
1852 + pfe: pfe@04000000 {
1853 + compatible = "fsl,pfe";
1854 + reg = <0x0 0x04000000 0x0 0xc00000>, /* AXI 16M */
1855 + <0x0 0x83400000 0x0 0xc00000>; /* PFE DDR 12M */
1856 + reg-names = "pfe", "pfe-ddr";
1857 + fsl,pfe-num-interfaces = <0x2>;
1858 + interrupts = <0 172 0x4>, /* HIF interrupt */
1859 + <0 173 0x4>, /*HIF_NOCPY interrupt */
1860 + <0 174 0x4>; /* WoL interrupt */
1861 + interrupt-names = "pfe_hif", "pfe_hif_nocpy", "pfe_wol";
1862 + memory-region = <&pfe_reserved>;
1863 + fsl,pfe-scfg = <&scfg 0>;
1864 + fsl,rcpm-wakeup = <&rcpm 0xf0000020>;
1865 + clocks = <&clockgen 4 0>;
1866 + clock-names = "pfe";
1867 +
1868 + status = "okay";
1869 + };
1870 +
1871 + firmware {
1872 + optee {
1873 + compatible = "linaro,optee-tz";
1874 + method = "smc";
1875 + };
1876 + };
1877 +};
1878 +
1879 +&thermal_zones {
1880 + thermal-zone0 {
1881 + status = "okay";
1882 };
1883 };
1884 --- a/arch/arm64/boot/dts/freescale/fsl-ls1043-post.dtsi
1885 +++ b/arch/arm64/boot/dts/freescale/fsl-ls1043-post.dtsi
1886 @@ -1,9 +1,8 @@
1887 +// SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)
1888 /*
1889 * QorIQ FMan v3 device tree nodes for ls1043
1890 *
1891 * Copyright 2015-2016 Freescale Semiconductor Inc.
1892 - *
1893 - * SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)
1894 */
1895
1896 &soc {
1897 --- /dev/null
1898 +++ b/arch/arm64/boot/dts/freescale/fsl-ls1043a-qds-sdk.dts
1899 @@ -0,0 +1,263 @@
1900 +/*
1901 + * Device Tree Include file for Freescale Layerscape-1043A family SoC.
1902 + *
1903 + * Copyright 2014-2015 Freescale Semiconductor, Inc.
1904 + *
1905 + * Mingkai Hu <Mingkai.hu@freescale.com>
1906 + *
1907 + * This file is dual-licensed: you can use it either under the terms
1908 + * of the GPLv2 or the X11 license, at your option. Note that this dual
1909 + * licensing only applies to this file, and not this project as a
1910 + * whole.
1911 + *
1912 + * a) This library is free software; you can redistribute it and/or
1913 + * modify it under the terms of the GNU General Public License as
1914 + * published by the Free Software Foundation; either version 2 of the
1915 + * License, or (at your option) any later version.
1916 + *
1917 + * This library is distributed in the hope that it will be useful,
1918 + * but WITHOUT ANY WARRANTY; without even the implied warranty of
1919 + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
1920 + * GNU General Public License for more details.
1921 + *
1922 + * Or, alternatively,
1923 + *
1924 + * b) Permission is hereby granted, free of charge, to any person
1925 + * obtaining a copy of this software and associated documentation
1926 + * files (the "Software"), to deal in the Software without
1927 + * restriction, including without limitation the rights to use,
1928 + * copy, modify, merge, publish, distribute, sublicense, and/or
1929 + * sell copies of the Software, and to permit persons to whom the
1930 + * Software is furnished to do so, subject to the following
1931 + * conditions:
1932 + *
1933 + * The above copyright notice and this permission notice shall be
1934 + * included in all copies or substantial portions of the Software.
1935 + *
1936 + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
1937 + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
1938 + * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
1939 + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
1940 + * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
1941 + * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
1942 + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
1943 + * OTHER DEALINGS IN THE SOFTWARE.
1944 + */
1945 +
1946 +#include "fsl-ls1043a-qds.dts"
1947 +#include "qoriq-qman-portals-sdk.dtsi"
1948 +#include "qoriq-bman-portals-sdk.dtsi"
1949 +
1950 +&bman_fbpr {
1951 + compatible = "fsl,bman-fbpr";
1952 + alloc-ranges = <0 0 0x10000 0>;
1953 +};
1954 +&qman_fqd {
1955 + compatible = "fsl,qman-fqd";
1956 + alloc-ranges = <0 0 0x10000 0>;
1957 +};
1958 +&qman_pfdr {
1959 + compatible = "fsl,qman-pfdr";
1960 + alloc-ranges = <0 0 0x10000 0>;
1961 +};
1962 +
1963 +&soc {
1964 +/delete-property/ dma-coherent;
1965 +
1966 +#include "qoriq-dpaa-eth.dtsi"
1967 +#include "qoriq-fman3-0-6oh.dtsi"
1968 +
1969 +pcie@3400000 {
1970 + /delete-property/ iommu-map;
1971 + dma-coherent;
1972 +};
1973 +
1974 +pcie@3500000 {
1975 + /delete-property/ iommu-map;
1976 + dma-coherent;
1977 +};
1978 +
1979 +pcie@3600000 {
1980 + /delete-property/ iommu-map;
1981 + dma-coherent;
1982 +};
1983 +
1984 +/delete-node/ iommu@9000000;
1985 +};
1986 +
1987 +&fman0 {
1988 + compatible = "fsl,fman", "simple-bus";
1989 + dma-coherent;
1990 +};
1991 +
1992 +&clockgen {
1993 + dma-coherent;
1994 +};
1995 +
1996 +&scfg {
1997 + dma-coherent;
1998 +};
1999 +
2000 +&crypto {
2001 + dma-coherent;
2002 +};
2003 +
2004 +&dcfg {
2005 + dma-coherent;
2006 +};
2007 +
2008 +&ifc {
2009 + dma-coherent;
2010 +};
2011 +
2012 +&qspi {
2013 + dma-coherent;
2014 +};
2015 +
2016 +&esdhc {
2017 + dma-coherent;
2018 +};
2019 +
2020 +&ddr {
2021 + dma-coherent;
2022 +};
2023 +
2024 +&tmu {
2025 + dma-coherent;
2026 +};
2027 +
2028 +&qman {
2029 + dma-coherent;
2030 +};
2031 +
2032 +&bman {
2033 + dma-coherent;
2034 +};
2035 +
2036 +&bportals {
2037 + dma-coherent;
2038 +};
2039 +
2040 +&qportals {
2041 + dma-coherent;
2042 +};
2043 +
2044 +&dspi0 {
2045 + dma-coherent;
2046 +};
2047 +
2048 +&dspi1 {
2049 + dma-coherent;
2050 +};
2051 +
2052 +&i2c0 {
2053 + dma-coherent;
2054 +};
2055 +
2056 +&i2c1 {
2057 + dma-coherent;
2058 +};
2059 +
2060 +&i2c2 {
2061 + dma-coherent;
2062 +};
2063 +
2064 +&i2c3 {
2065 + dma-coherent;
2066 +};
2067 +
2068 +&duart0 {
2069 + dma-coherent;
2070 +};
2071 +
2072 +&duart1 {
2073 + dma-coherent;
2074 +};
2075 +
2076 +&duart2 {
2077 + dma-coherent;
2078 +};
2079 +
2080 +&duart3 {
2081 + dma-coherent;
2082 +};
2083 +
2084 +&gpio1 {
2085 + dma-coherent;
2086 +};
2087 +
2088 +&gpio2 {
2089 + dma-coherent;
2090 +};
2091 +
2092 +&gpio3 {
2093 + dma-coherent;
2094 +};
2095 +
2096 +&gpio4 {
2097 + dma-coherent;
2098 +};
2099 +
2100 +&uqe {
2101 + dma-coherent;
2102 +};
2103 +
2104 +&lpuart0 {
2105 + dma-coherent;
2106 +};
2107 +
2108 +&lpuart1 {
2109 + dma-coherent;
2110 +};
2111 +
2112 +&lpuart2 {
2113 + dma-coherent;
2114 +};
2115 +
2116 +&lpuart3 {
2117 + dma-coherent;
2118 +};
2119 +
2120 +&lpuart4 {
2121 + dma-coherent;
2122 +};
2123 +
2124 +&lpuart5 {
2125 + dma-coherent;
2126 +};
2127 +
2128 +&ftm0 {
2129 + dma-coherent;
2130 +};
2131 +
2132 +&wdog0 {
2133 + dma-coherent;
2134 +};
2135 +
2136 +&edma0 {
2137 + dma-coherent;
2138 +};
2139 +
2140 +&qdma {
2141 + dma-coherent;
2142 +};
2143 +
2144 +&msi1 {
2145 + dma-coherent;
2146 +};
2147 +
2148 +&msi2 {
2149 + dma-coherent;
2150 +};
2151 +
2152 +&msi3 {
2153 + dma-coherent;
2154 +};
2155 +
2156 +&ptp_timer0 {
2157 + dma-coherent;
2158 +};
2159 +
2160 +&fsldpaa {
2161 + dma-coherent;
2162 +};
2163 --- a/arch/arm64/boot/dts/freescale/fsl-ls1043a-qds.dts
2164 +++ b/arch/arm64/boot/dts/freescale/fsl-ls1043a-qds.dts
2165 @@ -1,47 +1,10 @@
2166 +// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2167 /*
2168 * Device Tree Include file for Freescale Layerscape-1043A family SoC.
2169 *
2170 * Copyright 2014-2015 Freescale Semiconductor, Inc.
2171 *
2172 * Mingkai Hu <Mingkai.hu@freescale.com>
2173 - *
2174 - * This file is dual-licensed: you can use it either under the terms
2175 - * of the GPLv2 or the X11 license, at your option. Note that this dual
2176 - * licensing only applies to this file, and not this project as a
2177 - * whole.
2178 - *
2179 - * a) This library is free software; you can redistribute it and/or
2180 - * modify it under the terms of the GNU General Public License as
2181 - * published by the Free Software Foundation; either version 2 of the
2182 - * License, or (at your option) any later version.
2183 - *
2184 - * This library is distributed in the hope that it will be useful,
2185 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
2186 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
2187 - * GNU General Public License for more details.
2188 - *
2189 - * Or, alternatively,
2190 - *
2191 - * b) Permission is hereby granted, free of charge, to any person
2192 - * obtaining a copy of this software and associated documentation
2193 - * files (the "Software"), to deal in the Software without
2194 - * restriction, including without limitation the rights to use,
2195 - * copy, modify, merge, publish, distribute, sublicense, and/or
2196 - * sell copies of the Software, and to permit persons to whom the
2197 - * Software is furnished to do so, subject to the following
2198 - * conditions:
2199 - *
2200 - * The above copyright notice and this permission notice shall be
2201 - * included in all copies or substantial portions of the Software.
2202 - *
2203 - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
2204 - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
2205 - * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
2206 - * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
2207 - * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
2208 - * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
2209 - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
2210 - * OTHER DEALINGS IN THE SOFTWARE.
2211 */
2212
2213 /dts-v1/;
2214 @@ -60,6 +23,22 @@
2215 serial1 = &duart1;
2216 serial2 = &duart2;
2217 serial3 = &duart3;
2218 + sgmii_riser_s1_p1 = &sgmii_phy_s1_p1;
2219 + sgmii_riser_s2_p1 = &sgmii_phy_s2_p1;
2220 + sgmii_riser_s3_p1 = &sgmii_phy_s3_p1;
2221 + sgmii_riser_s4_p1 = &sgmii_phy_s4_p1;
2222 + qsgmii_s1_p1 = &qsgmii_phy_s1_p1;
2223 + qsgmii_s1_p2 = &qsgmii_phy_s1_p2;
2224 + qsgmii_s1_p3 = &qsgmii_phy_s1_p3;
2225 + qsgmii_s1_p4 = &qsgmii_phy_s1_p4;
2226 + qsgmii_s2_p1 = &qsgmii_phy_s2_p1;
2227 + qsgmii_s2_p2 = &qsgmii_phy_s2_p2;
2228 + qsgmii_s2_p3 = &qsgmii_phy_s2_p3;
2229 + qsgmii_s2_p4 = &qsgmii_phy_s2_p4;
2230 + emi1_slot1 = &ls1043mdio_s1;
2231 + emi1_slot2 = &ls1043mdio_s2;
2232 + emi1_slot3 = &ls1043mdio_s3;
2233 + emi1_slot4 = &ls1043mdio_s4;
2234 };
2235
2236 chosen {
2237 @@ -97,8 +76,11 @@
2238 };
2239
2240 fpga: board-control@2,0 {
2241 - compatible = "fsl,ls1043aqds-fpga", "fsl,fpga-qixis";
2242 + compatible = "fsl,ls1043aqds-fpga", "fsl,fpga-qixis", "simple-bus";
2243 reg = <0x2 0x0 0x0000100>;
2244 + #address-cells = <1>;
2245 + #size-cells = <1>;
2246 + ranges = <0 2 0 0x100>;
2247 };
2248 };
2249
2250 @@ -179,7 +161,153 @@
2251 #size-cells = <1>;
2252 spi-max-frequency = <20000000>;
2253 reg = <0>;
2254 + spi-rx-bus-width = <4>;
2255 + spi-tx-bus-width = <4>;
2256 };
2257 };
2258
2259 #include "fsl-ls1043-post.dtsi"
2260 +
2261 +&fman0 {
2262 + ethernet@e0000 {
2263 + phy-handle = <&qsgmii_phy_s2_p1>;
2264 + phy-connection-type = "sgmii";
2265 + };
2266 +
2267 + ethernet@e2000 {
2268 + phy-handle = <&qsgmii_phy_s2_p2>;
2269 + phy-connection-type = "sgmii";
2270 + };
2271 +
2272 + ethernet@e4000 {
2273 + phy-handle = <&rgmii_phy1>;
2274 + phy-connection-type = "rgmii";
2275 + };
2276 +
2277 + ethernet@e6000 {
2278 + phy-handle = <&rgmii_phy2>;
2279 + phy-connection-type = "rgmii";
2280 + };
2281 +
2282 + ethernet@e8000 {
2283 + phy-handle = <&qsgmii_phy_s2_p3>;
2284 + phy-connection-type = "sgmii";
2285 + };
2286 +
2287 + ethernet@ea000 {
2288 + phy-handle = <&qsgmii_phy_s2_p4>;
2289 + phy-connection-type = "sgmii";
2290 + };
2291 +
2292 + ethernet@f0000 { /* DTSEC9/10GEC1 */
2293 + fixed-link = <1 1 10000 0 0>;
2294 + phy-connection-type = "xgmii";
2295 + };
2296 +};
2297 +
2298 +&fpga {
2299 + mdio-mux-emi1 {
2300 + compatible = "mdio-mux-mmioreg", "mdio-mux";
2301 + mdio-parent-bus = <&mdio0>;
2302 + #address-cells = <1>;
2303 + #size-cells = <0>;
2304 + reg = <0x54 1>; /* BRDCFG4 */
2305 + mux-mask = <0xe0>; /* EMI1 */
2306 +
2307 + /* On-board RGMII1 PHY */
2308 + ls1043mdio0: mdio@0 {
2309 + reg = <0>;
2310 + #address-cells = <1>;
2311 + #size-cells = <0>;
2312 +
2313 + rgmii_phy1: ethernet-phy@1 { /* MAC3 */
2314 + reg = <0x1>;
2315 + };
2316 + };
2317 +
2318 + /* On-board RGMII2 PHY */
2319 + ls1043mdio1: mdio@1 {
2320 + reg = <0x20>;
2321 + #address-cells = <1>;
2322 + #size-cells = <0>;
2323 +
2324 + rgmii_phy2: ethernet-phy@2 { /* MAC4 */
2325 + reg = <0x2>;
2326 + };
2327 + };
2328 +
2329 + /* Slot 1 */
2330 + ls1043mdio_s1: mdio@2 {
2331 + reg = <0x40>;
2332 + #address-cells = <1>;
2333 + #size-cells = <0>;
2334 + status = "disabled";
2335 +
2336 + qsgmii_phy_s1_p1: ethernet-phy@4 {
2337 + reg = <0x4>;
2338 + };
2339 + qsgmii_phy_s1_p2: ethernet-phy@5 {
2340 + reg = <0x5>;
2341 + };
2342 + qsgmii_phy_s1_p3: ethernet-phy@6 {
2343 + reg = <0x6>;
2344 + };
2345 + qsgmii_phy_s1_p4: ethernet-phy@7 {
2346 + reg = <0x7>;
2347 + };
2348 +
2349 + sgmii_phy_s1_p1: ethernet-phy@1c {
2350 + reg = <0x1c>;
2351 + };
2352 + };
2353 +
2354 + /* Slot 2 */
2355 + ls1043mdio_s2: mdio@3 {
2356 + reg = <0x60>;
2357 + #address-cells = <1>;
2358 + #size-cells = <0>;
2359 + status = "disabled";
2360 +
2361 + qsgmii_phy_s2_p1: ethernet-phy@8 {
2362 + reg = <0x8>;
2363 + };
2364 + qsgmii_phy_s2_p2: ethernet-phy@9 {
2365 + reg = <0x9>;
2366 + };
2367 + qsgmii_phy_s2_p3: ethernet-phy@a {
2368 + reg = <0xa>;
2369 + };
2370 + qsgmii_phy_s2_p4: ethernet-phy@b {
2371 + reg = <0xb>;
2372 + };
2373 +
2374 + sgmii_phy_s2_p1: ethernet-phy@1c {
2375 + reg = <0x1c>;
2376 + };
2377 + };
2378 +
2379 + /* Slot 3 */
2380 + ls1043mdio_s3: mdio@4 {
2381 + reg = <0x80>;
2382 + #address-cells = <1>;
2383 + #size-cells = <0>;
2384 + status = "disabled";
2385 +
2386 + sgmii_phy_s3_p1: ethernet-phy@1c {
2387 + reg = <0x1c>;
2388 + };
2389 + };
2390 +
2391 + /* Slot 4 */
2392 + ls1043mdio_s4: mdio@5 {
2393 + reg = <0xa0>;
2394 + #address-cells = <1>;
2395 + #size-cells = <0>;
2396 + status = "disabled";
2397 +
2398 + sgmii_phy_s4_p1: ethernet-phy@1c {
2399 + reg = <0x1c>;
2400 + };
2401 + };
2402 + };
2403 +};
2404 --- /dev/null
2405 +++ b/arch/arm64/boot/dts/freescale/fsl-ls1043a-rdb-sdk.dts
2406 @@ -0,0 +1,262 @@
2407 +/*
2408 + * Device Tree Include file for Freescale Layerscape-1043A family SoC.
2409 + *
2410 + * Copyright 2014-2015 Freescale Semiconductor, Inc.
2411 + *
2412 + * Mingkai Hu <Mingkai.hu@freescale.com>
2413 + *
2414 + * This file is dual-licensed: you can use it either under the terms
2415 + * of the GPLv2 or the X11 license, at your option. Note that this dual
2416 + * licensing only applies to this file, and not this project as a
2417 + * whole.
2418 + *
2419 + * a) This library is free software; you can redistribute it and/or
2420 + * modify it under the terms of the GNU General Public License as
2421 + * published by the Free Software Foundation; either version 2 of the
2422 + * License, or (at your option) any later version.
2423 + *
2424 + * This library is distributed in the hope that it will be useful,
2425 + * but WITHOUT ANY WARRANTY; without even the implied warranty of
2426 + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
2427 + * GNU General Public License for more details.
2428 + *
2429 + * Or, alternatively,
2430 + *
2431 + * b) Permission is hereby granted, free of charge, to any person
2432 + * obtaining a copy of this software and associated documentation
2433 + * files (the "Software"), to deal in the Software without
2434 + * restriction, including without limitation the rights to use,
2435 + * copy, modify, merge, publish, distribute, sublicense, and/or
2436 + * sell copies of the Software, and to permit persons to whom the
2437 + * Software is furnished to do so, subject to the following
2438 + * conditions:
2439 + *
2440 + * The above copyright notice and this permission notice shall be
2441 + * included in all copies or substantial portions of the Software.
2442 + *
2443 + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
2444 + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
2445 + * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
2446 + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
2447 + * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
2448 + * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
2449 + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
2450 + * OTHER DEALINGS IN THE SOFTWARE.
2451 + */
2452 +
2453 +#include "fsl-ls1043a-rdb.dts"
2454 +#include "qoriq-qman-portals-sdk.dtsi"
2455 +#include "qoriq-bman-portals-sdk.dtsi"
2456 +
2457 +&bman_fbpr {
2458 + compatible = "fsl,bman-fbpr";
2459 + alloc-ranges = <0 0 0x10000 0>;
2460 +};
2461 +&qman_fqd {
2462 + compatible = "fsl,qman-fqd";
2463 + alloc-ranges = <0 0 0x10000 0>;
2464 +};
2465 +&qman_pfdr {
2466 + compatible = "fsl,qman-pfdr";
2467 + alloc-ranges = <0 0 0x10000 0>;
2468 +};
2469 +
2470 +&soc {
2471 +/delete-property/ dma-coherent;
2472 +
2473 +#include "qoriq-dpaa-eth.dtsi"
2474 +#include "qoriq-fman3-0-6oh.dtsi"
2475 +
2476 +pcie@3400000 {
2477 + /delete-property/ iommu-map;
2478 + dma-coherent;
2479 +};
2480 +
2481 +pcie@3500000 {
2482 + /delete-property/ iommu-map;
2483 + dma-coherent;
2484 +};
2485 +
2486 +pcie@3600000 {
2487 + /delete-property/ iommu-map;
2488 + dma-coherent;
2489 +};
2490 +
2491 +/delete-node/ iommu@9000000;
2492 +};
2493 +
2494 +&fman0 {
2495 + compatible = "fsl,fman", "simple-bus";
2496 +};
2497 +
2498 +&clockgen {
2499 + dma-coherent;
2500 +};
2501 +
2502 +&scfg {
2503 + dma-coherent;
2504 +};
2505 +
2506 +&crypto {
2507 + dma-coherent;
2508 +};
2509 +
2510 +&dcfg {
2511 + dma-coherent;
2512 +};
2513 +
2514 +&ifc {
2515 + dma-coherent;
2516 +};
2517 +
2518 +&qspi {
2519 + dma-coherent;
2520 +};
2521 +
2522 +&esdhc {
2523 + dma-coherent;
2524 +};
2525 +
2526 +&ddr {
2527 + dma-coherent;
2528 +};
2529 +
2530 +&tmu {
2531 + dma-coherent;
2532 +};
2533 +
2534 +&qman {
2535 + dma-coherent;
2536 +};
2537 +
2538 +&bman {
2539 + dma-coherent;
2540 +};
2541 +
2542 +&bportals {
2543 + dma-coherent;
2544 +};
2545 +
2546 +&qportals {
2547 + dma-coherent;
2548 +};
2549 +
2550 +&dspi0 {
2551 + dma-coherent;
2552 +};
2553 +
2554 +&dspi1 {
2555 + dma-coherent;
2556 +};
2557 +
2558 +&i2c0 {
2559 + dma-coherent;
2560 +};
2561 +
2562 +&i2c1 {
2563 + dma-coherent;
2564 +};
2565 +
2566 +&i2c2 {
2567 + dma-coherent;
2568 +};
2569 +
2570 +&i2c3 {
2571 + dma-coherent;
2572 +};
2573 +
2574 +&duart0 {
2575 + dma-coherent;
2576 +};
2577 +
2578 +&duart1 {
2579 + dma-coherent;
2580 +};
2581 +
2582 +&duart2 {
2583 + dma-coherent;
2584 +};
2585 +
2586 +&duart3 {
2587 + dma-coherent;
2588 +};
2589 +
2590 +&gpio1 {
2591 + dma-coherent;
2592 +};
2593 +
2594 +&gpio2 {
2595 + dma-coherent;
2596 +};
2597 +
2598 +&gpio3 {
2599 + dma-coherent;
2600 +};
2601 +
2602 +&gpio4 {
2603 + dma-coherent;
2604 +};
2605 +
2606 +&lpuart0 {
2607 + dma-coherent;
2608 +};
2609 +
2610 +&lpuart1 {
2611 + dma-coherent;
2612 +};
2613 +
2614 +&lpuart2 {
2615 + dma-coherent;
2616 +};
2617 +
2618 +&lpuart3 {
2619 + dma-coherent;
2620 +};
2621 +
2622 +&lpuart4 {
2623 + dma-coherent;
2624 +};
2625 +
2626 +&lpuart5 {
2627 + dma-coherent;
2628 +};
2629 +
2630 +&ftm0 {
2631 + dma-coherent;
2632 +};
2633 +
2634 +&wdog0 {
2635 + dma-coherent;
2636 +};
2637 +
2638 +&edma0 {
2639 + dma-coherent;
2640 +};
2641 +
2642 +&qdma {
2643 + dma-coherent;
2644 +};
2645 +
2646 +&msi1 {
2647 + dma-coherent;
2648 +};
2649 +
2650 +&msi2 {
2651 + dma-coherent;
2652 +};
2653 +
2654 +&msi3 {
2655 + dma-coherent;
2656 +};
2657 +
2658 +&fman0 {
2659 + dma-coherent;
2660 +};
2661 +
2662 +&ptp_timer0 {
2663 + dma-coherent;
2664 +};
2665 +
2666 +&fsldpaa {
2667 + dma-coherent;
2668 +};
2669 --- /dev/null
2670 +++ b/arch/arm64/boot/dts/freescale/fsl-ls1043a-rdb-usdpaa.dts
2671 @@ -0,0 +1,140 @@
2672 +/*
2673 + * Device Tree Include file for Freescale Layerscape-1043A family SoC.
2674 + *
2675 + * Copyright (C) 2014-2015, Freescale Semiconductor
2676 + *
2677 + * This file is licensed under the terms of the GNU General Public
2678 + * License version 2. This program is licensed "as is" without any
2679 + * warranty of any kind, whether express or implied.
2680 + */
2681 +
2682 +#include "fsl-ls1043a-rdb-sdk.dts"
2683 +
2684 +&soc {
2685 + bp7: buffer-pool@7 {
2686 + compatible = "fsl,p4080-bpool", "fsl,bpool";
2687 + fsl,bpid = <7>;
2688 + fsl,bpool-ethernet-cfg = <0 0 0 192 0 0xdeadbeef>;
2689 + fsl,bpool-thresholds = <0x400 0xc00 0x0 0x0>;
2690 + dma-coherent;
2691 + };
2692 +
2693 + bp8: buffer-pool@8 {
2694 + compatible = "fsl,p4080-bpool", "fsl,bpool";
2695 + fsl,bpid = <8>;
2696 + fsl,bpool-ethernet-cfg = <0 0 0 576 0 0xabbaf00d>;
2697 + fsl,bpool-thresholds = <0x100 0x300 0x0 0x0>;
2698 + dma-coherent;
2699 + };
2700 +
2701 + bp9: buffer-pool@9 {
2702 + compatible = "fsl,p4080-bpool", "fsl,bpool";
2703 + fsl,bpid = <9>;
2704 + fsl,bpool-ethernet-cfg = <0 0 0 2048 0 0xfeedabba>;
2705 + fsl,bpool-thresholds = <0x100 0x300 0x0 0x0>;
2706 + dma-coherent;
2707 + };
2708 +
2709 + fsl,dpaa {
2710 + compatible = "fsl,ls1043a", "fsl,dpaa", "simple-bus";
2711 + dma-coherent;
2712 +
2713 + ethernet@0 {
2714 + compatible = "fsl,dpa-ethernet-init";
2715 + fsl,bman-buffer-pools = <&bp7 &bp8 &bp9>;
2716 + fsl,qman-frame-queues-rx = <0x50 1 0x51 1>;
2717 + fsl,qman-frame-queues-tx = <0x70 1 0x71 1>;
2718 + };
2719 +
2720 + ethernet@1 {
2721 + compatible = "fsl,dpa-ethernet-init";
2722 + fsl,bman-buffer-pools = <&bp7 &bp8 &bp9>;
2723 + fsl,qman-frame-queues-rx = <0x52 1 0x53 1>;
2724 + fsl,qman-frame-queues-tx = <0x72 1 0x73 1>;
2725 + };
2726 +
2727 + ethernet@2 {
2728 + compatible = "fsl,dpa-ethernet-init";
2729 + fsl,bman-buffer-pools = <&bp7 &bp8 &bp9>;
2730 + fsl,qman-frame-queues-rx = <0x54 1 0x55 1>;
2731 + fsl,qman-frame-queues-tx = <0x74 1 0x75 1>;
2732 + };
2733 +
2734 + ethernet@3 {
2735 + compatible = "fsl,dpa-ethernet-init";
2736 + fsl,bman-buffer-pools = <&bp7 &bp8 &bp9>;
2737 + fsl,qman-frame-queues-rx = <0x56 1 0x57 1>;
2738 + fsl,qman-frame-queues-tx = <0x76 1 0x77 1>;
2739 + };
2740 +
2741 + ethernet@4 {
2742 + compatible = "fsl,dpa-ethernet-init";
2743 + fsl,bman-buffer-pools = <&bp7 &bp8 &bp9>;
2744 + fsl,qman-frame-queues-rx = <0x58 1 0x59 1>;
2745 + fsl,qman-frame-queues-tx = <0x78 1 0x79 1>;
2746 + };
2747 +
2748 + ethernet@5 {
2749 + compatible = "fsl,dpa-ethernet-init";
2750 + fsl,bman-buffer-pools = <&bp7 &bp8 &bp9>;
2751 + fsl,qman-frame-queues-rx = <0x60 1 0x61 1>;
2752 + fsl,qman-frame-queues-tx = <0x80 1 0x81 1>;
2753 + };
2754 +
2755 + ethernet@8 {
2756 + compatible = "fsl,dpa-ethernet-init";
2757 + fsl,bman-buffer-pools = <&bp7 &bp8 &bp9>;
2758 + fsl,qman-frame-queues-rx = <0x5c 1 0x5d 1>;
2759 + fsl,qman-frame-queues-tx = <0x7c 1 0x7d 1>;
2760 +
2761 + };
2762 + dpa-fman0-oh@2 {
2763 + compatible = "fsl,dpa-oh";
2764 + /* Define frame queues for the OH port*/
2765 + /* <OH Rx error, OH Rx default> */
2766 + fsl,qman-frame-queues-oh = <0x5a 1 0x5b 1>;
2767 + fsl,fman-oh-port = <&fman0_oh2>;
2768 + };
2769 + };
2770 +
2771 + pcie@3400000 {
2772 + /delete-property/ iommu-map;
2773 + };
2774 +
2775 + pcie@3500000 {
2776 + /delete-property/ iommu-map;
2777 + };
2778 +
2779 + pcie@3600000 {
2780 + /delete-property/ iommu-map;
2781 + };
2782 +
2783 + /delete-node/ iommu@9000000;
2784 +};
2785 +/ {
2786 + reserved-memory {
2787 + #address-cells = <2>;
2788 + #size-cells = <2>;
2789 + ranges;
2790 +
2791 + /* For legacy usdpaa based use-cases, update the size and
2792 + alignment parameters. e.g. to allocate 256 MB memory:
2793 + size = <0 0x10000000>;
2794 + alignment = <0 0x10000000>;
2795 + */
2796 + usdpaa_mem: usdpaa_mem {
2797 + compatible = "fsl,usdpaa-mem";
2798 + alloc-ranges = <0 0 0x10000 0>;
2799 + size = <0 0x1000>;
2800 + alignment = <0 0x1000>;
2801 + };
2802 + };
2803 +};
2804 +
2805 +&fman0 {
2806 + fman0_oh2: port@83000 {
2807 + cell-index = <1>;
2808 + compatible = "fsl,fman-port-oh";
2809 + reg = <0x83000 0x1000>;
2810 + };
2811 +};
2812 --- a/arch/arm64/boot/dts/freescale/fsl-ls1043a-rdb.dts
2813 +++ b/arch/arm64/boot/dts/freescale/fsl-ls1043a-rdb.dts
2814 @@ -1,47 +1,10 @@
2815 +// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2816 /*
2817 * Device Tree Include file for Freescale Layerscape-1043A family SoC.
2818 *
2819 * Copyright 2014-2015 Freescale Semiconductor, Inc.
2820 *
2821 * Mingkai Hu <Mingkai.hu@freescale.com>
2822 - *
2823 - * This file is dual-licensed: you can use it either under the terms
2824 - * of the GPLv2 or the X11 license, at your option. Note that this dual
2825 - * licensing only applies to this file, and not this project as a
2826 - * whole.
2827 - *
2828 - * a) This library is free software; you can redistribute it and/or
2829 - * modify it under the terms of the GNU General Public License as
2830 - * published by the Free Software Foundation; either version 2 of the
2831 - * License, or (at your option) any later version.
2832 - *
2833 - * This library is distributed in the hope that it will be useful,
2834 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
2835 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
2836 - * GNU General Public License for more details.
2837 - *
2838 - * Or, alternatively,
2839 - *
2840 - * b) Permission is hereby granted, free of charge, to any person
2841 - * obtaining a copy of this software and associated documentation
2842 - * files (the "Software"), to deal in the Software without
2843 - * restriction, including without limitation the rights to use,
2844 - * copy, modify, merge, publish, distribute, sublicense, and/or
2845 - * sell copies of the Software, and to permit persons to whom the
2846 - * Software is furnished to do so, subject to the following
2847 - * conditions:
2848 - *
2849 - * The above copyright notice and this permission notice shall be
2850 - * included in all copies or substantial portions of the Software.
2851 - *
2852 - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
2853 - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
2854 - * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
2855 - * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
2856 - * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
2857 - * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
2858 - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
2859 - * OTHER DEALINGS IN THE SOFTWARE.
2860 */
2861
2862 /dts-v1/;
2863 @@ -51,7 +14,6 @@
2864 model = "LS1043A RDB Board";
2865
2866 aliases {
2867 - crypto = &crypto;
2868 serial0 = &duart0;
2869 serial1 = &duart1;
2870 serial2 = &duart2;
2871 @@ -86,6 +48,10 @@
2872 compatible = "pericom,pt7c4338";
2873 reg = <0x68>;
2874 };
2875 + rtc@51 {
2876 + compatible = "nxp,pcf85263";
2877 + reg = <0x51>;
2878 + };
2879 };
2880
2881 &ifc {
2882 @@ -130,6 +96,38 @@
2883 reg = <0>;
2884 spi-max-frequency = <1000000>; /* input clock */
2885 };
2886 +
2887 + slic@2 {
2888 + compatible = "maxim,ds26522";
2889 + reg = <2>;
2890 + spi-max-frequency = <2000000>;
2891 + fsl,spi-cs-sck-delay = <100>;
2892 + fsl,spi-sck-cs-delay = <50>;
2893 + };
2894 +
2895 + slic@3 {
2896 + compatible = "maxim,ds26522";
2897 + reg = <3>;
2898 + spi-max-frequency = <2000000>;
2899 + fsl,spi-cs-sck-delay = <100>;
2900 + fsl,spi-sck-cs-delay = <50>;
2901 + };
2902 +};
2903 +
2904 +&uqe {
2905 + ucc_hdlc: ucc@2000 {
2906 + compatible = "fsl,ucc-hdlc";
2907 + rx-clock-name = "clk8";
2908 + tx-clock-name = "clk9";
2909 + fsl,rx-sync-clock = "rsync_pin";
2910 + fsl,tx-sync-clock = "tsync_pin";
2911 + fsl,tx-timeslot-mask = <0xfffffffe>;
2912 + fsl,rx-timeslot-mask = <0xfffffffe>;
2913 + fsl,tdm-framer-type = "e1";
2914 + fsl,tdm-id = <0>;
2915 + fsl,siram-entry-id = <0>;
2916 + fsl,tdm-interface;
2917 + };
2918 };
2919
2920 &duart0 {
2921 --- a/arch/arm64/boot/dts/freescale/fsl-ls1043a.dtsi
2922 +++ b/arch/arm64/boot/dts/freescale/fsl-ls1043a.dtsi
2923 @@ -1,47 +1,10 @@
2924 +// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2925 /*
2926 * Device Tree Include file for Freescale Layerscape-1043A family SoC.
2927 *
2928 * Copyright 2014-2015 Freescale Semiconductor, Inc.
2929 *
2930 * Mingkai Hu <Mingkai.hu@freescale.com>
2931 - *
2932 - * This file is dual-licensed: you can use it either under the terms
2933 - * of the GPLv2 or the X11 license, at your option. Note that this dual
2934 - * licensing only applies to this file, and not this project as a
2935 - * whole.
2936 - *
2937 - * a) This library is free software; you can redistribute it and/or
2938 - * modify it under the terms of the GNU General Public License as
2939 - * published by the Free Software Foundation; either version 2 of the
2940 - * License, or (at your option) any later version.
2941 - *
2942 - * This library is distributed in the hope that it will be useful,
2943 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
2944 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
2945 - * GNU General Public License for more details.
2946 - *
2947 - * Or, alternatively,
2948 - *
2949 - * b) Permission is hereby granted, free of charge, to any person
2950 - * obtaining a copy of this software and associated documentation
2951 - * files (the "Software"), to deal in the Software without
2952 - * restriction, including without limitation the rights to use,
2953 - * copy, modify, merge, publish, distribute, sublicense, and/or
2954 - * sell copies of the Software, and to permit persons to whom the
2955 - * Software is furnished to do so, subject to the following
2956 - * conditions:
2957 - *
2958 - * The above copyright notice and this permission notice shall be
2959 - * included in all copies or substantial portions of the Software.
2960 - *
2961 - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
2962 - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
2963 - * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
2964 - * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
2965 - * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
2966 - * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
2967 - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
2968 - * OTHER DEALINGS IN THE SOFTWARE.
2969 */
2970
2971 #include <dt-bindings/thermal/thermal.h>
2972 @@ -54,6 +17,7 @@
2973 #size-cells = <2>;
2974
2975 aliases {
2976 + crypto = &crypto;
2977 fman0 = &fman0;
2978 ethernet0 = &enet0;
2979 ethernet1 = &enet1;
2980 @@ -74,13 +38,14 @@
2981 *
2982 * Currently supported enable-method is psci v0.2
2983 */
2984 - cpu0: cpu@0 {
2985 + cooling_map0: cpu0: cpu@0 {
2986 device_type = "cpu";
2987 compatible = "arm,cortex-a53";
2988 reg = <0x0>;
2989 clocks = <&clockgen 1 0>;
2990 next-level-cache = <&l2>;
2991 #cooling-cells = <2>;
2992 + cpu-idle-states = <&CPU_PH20>;
2993 };
2994
2995 cpu1: cpu@1 {
2996 @@ -89,6 +54,7 @@
2997 reg = <0x1>;
2998 clocks = <&clockgen 1 0>;
2999 next-level-cache = <&l2>;
3000 + cpu-idle-states = <&CPU_PH20>;
3001 };
3002
3003 cpu2: cpu@2 {
3004 @@ -97,6 +63,7 @@
3005 reg = <0x2>;
3006 clocks = <&clockgen 1 0>;
3007 next-level-cache = <&l2>;
3008 + cpu-idle-states = <&CPU_PH20>;
3009 };
3010
3011 cpu3: cpu@3 {
3012 @@ -105,6 +72,7 @@
3013 reg = <0x3>;
3014 clocks = <&clockgen 1 0>;
3015 next-level-cache = <&l2>;
3016 + cpu-idle-states = <&CPU_PH20>;
3017 };
3018
3019 l2: l2-cache {
3020 @@ -112,6 +80,23 @@
3021 };
3022 };
3023
3024 + idle-states {
3025 + /*
3026 + * PSCI node is not added default, U-boot will add missing
3027 + * parts if it determines to use PSCI.
3028 + */
3029 + entry-method = "arm,psci";
3030 +
3031 + CPU_PH20: cpu-ph20 {
3032 + compatible = "arm,idle-state";
3033 + idle-state-name = "PH20";
3034 + arm,psci-suspend-param = <0x0>;
3035 + entry-latency-us = <1000>;
3036 + exit-latency-us = <1000>;
3037 + min-residency-us = <3000>;
3038 + };
3039 + };
3040 +
3041 memory@80000000 {
3042 device_type = "memory";
3043 reg = <0x0 0x80000000 0 0x80000000>;
3044 @@ -196,6 +181,8 @@
3045 #address-cells = <2>;
3046 #size-cells = <2>;
3047 ranges;
3048 + dma-ranges = <0x0 0x0 0x0 0x0 0x10000 0x00000000>;
3049 + dma-coherent;
3050
3051 clockgen: clocking@1ee1000 {
3052 compatible = "fsl,ls1043a-clockgen";
3053 @@ -204,6 +191,49 @@
3054 clocks = <&sysclk>;
3055 };
3056
3057 + smmu: iommu@9000000 {
3058 + compatible = "arm,mmu-500";
3059 + reg = <0 0x9000000 0 0x400000>;
3060 + dma-coherent;
3061 + stream-match-mask = <0x7f00>;
3062 + #global-interrupts = <2>;
3063 + #iommu-cells = <1>;
3064 + interrupts = <GIC_SPI 142 IRQ_TYPE_LEVEL_HIGH>,
3065 + <GIC_SPI 143 IRQ_TYPE_LEVEL_HIGH>,
3066 + <GIC_SPI 142 IRQ_TYPE_LEVEL_HIGH>,
3067 + <GIC_SPI 142 IRQ_TYPE_LEVEL_HIGH>,
3068 + <GIC_SPI 142 IRQ_TYPE_LEVEL_HIGH>,
3069 + <GIC_SPI 142 IRQ_TYPE_LEVEL_HIGH>,
3070 + <GIC_SPI 142 IRQ_TYPE_LEVEL_HIGH>,
3071 + <GIC_SPI 142 IRQ_TYPE_LEVEL_HIGH>,
3072 + <GIC_SPI 142 IRQ_TYPE_LEVEL_HIGH>,
3073 + <GIC_SPI 142 IRQ_TYPE_LEVEL_HIGH>,
3074 + <GIC_SPI 142 IRQ_TYPE_LEVEL_HIGH>,
3075 + <GIC_SPI 142 IRQ_TYPE_LEVEL_HIGH>,
3076 + <GIC_SPI 142 IRQ_TYPE_LEVEL_HIGH>,
3077 + <GIC_SPI 142 IRQ_TYPE_LEVEL_HIGH>,
3078 + <GIC_SPI 142 IRQ_TYPE_LEVEL_HIGH>,
3079 + <GIC_SPI 142 IRQ_TYPE_LEVEL_HIGH>,
3080 + <GIC_SPI 142 IRQ_TYPE_LEVEL_HIGH>,
3081 + <GIC_SPI 142 IRQ_TYPE_LEVEL_HIGH>,
3082 + <GIC_SPI 142 IRQ_TYPE_LEVEL_HIGH>,
3083 + <GIC_SPI 142 IRQ_TYPE_LEVEL_HIGH>,
3084 + <GIC_SPI 142 IRQ_TYPE_LEVEL_HIGH>,
3085 + <GIC_SPI 142 IRQ_TYPE_LEVEL_HIGH>,
3086 + <GIC_SPI 142 IRQ_TYPE_LEVEL_HIGH>,
3087 + <GIC_SPI 142 IRQ_TYPE_LEVEL_HIGH>,
3088 + <GIC_SPI 142 IRQ_TYPE_LEVEL_HIGH>,
3089 + <GIC_SPI 142 IRQ_TYPE_LEVEL_HIGH>,
3090 + <GIC_SPI 142 IRQ_TYPE_LEVEL_HIGH>,
3091 + <GIC_SPI 142 IRQ_TYPE_LEVEL_HIGH>,
3092 + <GIC_SPI 142 IRQ_TYPE_LEVEL_HIGH>,
3093 + <GIC_SPI 142 IRQ_TYPE_LEVEL_HIGH>,
3094 + <GIC_SPI 142 IRQ_TYPE_LEVEL_HIGH>,
3095 + <GIC_SPI 142 IRQ_TYPE_LEVEL_HIGH>,
3096 + <GIC_SPI 142 IRQ_TYPE_LEVEL_HIGH>,
3097 + <GIC_SPI 142 IRQ_TYPE_LEVEL_HIGH>;
3098 + };
3099 +
3100 scfg: scfg@1570000 {
3101 compatible = "fsl,ls1043a-scfg", "syscon";
3102 reg = <0x0 0x1570000 0x0 0x10000>;
3103 @@ -255,7 +285,7 @@
3104
3105 dcfg: dcfg@1ee0000 {
3106 compatible = "fsl,ls1043a-dcfg", "syscon";
3107 - reg = <0x0 0x1ee0000 0x0 0x10000>;
3108 + reg = <0x0 0x1ee0000 0x0 0x1000>;
3109 big-endian;
3110 };
3111
3112 @@ -342,36 +372,7 @@
3113 #thermal-sensor-cells = <1>;
3114 };
3115
3116 - thermal-zones {
3117 - cpu_thermal: cpu-thermal {
3118 - polling-delay-passive = <1000>;
3119 - polling-delay = <5000>;
3120 -
3121 - thermal-sensors = <&tmu 3>;
3122 -
3123 - trips {
3124 - cpu_alert: cpu-alert {
3125 - temperature = <85000>;
3126 - hysteresis = <2000>;
3127 - type = "passive";
3128 - };
3129 - cpu_crit: cpu-crit {
3130 - temperature = <95000>;
3131 - hysteresis = <2000>;
3132 - type = "critical";
3133 - };
3134 - };
3135 -
3136 - cooling-maps {
3137 - map0 {
3138 - trip = <&cpu_alert>;
3139 - cooling-device =
3140 - <&cpu0 THERMAL_NO_LIMIT
3141 - THERMAL_NO_LIMIT>;
3142 - };
3143 - };
3144 - };
3145 - };
3146 + #include "fsl-tmu.dtsi"
3147
3148 qman: qman@1880000 {
3149 compatible = "fsl,qman";
3150 @@ -422,7 +423,7 @@
3151 };
3152
3153 i2c0: i2c@2180000 {
3154 - compatible = "fsl,vf610-i2c";
3155 + compatible = "fsl,vf610-i2c", "fsl,ls1043a-vf610-i2c";
3156 #address-cells = <1>;
3157 #size-cells = <0>;
3158 reg = <0x0 0x2180000 0x0 0x10000>;
3159 @@ -432,6 +433,7 @@
3160 dmas = <&edma0 1 39>,
3161 <&edma0 1 38>;
3162 dma-names = "tx", "rx";
3163 + scl-gpios = <&gpio4 12 0>;
3164 status = "disabled";
3165 };
3166
3167 @@ -536,6 +538,72 @@
3168 #interrupt-cells = <2>;
3169 };
3170
3171 + uqe: uqe@2400000 {
3172 + #address-cells = <1>;
3173 + #size-cells = <1>;
3174 + device_type = "qe";
3175 + compatible = "fsl,qe", "simple-bus";
3176 + ranges = <0x0 0x0 0x2400000 0x40000>;
3177 + reg = <0x0 0x2400000 0x0 0x480>;
3178 + brg-frequency = <100000000>;
3179 + bus-frequency = <200000000>;
3180 +
3181 + fsl,qe-num-riscs = <1>;
3182 + fsl,qe-num-snums = <28>;
3183 +
3184 + qeic: qeic@80 {
3185 + compatible = "fsl,qe-ic";
3186 + reg = <0x80 0x80>;
3187 + #address-cells = <0>;
3188 + interrupt-controller;
3189 + #interrupt-cells = <1>;
3190 + interrupts = <0 77 0x04 0 77 0x04>;
3191 + };
3192 +
3193 + si1: si@700 {
3194 + #address-cells = <1>;
3195 + #size-cells = <0>;
3196 + compatible = "fsl,ls1043-qe-si",
3197 + "fsl,t1040-qe-si";
3198 + reg = <0x700 0x80>;
3199 + };
3200 +
3201 + siram1: siram@1000 {
3202 + #address-cells = <1>;
3203 + #size-cells = <1>;
3204 + compatible = "fsl,ls1043-qe-siram",
3205 + "fsl,t1040-qe-siram";
3206 + reg = <0x1000 0x800>;
3207 + };
3208 +
3209 + ucc@2000 {
3210 + cell-index = <1>;
3211 + reg = <0x2000 0x200>;
3212 + interrupts = <32>;
3213 + interrupt-parent = <&qeic>;
3214 + };
3215 +
3216 + ucc@2200 {
3217 + cell-index = <3>;
3218 + reg = <0x2200 0x200>;
3219 + interrupts = <34>;
3220 + interrupt-parent = <&qeic>;
3221 + };
3222 +
3223 + muram@10000 {
3224 + #address-cells = <1>;
3225 + #size-cells = <1>;
3226 + compatible = "fsl,qe-muram", "fsl,cpm-muram";
3227 + ranges = <0x0 0x10000 0x6000>;
3228 +
3229 + data-only@0 {
3230 + compatible = "fsl,qe-muram-data",
3231 + "fsl,cpm-muram-data";
3232 + reg = <0x0 0x6000>;
3233 + };
3234 + };
3235 + };
3236 +
3237 lpuart0: serial@2950000 {
3238 compatible = "fsl,ls1021a-lpuart";
3239 reg = <0x0 0x2950000 0x0 0x1000>;
3240 @@ -590,6 +658,16 @@
3241 status = "disabled";
3242 };
3243
3244 + ftm0: ftm0@29d0000 {
3245 + compatible = "fsl,ls1043a-ftm-alarm";
3246 + reg = <0x0 0x29d0000 0x0 0x10000>,
3247 + <0x0 0x1ee2140 0x0 0x4>;
3248 + reg-names = "ftm", "pmctrl";
3249 + interrupts = <0 86 0x4>;
3250 + big-endian;
3251 + status = "okay";
3252 + };
3253 +
3254 wdog0: wdog@2ad0000 {
3255 compatible = "fsl,ls1043a-wdt", "fsl,imx21-wdt";
3256 reg = <0x0 0x2ad0000 0x0 0x10000>;
3257 @@ -615,41 +693,81 @@
3258 <&clockgen 4 0>;
3259 };
3260
3261 - usb0: usb3@2f00000 {
3262 - compatible = "snps,dwc3";
3263 - reg = <0x0 0x2f00000 0x0 0x10000>;
3264 - interrupts = <0 60 0x4>;
3265 - dr_mode = "host";
3266 - snps,quirk-frame-length-adjustment = <0x20>;
3267 - snps,dis_rxdet_inp3_quirk;
3268 - };
3269 -
3270 - usb1: usb3@3000000 {
3271 - compatible = "snps,dwc3";
3272 - reg = <0x0 0x3000000 0x0 0x10000>;
3273 - interrupts = <0 61 0x4>;
3274 - dr_mode = "host";
3275 - snps,quirk-frame-length-adjustment = <0x20>;
3276 - snps,dis_rxdet_inp3_quirk;
3277 - };
3278 -
3279 - usb2: usb3@3100000 {
3280 - compatible = "snps,dwc3";
3281 - reg = <0x0 0x3100000 0x0 0x10000>;
3282 - interrupts = <0 63 0x4>;
3283 - dr_mode = "host";
3284 - snps,quirk-frame-length-adjustment = <0x20>;
3285 - snps,dis_rxdet_inp3_quirk;
3286 - };
3287 -
3288 - sata: sata@3200000 {
3289 - compatible = "fsl,ls1043a-ahci";
3290 - reg = <0x0 0x3200000 0x0 0x10000>,
3291 - <0x0 0x20140520 0x0 0x4>;
3292 - reg-names = "ahci", "sata-ecc";
3293 - interrupts = <0 69 0x4>;
3294 - clocks = <&clockgen 4 0>;
3295 - dma-coherent;
3296 + aux_bus: aux_bus {
3297 + #address-cells = <2>;
3298 + #size-cells = <2>;
3299 + compatible = "simple-bus";
3300 + ranges;
3301 + dma-ranges = <0x0 0x0 0x0 0x0 0x100 0x00000000>;
3302 +
3303 + usb0: usb3@2f00000 {
3304 + compatible = "snps,dwc3";
3305 + reg = <0x0 0x2f00000 0x0 0x10000>;
3306 + interrupts = <0 60 0x4>;
3307 + dr_mode = "host";
3308 + snps,quirk-frame-length-adjustment = <0x20>;
3309 + snps,dis_rxdet_inp3_quirk;
3310 + usb3-lpm-capable;
3311 + snps,dis-u1u2-when-u3-quirk;
3312 + snps,incr-burst-type-adjustment = <1>, <4>, <8>, <16>;
3313 + snps,host-vbus-glitches;
3314 + };
3315 +
3316 + usb1: usb3@3000000 {
3317 + compatible = "snps,dwc3";
3318 + reg = <0x0 0x3000000 0x0 0x10000>;
3319 + interrupts = <0 61 0x4>;
3320 + dr_mode = "host";
3321 + snps,quirk-frame-length-adjustment = <0x20>;
3322 + snps,dis_rxdet_inp3_quirk;
3323 + usb3-lpm-capable;
3324 + snps,dis-u1u2-when-u3-quirk;
3325 + snps,incr-burst-type-adjustment = <1>, <4>, <8>, <16>;
3326 + snps,host-vbus-glitches;
3327 + };
3328 +
3329 + usb2: usb3@3100000 {
3330 + compatible = "snps,dwc3";
3331 + reg = <0x0 0x3100000 0x0 0x10000>;
3332 + interrupts = <0 63 0x4>;
3333 + dr_mode = "host";
3334 + snps,quirk-frame-length-adjustment = <0x20>;
3335 + snps,dis_rxdet_inp3_quirk;
3336 + usb3-lpm-capable;
3337 + snps,dis-u1u2-when-u3-quirk;
3338 + snps,incr-burst-type-adjustment = <1>, <4>, <8>, <16>;
3339 + snps,host-vbus-glitches;
3340 + };
3341 +
3342 + sata: sata@3200000 {
3343 + compatible = "fsl,ls1043a-ahci";
3344 + reg = <0x0 0x3200000 0x0 0x10000>,
3345 + <0x0 0x20140520 0x0 0x4>;
3346 + reg-names = "ahci", "sata-ecc";
3347 + interrupts = <0 69 0x4>;
3348 + clocks = <&clockgen 4 0>;
3349 + };
3350 + };
3351 +
3352 + qdma: qdma@8380000 {
3353 + compatible = "fsl,ls1021a-qdma", "fsl,ls1043a-qdma";
3354 + reg = <0x0 0x8380000 0x0 0x1000>, /* Controller regs */
3355 + <0x0 0x8390000 0x0 0x10000>, /* Status regs */
3356 + <0x0 0x83a0000 0x0 0x40000>; /* Block regs */
3357 + interrupts = <0 152 0x4>,
3358 + <0 39 0x4>,
3359 + <0 40 0x4>,
3360 + <0 41 0x4>,
3361 + <0 42 0x4>;
3362 + interrupt-names = "qdma-error", "qdma-queue0",
3363 + "qdma-queue1", "qdma-queue2", "qdma-queue3";
3364 + channels = <8>;
3365 + block-number = <1>;
3366 + block-offset = <0x10000>;
3367 + queues = <2>;
3368 + status-sizes = <64>;
3369 + queue-sizes = <64 64>;
3370 + big-endian;
3371 };
3372
3373 msi1: msi-controller1@1571000 {
3374 @@ -678,13 +796,13 @@
3375 reg = <0x00 0x03400000 0x0 0x00100000 /* controller registers */
3376 0x40 0x00000000 0x0 0x00002000>; /* configuration space */
3377 reg-names = "regs", "config";
3378 - interrupts = <0 118 0x4>, /* controller interrupt */
3379 - <0 117 0x4>; /* PME interrupt */
3380 - interrupt-names = "intr", "pme";
3381 + interrupts = <0 117 0x4>, /* PME interrupt */
3382 + <0 118 0x4>; /* aer interrupt */
3383 + interrupt-names = "pme", "aer";
3384 #address-cells = <3>;
3385 #size-cells = <2>;
3386 device_type = "pci";
3387 - dma-coherent;
3388 + iommu-map = <0 &smmu 0 1>;
3389 num-lanes = <4>;
3390 bus-range = <0x0 0xff>;
3391 ranges = <0x81000000 0x0 0x00000000 0x40 0x00010000 0x0 0x00010000 /* downstream I/O */
3392 @@ -696,6 +814,7 @@
3393 <0000 0 0 2 &gic 0 111 0x4>,
3394 <0000 0 0 3 &gic 0 112 0x4>,
3395 <0000 0 0 4 &gic 0 113 0x4>;
3396 + status = "disabled";
3397 };
3398
3399 pcie@3500000 {
3400 @@ -703,13 +822,13 @@
3401 reg = <0x00 0x03500000 0x0 0x00100000 /* controller registers */
3402 0x48 0x00000000 0x0 0x00002000>; /* configuration space */
3403 reg-names = "regs", "config";
3404 - interrupts = <0 128 0x4>,
3405 - <0 127 0x4>;
3406 - interrupt-names = "intr", "pme";
3407 + interrupts = <0 127 0x4>,
3408 + <0 128 0x4>;
3409 + interrupt-names = "pme", "aer";
3410 #address-cells = <3>;
3411 #size-cells = <2>;
3412 device_type = "pci";
3413 - dma-coherent;
3414 + iommu-map = <0 &smmu 0 1>;
3415 num-lanes = <2>;
3416 bus-range = <0x0 0xff>;
3417 ranges = <0x81000000 0x0 0x00000000 0x48 0x00010000 0x0 0x00010000 /* downstream I/O */
3418 @@ -721,6 +840,7 @@
3419 <0000 0 0 2 &gic 0 121 0x4>,
3420 <0000 0 0 3 &gic 0 122 0x4>,
3421 <0000 0 0 4 &gic 0 123 0x4>;
3422 + status = "disabled";
3423 };
3424
3425 pcie@3600000 {
3426 @@ -728,13 +848,13 @@
3427 reg = <0x00 0x03600000 0x0 0x00100000 /* controller registers */
3428 0x50 0x00000000 0x0 0x00002000>; /* configuration space */
3429 reg-names = "regs", "config";
3430 - interrupts = <0 162 0x4>,
3431 - <0 161 0x4>;
3432 - interrupt-names = "intr", "pme";
3433 + interrupts = <0 161 0x4>,
3434 + <0 162 0x4>;
3435 + interrupt-names = "pme", "aer";
3436 #address-cells = <3>;
3437 #size-cells = <2>;
3438 device_type = "pci";
3439 - dma-coherent;
3440 + iommu-map = <0 &smmu 0 1>;
3441 num-lanes = <2>;
3442 bus-range = <0x0 0xff>;
3443 ranges = <0x81000000 0x0 0x00000000 0x50 0x00010000 0x0 0x00010000 /* downstream I/O */
3444 @@ -746,6 +866,14 @@
3445 <0000 0 0 2 &gic 0 155 0x4>,
3446 <0000 0 0 3 &gic 0 156 0x4>,
3447 <0000 0 0 4 &gic 0 157 0x4>;
3448 + status = "disabled";
3449 + };
3450 + };
3451 +
3452 + firmware {
3453 + optee {
3454 + compatible = "linaro,optee-tz";
3455 + method = "smc";
3456 };
3457 };
3458
3459 @@ -753,3 +881,29 @@
3460
3461 #include "qoriq-qman-portals.dtsi"
3462 #include "qoriq-bman-portals.dtsi"
3463 +
3464 +&thermal_zones {
3465 + thermal-zone0 {
3466 + status = "okay";
3467 + };
3468 +
3469 + thermal-zone1 {
3470 + status = "okay";
3471 + };
3472 +
3473 + thermal-zone2 {
3474 + status = "okay";
3475 + };
3476 +
3477 + thermal-zone3 {
3478 + status = "okay";
3479 + };
3480 +
3481 + thermal-zone4 {
3482 + status = "okay";
3483 + };
3484 +
3485 + thermal-zone5 {
3486 + status = "okay";
3487 + };
3488 +};
3489 --- a/arch/arm64/boot/dts/freescale/fsl-ls1046-post.dtsi
3490 +++ b/arch/arm64/boot/dts/freescale/fsl-ls1046-post.dtsi
3491 @@ -1,9 +1,9 @@
3492 +// SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)
3493 /*
3494 * QorIQ FMan v3 device tree nodes for ls1046
3495 *
3496 * Copyright 2015-2016 Freescale Semiconductor Inc.
3497 *
3498 - * SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)
3499 */
3500
3501 &soc {
3502 --- /dev/null
3503 +++ b/arch/arm64/boot/dts/freescale/fsl-ls1046a-qds-sdk.dts
3504 @@ -0,0 +1,268 @@
3505 +/*
3506 + * Device Tree Include file for Freescale Layerscape-1046A family SoC.
3507 + *
3508 + * Copyright 2014-2015 Freescale Semiconductor, Inc.
3509 + *
3510 + * Mingkai Hu <Mingkai.hu@freescale.com>
3511 + *
3512 + * This file is dual-licensed: you can use it either under the terms
3513 + * of the GPLv2 or the X11 license, at your option. Note that this dual
3514 + * licensing only applies to this file, and not this project as a
3515 + * whole.
3516 + *
3517 + * a) This library is free software; you can redistribute it and/or
3518 + * modify it under the terms of the GNU General Public License as
3519 + * published by the Free Software Foundation; either version 2 of the
3520 + * License, or (at your option) any later version.
3521 + *
3522 + * This library is distributed in the hope that it will be useful,
3523 + * but WITHOUT ANY WARRANTY; without even the implied warranty of
3524 + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
3525 + * GNU General Public License for more details.
3526 + *
3527 + * Or, alternatively,
3528 + *
3529 + * b) Permission is hereby granted, free of charge, to any person
3530 + * obtaining a copy of this software and associated documentation
3531 + * files (the "Software"), to deal in the Software without
3532 + * restriction, including without limitation the rights to use,
3533 + * copy, modify, merge, publish, distribute, sublicense, and/or
3534 + * sell copies of the Software, and to permit persons to whom the
3535 + * Software is furnished to do so, subject to the following
3536 + * conditions:
3537 + *
3538 + * The above copyright notice and this permission notice shall be
3539 + * included in all copies or substantial portions of the Software.
3540 + *
3541 + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
3542 + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
3543 + * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
3544 + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
3545 + * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
3546 + * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
3547 + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
3548 + * OTHER DEALINGS IN THE SOFTWARE.
3549 + */
3550 +
3551 +#include "fsl-ls1046a-qds.dts"
3552 +#include "qoriq-qman-portals-sdk.dtsi"
3553 +#include "qoriq-bman-portals-sdk.dtsi"
3554 +
3555 +&bman_fbpr {
3556 + compatible = "fsl,bman-fbpr";
3557 + alloc-ranges = <0 0 0x10000 0>;
3558 +};
3559 +&qman_fqd {
3560 + compatible = "fsl,qman-fqd";
3561 + alloc-ranges = <0 0 0x10000 0>;
3562 +};
3563 +&qman_pfdr {
3564 + compatible = "fsl,qman-pfdr";
3565 + alloc-ranges = <0 0 0x10000 0>;
3566 +};
3567 +
3568 +&soc {
3569 +/delete-property/ dma-coherent;
3570 +
3571 +#include "qoriq-dpaa-eth.dtsi"
3572 +#include "qoriq-fman3-0-6oh.dtsi"
3573 +
3574 +pcie@3400000 {
3575 + /delete-property/ iommu-map;
3576 +};
3577 +
3578 +pcie@3500000 {
3579 + /delete-property/ iommu-map;
3580 +};
3581 +
3582 +pcie@3600000 {
3583 + /delete-property/ iommu-map;
3584 +};
3585 +
3586 +/delete-node/ iommu@9000000;
3587 +};
3588 +
3589 +&fsldpaa {
3590 + ethernet@9 {
3591 + compatible = "fsl,dpa-ethernet";
3592 + fsl,fman-mac = <&enet7>;
3593 + dma-coherent;
3594 + };
3595 +};
3596 +
3597 +&fman0 {
3598 + compatible = "fsl,fman", "simple-bus";
3599 + dma-coherent;
3600 +};
3601 +
3602 +&clockgen {
3603 + dma-coherent;
3604 +};
3605 +
3606 +&scfg {
3607 + dma-coherent;
3608 +};
3609 +
3610 +&crypto {
3611 + dma-coherent;
3612 +};
3613 +
3614 +&dcfg {
3615 + dma-coherent;
3616 +};
3617 +
3618 +&ifc {
3619 + dma-coherent;
3620 +};
3621 +
3622 +&qspi {
3623 + dma-coherent;
3624 +};
3625 +
3626 +&esdhc {
3627 + dma-coherent;
3628 +};
3629 +
3630 +&ddr {
3631 + dma-coherent;
3632 +};
3633 +
3634 +&tmu {
3635 + dma-coherent;
3636 +};
3637 +
3638 +&qman {
3639 + dma-coherent;
3640 +};
3641 +
3642 +&bman {
3643 + dma-coherent;
3644 +};
3645 +
3646 +&bportals {
3647 + dma-coherent;
3648 +};
3649 +
3650 +&qportals {
3651 + dma-coherent;
3652 +};
3653 +
3654 +&dspi {
3655 + dma-coherent;
3656 +};
3657 +
3658 +&i2c0 {
3659 + dma-coherent;
3660 +};
3661 +
3662 +&i2c1 {
3663 + dma-coherent;
3664 +};
3665 +
3666 +&i2c2 {
3667 + dma-coherent;
3668 +};
3669 +
3670 +&i2c3 {
3671 + dma-coherent;
3672 +};
3673 +
3674 +&duart0 {
3675 + dma-coherent;
3676 +};
3677 +
3678 +&duart1 {
3679 + dma-coherent;
3680 +};
3681 +
3682 +&duart2 {
3683 + dma-coherent;
3684 +};
3685 +
3686 +&duart3 {
3687 + dma-coherent;
3688 +};
3689 +
3690 +&gpio0 {
3691 + dma-coherent;
3692 +};
3693 +
3694 +&gpio1 {
3695 + dma-coherent;
3696 +};
3697 +
3698 +&gpio2 {
3699 + dma-coherent;
3700 +};
3701 +
3702 +&gpio3 {
3703 + dma-coherent;
3704 +};
3705 +
3706 +&lpuart0 {
3707 + dma-coherent;
3708 +};
3709 +
3710 +&lpuart1 {
3711 + dma-coherent;
3712 +};
3713 +
3714 +&lpuart2 {
3715 + dma-coherent;
3716 +};
3717 +
3718 +&lpuart3 {
3719 + dma-coherent;
3720 +};
3721 +
3722 +&lpuart4 {
3723 + dma-coherent;
3724 +};
3725 +
3726 +&lpuart5 {
3727 + dma-coherent;
3728 +};
3729 +
3730 +&ftm0 {
3731 + dma-coherent;
3732 +};
3733 +
3734 +&wdog0 {
3735 + dma-coherent;
3736 +};
3737 +
3738 +&edma0 {
3739 + dma-coherent;
3740 +};
3741 +
3742 +&sata {
3743 + dma-coherent;
3744 +};
3745 +
3746 +&qdma {
3747 + dma-coherent;
3748 +};
3749 +
3750 +&msi1 {
3751 + dma-coherent;
3752 +};
3753 +
3754 +&msi2 {
3755 + dma-coherent;
3756 +};
3757 +
3758 +&msi3 {
3759 + dma-coherent;
3760 +};
3761 +
3762 +&ptp_timer0 {
3763 + dma-coherent;
3764 +};
3765 +
3766 +&serdes1 {
3767 + dma-coherent;
3768 +};
3769 +
3770 +&fsldpaa {
3771 + dma-coherent;
3772 +};
3773 --- a/arch/arm64/boot/dts/freescale/fsl-ls1046a-qds.dts
3774 +++ b/arch/arm64/boot/dts/freescale/fsl-ls1046a-qds.dts
3775 @@ -1,47 +1,10 @@
3776 +// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
3777 /*
3778 * Device Tree Include file for Freescale Layerscape-1046A family SoC.
3779 *
3780 * Copyright 2016 Freescale Semiconductor, Inc.
3781 *
3782 * Shaohui Xie <Shaohui.Xie@nxp.com>
3783 - *
3784 - * This file is dual-licensed: you can use it either under the terms
3785 - * of the GPLv2 or the X11 license, at your option. Note that this dual
3786 - * licensing only applies to this file, and not this project as a
3787 - * whole.
3788 - *
3789 - * a) This library is free software; you can redistribute it and/or
3790 - * modify it under the terms of the GNU General Public License as
3791 - * published by the Free Software Foundation; either version 2 of the
3792 - * License, or (at your option) any later version.
3793 - *
3794 - * This library is distributed in the hope that it will be useful,
3795 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
3796 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
3797 - * GNU General Public License for more details.
3798 - *
3799 - * Or, alternatively,
3800 - *
3801 - * b) Permission is hereby granted, free of charge, to any person
3802 - * obtaining a copy of this software and associated documentation
3803 - * files (the "Software"), to deal in the Software without
3804 - * restriction, including without limitation the rights to use,
3805 - * copy, modify, merge, publish, distribute, sublicense, and/or
3806 - * sell copies of the Software, and to permit persons to whom the
3807 - * Software is furnished to do so, subject to the following
3808 - * conditions:
3809 - *
3810 - * The above copyright notice and this permission notice shall be
3811 - * included in all copies or substantial portions of the Software.
3812 - *
3813 - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
3814 - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
3815 - * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
3816 - * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
3817 - * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
3818 - * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
3819 - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
3820 - * OTHER DEALINGS IN THE SOFTWARE.
3821 */
3822
3823 /dts-v1/;
3824 @@ -61,6 +24,20 @@
3825 serial1 = &duart1;
3826 serial2 = &duart2;
3827 serial3 = &duart3;
3828 +
3829 + emi1_slot1 = &ls1046mdio_s1;
3830 + emi1_slot2 = &ls1046mdio_s2;
3831 + emi1_slot4 = &ls1046mdio_s4;
3832 +
3833 + sgmii_s1_p1 = &sgmii_phy_s1_p1;
3834 + sgmii_s1_p2 = &sgmii_phy_s1_p2;
3835 + sgmii_s1_p3 = &sgmii_phy_s1_p3;
3836 + sgmii_s1_p4 = &sgmii_phy_s1_p4;
3837 + sgmii_s4_p1 = &sgmii_phy_s4_p1;
3838 + qsgmii_s2_p1 = &qsgmii_phy_s2_p1;
3839 + qsgmii_s2_p2 = &qsgmii_phy_s2_p2;
3840 + qsgmii_s2_p3 = &qsgmii_phy_s2_p3;
3841 + qsgmii_s2_p4 = &qsgmii_phy_s2_p4;
3842 };
3843
3844 chosen {
3845 @@ -188,8 +165,9 @@
3846 };
3847
3848 fpga: board-control@2,0 {
3849 - compatible = "fsl,ls1046aqds-fpga", "fsl,fpga-qixis";
3850 + compatible = "fsl,ls1046aqds-fpga", "fsl,fpga-qixis", "simple-bus";
3851 reg = <0x2 0x0 0x0000100>;
3852 + ranges = <0 2 0 0x100>;
3853 };
3854 };
3855
3856 @@ -206,9 +184,145 @@
3857 compatible = "spansion,m25p80";
3858 #address-cells = <1>;
3859 #size-cells = <1>;
3860 - spi-max-frequency = <20000000>;
3861 + spi-max-frequency = <50000000>;
3862 reg = <0>;
3863 + spi-rx-bus-width = <4>;
3864 + spi-tx-bus-width = <4>;
3865 };
3866 };
3867
3868 #include "fsl-ls1046-post.dtsi"
3869 +
3870 +&fman0 {
3871 + ethernet@e0000 {
3872 + phy-handle = <&qsgmii_phy_s2_p1>;
3873 + phy-connection-type = "sgmii";
3874 + };
3875 +
3876 + ethernet@e2000 {
3877 + phy-handle = <&sgmii_phy_s4_p1>;
3878 + phy-connection-type = "sgmii";
3879 + };
3880 +
3881 + ethernet@e4000 {
3882 + phy-handle = <&rgmii_phy1>;
3883 + phy-connection-type = "rgmii";
3884 + };
3885 +
3886 + ethernet@e6000 {
3887 + phy-handle = <&rgmii_phy2>;
3888 + phy-connection-type = "rgmii";
3889 + };
3890 +
3891 + ethernet@e8000 {
3892 + phy-handle = <&sgmii_phy_s1_p3>;
3893 + phy-connection-type = "sgmii";
3894 + };
3895 +
3896 + ethernet@ea000 {
3897 + phy-handle = <&sgmii_phy_s1_p4>;
3898 + phy-connection-type = "sgmii";
3899 + };
3900 +
3901 + ethernet@f0000 { /* DTSEC9/10GEC1 */
3902 + phy-handle = <&sgmii_phy_s1_p1>;
3903 + phy-connection-type = "xgmii";
3904 + };
3905 +
3906 + ethernet@f2000 { /* DTSEC10/10GEC2 */
3907 + phy-handle = <&sgmii_phy_s1_p2>;
3908 + phy-connection-type = "xgmii";
3909 + };
3910 +};
3911 +
3912 +&fpga {
3913 + #address-cells = <1>;
3914 + #size-cells = <1>;
3915 + mdio-mux-emi1 {
3916 + compatible = "mdio-mux-mmioreg", "mdio-mux";
3917 + mdio-parent-bus = <&mdio0>;
3918 + #address-cells = <1>;
3919 + #size-cells = <0>;
3920 + reg = <0x54 1>; /* BRDCFG4 */
3921 + mux-mask = <0xe0>; /* EMI1 */
3922 +
3923 + /* On-board RGMII1 PHY */
3924 + ls1046mdio0: mdio@0 {
3925 + reg = <0>;
3926 + #address-cells = <1>;
3927 + #size-cells = <0>;
3928 +
3929 + rgmii_phy1: ethernet-phy@1 { /* MAC3 */
3930 + reg = <0x1>;
3931 + };
3932 + };
3933 +
3934 + /* On-board RGMII2 PHY */
3935 + ls1046mdio1: mdio@1 {
3936 + reg = <0x20>;
3937 + #address-cells = <1>;
3938 + #size-cells = <0>;
3939 +
3940 + rgmii_phy2: ethernet-phy@2 { /* MAC4 */
3941 + reg = <0x2>;
3942 + };
3943 + };
3944 +
3945 + /* Slot 1 */
3946 + ls1046mdio_s1: mdio@2 {
3947 + reg = <0x40>;
3948 + #address-cells = <1>;
3949 + #size-cells = <0>;
3950 + status = "disabled";
3951 +
3952 + sgmii_phy_s1_p1: ethernet-phy@1c {
3953 + reg = <0x1c>;
3954 + };
3955 +
3956 + sgmii_phy_s1_p2: ethernet-phy@1d {
3957 + reg = <0x1d>;
3958 + };
3959 +
3960 + sgmii_phy_s1_p3: ethernet-phy@1e {
3961 + reg = <0x1e>;
3962 + };
3963 +
3964 + sgmii_phy_s1_p4: ethernet-phy@1f {
3965 + reg = <0x1f>;
3966 + };
3967 + };
3968 +
3969 + /* Slot 2 */
3970 + ls1046mdio_s2: mdio@3 {
3971 + reg = <0x60>;
3972 + #address-cells = <1>;
3973 + #size-cells = <0>;
3974 + status = "disabled";
3975 +
3976 + qsgmii_phy_s2_p1: ethernet-phy@8 {
3977 + reg = <0x8>;
3978 + };
3979 + qsgmii_phy_s2_p2: ethernet-phy@9 {
3980 + reg = <0x9>;
3981 + };
3982 + qsgmii_phy_s2_p3: ethernet-phy@a {
3983 + reg = <0xa>;
3984 + };
3985 + qsgmii_phy_s2_p4: ethernet-phy@b {
3986 + reg = <0xb>;
3987 + };
3988 + };
3989 +
3990 + /* Slot 4 */
3991 + ls1046mdio_s4: mdio@5 {
3992 + reg = <0x80>;
3993 + #address-cells = <1>;
3994 + #size-cells = <0>;
3995 + status = "disabled";
3996 +
3997 + sgmii_phy_s4_p1: ethernet-phy@1c {
3998 + reg = <0x1c>;
3999 + };
4000 + };
4001 + };
4002 +};
4003 --- /dev/null
4004 +++ b/arch/arm64/boot/dts/freescale/fsl-ls1046a-rdb-sdk.dts
4005 @@ -0,0 +1,307 @@
4006 +/*
4007 + * Device Tree Include file for Freescale Layerscape-1046A family SoC.
4008 + *
4009 + * Copyright 2014-2015 Freescale Semiconductor, Inc.
4010 + *
4011 + * Mingkai Hu <Mingkai.hu@freescale.com>
4012 + *
4013 + * This file is dual-licensed: you can use it either under the terms
4014 + * of the GPLv2 or the X11 license, at your option. Note that this dual
4015 + * licensing only applies to this file, and not this project as a
4016 + * whole.
4017 + *
4018 + * a) This library is free software; you can redistribute it and/or
4019 + * modify it under the terms of the GNU General Public License as
4020 + * published by the Free Software Foundation; either version 2 of the
4021 + * License, or (at your option) any later version.
4022 + *
4023 + * This library is distributed in the hope that it will be useful,
4024 + * but WITHOUT ANY WARRANTY; without even the implied warranty of
4025 + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
4026 + * GNU General Public License for more details.
4027 + *
4028 + * Or, alternatively,
4029 + *
4030 + * b) Permission is hereby granted, free of charge, to any person
4031 + * obtaining a copy of this software and associated documentation
4032 + * files (the "Software"), to deal in the Software without
4033 + * restriction, including without limitation the rights to use,
4034 + * copy, modify, merge, publish, distribute, sublicense, and/or
4035 + * sell copies of the Software, and to permit persons to whom the
4036 + * Software is furnished to do so, subject to the following
4037 + * conditions:
4038 + *
4039 + * The above copyright notice and this permission notice shall be
4040 + * included in all copies or substantial portions of the Software.
4041 + *
4042 + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
4043 + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
4044 + * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
4045 + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
4046 + * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
4047 + * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
4048 + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
4049 + * OTHER DEALINGS IN THE SOFTWARE.
4050 + */
4051 +
4052 +#include "fsl-ls1046a-rdb.dts"
4053 +#include "qoriq-qman-portals-sdk.dtsi"
4054 +#include "qoriq-bman-portals-sdk.dtsi"
4055 +
4056 +&bman_fbpr {
4057 + compatible = "fsl,bman-fbpr";
4058 + alloc-ranges = <0 0 0x10000 0>;
4059 +};
4060 +&qman_fqd {
4061 + compatible = "fsl,qman-fqd";
4062 + alloc-ranges = <0 0 0x10000 0>;
4063 +};
4064 +&qman_pfdr {
4065 + compatible = "fsl,qman-pfdr";
4066 + alloc-ranges = <0 0 0x10000 0>;
4067 +};
4068 +
4069 +&soc {
4070 +/delete-property/ dma-coherent;
4071 +
4072 +#include "qoriq-dpaa-eth.dtsi"
4073 +#include "qoriq-fman3-0-6oh.dtsi"
4074 +
4075 +pcie@3400000 {
4076 + /delete-property/ iommu-map;
4077 +};
4078 +
4079 +pcie@3500000 {
4080 + /delete-property/ iommu-map;
4081 +};
4082 +
4083 +pcie@3600000 {
4084 + /delete-property/ iommu-map;
4085 +};
4086 +
4087 +/delete-node/ iommu@9000000;
4088 +};
4089 +
4090 +&fsldpaa {
4091 + ethernet@0 {
4092 + status = "disabled";
4093 + };
4094 + ethernet@1 {
4095 + status = "disabled";
4096 + };
4097 + ethernet@9 {
4098 + compatible = "fsl,dpa-ethernet";
4099 + fsl,fman-mac = <&enet7>;
4100 + dma-coherent;
4101 + };
4102 +};
4103 +
4104 +&fman0 {
4105 + compatible = "fsl,fman", "simple-bus";
4106 +};
4107 +
4108 +&mdio9 {
4109 + pcsphy6: ethernet-phy@0 {
4110 + backplane-mode = "10gbase-kr";
4111 + compatible = "ethernet-phy-ieee802.3-c45";
4112 + reg = <0x0>;
4113 + fsl,lane-handle = <&serdes1>;
4114 + fsl,lane-reg = <0x8C0 0x40>; /* lane D */
4115 + };
4116 +};
4117 +
4118 +&mdio10 {
4119 + pcsphy7: ethernet-phy@0 {
4120 + backplane-mode = "10gbase-kr";
4121 + compatible = "ethernet-phy-ieee802.3-c45";
4122 + reg = <0x0>;
4123 + fsl,lane-handle = <&serdes1>;
4124 + fsl,lane-reg = <0x880 0x40>; /* lane C */
4125 + };
4126 +};
4127 +
4128 +/* Update MAC connections to backplane PHYs
4129 + * &mac9 {
4130 + * phy-handle = <&pcsphy6>;
4131 + *};
4132 + *
4133 + *&mac10 {
4134 + * phy-handle = <&pcsphy7>;
4135 + *};
4136 +*/
4137 +
4138 +&clockgen {
4139 + dma-coherent;
4140 +};
4141 +
4142 +&scfg {
4143 + dma-coherent;
4144 +};
4145 +
4146 +&crypto {
4147 + dma-coherent;
4148 +};
4149 +
4150 +&dcfg {
4151 + dma-coherent;
4152 +};
4153 +
4154 +&ifc {
4155 + dma-coherent;
4156 +};
4157 +
4158 +&qspi {
4159 + dma-coherent;
4160 +};
4161 +
4162 +&esdhc {
4163 + dma-coherent;
4164 +};
4165 +
4166 +&ddr {
4167 + dma-coherent;
4168 +};
4169 +
4170 +&tmu {
4171 + dma-coherent;
4172 +};
4173 +
4174 +&qman {
4175 + dma-coherent;
4176 +};
4177 +
4178 +&bman {
4179 + dma-coherent;
4180 +};
4181 +
4182 +&bportals {
4183 + dma-coherent;
4184 +};
4185 +
4186 +&qportals {
4187 + dma-coherent;
4188 +};
4189 +
4190 +&dspi {
4191 + dma-coherent;
4192 +};
4193 +
4194 +&i2c0 {
4195 + dma-coherent;
4196 +};
4197 +
4198 +&i2c1 {
4199 + dma-coherent;
4200 +};
4201 +
4202 +&i2c2 {
4203 + dma-coherent;
4204 +};
4205 +
4206 +&i2c3 {
4207 + dma-coherent;
4208 +};
4209 +
4210 +&duart0 {
4211 + dma-coherent;
4212 +};
4213 +
4214 +&duart1 {
4215 + dma-coherent;
4216 +};
4217 +
4218 +&duart2 {
4219 + dma-coherent;
4220 +};
4221 +
4222 +&duart3 {
4223 + dma-coherent;
4224 +};
4225 +
4226 +&gpio0 {
4227 + dma-coherent;
4228 +};
4229 +
4230 +&gpio1 {
4231 + dma-coherent;
4232 +};
4233 +
4234 +&gpio2 {
4235 + dma-coherent;
4236 +};
4237 +
4238 +&gpio3 {
4239 + dma-coherent;
4240 +};
4241 +
4242 +&lpuart0 {
4243 + dma-coherent;
4244 +};
4245 +
4246 +&lpuart1 {
4247 + dma-coherent;
4248 +};
4249 +
4250 +&lpuart2 {
4251 + dma-coherent;
4252 +};
4253 +
4254 +&lpuart3 {
4255 + dma-coherent;
4256 +};
4257 +
4258 +&lpuart4 {
4259 + dma-coherent;
4260 +};
4261 +
4262 +&lpuart5 {
4263 + dma-coherent;
4264 +};
4265 +
4266 +&ftm0 {
4267 + dma-coherent;
4268 +};
4269 +
4270 +&wdog0 {
4271 + dma-coherent;
4272 +};
4273 +
4274 +&edma0 {
4275 + dma-coherent;
4276 +};
4277 +
4278 +&sata {
4279 + dma-coherent;
4280 +};
4281 +
4282 +&qdma {
4283 + dma-coherent;
4284 +};
4285 +
4286 +&msi1 {
4287 + dma-coherent;
4288 +};
4289 +
4290 +&msi2 {
4291 + dma-coherent;
4292 +};
4293 +
4294 +&msi3 {
4295 + dma-coherent;
4296 +};
4297 +
4298 +&fman0 {
4299 + dma-coherent;
4300 +};
4301 +
4302 +&ptp_timer0 {
4303 + dma-coherent;
4304 +};
4305 +
4306 +&serdes1 {
4307 + dma-coherent;
4308 +};
4309 +
4310 +&fsldpaa {
4311 + dma-coherent;
4312 +};
4313 --- /dev/null
4314 +++ b/arch/arm64/boot/dts/freescale/fsl-ls1046a-rdb-usdpaa.dts
4315 @@ -0,0 +1,133 @@
4316 +/*
4317 + * Device Tree Include file for Freescale Layerscape-1046A family SoC.
4318 + *
4319 + * Copyright (C) 2016, Freescale Semiconductor
4320 + *
4321 + * This file is licensed under the terms of the GNU General Public
4322 + * License version 2. This program is licensed "as is" without any
4323 + * warranty of any kind, whether express or implied.
4324 + */
4325 +
4326 +#include "fsl-ls1046a-rdb-sdk.dts"
4327 +
4328 +&soc {
4329 + bp7: buffer-pool@7 {
4330 + compatible = "fsl,ls1046a-bpool", "fsl,bpool";
4331 + fsl,bpid = <7>;
4332 + fsl,bpool-ethernet-cfg = <0 0 0 192 0 0xdeadbeef>;
4333 + fsl,bpool-thresholds = <0x400 0xc00 0x0 0x0>;
4334 + dma-coherent;
4335 + };
4336 +
4337 + bp8: buffer-pool@8 {
4338 + compatible = "fsl,ls1046a-bpool", "fsl,bpool";
4339 + fsl,bpid = <8>;
4340 + fsl,bpool-ethernet-cfg = <0 0 0 576 0 0xabbaf00d>;
4341 + fsl,bpool-thresholds = <0x100 0x300 0x0 0x0>;
4342 + dma-coherent;
4343 + };
4344 +
4345 + bp9: buffer-pool@9 {
4346 + compatible = "fsl,ls1046a-bpool", "fsl,bpool";
4347 + fsl,bpid = <9>;
4348 + fsl,bpool-ethernet-cfg = <0 0 0 2048 0 0xfeedabba>;
4349 + fsl,bpool-thresholds = <0x100 0x300 0x0 0x0>;
4350 + dma-coherent;
4351 + };
4352 +
4353 + fsl,dpaa {
4354 + compatible = "fsl,ls1046a", "fsl,dpaa", "simple-bus";
4355 + dma-coherent;
4356 +
4357 + ethernet@2 {
4358 + compatible = "fsl,dpa-ethernet-init";
4359 + fsl,bman-buffer-pools = <&bp7 &bp8 &bp9>;
4360 + fsl,qman-frame-queues-rx = <0x54 1 0x55 1>;
4361 + fsl,qman-frame-queues-tx = <0x74 1 0x75 1>;
4362 + };
4363 +
4364 + ethernet@3 {
4365 + compatible = "fsl,dpa-ethernet-init";
4366 + fsl,bman-buffer-pools = <&bp7 &bp8 &bp9>;
4367 + fsl,qman-frame-queues-rx = <0x56 1 0x57 1>;
4368 + fsl,qman-frame-queues-tx = <0x76 1 0x77 1>;
4369 + };
4370 +
4371 + ethernet@4 {
4372 + compatible = "fsl,dpa-ethernet-init";
4373 + fsl,bman-buffer-pools = <&bp7 &bp8 &bp9>;
4374 + fsl,qman-frame-queues-rx = <0x58 1 0x59 1>;
4375 + fsl,qman-frame-queues-tx = <0x78 1 0x79 1>;
4376 + };
4377 +
4378 + ethernet@5 {
4379 + compatible = "fsl,dpa-ethernet-init";
4380 + fsl,bman-buffer-pools = <&bp7 &bp8 &bp9>;
4381 + fsl,qman-frame-queues-rx = <0x5a 1 0x5b 1>;
4382 + fsl,qman-frame-queues-tx = <0x7a 1 0x7b 1>;
4383 + };
4384 +
4385 + ethernet@8 {
4386 + compatible = "fsl,dpa-ethernet-init";
4387 + fsl,bman-buffer-pools = <&bp7 &bp8 &bp9>;
4388 + fsl,qman-frame-queues-rx = <0x5c 1 0x5d 1>;
4389 + fsl,qman-frame-queues-tx = <0x7c 1 0x7d 1>;
4390 + };
4391 +
4392 + ethernet@9 {
4393 + compatible = "fsl,dpa-ethernet-init";
4394 + fsl,bman-buffer-pools = <&bp7 &bp8 &bp9>;
4395 + fsl,qman-frame-queues-rx = <0x5e 1 0x5f 1>;
4396 + fsl,qman-frame-queues-tx = <0x7e 1 0x7f 1>;
4397 + };
4398 +
4399 + dpa-fman0-oh@2 {
4400 + compatible = "fsl,dpa-oh";
4401 + /* Define frame queues for the OH port*/
4402 + /* <OH Rx error, OH Rx default> */
4403 + fsl,qman-frame-queues-oh = <0x60 1 0x61 1>;
4404 + fsl,fman-oh-port = <&fman0_oh2>;
4405 + };
4406 + };
4407 +
4408 + pcie@3400000 {
4409 + /delete-property/ iommu-map;
4410 + };
4411 +
4412 + pcie@3500000 {
4413 + /delete-property/ iommu-map;
4414 + };
4415 +
4416 + pcie@3600000 {
4417 + /delete-property/ iommu-map;
4418 + };
4419 +
4420 + /delete-node/ iommu@9000000;
4421 +};
4422 +/ {
4423 + reserved-memory {
4424 + #address-cells = <2>;
4425 + #size-cells = <2>;
4426 + ranges;
4427 +
4428 + /* For legacy usdpaa based use-cases, update the size and
4429 + alignment parameters. e.g. to allocate 256 MB memory:
4430 + size = <0 0x10000000>;
4431 + alignment = <0 0x10000000>;
4432 + */
4433 + usdpaa_mem: usdpaa_mem {
4434 + compatible = "fsl,usdpaa-mem";
4435 + alloc-ranges = <0 0 0x10000 0>;
4436 + size = <0 0x1000>;
4437 + alignment = <0 0x1000>;
4438 + };
4439 + };
4440 +};
4441 +
4442 +&fman0 {
4443 + fman0_oh2: port@83000 {
4444 + cell-index = <1>;
4445 + compatible = "fsl,fman-port-oh";
4446 + reg = <0x83000 0x1000>;
4447 + };
4448 +};
4449 --- a/arch/arm64/boot/dts/freescale/fsl-ls1046a-rdb.dts
4450 +++ b/arch/arm64/boot/dts/freescale/fsl-ls1046a-rdb.dts
4451 @@ -1,47 +1,10 @@
4452 +// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
4453 /*
4454 * Device Tree Include file for Freescale Layerscape-1046A family SoC.
4455 *
4456 * Copyright 2016 Freescale Semiconductor, Inc.
4457 *
4458 * Mingkai Hu <mingkai.hu@nxp.com>
4459 - *
4460 - * This file is dual-licensed: you can use it either under the terms
4461 - * of the GPLv2 or the X11 license, at your option. Note that this dual
4462 - * licensing only applies to this file, and not this project as a
4463 - * whole.
4464 - *
4465 - * a) This library is free software; you can redistribute it and/or
4466 - * modify it under the terms of the GNU General Public License as
4467 - * published by the Free Software Foundation; either version 2 of the
4468 - * License, or (at your option) any later version.
4469 - *
4470 - * This library is distributed in the hope that it will be useful,
4471 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
4472 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
4473 - * GNU General Public License for more details.
4474 - *
4475 - * Or, alternatively,
4476 - *
4477 - * b) Permission is hereby granted, free of charge, to any person
4478 - * obtaining a copy of this software and associated documentation
4479 - * files (the "Software"), to deal in the Software without
4480 - * restriction, including without limitation the rights to use,
4481 - * copy, modify, merge, publish, distribute, sublicense, and/or
4482 - * sell copies of the Software, and to permit persons to whom the
4483 - * Software is furnished to do so, subject to the following
4484 - * conditions:
4485 - *
4486 - * The above copyright notice and this permission notice shall be
4487 - * included in all copies or substantial portions of the Software.
4488 - *
4489 - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
4490 - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
4491 - * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
4492 - * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
4493 - * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
4494 - * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
4495 - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
4496 - * OTHER DEALINGS IN THE SOFTWARE.
4497 */
4498
4499 /dts-v1/;
4500 @@ -139,21 +102,26 @@
4501 num-cs = <2>;
4502 bus-num = <0>;
4503 status = "okay";
4504 + fsl,qspi-has-second-chip;
4505
4506 qflash0: s25fs512s@0 {
4507 compatible = "spansion,m25p80";
4508 #address-cells = <1>;
4509 #size-cells = <1>;
4510 - spi-max-frequency = <20000000>;
4511 + spi-max-frequency = <50000000>;
4512 reg = <0>;
4513 + spi-rx-bus-width = <4>;
4514 + spi-tx-bus-width = <4>;
4515 };
4516
4517 qflash1: s25fs512s@1 {
4518 compatible = "spansion,m25p80";
4519 #address-cells = <1>;
4520 #size-cells = <1>;
4521 - spi-max-frequency = <20000000>;
4522 + spi-max-frequency = <50000000>;
4523 reg = <1>;
4524 + spi-rx-bus-width = <4>;
4525 + spi-tx-bus-width = <4>;
4526 };
4527 };
4528
4529 --- a/arch/arm64/boot/dts/freescale/fsl-ls1046a.dtsi
4530 +++ b/arch/arm64/boot/dts/freescale/fsl-ls1046a.dtsi
4531 @@ -1,47 +1,10 @@
4532 +// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
4533 /*
4534 * Device Tree Include file for Freescale Layerscape-1046A family SoC.
4535 *
4536 * Copyright 2016 Freescale Semiconductor, Inc.
4537 *
4538 * Mingkai Hu <mingkai.hu@nxp.com>
4539 - *
4540 - * This file is dual-licensed: you can use it either under the terms
4541 - * of the GPLv2 or the X11 license, at your option. Note that this dual
4542 - * licensing only applies to this file, and not this project as a
4543 - * whole.
4544 - *
4545 - * a) This library is free software; you can redistribute it and/or
4546 - * modify it under the terms of the GNU General Public License as
4547 - * published by the Free Software Foundation; either version 2 of the
4548 - * License, or (at your option) any later version.
4549 - *
4550 - * This library is distributed in the hope that it will be useful,
4551 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
4552 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
4553 - * GNU General Public License for more details.
4554 - *
4555 - * Or, alternatively,
4556 - *
4557 - * b) Permission is hereby granted, free of charge, to any person
4558 - * obtaining a copy of this software and associated documentation
4559 - * files (the "Software"), to deal in the Software without
4560 - * restriction, including without limitation the rights to use,
4561 - * copy, modify, merge, publish, distribute, sublicense, and/or
4562 - * sell copies of the Software, and to permit persons to whom the
4563 - * Software is furnished to do so, subject to the following
4564 - * conditions:
4565 - *
4566 - * The above copyright notice and this permission notice shall be
4567 - * included in all copies or substantial portions of the Software.
4568 - *
4569 - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
4570 - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
4571 - * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
4572 - * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
4573 - * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
4574 - * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
4575 - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
4576 - * OTHER DEALINGS IN THE SOFTWARE.
4577 */
4578
4579 #include <dt-bindings/interrupt-controller/arm-gic.h>
4580 @@ -70,7 +33,7 @@
4581 #address-cells = <1>;
4582 #size-cells = <0>;
4583
4584 - cpu0: cpu@0 {
4585 + cooling_map0: cpu0: cpu@0 {
4586 device_type = "cpu";
4587 compatible = "arm,cortex-a72";
4588 reg = <0x0>;
4589 @@ -122,7 +85,7 @@
4590 CPU_PH20: cpu-ph20 {
4591 compatible = "arm,idle-state";
4592 idle-state-name = "PH20";
4593 - arm,psci-suspend-param = <0x00010000>;
4594 + arm,psci-suspend-param = <0x0>;
4595 entry-latency-us = <1000>;
4596 exit-latency-us = <1000>;
4597 min-residency-us = <3000>;
4598 @@ -188,6 +151,8 @@
4599 #address-cells = <2>;
4600 #size-cells = <2>;
4601 ranges;
4602 + dma-ranges = <0x0 0x0 0x0 0x0 0x10000 0x00000000>;
4603 + dma-coherent;
4604
4605 ddr: memory-controller@1080000 {
4606 compatible = "fsl,qoriq-memory-controller";
4607 @@ -214,7 +179,6 @@
4608 clock-names = "qspi_en", "qspi";
4609 clocks = <&clockgen 4 1>, <&clockgen 4 1>;
4610 big-endian;
4611 - fsl,qspi-has-second-chip;
4612 status = "disabled";
4613 };
4614
4615 @@ -229,6 +193,49 @@
4616 bus-width = <4>;
4617 };
4618
4619 + smmu: iommu@9000000 {
4620 + compatible = "arm,mmu-500";
4621 + reg = <0 0x9000000 0 0x400000>;
4622 + dma-coherent;
4623 + stream-match-mask = <0x7f00>;
4624 + #global-interrupts = <2>;
4625 + #iommu-cells = <1>;
4626 + interrupts = <GIC_SPI 142 IRQ_TYPE_LEVEL_HIGH>,
4627 + <GIC_SPI 143 IRQ_TYPE_LEVEL_HIGH>,
4628 + <GIC_SPI 142 IRQ_TYPE_LEVEL_HIGH>,
4629 + <GIC_SPI 142 IRQ_TYPE_LEVEL_HIGH>,
4630 + <GIC_SPI 142 IRQ_TYPE_LEVEL_HIGH>,
4631 + <GIC_SPI 142 IRQ_TYPE_LEVEL_HIGH>,
4632 + <GIC_SPI 142 IRQ_TYPE_LEVEL_HIGH>,
4633 + <GIC_SPI 142 IRQ_TYPE_LEVEL_HIGH>,
4634 + <GIC_SPI 142 IRQ_TYPE_LEVEL_HIGH>,
4635 + <GIC_SPI 142 IRQ_TYPE_LEVEL_HIGH>,
4636 + <GIC_SPI 142 IRQ_TYPE_LEVEL_HIGH>,
4637 + <GIC_SPI 142 IRQ_TYPE_LEVEL_HIGH>,
4638 + <GIC_SPI 142 IRQ_TYPE_LEVEL_HIGH>,
4639 + <GIC_SPI 142 IRQ_TYPE_LEVEL_HIGH>,
4640 + <GIC_SPI 142 IRQ_TYPE_LEVEL_HIGH>,
4641 + <GIC_SPI 142 IRQ_TYPE_LEVEL_HIGH>,
4642 + <GIC_SPI 142 IRQ_TYPE_LEVEL_HIGH>,
4643 + <GIC_SPI 142 IRQ_TYPE_LEVEL_HIGH>,
4644 + <GIC_SPI 142 IRQ_TYPE_LEVEL_HIGH>,
4645 + <GIC_SPI 142 IRQ_TYPE_LEVEL_HIGH>,
4646 + <GIC_SPI 142 IRQ_TYPE_LEVEL_HIGH>,
4647 + <GIC_SPI 142 IRQ_TYPE_LEVEL_HIGH>,
4648 + <GIC_SPI 142 IRQ_TYPE_LEVEL_HIGH>,
4649 + <GIC_SPI 142 IRQ_TYPE_LEVEL_HIGH>,
4650 + <GIC_SPI 142 IRQ_TYPE_LEVEL_HIGH>,
4651 + <GIC_SPI 142 IRQ_TYPE_LEVEL_HIGH>,
4652 + <GIC_SPI 142 IRQ_TYPE_LEVEL_HIGH>,
4653 + <GIC_SPI 142 IRQ_TYPE_LEVEL_HIGH>,
4654 + <GIC_SPI 142 IRQ_TYPE_LEVEL_HIGH>,
4655 + <GIC_SPI 142 IRQ_TYPE_LEVEL_HIGH>,
4656 + <GIC_SPI 142 IRQ_TYPE_LEVEL_HIGH>,
4657 + <GIC_SPI 142 IRQ_TYPE_LEVEL_HIGH>,
4658 + <GIC_SPI 142 IRQ_TYPE_LEVEL_HIGH>,
4659 + <GIC_SPI 142 IRQ_TYPE_LEVEL_HIGH>;
4660 + };
4661 +
4662 scfg: scfg@1570000 {
4663 compatible = "fsl,ls1046a-scfg", "syscon";
4664 reg = <0x0 0x1570000 0x0 0x10000>;
4665 @@ -304,7 +311,7 @@
4666
4667 dcfg: dcfg@1ee0000 {
4668 compatible = "fsl,ls1046a-dcfg", "syscon";
4669 - reg = <0x0 0x1ee0000 0x0 0x10000>;
4670 + reg = <0x0 0x1ee0000 0x0 0x1000>;
4671 big-endian;
4672 };
4673
4674 @@ -362,36 +369,7 @@
4675 #thermal-sensor-cells = <1>;
4676 };
4677
4678 - thermal-zones {
4679 - cpu_thermal: cpu-thermal {
4680 - polling-delay-passive = <1000>;
4681 - polling-delay = <5000>;
4682 - thermal-sensors = <&tmu 3>;
4683 -
4684 - trips {
4685 - cpu_alert: cpu-alert {
4686 - temperature = <85000>;
4687 - hysteresis = <2000>;
4688 - type = "passive";
4689 - };
4690 -
4691 - cpu_crit: cpu-crit {
4692 - temperature = <95000>;
4693 - hysteresis = <2000>;
4694 - type = "critical";
4695 - };
4696 - };
4697 -
4698 - cooling-maps {
4699 - map0 {
4700 - trip = <&cpu_alert>;
4701 - cooling-device =
4702 - <&cpu0 THERMAL_NO_LIMIT
4703 - THERMAL_NO_LIMIT>;
4704 - };
4705 - };
4706 - };
4707 - };
4708 + #include "fsl-tmu.dtsi"
4709
4710 dspi: dspi@2100000 {
4711 compatible = "fsl,ls1021a-v1.0-dspi";
4712 @@ -407,7 +385,7 @@
4713 };
4714
4715 i2c0: i2c@2180000 {
4716 - compatible = "fsl,vf610-i2c";
4717 + compatible = "fsl,vf610-i2c", "fsl,ls1046a-vf610-i2c";
4718 #address-cells = <1>;
4719 #size-cells = <0>;
4720 reg = <0x0 0x2180000 0x0 0x10000>;
4721 @@ -416,6 +394,7 @@
4722 dmas = <&edma0 1 39>,
4723 <&edma0 1 38>;
4724 dma-names = "tx", "rx";
4725 + scl-gpios = <&gpio3 12 0>;
4726 status = "disabled";
4727 };
4728
4729 @@ -440,12 +419,13 @@
4730 };
4731
4732 i2c3: i2c@21b0000 {
4733 - compatible = "fsl,vf610-i2c";
4734 + compatible = "fsl,vf610-i2c", "fsl,ls1046a-vf610-i2c";
4735 #address-cells = <1>;
4736 #size-cells = <0>;
4737 reg = <0x0 0x21b0000 0x0 0x10000>;
4738 interrupts = <GIC_SPI 59 IRQ_TYPE_LEVEL_HIGH>;
4739 clocks = <&clockgen 4 1>;
4740 + scl-gpios = <&gpio3 12 0>;
4741 status = "disabled";
4742 };
4743
4744 @@ -571,6 +551,15 @@
4745 status = "disabled";
4746 };
4747
4748 + ftm0: ftm0@29d0000 {
4749 + compatible = "fsl,ls1046a-ftm-alarm";
4750 + reg = <0x0 0x29d0000 0x0 0x10000>,
4751 + <0x0 0x1ee2140 0x0 0x4>;
4752 + reg-names = "ftm", "pmctrl";
4753 + interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>;
4754 + big-endian;
4755 + };
4756 +
4757 wdog0: watchdog@2ad0000 {
4758 compatible = "fsl,imx21-wdt";
4759 reg = <0x0 0x2ad0000 0x0 0x10000>;
4760 @@ -595,40 +584,81 @@
4761 <&clockgen 4 1>;
4762 };
4763
4764 - usb0: usb@2f00000 {
4765 - compatible = "snps,dwc3";
4766 - reg = <0x0 0x2f00000 0x0 0x10000>;
4767 - interrupts = <GIC_SPI 60 IRQ_TYPE_LEVEL_HIGH>;
4768 - dr_mode = "host";
4769 - snps,quirk-frame-length-adjustment = <0x20>;
4770 - snps,dis_rxdet_inp3_quirk;
4771 - };
4772 -
4773 - usb1: usb@3000000 {
4774 - compatible = "snps,dwc3";
4775 - reg = <0x0 0x3000000 0x0 0x10000>;
4776 - interrupts = <GIC_SPI 61 IRQ_TYPE_LEVEL_HIGH>;
4777 - dr_mode = "host";
4778 - snps,quirk-frame-length-adjustment = <0x20>;
4779 - snps,dis_rxdet_inp3_quirk;
4780 - };
4781 -
4782 - usb2: usb@3100000 {
4783 - compatible = "snps,dwc3";
4784 - reg = <0x0 0x3100000 0x0 0x10000>;
4785 - interrupts = <GIC_SPI 63 IRQ_TYPE_LEVEL_HIGH>;
4786 - dr_mode = "host";
4787 - snps,quirk-frame-length-adjustment = <0x20>;
4788 - snps,dis_rxdet_inp3_quirk;
4789 - };
4790 -
4791 - sata: sata@3200000 {
4792 - compatible = "fsl,ls1046a-ahci";
4793 - reg = <0x0 0x3200000 0x0 0x10000>,
4794 - <0x0 0x20140520 0x0 0x4>;
4795 - reg-names = "ahci", "sata-ecc";
4796 - interrupts = <GIC_SPI 69 IRQ_TYPE_LEVEL_HIGH>;
4797 - clocks = <&clockgen 4 1>;
4798 + aux_bus: aux_bus {
4799 + #address-cells = <2>;
4800 + #size-cells = <2>;
4801 + compatible = "simple-bus";
4802 + ranges;
4803 + dma-ranges = <0x0 0x0 0x0 0x0 0x100 0x00000000>;
4804 +
4805 + usb0: usb@2f00000 {
4806 + compatible = "snps,dwc3";
4807 + reg = <0x0 0x2f00000 0x0 0x10000>;
4808 + interrupts = <GIC_SPI 60 IRQ_TYPE_LEVEL_HIGH>;
4809 + dr_mode = "host";
4810 + snps,quirk-frame-length-adjustment = <0x20>;
4811 + snps,dis_rxdet_inp3_quirk;
4812 + usb3-lpm-capable;
4813 + snps,dis-u1u2-when-u3-quirk;
4814 + snps,incr-burst-type-adjustment = <1>, <4>, <8>, <16>;
4815 + snps,host-vbus-glitches;
4816 + };
4817 +
4818 + usb1: usb@3000000 {
4819 + compatible = "snps,dwc3";
4820 + reg = <0x0 0x3000000 0x0 0x10000>;
4821 + interrupts = <GIC_SPI 61 IRQ_TYPE_LEVEL_HIGH>;
4822 + dr_mode = "host";
4823 + snps,quirk-frame-length-adjustment = <0x20>;
4824 + snps,dis_rxdet_inp3_quirk;
4825 + usb3-lpm-capable;
4826 + snps,dis-u1u2-when-u3-quirk;
4827 + snps,incr-burst-type-adjustment = <1>, <4>, <8>, <16>;
4828 + snps,host-vbus-glitches;
4829 + };
4830 +
4831 + usb2: usb@3100000 {
4832 + compatible = "snps,dwc3";
4833 + reg = <0x0 0x3100000 0x0 0x10000>;
4834 + interrupts = <GIC_SPI 63 IRQ_TYPE_LEVEL_HIGH>;
4835 + dr_mode = "host";
4836 + snps,quirk-frame-length-adjustment = <0x20>;
4837 + snps,dis_rxdet_inp3_quirk;
4838 + usb3-lpm-capable;
4839 + snps,dis-u1u2-when-u3-quirk;
4840 + snps,incr-burst-type-adjustment = <1>, <4>, <8>, <16>;
4841 + snps,host-vbus-glitches;
4842 + };
4843 +
4844 + sata: sata@3200000 {
4845 + compatible = "fsl,ls1046a-ahci";
4846 + reg = <0x0 0x3200000 0x0 0x10000>,
4847 + <0x0 0x20140520 0x0 0x4>;
4848 + reg-names = "ahci", "sata-ecc";
4849 + interrupts = <GIC_SPI 69 IRQ_TYPE_LEVEL_HIGH>;
4850 + clocks = <&clockgen 4 1>;
4851 + };
4852 + };
4853 +
4854 + qdma: qdma@8380000 {
4855 + compatible = "fsl,ls1046a-qdma", "fsl,ls1021a-qdma";
4856 + reg = <0x0 0x8380000 0x0 0x1000>, /* Controller regs */
4857 + <0x0 0x8390000 0x0 0x10000>, /* Status regs */
4858 + <0x0 0x83a0000 0x0 0x40000>; /* Block regs */
4859 + interrupts = <0 153 0x4>,
4860 + <0 39 0x4>,
4861 + <0 40 0x4>,
4862 + <0 41 0x4>,
4863 + <0 42 0x4>;
4864 + interrupt-names = "qdma-error", "qdma-queue0",
4865 + "qdma-queue1", "qdma-queue2", "qdma-queue3";
4866 + channels = <8>;
4867 + block-number = <1>;
4868 + block-offset = <0x10000>;
4869 + queues = <2>;
4870 + status-sizes = <64>;
4871 + queue-sizes = <64 64>;
4872 + big-endian;
4873 };
4874
4875 msi1: msi-controller@1580000 {
4876 @@ -661,6 +691,125 @@
4877 <GIC_SPI 157 IRQ_TYPE_LEVEL_HIGH>;
4878 };
4879
4880 + pcie@3400000 {
4881 + compatible = "fsl,ls1046a-pcie", "snps,dw-pcie";
4882 + reg = <0x00 0x03400000 0x0 0x00100000 /* controller registers */
4883 + 0x40 0x00000000 0x0 0x00002000>; /* configuration space */
4884 + reg-names = "regs", "config";
4885 + interrupts = <GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH>, /* PME interrupt */
4886 + <GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH>; /* aer interrupt */
4887 + interrupt-names = "pme", "aer";
4888 + #address-cells = <3>;
4889 + #size-cells = <2>;
4890 + device_type = "pci";
4891 + dma-coherent;
4892 + iommu-map = <0 &smmu 0 1>;
4893 + num-lanes = <4>;
4894 + bus-range = <0x0 0xff>;
4895 + ranges = <0x81000000 0x0 0x00000000 0x40 0x00010000 0x0 0x00010000 /* downstream I/O */
4896 + 0x82000000 0x0 0x40000000 0x40 0x40000000 0x0 0x40000000>; /* non-prefetchable memory */
4897 + msi-parent = <&msi1>, <&msi2>, <&msi3>;
4898 + #interrupt-cells = <1>;
4899 + interrupt-map-mask = <0 0 0 7>;
4900 + interrupt-map = <0000 0 0 1 &gic GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>,
4901 + <0000 0 0 2 &gic GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>,
4902 + <0000 0 0 3 &gic GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>,
4903 + <0000 0 0 4 &gic GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>;
4904 + status = "disabled";
4905 + };
4906 +
4907 + pcie_ep@3400000 {
4908 + compatible = "fsl,ls1046a-pcie-ep","fsl,ls-pcie-ep";
4909 + reg = <0x00 0x03400000 0x0 0x00100000
4910 + 0x40 0x00000000 0x8 0x00000000>;
4911 + reg-names = "regs", "addr_space";
4912 + num-ib-windows = <6>;
4913 + num-ob-windows = <8>;
4914 + num-lanes = <2>;
4915 + status = "disabled";
4916 + };
4917 +
4918 + pcie@3500000 {
4919 + compatible = "fsl,ls1046a-pcie", "snps,dw-pcie";
4920 + reg = <0x00 0x03500000 0x0 0x00100000 /* controller registers */
4921 + 0x48 0x00000000 0x0 0x00002000>; /* configuration space */
4922 + reg-names = "regs", "config";
4923 + interrupts = <GIC_SPI 127 IRQ_TYPE_LEVEL_HIGH>,
4924 + <GIC_SPI 128 IRQ_TYPE_LEVEL_HIGH>;
4925 + interrupt-names = "pme", "aer";
4926 + #address-cells = <3>;
4927 + #size-cells = <2>;
4928 + device_type = "pci";
4929 + dma-coherent;
4930 + iommu-map = <0 &smmu 0 1>;
4931 + num-lanes = <2>;
4932 + bus-range = <0x0 0xff>;
4933 + ranges = <0x81000000 0x0 0x00000000 0x48 0x00010000 0x0 0x00010000 /* downstream I/O */
4934 + 0x82000000 0x0 0x40000000 0x48 0x40000000 0x0 0x40000000>; /* non-prefetchable memory */
4935 + msi-parent = <&msi1>, <&msi2>, <&msi3>;
4936 + #interrupt-cells = <1>;
4937 + interrupt-map-mask = <0 0 0 7>;
4938 + interrupt-map = <0000 0 0 1 &gic GIC_SPI 120 IRQ_TYPE_LEVEL_HIGH>,
4939 + <0000 0 0 2 &gic GIC_SPI 120 IRQ_TYPE_LEVEL_HIGH>,
4940 + <0000 0 0 3 &gic GIC_SPI 120 IRQ_TYPE_LEVEL_HIGH>,
4941 + <0000 0 0 4 &gic GIC_SPI 120 IRQ_TYPE_LEVEL_HIGH>;
4942 + status = "disabled";
4943 + };
4944 +
4945 + pcie_ep@3500000 {
4946 + compatible = "fsl,ls1046a-pcie-ep","fsl,ls-pcie-ep";
4947 + reg = <0x00 0x03500000 0x0 0x00100000
4948 + 0x48 0x00000000 0x8 0x00000000>;
4949 + reg-names = "regs", "addr_space";
4950 + num-ib-windows = <6>;
4951 + num-ob-windows = <8>;
4952 + num-lanes = <2>;
4953 + status = "disabled";
4954 + };
4955 +
4956 + pcie@3600000 {
4957 + compatible = "fsl,ls1046a-pcie", "snps,dw-pcie";
4958 + reg = <0x00 0x03600000 0x0 0x00100000 /* controller registers */
4959 + 0x50 0x00000000 0x0 0x00002000>; /* configuration space */
4960 + reg-names = "regs", "config";
4961 + interrupts = <GIC_SPI 161 IRQ_TYPE_LEVEL_HIGH>,
4962 + <GIC_SPI 162 IRQ_TYPE_LEVEL_HIGH>;
4963 + interrupt-names = "pme", "aer";
4964 + #address-cells = <3>;
4965 + #size-cells = <2>;
4966 + device_type = "pci";
4967 + dma-coherent;
4968 + iommu-map = <0 &smmu 0 1>;
4969 + num-lanes = <2>;
4970 + bus-range = <0x0 0xff>;
4971 + ranges = <0x81000000 0x0 0x00000000 0x50 0x00010000 0x0 0x00010000 /* downstream I/O */
4972 + 0x82000000 0x0 0x40000000 0x50 0x40000000 0x0 0x40000000>; /* non-prefetchable memory */
4973 + msi-parent = <&msi1>, <&msi2>, <&msi3>;
4974 + #interrupt-cells = <1>;
4975 + interrupt-map-mask = <0 0 0 7>;
4976 + interrupt-map = <0000 0 0 1 &gic GIC_SPI 154 IRQ_TYPE_LEVEL_HIGH>,
4977 + <0000 0 0 2 &gic GIC_SPI 154 IRQ_TYPE_LEVEL_HIGH>,
4978 + <0000 0 0 3 &gic GIC_SPI 154 IRQ_TYPE_LEVEL_HIGH>,
4979 + <0000 0 0 4 &gic GIC_SPI 154 IRQ_TYPE_LEVEL_HIGH>;
4980 + status = "disabled";
4981 + };
4982 +
4983 + pcie_ep@3600000 {
4984 + compatible = "fsl,ls1046a-pcie-ep", "fsl,ls-pcie-ep";
4985 + reg = <0x00 0x03600000 0x0 0x00100000
4986 + 0x50 0x00000000 0x8 0x00000000>;
4987 + reg-names = "regs", "addr_space";
4988 + num-ib-windows = <6>;
4989 + num-ob-windows = <8>;
4990 + num-lanes = <2>;
4991 + status = "disabled";
4992 + };
4993 +
4994 + serdes1: serdes@1ea0000 {
4995 + reg = <0x0 0x1ea0000 0 0x00002000>;
4996 + compatible = "fsl,serdes-10g";
4997 + };
4998 +
4999 };
5000
5001 reserved-memory {
5002 @@ -689,7 +838,36 @@
5003 no-map;
5004 };
5005 };
5006 +
5007 + firmware {
5008 + optee {
5009 + compatible = "linaro,optee-tz";
5010 + method = "smc";
5011 + };
5012 + };
5013 };
5014
5015 #include "qoriq-qman-portals.dtsi"
5016 #include "qoriq-bman-portals.dtsi"
5017 +
5018 +&thermal_zones {
5019 + thermal-zone0 {
5020 + status = "okay";
5021 + };
5022 +
5023 + thermal-zone1 {
5024 + status = "okay";
5025 + };
5026 +
5027 + thermal-zone2 {
5028 + status = "okay";
5029 + };
5030 +
5031 + thermal-zone3 {
5032 + status = "okay";
5033 + };
5034 +
5035 + thermal-zone4 {
5036 + status = "okay";
5037 + };
5038 +};
5039 --- a/arch/arm64/boot/dts/freescale/fsl-ls1088a-qds.dts
5040 +++ b/arch/arm64/boot/dts/freescale/fsl-ls1088a-qds.dts
5041 @@ -1,3 +1,4 @@
5042 +// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
5043 /*
5044 * Device Tree file for NXP LS1088A QDS Board.
5045 *
5046 @@ -5,43 +6,6 @@
5047 *
5048 * Harninder Rai <harninder.rai@nxp.com>
5049 *
5050 - * This file is dual-licensed: you can use it either under the terms
5051 - * of the GPLv2 or the X11 license, at your option. Note that this dual
5052 - * licensing only applies to this file, and not this project as a
5053 - * whole.
5054 - *
5055 - * a) This library is free software; you can redistribute it and/or
5056 - * modify it under the terms of the GNU General Public License as
5057 - * published by the Free Software Foundation; either version 2 of the
5058 - * License, or (at your option) any later version.
5059 - *
5060 - * This library is distributed in the hope that it will be useful,
5061 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
5062 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
5063 - * GNU General Public License for more details.
5064 - *
5065 - * Or, alternatively,
5066 - *
5067 - * b) Permission is hereby granted, free of charge, to any person
5068 - * obtaining a copy of this software and associated documentation
5069 - * files (the "Software"), to deal in the Software without
5070 - * restriction, including without limitation the rights to use,
5071 - * copy, modify, merge, publish, distribute, sublicense, and/or
5072 - * sell copies of the Software, and to permit persons to whom the
5073 - * Software is furnished to do so, subject to the following
5074 - * conditions:
5075 - *
5076 - * The above copyright notice and this permission notice shall be
5077 - * included in all copies or substantial portions of the Software.
5078 - *
5079 - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
5080 - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
5081 - * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
5082 - * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
5083 - * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
5084 - * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
5085 - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
5086 - * OTHER DEALINGS IN THE SOFTWARE.
5087 */
5088
5089 /dts-v1/;
5090 @@ -134,6 +98,30 @@
5091 };
5092 };
5093
5094 +&qspi {
5095 + status = "okay";
5096 + fsl,qspi-has-second-chip;
5097 + qflash0: s25fs512s@0 {
5098 + compatible = "spansion,m25p80";
5099 + #address-cells = <1>;
5100 + #size-cells = <1>;
5101 + spi-max-frequency = <20000000>;
5102 + reg = <0>;
5103 + spi-rx-bus-width = <4>;
5104 + spi-tx-bus-width = <4>;
5105 + };
5106 +
5107 + qflash1: s25fs512s@1 {
5108 + compatible = "spansion,m25p80";
5109 + #address-cells = <1>;
5110 + #size-cells = <1>;
5111 + spi-max-frequency = <20000000>;
5112 + reg = <1>;
5113 + spi-rx-bus-width = <4>;
5114 + spi-tx-bus-width = <4>;
5115 + };
5116 +};
5117 +
5118 &duart0 {
5119 status = "okay";
5120 };
5121 @@ -149,3 +137,29 @@
5122 &sata {
5123 status = "okay";
5124 };
5125 +
5126 +&pcs_mdio1 {
5127 + pcs_phy1: ethernet-phy@0 {
5128 + backplane-mode = "10gbase-kr";
5129 + compatible = "ethernet-phy-ieee802.3-c45";
5130 + reg = <0x0>;
5131 + fsl,lane-handle = <&serdes1>;
5132 + fsl,lane-reg = <0x840 0x40>;/* lane B */
5133 + };
5134 +};
5135 +
5136 +&pcs_mdio2 {
5137 + pcs_phy2: ethernet-phy@0 {
5138 + backplane-mode = "10gbase-kr";
5139 + compatible = "ethernet-phy-ieee802.3-c45";
5140 + reg = <0x0>;
5141 + fsl,lane-handle = <&serdes1>;
5142 + fsl,lane-reg = <0x800 0x40>;/* lane A */
5143 + };
5144 +};
5145 +
5146 +/* Update DPMAC connections to backplane PHYs, under SerDes 0x1D_0xXX.
5147 + * &dpmac1 {
5148 + * phy-handle = <&pcs_phy1>;
5149 + * };
5150 + */
5151 --- a/arch/arm64/boot/dts/freescale/fsl-ls1088a-rdb.dts
5152 +++ b/arch/arm64/boot/dts/freescale/fsl-ls1088a-rdb.dts
5153 @@ -1,3 +1,4 @@
5154 +// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
5155 /*
5156 * Device Tree file for NXP LS1088A RDB Board.
5157 *
5158 @@ -5,43 +6,6 @@
5159 *
5160 * Harninder Rai <harninder.rai@nxp.com>
5161 *
5162 - * This file is dual-licensed: you can use it either under the terms
5163 - * of the GPLv2 or the X11 license, at your option. Note that this dual
5164 - * licensing only applies to this file, and not this project as a
5165 - * whole.
5166 - *
5167 - * a) This library is free software; you can redistribute it and/or
5168 - * modify it under the terms of the GNU General Public License as
5169 - * published by the Free Software Foundation; either version 2 of the
5170 - * License, or (at your option) any later version.
5171 - *
5172 - * This library is distributed in the hope that it will be useful,
5173 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
5174 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
5175 - * GNU General Public License for more details.
5176 - *
5177 - * Or, alternatively,
5178 - *
5179 - * b) Permission is hereby granted, free of charge, to any person
5180 - * obtaining a copy of this software and associated documentation
5181 - * files (the "Software"), to deal in the Software without
5182 - * restriction, including without limitation the rights to use,
5183 - * copy, modify, merge, publish, distribute, sublicense, and/or
5184 - * sell copies of the Software, and to permit persons to whom the
5185 - * Software is furnished to do so, subject to the following
5186 - * conditions:
5187 - *
5188 - * The above copyright notice and this permission notice shall be
5189 - * included in all copies or substantial portions of the Software.
5190 - *
5191 - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
5192 - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
5193 - * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
5194 - * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
5195 - * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
5196 - * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
5197 - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
5198 - * OTHER DEALINGS IN THE SOFTWARE.
5199 */
5200
5201 /dts-v1/;
5202 @@ -110,6 +74,31 @@
5203 };
5204 };
5205
5206 +&qspi {
5207 + status = "okay";
5208 + fsl,qspi-has-second-chip;
5209 + qflash0: s25fs512s@0 {
5210 + compatible = "spansion,m25p80";
5211 + #address-cells = <1>;
5212 + #size-cells = <1>;
5213 + spi-max-frequency = <20000000>;
5214 + reg = <0>;
5215 + spi-rx-bus-width = <4>;
5216 + spi-tx-bus-width = <4>;
5217 + };
5218 +
5219 + qflash1: s25fs512s@1 {
5220 + compatible = "spansion,m25p80";
5221 + #address-cells = <1>;
5222 + #size-cells = <1>;
5223 + spi-max-frequency = <20000000>;
5224 + reg = <1>;
5225 + spi-rx-bus-width = <4>;
5226 + spi-tx-bus-width = <4>;
5227 + };
5228 +
5229 +};
5230 +
5231 &duart0 {
5232 status = "okay";
5233 };
5234 @@ -118,6 +107,14 @@
5235 status = "okay";
5236 };
5237
5238 +&usb0 {
5239 + status = "okay";
5240 +};
5241 +
5242 +&usb1 {
5243 + status = "okay";
5244 +};
5245 +
5246 &esdhc {
5247 status = "okay";
5248 };
5249 @@ -125,3 +122,82 @@
5250 &sata {
5251 status = "okay";
5252 };
5253 +
5254 +&emdio1 {
5255 + /* Freescale F104 PHY1 */
5256 + mdio1_phy1: emdio1_phy@1 {
5257 + reg = <0x1c>;
5258 + phy-connection-type = "qsgmii";
5259 + };
5260 + mdio1_phy2: emdio1_phy@2 {
5261 + reg = <0x1d>;
5262 + phy-connection-type = "qsgmii";
5263 + };
5264 + mdio1_phy3: emdio1_phy@3 {
5265 + reg = <0x1e>;
5266 + phy-connection-type = "qsgmii";
5267 + };
5268 + mdio1_phy4: emdio1_phy@4 {
5269 + reg = <0x1f>;
5270 + phy-connection-type = "qsgmii";
5271 + };
5272 + /* F104 PHY2 */
5273 + mdio1_phy5: emdio1_phy@5 {
5274 + reg = <0x0c>;
5275 + phy-connection-type = "qsgmii";
5276 + };
5277 + mdio1_phy6: emdio1_phy@6 {
5278 + reg = <0x0d>;
5279 + phy-connection-type = "qsgmii";
5280 + };
5281 + mdio1_phy7: emdio1_phy@7 {
5282 + reg = <0x0e>;
5283 + phy-connection-type = "qsgmii";
5284 + };
5285 + mdio1_phy8: emdio1_phy@8 {
5286 + reg = <0x0f>;
5287 + phy-connection-type = "qsgmii";
5288 + };
5289 +};
5290 +
5291 +&emdio2 {
5292 + /* Aquantia AQR105 10G PHY */
5293 + mdio2_phy1: emdio2_phy@1 {
5294 + compatible = "ethernet-phy-ieee802.3-c45";
5295 + interrupts = <0 2 0x4>;
5296 + reg = <0x0>;
5297 + phy-connection-type = "xfi";
5298 + };
5299 +};
5300 +
5301 +/* DPMAC connections to external PHYs
5302 + * based on LS1088A RM RevC - $24.1.2 SerDes Options
5303 + */
5304 +/* DPMAC1 is 10G SFP+, fixed link */
5305 +&dpmac2 {
5306 + phy-handle = <&mdio2_phy1>;
5307 +};
5308 +&dpmac3 {
5309 + phy-handle = <&mdio1_phy5>;
5310 +};
5311 +&dpmac4 {
5312 + phy-handle = <&mdio1_phy6>;
5313 +};
5314 +&dpmac5 {
5315 + phy-handle = <&mdio1_phy7>;
5316 +};
5317 +&dpmac6 {
5318 + phy-handle = <&mdio1_phy8>;
5319 +};
5320 +&dpmac7 {
5321 + phy-handle = <&mdio1_phy1>;
5322 +};
5323 +&dpmac8 {
5324 + phy-handle = <&mdio1_phy2>;
5325 +};
5326 +&dpmac9 {
5327 + phy-handle = <&mdio1_phy3>;
5328 +};
5329 +&dpmac10 {
5330 + phy-handle = <&mdio1_phy4>;
5331 +};
5332 --- a/arch/arm64/boot/dts/freescale/fsl-ls1088a.dtsi
5333 +++ b/arch/arm64/boot/dts/freescale/fsl-ls1088a.dtsi
5334 @@ -1,3 +1,4 @@
5335 +// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
5336 /*
5337 * Device Tree Include file for NXP Layerscape-1088A family SoC.
5338 *
5339 @@ -5,43 +6,6 @@
5340 *
5341 * Harninder Rai <harninder.rai@nxp.com>
5342 *
5343 - * This file is dual-licensed: you can use it either under the terms
5344 - * of the GPLv2 or the X11 license, at your option. Note that this dual
5345 - * licensing only applies to this file, and not this project as a
5346 - * whole.
5347 - *
5348 - * a) This library is free software; you can redistribute it and/or
5349 - * modify it under the terms of the GNU General Public License as
5350 - * published by the Free Software Foundation; either version 2 of the
5351 - * License, or (at your option) any later version.
5352 - *
5353 - * This library is distributed in the hope that it will be useful,
5354 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
5355 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
5356 - * GNU General Public License for more details.
5357 - *
5358 - * Or, alternatively,
5359 - *
5360 - * b) Permission is hereby granted, free of charge, to any person
5361 - * obtaining a copy of this software and associated documentation
5362 - * files (the "Software"), to deal in the Software without
5363 - * restriction, including without limitation the rights to use,
5364 - * copy, modify, merge, publish, distribute, sublicense, and/or
5365 - * sell copies of the Software, and to permit persons to whom the
5366 - * Software is furnished to do so, subject to the following
5367 - * conditions:
5368 - *
5369 - * The above copyright notice and this permission notice shall be
5370 - * included in all copies or substantial portions of the Software.
5371 - *
5372 - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
5373 - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
5374 - * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
5375 - * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
5376 - * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
5377 - * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
5378 - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
5379 - * OTHER DEALINGS IN THE SOFTWARE.
5380 */
5381 #include <dt-bindings/interrupt-controller/arm-gic.h>
5382 #include <dt-bindings/thermal/thermal.h>
5383 @@ -61,7 +25,7 @@
5384 #size-cells = <0>;
5385
5386 /* We have 2 clusters having 4 Cortex-A53 cores each */
5387 - cpu0: cpu@0 {
5388 + cooling_map0: cpu0: cpu@0 {
5389 device_type = "cpu";
5390 compatible = "arm,cortex-a53";
5391 reg = <0x0>;
5392 @@ -94,7 +58,7 @@
5393 cpu-idle-states = <&CPU_PH20>;
5394 };
5395
5396 - cpu4: cpu@100 {
5397 + cooling_map1: cpu4: cpu@100 {
5398 device_type = "cpu";
5399 compatible = "arm,cortex-a53";
5400 reg = <0x100>;
5401 @@ -130,7 +94,7 @@
5402 CPU_PH20: cpu-ph20 {
5403 compatible = "arm,idle-state";
5404 idle-state-name = "PH20";
5405 - arm,psci-suspend-param = <0x00010000>;
5406 + arm,psci-suspend-param = <0x0>;
5407 entry-latency-us = <1000>;
5408 exit-latency-us = <1000>;
5409 min-residency-us = <3000>;
5410 @@ -147,6 +111,15 @@
5411 <0x0 0x0c0d0000 0 0x1000>, /* GICH */
5412 <0x0 0x0c0e0000 0 0x20000>; /* GICV */
5413 interrupts = <1 9 IRQ_TYPE_LEVEL_HIGH>;
5414 + #address-cells = <2>;
5415 + #size-cells = <2>;
5416 + ranges;
5417 +
5418 + its: gic-its@6020000 {
5419 + compatible = "arm,gic-v3-its";
5420 + msi-controller;
5421 + reg = <0x0 0x6020000 0 0x20000>;
5422 + };
5423 };
5424
5425 timer {
5426 @@ -169,11 +142,31 @@
5427 clock-output-names = "sysclk";
5428 };
5429
5430 + dcfg: dcfg@1e00000 {
5431 + compatible = "fsl,ls1088a-dcfg", "syscon";
5432 + reg = <0x0 0x1e00000 0x0 0x10000>;
5433 + little-endian;
5434 + };
5435 +
5436 + rstcr: syscon@1e60000 {
5437 + compatible = "fsl,ls1088a-rstcr", "syscon";
5438 + reg = <0x0 0x1e60000 0x0 0x4>;
5439 + };
5440 +
5441 + reboot {
5442 + compatible = "syscon-reboot";
5443 + regmap = <&rstcr>;
5444 + offset = <0x0>;
5445 + mask = <0x02>;
5446 + };
5447 +
5448 +
5449 soc {
5450 compatible = "simple-bus";
5451 #address-cells = <2>;
5452 #size-cells = <2>;
5453 ranges;
5454 + dma-ranges = <0x0 0x0 0x0 0x0 0x10000 0x00000000>;
5455
5456 clockgen: clocking@1300000 {
5457 compatible = "fsl,ls1088a-clockgen";
5458 @@ -229,43 +222,7 @@
5459 #thermal-sensor-cells = <1>;
5460 };
5461
5462 - thermal-zones {
5463 - cpu_thermal: cpu-thermal {
5464 - polling-delay-passive = <1000>;
5465 - polling-delay = <5000>;
5466 - thermal-sensors = <&tmu 0>;
5467 -
5468 - trips {
5469 - cpu_alert: cpu-alert {
5470 - temperature = <85000>;
5471 - hysteresis = <2000>;
5472 - type = "passive";
5473 - };
5474 -
5475 - cpu_crit: cpu-crit {
5476 - temperature = <95000>;
5477 - hysteresis = <2000>;
5478 - type = "critical";
5479 - };
5480 - };
5481 -
5482 - cooling-maps {
5483 - map0 {
5484 - trip = <&cpu_alert>;
5485 - cooling-device =
5486 - <&cpu0 THERMAL_NO_LIMIT
5487 - THERMAL_NO_LIMIT>;
5488 - };
5489 -
5490 - map1 {
5491 - trip = <&cpu_alert>;
5492 - cooling-device =
5493 - <&cpu4 THERMAL_NO_LIMIT
5494 - THERMAL_NO_LIMIT>;
5495 - };
5496 - };
5497 - };
5498 - };
5499 + #include "fsl-tmu.dtsi"
5500
5501 duart0: serial@21c0500 {
5502 compatible = "fsl,ns16550", "ns16550a";
5503 @@ -283,6 +240,62 @@
5504 status = "disabled";
5505 };
5506
5507 + cluster1_core0_watchdog: wdt@c000000 {
5508 + compatible = "arm,sp805-wdt", "arm,primecell";
5509 + reg = <0x0 0xc000000 0x0 0x1000>;
5510 + clocks = <&clockgen 4 3>, <&clockgen 4 3>;
5511 + clock-names = "apb_pclk", "wdog_clk";
5512 + };
5513 +
5514 + cluster1_core1_watchdog: wdt@c010000 {
5515 + compatible = "arm,sp805-wdt", "arm,primecell";
5516 + reg = <0x0 0xc010000 0x0 0x1000>;
5517 + clocks = <&clockgen 4 3>, <&clockgen 4 3>;
5518 + clock-names = "apb_pclk", "wdog_clk";
5519 + };
5520 +
5521 + cluster1_core2_watchdog: wdt@c020000 {
5522 + compatible = "arm,sp805-wdt", "arm,primecell";
5523 + reg = <0x0 0xc020000 0x0 0x1000>;
5524 + clocks = <&clockgen 4 3>, <&clockgen 4 3>;
5525 + clock-names = "apb_pclk", "wdog_clk";
5526 + };
5527 +
5528 + cluster1_core3_watchdog: wdt@c030000 {
5529 + compatible = "arm,sp805-wdt", "arm,primecell";
5530 + reg = <0x0 0xc030000 0x0 0x1000>;
5531 + clocks = <&clockgen 4 3>, <&clockgen 4 3>;
5532 + clock-names = "apb_pclk", "wdog_clk";
5533 + };
5534 +
5535 + cluster2_core0_watchdog: wdt@c100000 {
5536 + compatible = "arm,sp805-wdt", "arm,primecell";
5537 + reg = <0x0 0xc100000 0x0 0x1000>;
5538 + clocks = <&clockgen 4 3>, <&clockgen 4 3>;
5539 + clock-names = "apb_pclk", "wdog_clk";
5540 + };
5541 +
5542 + cluster2_core1_watchdog: wdt@c110000 {
5543 + compatible = "arm,sp805-wdt", "arm,primecell";
5544 + reg = <0x0 0xc110000 0x0 0x1000>;
5545 + clocks = <&clockgen 4 3>, <&clockgen 4 3>;
5546 + clock-names = "apb_pclk", "wdog_clk";
5547 + };
5548 +
5549 + cluster2_core2_watchdog: wdt@c120000 {
5550 + compatible = "arm,sp805-wdt", "arm,primecell";
5551 + reg = <0x0 0xc120000 0x0 0x1000>;
5552 + clocks = <&clockgen 4 3>, <&clockgen 4 3>;
5553 + clock-names = "apb_pclk", "wdog_clk";
5554 + };
5555 +
5556 + cluster2_core3_watchdog: wdt@c130000 {
5557 + compatible = "arm,sp805-wdt", "arm,primecell";
5558 + reg = <0x0 0xc130000 0x0 0x1000>;
5559 + clocks = <&clockgen 4 3>, <&clockgen 4 3>;
5560 + clock-names = "apb_pclk", "wdog_clk";
5561 + };
5562 +
5563 gpio0: gpio@2300000 {
5564 compatible = "fsl,qoriq-gpio";
5565 reg = <0x0 0x2300000 0x0 0x10000>;
5566 @@ -323,6 +336,72 @@
5567 #interrupt-cells = <2>;
5568 };
5569
5570 + /* TODO: WRIOP (CCSR?) */
5571 + emdio1: mdio@0x8B96000 { /* WRIOP0: 0x8B8_0000,
5572 + * E-MDIO1: 0x1_6000
5573 + */
5574 + compatible = "fsl,fman-memac-mdio";
5575 + reg = <0x0 0x8B96000 0x0 0x1000>;
5576 + device_type = "mdio";
5577 + little-endian; /* force the driver in LE mode */
5578 +
5579 + /* Not necessary on the QDS, but needed on the RDB */
5580 + #address-cells = <1>;
5581 + #size-cells = <0>;
5582 + };
5583 +
5584 + emdio2: mdio@0x8B97000 { /* WRIOP0: 0x8B8_0000,
5585 + * E-MDIO2: 0x1_7000
5586 + */
5587 + compatible = "fsl,fman-memac-mdio";
5588 + reg = <0x0 0x8B97000 0x0 0x1000>;
5589 + device_type = "mdio";
5590 + little-endian; /* force the driver in LE mode */
5591 +
5592 + #address-cells = <1>;
5593 + #size-cells = <0>;
5594 + };
5595 +
5596 + pcs_mdio1: mdio@0x8c07000 {
5597 + compatible = "fsl,fman-memac-mdio";
5598 + reg = <0x0 0x8c07000 0x0 0x1000>;
5599 + device_type = "mdio";
5600 + little-endian;
5601 +
5602 + #address-cells = <1>;
5603 + #size-cells = <0>;
5604 + };
5605 +
5606 + pcs_mdio2: mdio@0x8c0b000 {
5607 + compatible = "fsl,fman-memac-mdio";
5608 + reg = <0x0 0x8c0b000 0x0 0x1000>;
5609 + device_type = "mdio";
5610 + little-endian;
5611 +
5612 + #address-cells = <1>;
5613 + #size-cells = <0>;
5614 + };
5615 +
5616 + pcs_mdio3: mdio@0x8c0f000 {
5617 + compatible = "fsl,fman-memac-mdio";
5618 + reg = <0x0 0x8c0f000 0x0 0x1000>;
5619 + device_type = "mdio";
5620 + little-endian;
5621 +
5622 + #address-cells = <1>;
5623 + #size-cells = <0>;
5624 + };
5625 +
5626 + pcs_mdio4: mdio@0x8c13000 {
5627 + compatible = "fsl,fman-memac-mdio";
5628 + reg = <0x0 0x8c13000 0x0 0x1000>;
5629 + device_type = "mdio";
5630 + little-endian;
5631 +
5632 + #address-cells = <1>;
5633 + #size-cells = <0>;
5634 + };
5635 +
5636 ifc: ifc@2240000 {
5637 compatible = "fsl,ifc", "simple-bus";
5638 reg = <0x0 0x2240000 0x0 0x20000>;
5639 @@ -333,13 +412,22 @@
5640 status = "disabled";
5641 };
5642
5643 + ftm0: ftm0@2800000 {
5644 + compatible = "fsl,ls1088a-ftm-alarm";
5645 + reg = <0x0 0x2800000 0x0 0x10000>,
5646 + <0x0 0x1e34050 0x0 0x4>;
5647 + reg-names = "ftm", "pmctrl";
5648 + interrupts = <0 44 4>;
5649 + };
5650 +
5651 i2c0: i2c@2000000 {
5652 - compatible = "fsl,vf610-i2c";
5653 + compatible = "fsl,vf610-i2c", "fsl,ls1088a-vf610-i2c";
5654 #address-cells = <1>;
5655 #size-cells = <0>;
5656 reg = <0x0 0x2000000 0x0 0x10000>;
5657 interrupts = <0 34 IRQ_TYPE_LEVEL_HIGH>;
5658 - clocks = <&clockgen 4 3>;
5659 + clocks = <&clockgen 4 7>;
5660 + scl-gpios = <&gpio3 30 0>;
5661 status = "disabled";
5662 };
5663
5664 @@ -349,7 +437,7 @@
5665 #size-cells = <0>;
5666 reg = <0x0 0x2010000 0x0 0x10000>;
5667 interrupts = <0 34 IRQ_TYPE_LEVEL_HIGH>;
5668 - clocks = <&clockgen 4 3>;
5669 + clocks = <&clockgen 4 7>;
5670 status = "disabled";
5671 };
5672
5673 @@ -359,7 +447,7 @@
5674 #size-cells = <0>;
5675 reg = <0x0 0x2020000 0x0 0x10000>;
5676 interrupts = <0 35 IRQ_TYPE_LEVEL_HIGH>;
5677 - clocks = <&clockgen 4 3>;
5678 + clocks = <&clockgen 4 7>;
5679 status = "disabled";
5680 };
5681
5682 @@ -369,7 +457,7 @@
5683 #size-cells = <0>;
5684 reg = <0x0 0x2030000 0x0 0x10000>;
5685 interrupts = <0 35 IRQ_TYPE_LEVEL_HIGH>;
5686 - clocks = <&clockgen 4 3>;
5687 + clocks = <&clockgen 4 7>;
5688 status = "disabled";
5689 };
5690
5691 @@ -385,6 +473,28 @@
5692 status = "disabled";
5693 };
5694
5695 + usb0: usb3@3100000 {
5696 + compatible = "snps,dwc3";
5697 + reg = <0x0 0x3100000 0x0 0x10000>;
5698 + interrupts = <0 80 0x4>; /* Level high type */
5699 + dr_mode = "host";
5700 + configure-gfladj;
5701 + snps,dis_rxdet_inp3_quirk;
5702 + snps,incr-burst-type-adjustment = <1>, <4>, <8>, <16>;
5703 + snps,host-vbus-glitches;
5704 + };
5705 +
5706 + usb1: usb3@3110000 {
5707 + compatible = "snps,dwc3";
5708 + reg = <0x0 0x3110000 0x0 0x10000>;
5709 + interrupts = <0 81 0x4>; /* Level high type */
5710 + dr_mode = "host";
5711 + configure-gfladj;
5712 + snps,dis_rxdet_inp3_quirk;
5713 + snps,incr-burst-type-adjustment = <1>, <4>, <8>, <16>;
5714 + snps,host-vbus-glitches;
5715 + };
5716 +
5717 sata: sata@3200000 {
5718 compatible = "fsl,ls1088a-ahci";
5719 reg = <0x0 0x3200000 0x0 0x10000>,
5720 @@ -395,6 +505,17 @@
5721 dma-coherent;
5722 status = "disabled";
5723 };
5724 + qspi: quadspi@20c0000 {
5725 + compatible = "fsl,ls2080a-qspi", "fsl,ls1088a-qspi";
5726 + #address-cells = <1>;
5727 + #size-cells = <0>;
5728 + reg = <0x0 0x20c0000 0x0 0x10000>,
5729 + <0x0 0x20000000 0x0 0x10000000>;
5730 + reg-names = "QuadSPI", "QuadSPI-memory";
5731 + interrupts = <0 25 0x4>; /* Level high type */
5732 + clocks = <&clockgen 4 3>, <&clockgen 4 3>;
5733 + clock-names = "qspi_en", "qspi";
5734 + };
5735
5736 crypto: crypto@8000000 {
5737 compatible = "fsl,sec-v5.0", "fsl,sec-v4.0";
5738 @@ -434,6 +555,267 @@
5739 interrupts = <GIC_SPI 143 IRQ_TYPE_LEVEL_HIGH>;
5740 };
5741 };
5742 +
5743 + pcie@3400000 {
5744 + compatible = "fsl,ls1088a-pcie", "snps,dw-pcie";
5745 + reg = <0x00 0x03400000 0x0 0x00100000 /* controller registers */
5746 + 0x20 0x00000000 0x0 0x00002000>; /* configuration space */
5747 + reg-names = "regs", "config";
5748 + interrupts = <0 108 IRQ_TYPE_LEVEL_HIGH>; /* aer interrupt */
5749 + interrupt-names = "aer";
5750 + #address-cells = <3>;
5751 + #size-cells = <2>;
5752 + device_type = "pci";
5753 + dma-coherent;
5754 + num-lanes = <4>;
5755 + bus-range = <0x0 0xff>;
5756 + ranges = <0x81000000 0x0 0x00000000 0x20 0x00010000 0x0 0x00010000 /* downstream I/O */
5757 + 0x82000000 0x0 0x40000000 0x20 0x40000000 0x0 0x40000000>; /* non-prefetchable memory */
5758 + msi-parent = <&its>;
5759 + iommu-map = <0 &smmu 0 1>; /* This is fixed-up by u-boot */
5760 + #interrupt-cells = <1>;
5761 + interrupt-map-mask = <0 0 0 7>;
5762 + interrupt-map = <0000 0 0 1 &gic 0 0 0 109 IRQ_TYPE_LEVEL_HIGH>,
5763 + <0000 0 0 2 &gic 0 0 0 110 IRQ_TYPE_LEVEL_HIGH>,
5764 + <0000 0 0 3 &gic 0 0 0 111 IRQ_TYPE_LEVEL_HIGH>,
5765 + <0000 0 0 4 &gic 0 0 0 112 IRQ_TYPE_LEVEL_HIGH>;
5766 + status = "disabled";
5767 + };
5768 +
5769 + pcie@3500000 {
5770 + compatible = "fsl,ls1088a-pcie", "snps,dw-pcie";
5771 + reg = <0x00 0x03500000 0x0 0x00100000 /* controller registers */
5772 + 0x28 0x00000000 0x0 0x00002000>; /* configuration space */
5773 + reg-names = "regs", "config";
5774 + interrupts = <0 113 IRQ_TYPE_LEVEL_HIGH>; /* aer interrupt */
5775 + interrupt-names = "aer";
5776 + #address-cells = <3>;
5777 + #size-cells = <2>;
5778 + device_type = "pci";
5779 + dma-coherent;
5780 + num-lanes = <4>;
5781 + bus-range = <0x0 0xff>;
5782 + ranges = <0x81000000 0x0 0x00000000 0x28 0x00010000 0x0 0x00010000 /* downstream I/O */
5783 + 0x82000000 0x0 0x40000000 0x28 0x40000000 0x0 0x40000000>; /* non-prefetchable memory */
5784 + msi-parent = <&its>;
5785 + iommu-map = <0 &smmu 0 1>; /* This is fixed-up by u-boot */
5786 + #interrupt-cells = <1>;
5787 + interrupt-map-mask = <0 0 0 7>;
5788 + interrupt-map = <0000 0 0 1 &gic 0 0 0 114 IRQ_TYPE_LEVEL_HIGH>,
5789 + <0000 0 0 2 &gic 0 0 0 115 IRQ_TYPE_LEVEL_HIGH>,
5790 + <0000 0 0 3 &gic 0 0 0 116 IRQ_TYPE_LEVEL_HIGH>,
5791 + <0000 0 0 4 &gic 0 0 0 117 IRQ_TYPE_LEVEL_HIGH>;
5792 + status = "disabled";
5793 + };
5794 +
5795 + pcie@3600000 {
5796 + compatible = "fsl,ls1088a-pcie", "snps,dw-pcie";
5797 + reg = <0x00 0x03600000 0x0 0x00100000 /* controller registers */
5798 + 0x30 0x00000000 0x0 0x00002000>; /* configuration space */
5799 + reg-names = "regs", "config";
5800 + interrupts = <0 118 IRQ_TYPE_LEVEL_HIGH>; /* aer interrupt */
5801 + interrupt-names = "aer";
5802 + #address-cells = <3>;
5803 + #size-cells = <2>;
5804 + device_type = "pci";
5805 + dma-coherent;
5806 + num-lanes = <8>;
5807 + bus-range = <0x0 0xff>;
5808 + ranges = <0x81000000 0x0 0x00000000 0x30 0x00010000 0x0 0x00010000 /* downstream I/O */
5809 + 0x82000000 0x0 0x40000000 0x30 0x40000000 0x0 0x40000000>; /* non-prefetchable memory */
5810 + msi-parent = <&its>;
5811 + iommu-map = <0 &smmu 0 1>; /* This is fixed-up by u-boot */
5812 + #interrupt-cells = <1>;
5813 + interrupt-map-mask = <0 0 0 7>;
5814 + interrupt-map = <0000 0 0 1 &gic 0 0 0 119 IRQ_TYPE_LEVEL_HIGH>,
5815 + <0000 0 0 2 &gic 0 0 0 120 IRQ_TYPE_LEVEL_HIGH>,
5816 + <0000 0 0 3 &gic 0 0 0 121 IRQ_TYPE_LEVEL_HIGH>,
5817 + <0000 0 0 4 &gic 0 0 0 122 IRQ_TYPE_LEVEL_HIGH>;
5818 + status = "disabled";
5819 + };
5820 +
5821 + fsl_mc: fsl-mc@80c000000 {
5822 + compatible = "fsl,qoriq-mc";
5823 + reg = <0x00000008 0x0c000000 0 0x40>, /* MC portal base */
5824 + <0x00000000 0x08340000 0 0x40000>; /* MC control reg */
5825 + msi-parent = <&its>;
5826 + iommu-map = <0 &smmu 0 0>; /* This is fixed-up by u-boot */
5827 + dma-coherent;
5828 + #address-cells = <3>;
5829 + #size-cells = <1>;
5830 +
5831 + /*
5832 + * Region type 0x0 - MC portals
5833 + * Region type 0x1 - QBMAN portals
5834 + */
5835 + ranges = <0x0 0x0 0x0 0x8 0x0c000000 0x4000000
5836 + 0x1 0x0 0x0 0x8 0x18000000 0x8000000>;
5837 +
5838 + dpmacs {
5839 + #address-cells = <1>;
5840 + #size-cells = <0>;
5841 +
5842 + dpmac1: dpmac@1 {
5843 + compatible = "fsl,qoriq-mc-dpmac";
5844 + reg = <1>;
5845 + };
5846 +
5847 + dpmac2: dpmac@2 {
5848 + compatible = "fsl,qoriq-mc-dpmac";
5849 + reg = <2>;
5850 + };
5851 +
5852 + dpmac3: dpmac@3 {
5853 + compatible = "fsl,qoriq-mc-dpmac";
5854 + reg = <3>;
5855 + };
5856 +
5857 + dpmac4: dpmac@4 {
5858 + compatible = "fsl,qoriq-mc-dpmac";
5859 + reg = <4>;
5860 + };
5861 +
5862 + dpmac5: dpmac@5 {
5863 + compatible = "fsl,qoriq-mc-dpmac";
5864 + reg = <5>;
5865 + };
5866 +
5867 + dpmac6: dpmac@6 {
5868 + compatible = "fsl,qoriq-mc-dpmac";
5869 + reg = <6>;
5870 + };
5871 +
5872 + dpmac7: dpmac@7 {
5873 + compatible = "fsl,qoriq-mc-dpmac";
5874 + reg = <7>;
5875 + };
5876 +
5877 + dpmac8: dpmac@8 {
5878 + compatible = "fsl,qoriq-mc-dpmac";
5879 + reg = <8>;
5880 + };
5881 +
5882 + dpmac9: dpmac@9 {
5883 + compatible = "fsl,qoriq-mc-dpmac";
5884 + reg = <9>;
5885 + };
5886 +
5887 + dpmac10: dpmac@a {
5888 + compatible = "fsl,qoriq-mc-dpmac";
5889 + reg = <0xa>;
5890 + };
5891 + };
5892 + };
5893 +
5894 + smmu: iommu@5000000 {
5895 + compatible = "arm,mmu-500";
5896 + reg = <0 0x5000000 0 0x800000>;
5897 + #global-interrupts = <12>;
5898 + #iommu-cells = <1>;
5899 + stream-match-mask = <0x7C00>;
5900 + interrupts = <0 13 4>, /* global secure fault */
5901 + <0 14 4>, /* combined secure interrupt */
5902 + <0 15 4>, /* global non-secure fault */
5903 + <0 16 4>, /* combined non-secure interrupt */
5904 + /* performance counter interrupts 0-7 */
5905 + <0 211 4>,
5906 + <0 212 4>,
5907 + <0 213 4>,
5908 + <0 214 4>,
5909 + <0 215 4>,
5910 + <0 216 4>,
5911 + <0 217 4>,
5912 + <0 218 4>,
5913 + /* per context interrupt, 64 interrupts */
5914 + <0 146 4>,
5915 + <0 147 4>,
5916 + <0 148 4>,
5917 + <0 149 4>,
5918 + <0 150 4>,
5919 + <0 151 4>,
5920 + <0 152 4>,
5921 + <0 153 4>,
5922 + <0 154 4>,
5923 + <0 155 4>,
5924 + <0 156 4>,
5925 + <0 157 4>,
5926 + <0 158 4>,
5927 + <0 159 4>,
5928 + <0 160 4>,
5929 + <0 161 4>,
5930 + <0 162 4>,
5931 + <0 163 4>,
5932 + <0 164 4>,
5933 + <0 165 4>,
5934 + <0 166 4>,
5935 + <0 167 4>,
5936 + <0 168 4>,
5937 + <0 169 4>,
5938 + <0 170 4>,
5939 + <0 171 4>,
5940 + <0 172 4>,
5941 + <0 173 4>,
5942 + <0 174 4>,
5943 + <0 175 4>,
5944 + <0 176 4>,
5945 + <0 177 4>,
5946 + <0 178 4>,
5947 + <0 179 4>,
5948 + <0 180 4>,
5949 + <0 181 4>,
5950 + <0 182 4>,
5951 + <0 183 4>,
5952 + <0 184 4>,
5953 + <0 185 4>,
5954 + <0 186 4>,
5955 + <0 187 4>,
5956 + <0 188 4>,
5957 + <0 189 4>,
5958 + <0 190 4>,
5959 + <0 191 4>,
5960 + <0 192 4>,
5961 + <0 193 4>,
5962 + <0 194 4>,
5963 + <0 195 4>,
5964 + <0 196 4>,
5965 + <0 197 4>,
5966 + <0 198 4>,
5967 + <0 199 4>,
5968 + <0 200 4>,
5969 + <0 201 4>,
5970 + <0 202 4>,
5971 + <0 203 4>,
5972 + <0 204 4>,
5973 + <0 205 4>,
5974 + <0 206 4>,
5975 + <0 207 4>,
5976 + <0 208 4>,
5977 + <0 209 4>;
5978 + };
5979 +
5980 + serdes1: serdes@1ea0000 {
5981 + compatible = "fsl,serdes-10g";
5982 + reg = <0x0 0x1ea0000 0 0x00002000>;
5983 + little-endian;
5984 + };
5985 };
5986
5987 + firmware {
5988 + optee {
5989 + compatible = "linaro,optee-tz";
5990 + method = "smc";
5991 + };
5992 + };
5993 +};
5994 +
5995 +#include "fsl-tmu-map1.dtsi"
5996 +
5997 +&thermal_zones {
5998 + thermal-zone0 {
5999 + status = "okay";
6000 + };
6001 +
6002 + thermal-zone1 {
6003 + status = "okay";
6004 + };
6005 };
6006 --- a/arch/arm64/boot/dts/freescale/fsl-ls2080a-qds.dts
6007 +++ b/arch/arm64/boot/dts/freescale/fsl-ls2080a-qds.dts
6008 @@ -1,3 +1,4 @@
6009 +// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
6010 /*
6011 * Device Tree file for Freescale LS2080a QDS Board.
6012 *
6013 @@ -7,43 +8,6 @@
6014 * Abhimanyu Saini <abhimanyu.saini@nxp.com>
6015 * Bhupesh Sharma <bhupesh.sharma@freescale.com>
6016 *
6017 - * This file is dual-licensed: you can use it either under the terms
6018 - * of the GPLv2 or the X11 license, at your option. Note that this dual
6019 - * licensing only applies to this file, and not this project as a
6020 - * whole.
6021 - *
6022 - * a) This library is free software; you can redistribute it and/or
6023 - * modify it under the terms of the GNU General Public License as
6024 - * published by the Free Software Foundation; either version 2 of the
6025 - * License, or (at your option) any later version.
6026 - *
6027 - * This library is distributed in the hope that it will be useful,
6028 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
6029 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
6030 - * GNU General Public License for more details.
6031 - *
6032 - * Or, alternatively,
6033 - *
6034 - * b) Permission is hereby granted, free of charge, to any person
6035 - * obtaining a copy of this software and associated documentation
6036 - * files (the "Software"), to deal in the Software without
6037 - * restriction, including without limitation the rights to use,
6038 - * copy, modify, merge, publish, distribute, sublicense, and/or
6039 - * sell copies of the Software, and to permit persons to whom the
6040 - * Software is furnished to do so, subject to the following
6041 - * conditions:
6042 - *
6043 - * The above copyright notice and this permission notice shall be
6044 - * included in all copies or substantial portions of the Software.
6045 - *
6046 - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
6047 - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
6048 - * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
6049 - * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
6050 - * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
6051 - * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
6052 - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
6053 - * OTHER DEALINGS IN THE SOFTWARE.
6054 */
6055
6056 /dts-v1/;
6057 @@ -59,3 +23,65 @@
6058 stdout-path = "serial0:115200n8";
6059 };
6060 };
6061 +
6062 +&ifc {
6063 + boardctrl: board-control@3,0 {
6064 + #address-cells = <1>;
6065 + #size-cells = <1>;
6066 + compatible = "fsl,tetra-fpga", "fsl,fpga-qixis", "simple-bus";
6067 + reg = <3 0 0x300>; /* TODO check address */
6068 + ranges = <0 3 0 0x300>;
6069 +
6070 + mdio_mux_emi1 {
6071 + compatible = "mdio-mux-mmioreg", "mdio-mux";
6072 + mdio-parent-bus = <&emdio1>;
6073 + reg = <0x54 1>; /* BRDCFG4 */
6074 + mux-mask = <0xe0>; /* EMI1_MDIO */
6075 +
6076 + #address-cells=<1>;
6077 + #size-cells = <0>;
6078 +
6079 + /* Child MDIO buses, one for each riser card:
6080 + * reg = 0x0, 0x20, 0x40, 0x60, 0x80, 0xa0.
6081 + * VSC8234 PHYs on the riser cards.
6082 + */
6083 +
6084 + mdio_mux3: mdio@60 {
6085 + reg = <0x60>;
6086 + #address-cells = <1>;
6087 + #size-cells = <0>;
6088 +
6089 + mdio0_phy12: mdio_phy0@1c {
6090 + reg = <0x1c>;
6091 + phy-connection-type = "sgmii";
6092 + };
6093 + mdio0_phy13: mdio_phy1@1d {
6094 + reg = <0x1d>;
6095 + phy-connection-type = "sgmii";
6096 + };
6097 + mdio0_phy14: mdio_phy2@1e {
6098 + reg = <0x1e>;
6099 + phy-connection-type = "sgmii";
6100 + };
6101 + mdio0_phy15: mdio_phy3@1f {
6102 + reg = <0x1f>;
6103 + phy-connection-type = "sgmii";
6104 + };
6105 + };
6106 + };
6107 + };
6108 +};
6109 +
6110 +/* Update DPMAC connections to external PHYs, under SerDes 0x2a_0x49. */
6111 +&dpmac9 {
6112 + phy-handle = <&mdio0_phy12>;
6113 +};
6114 +&dpmac10 {
6115 + phy-handle = <&mdio0_phy13>;
6116 +};
6117 +&dpmac11 {
6118 + phy-handle = <&mdio0_phy14>;
6119 +};
6120 +&dpmac12 {
6121 + phy-handle = <&mdio0_phy15>;
6122 +};
6123 --- a/arch/arm64/boot/dts/freescale/fsl-ls2080a-rdb.dts
6124 +++ b/arch/arm64/boot/dts/freescale/fsl-ls2080a-rdb.dts
6125 @@ -1,3 +1,4 @@
6126 +// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
6127 /*
6128 * Device Tree file for Freescale LS2080a RDB Board.
6129 *
6130 @@ -7,43 +8,6 @@
6131 * Abhimanyu Saini <abhimanyu.saini@nxp.com>
6132 * Bhupesh Sharma <bhupesh.sharma@freescale.com>
6133 *
6134 - * This file is dual-licensed: you can use it either under the terms
6135 - * of the GPLv2 or the X11 license, at your option. Note that this dual
6136 - * licensing only applies to this file, and not this project as a
6137 - * whole.
6138 - *
6139 - * a) This library is free software; you can redistribute it and/or
6140 - * modify it under the terms of the GNU General Public License as
6141 - * published by the Free Software Foundation; either version 2 of the
6142 - * License, or (at your option) any later version.
6143 - *
6144 - * This library is distributed in the hope that it will be useful,
6145 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
6146 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
6147 - * GNU General Public License for more details.
6148 - *
6149 - * Or, alternatively,
6150 - *
6151 - * b) Permission is hereby granted, free of charge, to any person
6152 - * obtaining a copy of this software and associated documentation
6153 - * files (the "Software"), to deal in the Software without
6154 - * restriction, including without limitation the rights to use,
6155 - * copy, modify, merge, publish, distribute, sublicense, and/or
6156 - * sell copies of the Software, and to permit persons to whom the
6157 - * Software is furnished to do so, subject to the following
6158 - * conditions:
6159 - *
6160 - * The above copyright notice and this permission notice shall be
6161 - * included in all copies or substantial portions of the Software.
6162 - *
6163 - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
6164 - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
6165 - * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
6166 - * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
6167 - * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
6168 - * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
6169 - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
6170 - * OTHER DEALINGS IN THE SOFTWARE.
6171 */
6172
6173 /dts-v1/;
6174 @@ -59,3 +23,83 @@
6175 stdout-path = "serial1:115200n8";
6176 };
6177 };
6178 +
6179 +&emdio1 {
6180 + status = "disabled";
6181 + /* CS4340 PHYs */
6182 + mdio1_phy1: emdio1_phy@1 {
6183 + reg = <0x10>;
6184 + phy-connection-type = "xfi";
6185 + };
6186 + mdio1_phy2: emdio1_phy@2 {
6187 + reg = <0x11>;
6188 + phy-connection-type = "xfi";
6189 + };
6190 + mdio1_phy3: emdio1_phy@3 {
6191 + reg = <0x12>;
6192 + phy-connection-type = "xfi";
6193 + };
6194 + mdio1_phy4: emdio1_phy@4 {
6195 + reg = <0x13>;
6196 + phy-connection-type = "xfi";
6197 + };
6198 +};
6199 +
6200 +&emdio2 {
6201 + /* AQR405 PHYs */
6202 + mdio2_phy1: emdio2_phy@1 {
6203 + compatible = "ethernet-phy-ieee802.3-c45";
6204 + interrupts = <0 1 0x4>; /* Level high type */
6205 + reg = <0x0>;
6206 + phy-connection-type = "xfi";
6207 + };
6208 + mdio2_phy2: emdio2_phy@2 {
6209 + compatible = "ethernet-phy-ieee802.3-c45";
6210 + interrupts = <0 2 0x4>; /* Level high type */
6211 + reg = <0x1>;
6212 + phy-connection-type = "xfi";
6213 + };
6214 + mdio2_phy3: emdio2_phy@3 {
6215 + compatible = "ethernet-phy-ieee802.3-c45";
6216 + interrupts = <0 4 0x4>; /* Level high type */
6217 + reg = <0x2>;
6218 + phy-connection-type = "xfi";
6219 + };
6220 + mdio2_phy4: emdio2_phy@4 {
6221 + compatible = "ethernet-phy-ieee802.3-c45";
6222 + interrupts = <0 5 0x4>; /* Level high type */
6223 + reg = <0x3>;
6224 + phy-connection-type = "xfi";
6225 + };
6226 +};
6227 +
6228 +/* Update DPMAC connections to external PHYs, under the assumption of
6229 + * SerDes 0x2a_0x41. This is currently the only SerDes supported on the board.
6230 + */
6231 +/* Leave Cortina nodes commented out until driver is integrated
6232 + *&dpmac1 {
6233 + * phy-handle = <&mdio1_phy1>;
6234 + *};
6235 + *&dpmac2 {
6236 + * phy-handle = <&mdio1_phy2>;
6237 + *};
6238 + *&dpmac3 {
6239 + * phy-handle = <&mdio1_phy3>;
6240 + *};
6241 + *&dpmac4 {
6242 + * phy-handle = <&mdio1_phy4>;
6243 + *};
6244 + */
6245 +
6246 +&dpmac5 {
6247 + phy-handle = <&mdio2_phy1>;
6248 +};
6249 +&dpmac6 {
6250 + phy-handle = <&mdio2_phy2>;
6251 +};
6252 +&dpmac7 {
6253 + phy-handle = <&mdio2_phy3>;
6254 +};
6255 +&dpmac8 {
6256 + phy-handle = <&mdio2_phy4>;
6257 +};
6258 --- a/arch/arm64/boot/dts/freescale/fsl-ls2080a-simu.dts
6259 +++ b/arch/arm64/boot/dts/freescale/fsl-ls2080a-simu.dts
6260 @@ -1,3 +1,4 @@
6261 +// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
6262 /*
6263 * Device Tree file for Freescale LS2080a software Simulator model
6264 *
6265 @@ -5,43 +6,6 @@
6266 *
6267 * Bhupesh Sharma <bhupesh.sharma@freescale.com>
6268 *
6269 - * This file is dual-licensed: you can use it either under the terms
6270 - * of the GPL or the X11 license, at your option. Note that this dual
6271 - * licensing only applies to this file, and not this project as a
6272 - * whole.
6273 - *
6274 - * a) This library is free software; you can redistribute it and/or
6275 - * modify it under the terms of the GNU General Public License as
6276 - * published by the Free Software Foundation; either version 2 of the
6277 - * License, or (at your option) any later version.
6278 - *
6279 - * This library is distributed in the hope that it will be useful,
6280 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
6281 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
6282 - * GNU General Public License for more details.
6283 - *
6284 - * Or, alternatively,
6285 - *
6286 - * b) Permission is hereby granted, free of charge, to any person
6287 - * obtaining a copy of this software and associated documentation
6288 - * files (the "Software"), to deal in the Software without
6289 - * restriction, including without limitation the rights to use,
6290 - * copy, modify, merge, publish, distribute, sublicense, and/or
6291 - * sell copies of the Software, and to permit persons to whom the
6292 - * Software is furnished to do so, subject to the following
6293 - * conditions:
6294 - *
6295 - * The above copyright notice and this permission notice shall be
6296 - * included in all copies or substantial portions of the Software.
6297 - *
6298 - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
6299 - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
6300 - * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
6301 - * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
6302 - * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
6303 - * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
6304 - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
6305 - * OTHER DEALINGS IN THE SOFTWARE.
6306 */
6307
6308 /dts-v1/;
6309 --- a/arch/arm64/boot/dts/freescale/fsl-ls2080a.dtsi
6310 +++ b/arch/arm64/boot/dts/freescale/fsl-ls2080a.dtsi
6311 @@ -1,3 +1,4 @@
6312 +// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
6313 /*
6314 * Device Tree Include file for Freescale Layerscape-2080A family SoC.
6315 *
6316 @@ -6,49 +7,12 @@
6317 * Abhimanyu Saini <abhimanyu.saini@nxp.com>
6318 * Bhupesh Sharma <bhupesh.sharma@freescale.com>
6319 *
6320 - * This file is dual-licensed: you can use it either under the terms
6321 - * of the GPLv2 or the X11 license, at your option. Note that this dual
6322 - * licensing only applies to this file, and not this project as a
6323 - * whole.
6324 - *
6325 - * a) This library is free software; you can redistribute it and/or
6326 - * modify it under the terms of the GNU General Public License as
6327 - * published by the Free Software Foundation; either version 2 of the
6328 - * License, or (at your option) any later version.
6329 - *
6330 - * This library is distributed in the hope that it will be useful,
6331 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
6332 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
6333 - * GNU General Public License for more details.
6334 - *
6335 - * Or, alternatively,
6336 - *
6337 - * b) Permission is hereby granted, free of charge, to any person
6338 - * obtaining a copy of this software and associated documentation
6339 - * files (the "Software"), to deal in the Software without
6340 - * restriction, including without limitation the rights to use,
6341 - * copy, modify, merge, publish, distribute, sublicense, and/or
6342 - * sell copies of the Software, and to permit persons to whom the
6343 - * Software is furnished to do so, subject to the following
6344 - * conditions:
6345 - *
6346 - * The above copyright notice and this permission notice shall be
6347 - * included in all copies or substantial portions of the Software.
6348 - *
6349 - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
6350 - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
6351 - * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
6352 - * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
6353 - * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
6354 - * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
6355 - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
6356 - * OTHER DEALINGS IN THE SOFTWARE.
6357 */
6358
6359 #include "fsl-ls208xa.dtsi"
6360
6361 &cpu {
6362 - cpu0: cpu@0 {
6363 + cooling_map0: cpu0: cpu@0 {
6364 device_type = "cpu";
6365 compatible = "arm,cortex-a57";
6366 reg = <0x0>;
6367 @@ -67,7 +31,7 @@
6368 next-level-cache = <&cluster0_l2>;
6369 };
6370
6371 - cpu2: cpu@100 {
6372 + cooling_map1: cpu2: cpu@100 {
6373 device_type = "cpu";
6374 compatible = "arm,cortex-a57";
6375 reg = <0x100>;
6376 @@ -86,7 +50,7 @@
6377 next-level-cache = <&cluster1_l2>;
6378 };
6379
6380 - cpu4: cpu@200 {
6381 + cooling_map2: cpu4: cpu@200 {
6382 device_type = "cpu";
6383 compatible = "arm,cortex-a57";
6384 reg = <0x200>;
6385 @@ -105,7 +69,7 @@
6386 next-level-cache = <&cluster2_l2>;
6387 };
6388
6389 - cpu6: cpu@300 {
6390 + cooling_map3: cpu6: cpu@300 {
6391 device_type = "cpu";
6392 compatible = "arm,cortex-a57";
6393 reg = <0x300>;
6394 @@ -150,6 +114,10 @@
6395 };
6396 };
6397
6398 +&timer {
6399 + fsl,erratum-a008585;
6400 +};
6401 +
6402 &pcie1 {
6403 reg = <0x00 0x03400000 0x0 0x00100000 /* controller registers */
6404 0x10 0x00000000 0x0 0x00002000>; /* configuration space */
6405 --- /dev/null
6406 +++ b/arch/arm64/boot/dts/freescale/fsl-ls2081a-rdb.dts
6407 @@ -0,0 +1,163 @@
6408 +/*
6409 + * Device Tree file for NXP LS2081A RDB Board.
6410 + *
6411 + * Copyright 2017 NXP
6412 + *
6413 + * Priyanka Jain <priyanka.jain@nxp.com>
6414 + *
6415 + * This file is dual-licensed: you can use it either under the terms
6416 + * of the GPLv2 or the X11 license, at your option. Note that this dual
6417 + * licensing only applies to this file, and not this project as a
6418 + * whole.
6419 + *
6420 + * a) This library is free software; you can redistribute it and/or
6421 + * modify it under the terms of the GNU General Public License as
6422 + * published by the Free Software Foundation; either version 2 of the
6423 + * License, or (at your option) any later version.
6424 + *
6425 + * This library is distributed in the hope that it will be useful,
6426 + * but WITHOUT ANY WARRANTY; without even the implied warranty of
6427 + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
6428 + * GNU General Public License for more details.
6429 + *
6430 + * Or, alternatively,
6431 + *
6432 + * b) Permission is hereby granted, free of charge, to any person
6433 + * obtaining a copy of this software and associated documentation
6434 + * files (the "Software"), to deal in the Software without
6435 + * restriction, including without limitation the rights to use,
6436 + * copy, modify, merge, publish, distribute, sublicense, and/or
6437 + * sell copies of the Software, and to permit persons to whom the
6438 + * Software is furnished to do so, subject to the following
6439 + * conditions:
6440 + *
6441 + * The above copyright notice and this permission notice shall be
6442 + * included in all copies or substantial portions of the Software.
6443 + *
6444 + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
6445 + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
6446 + * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
6447 + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
6448 + * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
6449 + * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
6450 + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
6451 + * OTHER DEALINGS IN THE SOFTWARE.
6452 + */
6453 +
6454 +/dts-v1/;
6455 +
6456 +#include "fsl-ls2088a.dtsi"
6457 +
6458 +/ {
6459 + model = "NXP Layerscape 2081A RDB Board";
6460 + compatible = "fsl,ls2081a-rdb", "fsl,ls2081a";
6461 +
6462 + aliases {
6463 + serial0 = &serial0;
6464 + serial1 = &serial1;
6465 + };
6466 +
6467 + chosen {
6468 + stdout-path = "serial1:115200n8";
6469 + };
6470 +};
6471 +
6472 +&esdhc {
6473 + status = "okay";
6474 +};
6475 +
6476 +&ifc {
6477 + status = "disabled";
6478 +};
6479 +
6480 +&i2c0 {
6481 + status = "okay";
6482 + pca9547@75 {
6483 + compatible = "nxp,pca9547";
6484 + reg = <0x75>;
6485 + #address-cells = <1>;
6486 + #size-cells = <0>;
6487 + i2c@1 {
6488 + #address-cells = <1>;
6489 + #size-cells = <0>;
6490 + reg = <0x01>;
6491 + rtc@51 {
6492 + compatible = "nxp,pcf2129";
6493 + reg = <0x51>;
6494 + };
6495 + };
6496 +
6497 + i2c@2 {
6498 + #address-cells = <1>;
6499 + #size-cells = <0>;
6500 + reg = <0x02>;
6501 +
6502 + ina220@40 {
6503 + compatible = "ti,ina220";
6504 + reg = <0x40>;
6505 + shunt-resistor = <500>;
6506 + };
6507 + };
6508 +
6509 + i2c@3 {
6510 + #address-cells = <1>;
6511 + #size-cells = <0>;
6512 + reg = <0x3>;
6513 +
6514 + adt7481@4c {
6515 + compatible = "adi,adt7461";
6516 + reg = <0x4c>;
6517 + };
6518 + };
6519 + };
6520 +};
6521 +
6522 +&dspi {
6523 + status = "okay";
6524 + dflash0: n25q512a {
6525 + #address-cells = <1>;
6526 + #size-cells = <1>;
6527 + compatible = "st,m25p80";
6528 + spi-max-frequency = <3000000>;
6529 + reg = <0>;
6530 + };
6531 +};
6532 +
6533 +&qspi {
6534 + status = "okay";
6535 + fsl,qspi-has-second-chip;
6536 + flash0: s25fs512s@0 {
6537 + #address-cells = <1>;
6538 + #size-cells = <1>;
6539 + compatible = "spansion,m25p80";
6540 + spi-rx-bus-width = <4>;
6541 + spi-tx-bus-width = <4>;
6542 + spi-max-frequency = <20000000>;
6543 + reg = <0>;
6544 + };
6545 + flash1: s25fs512s@1 {
6546 + #address-cells = <1>;
6547 + #size-cells = <1>;
6548 + spi-rx-bus-width = <4>;
6549 + spi-tx-bus-width = <4>;
6550 + compatible = "spansion,m25p80";
6551 + spi-max-frequency = <20000000>;
6552 + reg = <1>;
6553 + };
6554 +};
6555 +
6556 +&sata0 {
6557 + status = "okay";
6558 +};
6559 +
6560 +&sata1 {
6561 + status = "okay";
6562 +};
6563 +
6564 +&usb0 {
6565 + status = "okay";
6566 +};
6567 +
6568 +&usb1 {
6569 + status = "okay";
6570 +};
6571 --- a/arch/arm64/boot/dts/freescale/fsl-ls2088a-qds.dts
6572 +++ b/arch/arm64/boot/dts/freescale/fsl-ls2088a-qds.dts
6573 @@ -1,3 +1,4 @@
6574 +// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
6575 /*
6576 * Device Tree file for Freescale LS2088A QDS Board.
6577 *
6578 @@ -6,43 +7,6 @@
6579 *
6580 * Abhimanyu Saini <abhimanyu.saini@nxp.com>
6581 *
6582 - * This file is dual-licensed: you can use it either under the terms
6583 - * of the GPLv2 or the X11 license, at your option. Note that this dual
6584 - * licensing only applies to this file, and not this project as a
6585 - * whole.
6586 - *
6587 - * a) This library is free software; you can redistribute it and/or
6588 - * modify it under the terms of the GNU General Public License as
6589 - * published by the Free Software Foundation; either version 2 of the
6590 - * License, or (at your option) any later version.
6591 - *
6592 - * This library is distributed in the hope that it will be useful,
6593 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
6594 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
6595 - * GNU General Public License for more details.
6596 - *
6597 - * Or, alternatively,
6598 - *
6599 - * b) Permission is hereby granted, free of charge, to any person
6600 - * obtaining a copy of this software and associated documentation
6601 - * files (the "Software"), to deal in the Software without
6602 - * restriction, including without limitation the rights to use,
6603 - * copy, modify, merge, publish, distribute, sublicense, and/or
6604 - * sell copies of the Software, and to permit persons to whom the
6605 - * Software is furnished to do so, subject to the following
6606 - * conditions:
6607 - *
6608 - * The above copyright notice and this permission notice shall be
6609 - * included in all copies or substantial portions of the Software.
6610 - *
6611 - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
6612 - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
6613 - * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
6614 - * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
6615 - * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
6616 - * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
6617 - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
6618 - * OTHER DEALINGS IN THE SOFTWARE.
6619 */
6620
6621 /dts-v1/;
6622 @@ -58,3 +22,123 @@
6623 stdout-path = "serial0:115200n8";
6624 };
6625 };
6626 +
6627 +&ifc {
6628 + boardctrl: board-control@3,0 {
6629 + #address-cells = <1>;
6630 + #size-cells = <1>;
6631 + compatible = "fsl,tetra-fpga", "fsl,fpga-qixis", "simple-bus";
6632 + reg = <3 0 0x300>; /* TODO check address */
6633 + ranges = <0 3 0 0x300>;
6634 +
6635 + mdio_mux_emi1 {
6636 + compatible = "mdio-mux-mmioreg", "mdio-mux";
6637 + mdio-parent-bus = <&emdio1>;
6638 + reg = <0x54 1>; /* BRDCFG4 */
6639 + mux-mask = <0xe0>; /* EMI1_MDIO */
6640 +
6641 + #address-cells=<1>;
6642 + #size-cells = <0>;
6643 +
6644 + /* Child MDIO buses, one for each riser card:
6645 + * reg = 0x0, 0x20, 0x40, 0x60, 0x80, 0xa0.
6646 + * VSC8234 PHYs on the riser cards.
6647 + */
6648 +
6649 + mdio_mux3: mdio@60 {
6650 + reg = <0x60>;
6651 + #address-cells = <1>;
6652 + #size-cells = <0>;
6653 +
6654 + mdio0_phy12: mdio_phy0@1c {
6655 + reg = <0x1c>;
6656 + phy-connection-type = "sgmii";
6657 + };
6658 + mdio0_phy13: mdio_phy1@1d {
6659 + reg = <0x1d>;
6660 + phy-connection-type = "sgmii";
6661 + };
6662 + mdio0_phy14: mdio_phy2@1e {
6663 + reg = <0x1e>;
6664 + phy-connection-type = "sgmii";
6665 + };
6666 + mdio0_phy15: mdio_phy3@1f {
6667 + reg = <0x1f>;
6668 + phy-connection-type = "sgmii";
6669 + };
6670 + };
6671 + };
6672 + };
6673 +};
6674 +
6675 +&pcs_mdio1 {
6676 + pcs_phy1: ethernet-phy@0 {
6677 + backplane-mode = "10gbase-kr";
6678 + compatible = "ethernet-phy-ieee802.3-c45";
6679 + reg = <0x0>;
6680 + fsl,lane-handle = <&serdes1>;
6681 + fsl,lane-reg = <0x9C0 0x40>;/* lane H */
6682 + };
6683 +};
6684 +
6685 +&pcs_mdio2 {
6686 + pcs_phy2: ethernet-phy@0 {
6687 + backplane-mode = "10gbase-kr";
6688 + compatible = "ethernet-phy-ieee802.3-c45";
6689 + reg = <0x0>;
6690 + fsl,lane-handle = <&serdes1>;
6691 + fsl,lane-reg = <0x980 0x40>;/* lane G */
6692 + };
6693 +};
6694 +
6695 +&pcs_mdio3 {
6696 + pcs_phy3: ethernet-phy@0 {
6697 + backplane-mode = "10gbase-kr";
6698 + compatible = "ethernet-phy-ieee802.3-c45";
6699 + reg = <0x0>;
6700 + fsl,lane-handle = <&serdes1>;
6701 + fsl,lane-reg = <0x940 0x40>;/* lane F */
6702 + };
6703 +};
6704 +
6705 +&pcs_mdio4 {
6706 + pcs_phy4: ethernet-phy@0 {
6707 + backplane-mode = "10gbase-kr";
6708 + compatible = "ethernet-phy-ieee802.3-c45";
6709 + reg = <0x0>;
6710 + fsl,lane-handle = <&serdes1>;
6711 + fsl,lane-reg = <0x900 0x40>;/* lane E */
6712 + };
6713 +};
6714 +
6715 +/* Update DPMAC connections to backplane PHYs, under SerDes 0x2a_0xXX.
6716 + * &dpmac1 {
6717 + * phy-handle = <&pcs_phy1>;
6718 + * };
6719 + *
6720 + * &dpmac2 {
6721 + * phy-handle = <&pcs_phy2>;
6722 + * };
6723 + *
6724 + * &dpmac3 {
6725 + * phy-handle = <&pcs_phy3>;
6726 + * };
6727 + *
6728 + * &dpmac4 {
6729 + * phy-handle = <&pcs_phy4>;
6730 + * };
6731 + */
6732 +
6733 +/* Update DPMAC connections to external PHYs, under SerDes 0x2a_0x49. */
6734 +&dpmac9 {
6735 + phy-handle = <&mdio0_phy12>;
6736 +};
6737 +&dpmac10 {
6738 + phy-handle = <&mdio0_phy13>;
6739 +};
6740 +&dpmac11 {
6741 + phy-handle = <&mdio0_phy14>;
6742 +};
6743 +&dpmac12 {
6744 + phy-handle = <&mdio0_phy15>;
6745 +};
6746 --- a/arch/arm64/boot/dts/freescale/fsl-ls2088a-rdb.dts
6747 +++ b/arch/arm64/boot/dts/freescale/fsl-ls2088a-rdb.dts
6748 @@ -1,3 +1,4 @@
6749 +// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
6750 /*
6751 * Device Tree file for Freescale LS2088A RDB Board.
6752 *
6753 @@ -6,43 +7,6 @@
6754 *
6755 * Abhimanyu Saini <abhimanyu.saini@nxp.com>
6756 *
6757 - * This file is dual-licensed: you can use it either under the terms
6758 - * of the GPLv2 or the X11 license, at your option. Note that this dual
6759 - * licensing only applies to this file, and not this project as a
6760 - * whole.
6761 - *
6762 - * a) This library is free software; you can redistribute it and/or
6763 - * modify it under the terms of the GNU General Public License as
6764 - * published by the Free Software Foundation; either version 2 of the
6765 - * License, or (at your option) any later version.
6766 - *
6767 - * This library is distributed in the hope that it will be useful,
6768 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
6769 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
6770 - * GNU General Public License for more details.
6771 - *
6772 - * Or, alternatively,
6773 - *
6774 - * b) Permission is hereby granted, free of charge, to any person
6775 - * obtaining a copy of this software and associated documentation
6776 - * files (the "Software"), to deal in the Software without
6777 - * restriction, including without limitation the rights to use,
6778 - * copy, modify, merge, publish, distribute, sublicense, and/or
6779 - * sell copies of the Software, and to permit persons to whom the
6780 - * Software is furnished to do so, subject to the following
6781 - * conditions:
6782 - *
6783 - * The above copyright notice and this permission notice shall be
6784 - * included in all copies or substantial portions of the Software.
6785 - *
6786 - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
6787 - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
6788 - * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
6789 - * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
6790 - * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
6791 - * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
6792 - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
6793 - * OTHER DEALINGS IN THE SOFTWARE.
6794 */
6795
6796 /dts-v1/;
6797 @@ -58,3 +22,83 @@
6798 stdout-path = "serial1:115200n8";
6799 };
6800 };
6801 +
6802 +&emdio1 {
6803 + status = "disabled";
6804 + /* CS4340 PHYs */
6805 + mdio1_phy1: emdio1_phy@1 {
6806 + reg = <0x10>;
6807 + phy-connection-type = "xfi";
6808 + };
6809 + mdio1_phy2: emdio1_phy@2 {
6810 + reg = <0x11>;
6811 + phy-connection-type = "xfi";
6812 + };
6813 + mdio1_phy3: emdio1_phy@3 {
6814 + reg = <0x12>;
6815 + phy-connection-type = "xfi";
6816 + };
6817 + mdio1_phy4: emdio1_phy@4 {
6818 + reg = <0x13>;
6819 + phy-connection-type = "xfi";
6820 + };
6821 +};
6822 +
6823 +&emdio2 {
6824 + /* AQR405 PHYs */
6825 + mdio2_phy1: emdio2_phy@1 {
6826 + compatible = "ethernet-phy-ieee802.3-c45";
6827 + interrupts = <0 1 0x4>; /* Level high type */
6828 + reg = <0x0>;
6829 + phy-connection-type = "xfi";
6830 + };
6831 + mdio2_phy2: emdio2_phy@2 {
6832 + compatible = "ethernet-phy-ieee802.3-c45";
6833 + interrupts = <0 2 0x4>; /* Level high type */
6834 + reg = <0x1>;
6835 + phy-connection-type = "xfi";
6836 + };
6837 + mdio2_phy3: emdio2_phy@3 {
6838 + compatible = "ethernet-phy-ieee802.3-c45";
6839 + interrupts = <0 4 0x4>; /* Level high type */
6840 + reg = <0x2>;
6841 + phy-connection-type = "xfi";
6842 + };
6843 + mdio2_phy4: emdio2_phy@4 {
6844 + compatible = "ethernet-phy-ieee802.3-c45";
6845 + interrupts = <0 5 0x4>; /* Level high type */
6846 + reg = <0x3>;
6847 + phy-connection-type = "xfi";
6848 + };
6849 +};
6850 +
6851 +/* Update DPMAC connections to external PHYs, under the assumption of
6852 + * SerDes 0x2a_0x41. This is currently the only SerDes supported on the board.
6853 + */
6854 +/* Leave Cortina PHYs commented out until proper driver is integrated
6855 + *&dpmac1 {
6856 + * phy-handle = <&mdio1_phy1>;
6857 + *};
6858 + *&dpmac2 {
6859 + * phy-handle = <&mdio1_phy2>;
6860 + *};
6861 + *&dpmac3 {
6862 + * phy-handle = <&mdio1_phy3>;
6863 + *};
6864 + *&dpmac4 {
6865 + * phy-handle = <&mdio1_phy4>;
6866 + *};
6867 + */
6868 +
6869 +&dpmac5 {
6870 + phy-handle = <&mdio2_phy1>;
6871 +};
6872 +&dpmac6 {
6873 + phy-handle = <&mdio2_phy2>;
6874 +};
6875 +&dpmac7 {
6876 + phy-handle = <&mdio2_phy3>;
6877 +};
6878 +&dpmac8 {
6879 + phy-handle = <&mdio2_phy4>;
6880 +};
6881 --- a/arch/arm64/boot/dts/freescale/fsl-ls2088a.dtsi
6882 +++ b/arch/arm64/boot/dts/freescale/fsl-ls2088a.dtsi
6883 @@ -1,3 +1,4 @@
6884 +// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
6885 /*
6886 * Device Tree Include file for Freescale Layerscape-2088A family SoC.
6887 *
6888 @@ -6,49 +7,12 @@
6889 *
6890 * Abhimanyu Saini <abhimanyu.saini@nxp.com>
6891 *
6892 - * This file is dual-licensed: you can use it either under the terms
6893 - * of the GPLv2 or the X11 license, at your option. Note that this dual
6894 - * licensing only applies to this file, and not this project as a
6895 - * whole.
6896 - *
6897 - * a) This library is free software; you can redistribute it and/or
6898 - * modify it under the terms of the GNU General Public License as
6899 - * published by the Free Software Foundation; either version 2 of the
6900 - * License, or (at your option) any later version.
6901 - *
6902 - * This library is distributed in the hope that it will be useful,
6903 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
6904 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
6905 - * GNU General Public License for more details.
6906 - *
6907 - * Or, alternatively,
6908 - *
6909 - * b) Permission is hereby granted, free of charge, to any person
6910 - * obtaining a copy of this software and associated documentation
6911 - * files (the "Software"), to deal in the Software without
6912 - * restriction, including without limitation the rights to use,
6913 - * copy, modify, merge, publish, distribute, sublicense, and/or
6914 - * sell copies of the Software, and to permit persons to whom the
6915 - * Software is furnished to do so, subject to the following
6916 - * conditions:
6917 - *
6918 - * The above copyright notice and this permission notice shall be
6919 - * included in all copies or substantial portions of the Software.
6920 - *
6921 - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
6922 - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
6923 - * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
6924 - * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
6925 - * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
6926 - * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
6927 - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
6928 - * OTHER DEALINGS IN THE SOFTWARE.
6929 */
6930
6931 #include "fsl-ls208xa.dtsi"
6932
6933 &cpu {
6934 - cpu0: cpu@0 {
6935 + cooling_map0: cpu0: cpu@0 {
6936 device_type = "cpu";
6937 compatible = "arm,cortex-a72";
6938 reg = <0x0>;
6939 @@ -67,7 +31,7 @@
6940 next-level-cache = <&cluster0_l2>;
6941 };
6942
6943 - cpu2: cpu@100 {
6944 + cooling_map1: cpu2: cpu@100 {
6945 device_type = "cpu";
6946 compatible = "arm,cortex-a72";
6947 reg = <0x100>;
6948 @@ -86,7 +50,7 @@
6949 next-level-cache = <&cluster1_l2>;
6950 };
6951
6952 - cpu4: cpu@200 {
6953 + cooling_map2: cpu4: cpu@200 {
6954 device_type = "cpu";
6955 compatible = "arm,cortex-a72";
6956 reg = <0x200>;
6957 @@ -105,7 +69,7 @@
6958 next-level-cache = <&cluster2_l2>;
6959 };
6960
6961 - cpu6: cpu@300 {
6962 + cooling_map3: cpu6: cpu@300 {
6963 device_type = "cpu";
6964 compatible = "arm,cortex-a72";
6965 reg = <0x300>;
6966 @@ -143,7 +107,7 @@
6967 CPU_PW20: cpu-pw20 {
6968 compatible = "arm,idle-state";
6969 idle-state-name = "PW20";
6970 - arm,psci-suspend-param = <0x00010000>;
6971 + arm,psci-suspend-param = <0x0>;
6972 entry-latency-us = <2000>;
6973 exit-latency-us = <2000>;
6974 min-residency-us = <6000>;
6975 @@ -151,6 +115,7 @@
6976 };
6977
6978 &pcie1 {
6979 + compatible = "fsl,ls2088a-pcie", "snps,dw-pcie";
6980 reg = <0x00 0x03400000 0x0 0x00100000 /* controller registers */
6981 0x20 0x00000000 0x0 0x00002000>; /* configuration space */
6982
6983 @@ -159,6 +124,7 @@
6984 };
6985
6986 &pcie2 {
6987 + compatible = "fsl,ls2088a-pcie", "snps,dw-pcie";
6988 reg = <0x00 0x03500000 0x0 0x00100000 /* controller registers */
6989 0x28 0x00000000 0x0 0x00002000>; /* configuration space */
6990
6991 @@ -167,6 +133,7 @@
6992 };
6993
6994 &pcie3 {
6995 + compatible = "fsl,ls2088a-pcie", "snps,dw-pcie";
6996 reg = <0x00 0x03600000 0x0 0x00100000 /* controller registers */
6997 0x30 0x00000000 0x0 0x00002000>; /* configuration space */
6998
6999 @@ -175,6 +142,7 @@
7000 };
7001
7002 &pcie4 {
7003 + compatible = "fsl,ls2088a-pcie", "snps,dw-pcie";
7004 reg = <0x00 0x03700000 0x0 0x00100000 /* controller registers */
7005 0x38 0x00000000 0x0 0x00002000>; /* configuration space */
7006
7007 --- a/arch/arm64/boot/dts/freescale/fsl-ls208xa-qds.dtsi
7008 +++ b/arch/arm64/boot/dts/freescale/fsl-ls208xa-qds.dtsi
7009 @@ -1,3 +1,4 @@
7010 +// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
7011 /*
7012 * Device Tree file for Freescale LS2080A QDS Board.
7013 *
7014 @@ -6,43 +7,6 @@
7015 *
7016 * Abhimanyu Saini <abhimanyu.saini@nxp.com>
7017 *
7018 - * This file is dual-licensed: you can use it either under the terms
7019 - * of the GPLv2 or the X11 license, at your option. Note that this dual
7020 - * licensing only applies to this file, and not this project as a
7021 - * whole.
7022 - *
7023 - * a) This library is free software; you can redistribute it and/or
7024 - * modify it under the terms of the GNU General Public License as
7025 - * published by the Free Software Foundation; either version 2 of the
7026 - * License, or (at your option) any later version.
7027 - *
7028 - * This library is distributed in the hope that it will be useful,
7029 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
7030 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
7031 - * GNU General Public License for more details.
7032 - *
7033 - * Or, alternatively,
7034 - *
7035 - * b) Permission is hereby granted, free of charge, to any person
7036 - * obtaining a copy of this software and associated documentation
7037 - * files (the "Software"), to deal in the Software without
7038 - * restriction, including without limitation the rights to use,
7039 - * copy, modify, merge, publish, distribute, sublicense, and/or
7040 - * sell copies of the Software, and to permit persons to whom the
7041 - * Software is furnished to do so, subject to the following
7042 - * conditions:
7043 - *
7044 - * The above copyright notice and this permission notice shall be
7045 - * included in all copies or substantial portions of the Software.
7046 - *
7047 - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
7048 - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
7049 - * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
7050 - * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
7051 - * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
7052 - * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
7053 - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
7054 - * OTHER DEALINGS IN THE SOFTWARE.
7055 */
7056
7057 &esdhc {
7058 @@ -165,16 +129,21 @@
7059
7060 &qspi {
7061 status = "okay";
7062 + fsl,qspi-has-second-chip;
7063 flash0: s25fl256s1@0 {
7064 #address-cells = <1>;
7065 #size-cells = <1>;
7066 compatible = "st,m25p80";
7067 + spi-rx-bus-width = <4>;
7068 + spi-tx-bus-width = <4>;
7069 spi-max-frequency = <20000000>;
7070 reg = <0>;
7071 };
7072 flash2: s25fl256s1@2 {
7073 #address-cells = <1>;
7074 #size-cells = <1>;
7075 + spi-rx-bus-width = <4>;
7076 + spi-tx-bus-width = <4>;
7077 compatible = "st,m25p80";
7078 spi-max-frequency = <20000000>;
7079 reg = <0>;
7080 --- a/arch/arm64/boot/dts/freescale/fsl-ls208xa-rdb.dtsi
7081 +++ b/arch/arm64/boot/dts/freescale/fsl-ls208xa-rdb.dtsi
7082 @@ -1,3 +1,4 @@
7083 +// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
7084 /*
7085 * Device Tree file for Freescale LS2080A RDB Board.
7086 *
7087 @@ -6,43 +7,6 @@
7088 *
7089 * Abhimanyu Saini <abhimanyu.saini@nxp.com>
7090 *
7091 - * This file is dual-licensed: you can use it either under the terms
7092 - * of the GPLv2 or the X11 license, at your option. Note that this dual
7093 - * licensing only applies to this file, and not this project as a
7094 - * whole.
7095 - *
7096 - * a) This library is free software; you can redistribute it and/or
7097 - * modify it under the terms of the GNU General Public License as
7098 - * published by the Free Software Foundation; either version 2 of the
7099 - * License, or (at your option) any later version.
7100 - *
7101 - * This library is distributed in the hope that it will be useful,
7102 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
7103 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
7104 - * GNU General Public License for more details.
7105 - *
7106 - * Or, alternatively,
7107 - *
7108 - * b) Permission is hereby granted, free of charge, to any person
7109 - * obtaining a copy of this software and associated documentation
7110 - * files (the "Software"), to deal in the Software without
7111 - * restriction, including without limitation the rights to use,
7112 - * copy, modify, merge, publish, distribute, sublicense, and/or
7113 - * sell copies of the Software, and to permit persons to whom the
7114 - * Software is furnished to do so, subject to the following
7115 - * conditions:
7116 - *
7117 - * The above copyright notice and this permission notice shall be
7118 - * included in all copies or substantial portions of the Software.
7119 - *
7120 - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
7121 - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
7122 - * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
7123 - * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
7124 - * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
7125 - * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
7126 - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
7127 - * OTHER DEALINGS IN THE SOFTWARE.
7128 */
7129
7130 &esdhc {
7131 @@ -85,6 +49,7 @@
7132 reg = <0x75>;
7133 #address-cells = <1>;
7134 #size-cells = <0>;
7135 + i2c-mux-never-disable;
7136 i2c@1 {
7137 #address-cells = <1>;
7138 #size-cells = <0>;
7139 @@ -95,6 +60,17 @@
7140 };
7141 };
7142
7143 + i2c@2 {
7144 + #address-cells = <1>;
7145 + #size-cells = <0>;
7146 + reg = <0x02>;
7147 + ina220@40 {
7148 + compatible = "ti,ina220";
7149 + reg = <0x40>;
7150 + shunt-resistor = <500>;
7151 + };
7152 + };
7153 +
7154 i2c@3 {
7155 #address-cells = <1>;
7156 #size-cells = <0>;
7157 @@ -132,7 +108,15 @@
7158 };
7159
7160 &qspi {
7161 - status = "disabled";
7162 + status = "okay";
7163 + flash0: s25fs512s@0 {
7164 + #address-cells = <1>;
7165 + #size-cells = <1>;
7166 + compatible = "spansion,m25p80";
7167 + m25p,fast-read;
7168 + spi-max-frequency = <20000000>;
7169 + reg = <0>;
7170 + };
7171 };
7172
7173 &sata0 {
7174 --- a/arch/arm64/boot/dts/freescale/fsl-ls208xa.dtsi
7175 +++ b/arch/arm64/boot/dts/freescale/fsl-ls208xa.dtsi
7176 @@ -1,3 +1,4 @@
7177 +// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
7178 /*
7179 * Device Tree Include file for Freescale Layerscape-2080A family SoC.
7180 *
7181 @@ -6,43 +7,6 @@
7182 *
7183 * Abhimanyu Saini <abhimanyu.saini@nxp.com>
7184 *
7185 - * This file is dual-licensed: you can use it either under the terms
7186 - * of the GPLv2 or the X11 license, at your option. Note that this dual
7187 - * licensing only applies to this file, and not this project as a
7188 - * whole.
7189 - *
7190 - * a) This library is free software; you can redistribute it and/or
7191 - * modify it under the terms of the GNU General Public License as
7192 - * published by the Free Software Foundation; either version 2 of the
7193 - * License, or (at your option) any later version.
7194 - *
7195 - * This library is distributed in the hope that it will be useful,
7196 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
7197 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
7198 - * GNU General Public License for more details.
7199 - *
7200 - * Or, alternatively,
7201 - *
7202 - * b) Permission is hereby granted, free of charge, to any person
7203 - * obtaining a copy of this software and associated documentation
7204 - * files (the "Software"), to deal in the Software without
7205 - * restriction, including without limitation the rights to use,
7206 - * copy, modify, merge, publish, distribute, sublicense, and/or
7207 - * sell copies of the Software, and to permit persons to whom the
7208 - * Software is furnished to do so, subject to the following
7209 - * conditions:
7210 - *
7211 - * The above copyright notice and this permission notice shall be
7212 - * included in all copies or substantial portions of the Software.
7213 - *
7214 - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
7215 - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
7216 - * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
7217 - * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
7218 - * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
7219 - * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
7220 - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
7221 - * OTHER DEALINGS IN THE SOFTWARE.
7222 */
7223
7224 #include <dt-bindings/thermal/thermal.h>
7225 @@ -111,13 +75,12 @@
7226 mask = <0x2>;
7227 };
7228
7229 - timer {
7230 + timer: timer {
7231 compatible = "arm,armv8-timer";
7232 interrupts = <1 13 4>, /* Physical Secure PPI, active-low */
7233 <1 14 4>, /* Physical Non-Secure PPI, active-low */
7234 <1 11 4>, /* Virtual PPI, active-low */
7235 <1 10 4>; /* Hypervisor PPI, active-low */
7236 - fsl,erratum-a008585;
7237 };
7238
7239 pmu {
7240 @@ -135,6 +98,7 @@
7241 #address-cells = <2>;
7242 #size-cells = <2>;
7243 ranges;
7244 + dma-ranges = <0x0 0x0 0x0 0x0 0x10000 0x00000000>;
7245
7246 clockgen: clocking@1300000 {
7247 compatible = "fsl,ls2080a-clockgen";
7248 @@ -194,54 +158,7 @@
7249 #thermal-sensor-cells = <1>;
7250 };
7251
7252 - thermal-zones {
7253 - cpu_thermal: cpu-thermal {
7254 - polling-delay-passive = <1000>;
7255 - polling-delay = <5000>;
7256 -
7257 - thermal-sensors = <&tmu 4>;
7258 -
7259 - trips {
7260 - cpu_alert: cpu-alert {
7261 - temperature = <75000>;
7262 - hysteresis = <2000>;
7263 - type = "passive";
7264 - };
7265 - cpu_crit: cpu-crit {
7266 - temperature = <85000>;
7267 - hysteresis = <2000>;
7268 - type = "critical";
7269 - };
7270 - };
7271 -
7272 - cooling-maps {
7273 - map0 {
7274 - trip = <&cpu_alert>;
7275 - cooling-device =
7276 - <&cpu0 THERMAL_NO_LIMIT
7277 - THERMAL_NO_LIMIT>;
7278 - };
7279 - map1 {
7280 - trip = <&cpu_alert>;
7281 - cooling-device =
7282 - <&cpu2 THERMAL_NO_LIMIT
7283 - THERMAL_NO_LIMIT>;
7284 - };
7285 - map2 {
7286 - trip = <&cpu_alert>;
7287 - cooling-device =
7288 - <&cpu4 THERMAL_NO_LIMIT
7289 - THERMAL_NO_LIMIT>;
7290 - };
7291 - map3 {
7292 - trip = <&cpu_alert>;
7293 - cooling-device =
7294 - <&cpu6 THERMAL_NO_LIMIT
7295 - THERMAL_NO_LIMIT>;
7296 - };
7297 - };
7298 - };
7299 - };
7300 + #include "fsl-tmu.dtsi"
7301
7302 serial0: serial@21c0500 {
7303 compatible = "fsl,ns16550", "ns16550a";
7304 @@ -357,6 +274,8 @@
7305 reg = <0x00000008 0x0c000000 0 0x40>, /* MC portal base */
7306 <0x00000000 0x08340000 0 0x40000>; /* MC control reg */
7307 msi-parent = <&its>;
7308 + iommu-map = <0 &smmu 0 0>; /* This is fixed-up by u-boot */
7309 + dma-coherent;
7310 #address-cells = <3>;
7311 #size-cells = <1>;
7312
7313 @@ -460,6 +379,8 @@
7314 compatible = "arm,mmu-500";
7315 reg = <0 0x5000000 0 0x800000>;
7316 #global-interrupts = <12>;
7317 + #iommu-cells = <1>;
7318 + stream-match-mask = <0x7C00>;
7319 interrupts = <0 13 4>, /* global secure fault */
7320 <0 14 4>, /* combined secure interrupt */
7321 <0 15 4>, /* global non-secure fault */
7322 @@ -502,7 +423,6 @@
7323 <0 204 4>, <0 205 4>,
7324 <0 206 4>, <0 207 4>,
7325 <0 208 4>, <0 209 4>;
7326 - mmu-masters = <&fsl_mc 0x300 0>;
7327 };
7328
7329 dspi: dspi@2100000 {
7330 @@ -574,15 +494,126 @@
7331 #interrupt-cells = <2>;
7332 };
7333
7334 + /* TODO: WRIOP (CCSR?) */
7335 + emdio1: mdio@0x8B96000 { /* WRIOP0: 0x8B8_0000,
7336 + * E-MDIO1: 0x1_6000
7337 + */
7338 + compatible = "fsl,fman-memac-mdio";
7339 + reg = <0x0 0x8B96000 0x0 0x1000>;
7340 + device_type = "mdio"; /* TODO: is this necessary? */
7341 + little-endian; /* force the driver in LE mode */
7342 +
7343 + /* Not necessary on the QDS, but needed on the RDB */
7344 + #address-cells = <1>;
7345 + #size-cells = <0>;
7346 + };
7347 +
7348 + emdio2: mdio@0x8B97000 { /* WRIOP0: 0x8B8_0000,
7349 + * E-MDIO2: 0x1_7000
7350 + */
7351 + compatible = "fsl,fman-memac-mdio";
7352 + reg = <0x0 0x8B97000 0x0 0x1000>;
7353 + device_type = "mdio"; /* TODO: is this necessary? */
7354 + little-endian; /* force the driver in LE mode */
7355 +
7356 + #address-cells = <1>;
7357 + #size-cells = <0>;
7358 + };
7359 +
7360 + pcs_mdio1: mdio@0x8c07000 {
7361 + compatible = "fsl,fman-memac-mdio";
7362 + reg = <0x0 0x8c07000 0x0 0x1000>;
7363 + device_type = "mdio";
7364 + little-endian;
7365 +
7366 + #address-cells = <1>;
7367 + #size-cells = <0>;
7368 + };
7369 +
7370 + pcs_mdio2: mdio@0x8c0b000 {
7371 + compatible = "fsl,fman-memac-mdio";
7372 + reg = <0x0 0x8c0b000 0x0 0x1000>;
7373 + device_type = "mdio";
7374 + little-endian;
7375 +
7376 + #address-cells = <1>;
7377 + #size-cells = <0>;
7378 + };
7379 +
7380 + pcs_mdio3: mdio@0x8c0f000 {
7381 + compatible = "fsl,fman-memac-mdio";
7382 + reg = <0x0 0x8c0f000 0x0 0x1000>;
7383 + device_type = "mdio";
7384 + little-endian;
7385 +
7386 + #address-cells = <1>;
7387 + #size-cells = <0>;
7388 + };
7389 +
7390 + pcs_mdio4: mdio@0x8c13000 {
7391 + compatible = "fsl,fman-memac-mdio";
7392 + reg = <0x0 0x8c13000 0x0 0x1000>;
7393 + device_type = "mdio";
7394 + little-endian;
7395 +
7396 + #address-cells = <1>;
7397 + #size-cells = <0>;
7398 + };
7399 +
7400 + pcs_mdio5: mdio@0x8c17000 {
7401 + status = "disabled";
7402 + compatible = "fsl,fman-memac-mdio";
7403 + reg = <0x0 0x8c17000 0x0 0x1000>;
7404 + device_type = "mdio";
7405 + little-endian;
7406 +
7407 + #address-cells = <1>;
7408 + #size-cells = <0>;
7409 + };
7410 +
7411 + pcs_mdio6: mdio@0x8c1b000 {
7412 + status = "disabled";
7413 + compatible = "fsl,fman-memac-mdio";
7414 + reg = <0x0 0x8c1b000 0x0 0x1000>;
7415 + device_type = "mdio";
7416 + little-endian;
7417 +
7418 + #address-cells = <1>;
7419 + #size-cells = <0>;
7420 + };
7421 +
7422 + pcs_mdio7: mdio@0x8c1f000 {
7423 + status = "disabled";
7424 + compatible = "fsl,fman-memac-mdio";
7425 + reg = <0x0 0x8c1f000 0x0 0x1000>;
7426 + device_type = "mdio";
7427 + little-endian;
7428 +
7429 + #address-cells = <1>;
7430 + #size-cells = <0>;
7431 + };
7432 +
7433 + pcs_mdio8: mdio@0x8c23000 {
7434 + status = "disabled";
7435 + compatible = "fsl,fman-memac-mdio";
7436 + reg = <0x0 0x8c23000 0x0 0x1000>;
7437 + device_type = "mdio";
7438 + little-endian;
7439 +
7440 + #address-cells = <1>;
7441 + #size-cells = <0>;
7442 + };
7443 +
7444 i2c0: i2c@2000000 {
7445 status = "disabled";
7446 - compatible = "fsl,vf610-i2c";
7447 + compatible = "fsl,vf610-i2c", "fsl,ls208xa-vf610-i2c";
7448 #address-cells = <1>;
7449 #size-cells = <0>;
7450 reg = <0x0 0x2000000 0x0 0x10000>;
7451 interrupts = <0 34 0x4>; /* Level high type */
7452 clock-names = "i2c";
7453 - clocks = <&clockgen 4 3>;
7454 + clocks = <&clockgen 4 1>;
7455 + scl-gpios = <&gpio3 10 0>;
7456 };
7457
7458 i2c1: i2c@2010000 {
7459 @@ -593,7 +624,7 @@
7460 reg = <0x0 0x2010000 0x0 0x10000>;
7461 interrupts = <0 34 0x4>; /* Level high type */
7462 clock-names = "i2c";
7463 - clocks = <&clockgen 4 3>;
7464 + clocks = <&clockgen 4 1>;
7465 };
7466
7467 i2c2: i2c@2020000 {
7468 @@ -604,7 +635,7 @@
7469 reg = <0x0 0x2020000 0x0 0x10000>;
7470 interrupts = <0 35 0x4>; /* Level high type */
7471 clock-names = "i2c";
7472 - clocks = <&clockgen 4 3>;
7473 + clocks = <&clockgen 4 1>;
7474 };
7475
7476 i2c3: i2c@2030000 {
7477 @@ -615,7 +646,7 @@
7478 reg = <0x0 0x2030000 0x0 0x10000>;
7479 interrupts = <0 35 0x4>; /* Level high type */
7480 clock-names = "i2c";
7481 - clocks = <&clockgen 4 3>;
7482 + clocks = <&clockgen 4 1>;
7483 };
7484
7485 ifc: ifc@2240000 {
7486 @@ -648,8 +679,8 @@
7487 compatible = "fsl,ls2080a-pcie", "fsl,ls2085a-pcie",
7488 "snps,dw-pcie";
7489 reg-names = "regs", "config";
7490 - interrupts = <0 108 0x4>; /* Level high type */
7491 - interrupt-names = "intr";
7492 + interrupts = <0 108 0x4>; /* aer interrupt */
7493 + interrupt-names = "aer";
7494 #address-cells = <3>;
7495 #size-cells = <2>;
7496 device_type = "pci";
7497 @@ -657,20 +688,22 @@
7498 num-lanes = <4>;
7499 bus-range = <0x0 0xff>;
7500 msi-parent = <&its>;
7501 + iommu-map = <0 &smmu 0 1>; /* This is fixed-up by u-boot */
7502 #interrupt-cells = <1>;
7503 interrupt-map-mask = <0 0 0 7>;
7504 interrupt-map = <0000 0 0 1 &gic 0 0 0 109 4>,
7505 <0000 0 0 2 &gic 0 0 0 110 4>,
7506 <0000 0 0 3 &gic 0 0 0 111 4>,
7507 <0000 0 0 4 &gic 0 0 0 112 4>;
7508 + status = "disabled";
7509 };
7510
7511 pcie2: pcie@3500000 {
7512 compatible = "fsl,ls2080a-pcie", "fsl,ls2085a-pcie",
7513 "snps,dw-pcie";
7514 reg-names = "regs", "config";
7515 - interrupts = <0 113 0x4>; /* Level high type */
7516 - interrupt-names = "intr";
7517 + interrupts = <0 113 0x4>; /* aer interrupt */
7518 + interrupt-names = "aer";
7519 #address-cells = <3>;
7520 #size-cells = <2>;
7521 device_type = "pci";
7522 @@ -678,20 +711,22 @@
7523 num-lanes = <4>;
7524 bus-range = <0x0 0xff>;
7525 msi-parent = <&its>;
7526 + iommu-map = <0 &smmu 0 1>; /* This is fixed-up by u-boot */
7527 #interrupt-cells = <1>;
7528 interrupt-map-mask = <0 0 0 7>;
7529 interrupt-map = <0000 0 0 1 &gic 0 0 0 114 4>,
7530 <0000 0 0 2 &gic 0 0 0 115 4>,
7531 <0000 0 0 3 &gic 0 0 0 116 4>,
7532 <0000 0 0 4 &gic 0 0 0 117 4>;
7533 + status = "disabled";
7534 };
7535
7536 pcie3: pcie@3600000 {
7537 compatible = "fsl,ls2080a-pcie", "fsl,ls2085a-pcie",
7538 "snps,dw-pcie";
7539 reg-names = "regs", "config";
7540 - interrupts = <0 118 0x4>; /* Level high type */
7541 - interrupt-names = "intr";
7542 + interrupts = <0 118 0x4>; /* aer interrupt */
7543 + interrupt-names = "aer";
7544 #address-cells = <3>;
7545 #size-cells = <2>;
7546 device_type = "pci";
7547 @@ -699,20 +734,22 @@
7548 num-lanes = <8>;
7549 bus-range = <0x0 0xff>;
7550 msi-parent = <&its>;
7551 + iommu-map = <0 &smmu 0 1>; /* This is fixed-up by u-boot */
7552 #interrupt-cells = <1>;
7553 interrupt-map-mask = <0 0 0 7>;
7554 interrupt-map = <0000 0 0 1 &gic 0 0 0 119 4>,
7555 <0000 0 0 2 &gic 0 0 0 120 4>,
7556 <0000 0 0 3 &gic 0 0 0 121 4>,
7557 <0000 0 0 4 &gic 0 0 0 122 4>;
7558 + status = "disabled";
7559 };
7560
7561 pcie4: pcie@3700000 {
7562 compatible = "fsl,ls2080a-pcie", "fsl,ls2085a-pcie",
7563 "snps,dw-pcie";
7564 reg-names = "regs", "config";
7565 - interrupts = <0 123 0x4>; /* Level high type */
7566 - interrupt-names = "intr";
7567 + interrupts = <0 123 0x4>; /* aer interrupt */
7568 + interrupt-names = "aer";
7569 #address-cells = <3>;
7570 #size-cells = <2>;
7571 device_type = "pci";
7572 @@ -720,12 +757,14 @@
7573 num-lanes = <4>;
7574 bus-range = <0x0 0xff>;
7575 msi-parent = <&its>;
7576 + iommu-map = <0 &smmu 0 1>; /* This is fixed-up by u-boot */
7577 #interrupt-cells = <1>;
7578 interrupt-map-mask = <0 0 0 7>;
7579 interrupt-map = <0000 0 0 1 &gic 0 0 0 124 4>,
7580 <0000 0 0 2 &gic 0 0 0 125 4>,
7581 <0000 0 0 3 &gic 0 0 0 126 4>,
7582 <0000 0 0 4 &gic 0 0 0 127 4>;
7583 + status = "disabled";
7584 };
7585
7586 sata0: sata@3200000 {
7587 @@ -754,6 +793,8 @@
7588 dr_mode = "host";
7589 snps,quirk-frame-length-adjustment = <0x20>;
7590 snps,dis_rxdet_inp3_quirk;
7591 + snps,incr-burst-type-adjustment = <1>, <4>, <8>, <16>;
7592 + snps,host-vbus-glitches;
7593 };
7594
7595 usb1: usb3@3110000 {
7596 @@ -764,6 +805,14 @@
7597 dr_mode = "host";
7598 snps,quirk-frame-length-adjustment = <0x20>;
7599 snps,dis_rxdet_inp3_quirk;
7600 + snps,incr-burst-type-adjustment = <1>, <4>, <8>, <16>;
7601 + snps,host-vbus-glitches;
7602 + };
7603 +
7604 + serdes1: serdes@1ea0000 {
7605 + compatible = "fsl,serdes-10g";
7606 + reg = <0x0 0x1ea0000 0 0x00002000>;
7607 + little-endian;
7608 };
7609
7610 ccn@4000000 {
7611 @@ -771,6 +820,14 @@
7612 reg = <0x0 0x04000000 0x0 0x01000000>;
7613 interrupts = <0 12 4>;
7614 };
7615 +
7616 + ftm0: ftm0@2800000 {
7617 + compatible = "fsl,ls208xa-ftm-alarm";
7618 + reg = <0x0 0x2800000 0x0 0x10000>,
7619 + <0x0 0x1e34050 0x0 0x4>;
7620 + reg-names = "ftm", "pmctrl";
7621 + interrupts = <0 44 4>;
7622 + };
7623 };
7624
7625 ddr1: memory-controller@1080000 {
7626 @@ -786,4 +843,44 @@
7627 interrupts = <0 18 0x4>;
7628 little-endian;
7629 };
7630 +
7631 + firmware {
7632 + optee {
7633 + compatible = "linaro,optee-tz";
7634 + method = "smc";
7635 + };
7636 + };
7637 +};
7638 +
7639 +#include "fsl-tmu-map1.dtsi"
7640 +#include "fsl-tmu-map2.dtsi"
7641 +#include "fsl-tmu-map3.dtsi"
7642 +&thermal_zones {
7643 + thermal-zone1 {
7644 + status = "okay";
7645 + };
7646 +
7647 + thermal-zone2{
7648 + status = "okay";
7649 + };
7650 +
7651 + thermal-zone3{
7652 + status = "okay";
7653 + };
7654 +
7655 + thermal-zone4{
7656 + status = "okay";
7657 + };
7658 +
7659 + thermal-zone5{
7660 + status = "okay";
7661 + };
7662 +
7663 + thermal-zone6{
7664 + status = "okay";
7665 + };
7666 +
7667 + thermal-zone7 {
7668 + status = "okay";
7669 + };
7670 };
7671 --- /dev/null
7672 +++ b/arch/arm64/boot/dts/freescale/fsl-lx2160a-qds.dts
7673 @@ -0,0 +1,353 @@
7674 +// SPDX-License-Identifier: (GPL-2.0 OR MIT)
7675 +//
7676 +// Device Tree file for LX2160AQDS
7677 +//
7678 +// Copyright 2018 NXP
7679 +
7680 +/dts-v1/;
7681 +
7682 +#include "fsl-lx2160a.dtsi"
7683 +
7684 +/ {
7685 + model = "NXP Layerscape LX2160AQDS";
7686 + compatible = "fsl,lx2160a-qds", "fsl,lx2160a";
7687 +
7688 + aliases {
7689 + crypto = &crypto;
7690 + serial0 = &uart0;
7691 + };
7692 +
7693 + chosen {
7694 + stdout-path = "serial0:115200n8";
7695 + };
7696 +
7697 + sb_3v3: regulator-sb3v3 {
7698 + compatible = "regulator-fixed";
7699 + regulator-name = "MC34717-3.3VSB";
7700 + regulator-min-microvolt = <3300000>;
7701 + regulator-max-microvolt = <3300000>;
7702 + regulator-boot-on;
7703 + regulator-always-on;
7704 + };
7705 +
7706 + mdio-mux-1 {
7707 + compatible = "mdio-mux-multiplexer";
7708 + mux-controls = <&mux 0>;
7709 + mdio-parent-bus = <&emdio1>;
7710 + #address-cells=<1>;
7711 + #size-cells = <0>;
7712 +
7713 + mdio@0 { /* On-board PHY #1 RGMI1*/
7714 + reg = <0x00>;
7715 + #address-cells = <1>;
7716 + #size-cells = <0>;
7717 + };
7718 +
7719 + mdio@8 { /* On-board PHY #2 RGMI2*/
7720 + reg = <0x8>;
7721 + #address-cells = <1>;
7722 + #size-cells = <0>;
7723 + };
7724 +
7725 + mdio@18 { /* Slot #1 */
7726 + reg = <0x18>;
7727 + #address-cells = <1>;
7728 + #size-cells = <0>;
7729 + };
7730 +
7731 + mdio@19 { /* Slot #2 */
7732 + reg = <0x19>;
7733 + #address-cells = <1>;
7734 + #size-cells = <0>;
7735 + };
7736 +
7737 + mdio@1a { /* Slot #3 */
7738 + reg = <0x1a>;
7739 + #address-cells = <1>;
7740 + #size-cells = <0>;
7741 + };
7742 +
7743 + mdio@1b { /* Slot #4 */
7744 + reg = <0x1b>;
7745 + #address-cells = <1>;
7746 + #size-cells = <0>;
7747 + };
7748 +
7749 + mdio@1c { /* Slot #5 */
7750 + reg = <0x1c>;
7751 + #address-cells = <1>;
7752 + #size-cells = <0>;
7753 + };
7754 +
7755 + mdio@1d { /* Slot #6 */
7756 + reg = <0x1d>;
7757 + #address-cells = <1>;
7758 + #size-cells = <0>;
7759 + };
7760 +
7761 + mdio@1e { /* Slot #7 */
7762 + reg = <0x1e>;
7763 + #address-cells = <1>;
7764 + #size-cells = <0>;
7765 + };
7766 +
7767 + mdio@1f { /* Slot #8 */
7768 + reg = <0x1f>;
7769 + #address-cells = <1>;
7770 + #size-cells = <0>;
7771 + };
7772 + };
7773 +
7774 + mdio-mux-2 {
7775 + compatible = "mdio-mux-multiplexer";
7776 + mux-controls = <&mux 1>;
7777 + mdio-parent-bus = <&emdio2>;
7778 + #address-cells=<1>;
7779 + #size-cells = <0>;
7780 +
7781 + mdio@0 { /* Slot #1 (secondary EMI) */
7782 + reg = <0x00>;
7783 + #address-cells = <1>;
7784 + #size-cells = <0>;
7785 + };
7786 +
7787 + mdio@1 { /* Slot #2 (secondary EMI) */
7788 + reg = <0x01>;
7789 + #address-cells = <1>;
7790 + #size-cells = <0>;
7791 + };
7792 +
7793 + mdio@2 { /* Slot #3 (secondary EMI) */
7794 + reg = <0x02>;
7795 + #address-cells = <1>;
7796 + #size-cells = <0>;
7797 + };
7798 +
7799 + mdio@3 { /* Slot #4 (secondary EMI) */
7800 + reg = <0x03>;
7801 + #address-cells = <1>;
7802 + #size-cells = <0>;
7803 + };
7804 +
7805 + mdio@4 { /* Slot #5 (secondary EMI) */
7806 + reg = <0x04>;
7807 + #address-cells = <1>;
7808 + #size-cells = <0>;
7809 + };
7810 +
7811 + mdio@5 { /* Slot #6 (secondary EMI) */
7812 + reg = <0x05>;
7813 + #address-cells = <1>;
7814 + #size-cells = <0>;
7815 + };
7816 +
7817 + mdio@6 { /* Slot #7 (secondary EMI) */
7818 + reg = <0x06>;
7819 + #address-cells = <1>;
7820 + #size-cells = <0>;
7821 + };
7822 +
7823 + mdio@7 { /* Slot #8 (secondary EMI) */
7824 + reg = <0x07>;
7825 + #address-cells = <1>;
7826 + #size-cells = <0>;
7827 + };
7828 + };
7829 +};
7830 +
7831 +&crypto {
7832 + status = "okay";
7833 +};
7834 +
7835 +&dspi0 {
7836 + status = "okay";
7837 +
7838 + dflash0: flash@0 {
7839 + #address-cells = <1>;
7840 + #size-cells = <1>;
7841 + compatible = "jedec,spi-nor";
7842 + reg = <0>;
7843 + spi-max-frequency = <1000000>;
7844 + };
7845 +};
7846 +
7847 +&dspi1 {
7848 + status = "okay";
7849 +
7850 + dflash1: flash@0 {
7851 + #address-cells = <1>;
7852 + #size-cells = <1>;
7853 + compatible = "jedec,spi-nor";
7854 + reg = <0>;
7855 + spi-max-frequency = <1000000>;
7856 + };
7857 +};
7858 +
7859 +&dspi2 {
7860 + status = "okay";
7861 +
7862 + dflash2: flash@0 {
7863 + #address-cells = <1>;
7864 + #size-cells = <1>;
7865 + compatible = "jedec,spi-nor";
7866 + reg = <0>;
7867 + spi-max-frequency = <1000000>;
7868 + };
7869 +};
7870 +
7871 +&emdio1 {
7872 + status = "okay";
7873 +};
7874 +
7875 +&emdio2 {
7876 + status = "okay";
7877 +};
7878 +
7879 +&esdhc0 {
7880 + status = "okay";
7881 +};
7882 +
7883 +&esdhc1 {
7884 + status = "okay";
7885 +};
7886 +
7887 +&i2c0 {
7888 + status = "okay";
7889 +
7890 + fpga@66 {
7891 + compatible = "fsl,lx2160aqds-fpga", "fsl,fpga-qixis-i2c",
7892 + "simple-mfd";
7893 + reg = <0x66>;
7894 +
7895 + mux: mux-controller {
7896 + compatible = "reg-mux";
7897 + #mux-control-cells = <1>;
7898 + mux-reg-masks = <0x54 0xf8>, /* 0: reg 0x54, bits 7:3 */
7899 + <0x54 0x07>; /* 1: reg 0x54, bit 2:0 */
7900 + };
7901 + };
7902 +
7903 + i2c-mux@77 {
7904 + compatible = "nxp,pca9547";
7905 + reg = <0x77>;
7906 + #address-cells = <1>;
7907 + #size-cells = <0>;
7908 +
7909 + i2c@2 {
7910 + #address-cells = <1>;
7911 + #size-cells = <0>;
7912 + reg = <0x2>;
7913 +
7914 + power-monitor@40 {
7915 + compatible = "ti,ina220";
7916 + reg = <0x40>;
7917 + shunt-resistor = <500>;
7918 + };
7919 +
7920 + power-monitor@41 {
7921 + compatible = "ti,ina220";
7922 + reg = <0x41>;
7923 + shunt-resistor = <1000>;
7924 + };
7925 + };
7926 +
7927 + i2c@3 {
7928 + #address-cells = <1>;
7929 + #size-cells = <0>;
7930 + reg = <0x3>;
7931 +
7932 + temperature-sensor@4c {
7933 + compatible = "nxp,sa56004";
7934 + reg = <0x4c>;
7935 + vcc-supply = <&sb_3v3>;
7936 + };
7937 +
7938 + temperature-sensor@4d {
7939 + compatible = "nxp,sa56004";
7940 + reg = <0x4d>;
7941 + vcc-supply = <&sb_3v3>;
7942 + };
7943 +
7944 + rtc@51 {
7945 + compatible = "nxp,pcf2129";
7946 + reg = <0x51>;
7947 + };
7948 + };
7949 + };
7950 +};
7951 +
7952 +&uart0 {
7953 + status = "okay";
7954 +};
7955 +
7956 +&uart1 {
7957 + status = "okay";
7958 +};
7959 +
7960 +&usb0 {
7961 + status = "okay";
7962 +};
7963 +
7964 +&usb1 {
7965 + status = "okay";
7966 +};
7967 +
7968 +&pcs_mdio1 {
7969 + pcs_phy1: ethernet-phy@0 {
7970 + compatible = "ethernet-phy-ieee802.3-c45";
7971 + backplane-mode = "40gbase-kr";
7972 + reg = <0x0>;
7973 + fsl,lane-handle = <&serdes1>;
7974 + fsl,lane-reg = <0xF00 0xE00 0xD00 0xC00>; /* lanes H, G, F, E */
7975 + };
7976 +};
7977 +
7978 +&pcs_mdio2 {
7979 + pcs_phy2: ethernet-phy@0 {
7980 + compatible = "ethernet-phy-ieee802.3-c45";
7981 + backplane-mode = "40gbase-kr";
7982 + reg = <0x0>;
7983 + fsl,lane-handle = <&serdes1>;
7984 + fsl,lane-reg = <0xB00 0xA00 0x900 0x800>; /* lanes D, C, B, A */
7985 + };
7986 +};
7987 +
7988 +&pcs_mdio3 {
7989 + pcs_phy3: ethernet-phy@0 {
7990 + compatible = "ethernet-phy-ieee802.3-c45";
7991 + backplane-mode = "10gbase-kr";
7992 + reg = <0x0>;
7993 + fsl,lane-handle = <&serdes1>;
7994 + fsl,lane-reg = <0xF00 0x100>; /* lane H */
7995 + };
7996 +};
7997 +
7998 +&pcs_mdio4 {
7999 + pcs_phy4: ethernet-phy@0 {
8000 + compatible = "ethernet-phy-ieee802.3-c45";
8001 + backplane-mode = "10gbase-kr";
8002 + reg = <0x0>;
8003 + fsl,lane-handle = <&serdes1>;
8004 + fsl,lane-reg = <0xE00 0x100>; /* lane G */
8005 + };
8006 +};
8007 +
8008 +/* Update DPMAC connections to 40G backplane PHYs
8009 + * &dpmac1 {
8010 + * phy-handle = <&pcs_phy1>;
8011 + * };
8012 + *
8013 + * &dpmac2 {
8014 + * phy-handle = <&pcs_phy2>;
8015 + * };
8016 + */
8017 +
8018 +/* Update DPMAC connections to 10G backplane PHYs
8019 + * &dpmac3 {
8020 + * phy-handle = <&pcs_phy3>;
8021 + * };
8022 + *
8023 + * &dpmac4 {
8024 + * phy-handle = <&pcs_phy4>;
8025 + * };
8026 + */
8027 --- /dev/null
8028 +++ b/arch/arm64/boot/dts/freescale/fsl-lx2160a-rdb.dts
8029 @@ -0,0 +1,233 @@
8030 +// SPDX-License-Identifier: (GPL-2.0 OR MIT)
8031 +//
8032 +// Device Tree file for LX2160ARDB
8033 +//
8034 +// Copyright 2018 NXP
8035 +
8036 +/dts-v1/;
8037 +
8038 +#include "fsl-lx2160a.dtsi"
8039 +
8040 +/ {
8041 + model = "NXP Layerscape LX2160ARDB";
8042 + compatible = "fsl,lx2160a-rdb", "fsl,lx2160a";
8043 +
8044 + aliases {
8045 + crypto = &crypto;
8046 + serial0 = &uart0;
8047 + };
8048 +
8049 + chosen {
8050 + stdout-path = "serial0:115200n8";
8051 + };
8052 +
8053 + sb_3v3: regulator-sb3v3 {
8054 + compatible = "regulator-fixed";
8055 + regulator-name = "MC34717-3.3VSB";
8056 + regulator-min-microvolt = <3300000>;
8057 + regulator-max-microvolt = <3300000>;
8058 + regulator-boot-on;
8059 + regulator-always-on;
8060 + };
8061 +};
8062 +
8063 +&crypto {
8064 + status = "okay";
8065 +};
8066 +
8067 +&emdio1 {
8068 + status = "okay";
8069 +};
8070 +
8071 +&emdio2 {
8072 + status = "okay";
8073 +};
8074 +
8075 +&esdhc0 {
8076 + sd-uhs-sdr104;
8077 + sd-uhs-sdr50;
8078 + sd-uhs-sdr25;
8079 + sd-uhs-sdr12;
8080 + status = "okay";
8081 +};
8082 +
8083 +&esdhc1 {
8084 + mmc-hs200-1_8v;
8085 + mmc-hs400-1_8v;
8086 + bus-width = <8>;
8087 + status = "okay";
8088 +};
8089 +
8090 +&i2c0 {
8091 + status = "okay";
8092 +
8093 + i2c-mux@77 {
8094 + compatible = "nxp,pca9547";
8095 + reg = <0x77>;
8096 + #address-cells = <1>;
8097 + #size-cells = <0>;
8098 +
8099 + i2c@2 {
8100 + #address-cells = <1>;
8101 + #size-cells = <0>;
8102 + reg = <0x2>;
8103 +
8104 + power-monitor@40 {
8105 + compatible = "ti,ina220";
8106 + reg = <0x40>;
8107 + shunt-resistor = <1000>;
8108 + };
8109 + };
8110 +
8111 + i2c@3 {
8112 + #address-cells = <1>;
8113 + #size-cells = <0>;
8114 + reg = <0x3>;
8115 +
8116 + temperature-sensor@4c {
8117 + compatible = "nxp,sa56004";
8118 + reg = <0x4c>;
8119 + vcc-supply = <&sb_3v3>;
8120 + };
8121 +
8122 + temperature-sensor@4d {
8123 + compatible = "nxp,sa56004";
8124 + reg = <0x4d>;
8125 + vcc-supply = <&sb_3v3>;
8126 + };
8127 + };
8128 + };
8129 +};
8130 +
8131 +&i2c4 {
8132 + status = "okay";
8133 +
8134 + rtc@51 {
8135 + compatible = "nxp,pcf2129";
8136 + reg = <0x51>;
8137 + // IRQ10_B
8138 + interrupts = <0 150 0x4>;
8139 + };
8140 +};
8141 +
8142 +&fspi {
8143 + status = "okay";
8144 + nxp,fspi-has-second-chip;
8145 + flash0: mt35xu512aba@0 {
8146 + #address-cells = <1>;
8147 + #size-cells = <1>;
8148 + compatible = "micron,m25p80";
8149 + m25p,fast-read;
8150 + spi-max-frequency = <50000000>;
8151 + reg = <0>;
8152 + /* The following setting enables 1-1-8 (CMD-ADDR-DATA) mode */
8153 + spi-rx-bus-width = <8>;
8154 + spi-tx-bus-width = <1>;
8155 + };
8156 +
8157 + flash1: mt35xu512aba@1 {
8158 + #address-cells = <1>;
8159 + #size-cells = <1>;
8160 + compatible = "micron,m25p80";
8161 + m25p,fast-read;
8162 + spi-max-frequency = <50000000>;
8163 + reg = <1>;
8164 + /* The following setting enables 1-1-8 (CMD-ADDR-DATA) mode */
8165 + spi-rx-bus-width = <8>;
8166 + spi-tx-bus-width = <1>;
8167 + };
8168 +};
8169 +
8170 +&uart0 {
8171 + status = "okay";
8172 +};
8173 +
8174 +&uart1 {
8175 + status = "okay";
8176 +};
8177 +
8178 +&usb0 {
8179 + status = "okay";
8180 +};
8181 +
8182 +&usb1 {
8183 + status = "okay";
8184 +};
8185 +
8186 +&emdio1 {
8187 + rgmii_phy1: ethernet-phy@1 {
8188 + /* AR8035 PHY - "compatible" property not strictly needed */
8189 + compatible = "ethernet-phy-id004d.d072";
8190 + reg = <0x1>;
8191 + /* Poll mode - no "interrupts" property defined */
8192 + };
8193 + rgmii_phy2: ethernet-phy@2 {
8194 + /* AR8035 PHY - "compatible" property not strictly needed */
8195 + compatible = "ethernet-phy-id004d.d072";
8196 + reg = <0x2>;
8197 + /* Poll mode - no "interrupts" property defined */
8198 + };
8199 + aquantia_phy1: ethernet-phy@4 {
8200 + /* AQR107 PHY - "compatible" property not strictly needed */
8201 + compatible = "ethernet-phy-ieee802.3-c45";
8202 + reg = <0x4>;
8203 + /* Poll mode - no "interrupts" property defined */
8204 + };
8205 + aquantia_phy2: ethernet-phy@5 {
8206 + /* AQR107 PHY - "compatible" property not strictly needed */
8207 + compatible = "ethernet-phy-ieee802.3-c45";
8208 + reg = <0x5>;
8209 + /* Poll mode - no "interrupts" property defined */
8210 + };
8211 +};
8212 +
8213 +&emdio2 {
8214 + inphi_phy: ethernet-phy@0 {
8215 + compatible = "ethernet-phy-id0210.7440";
8216 + reg = <0x0>;
8217 + };
8218 +};
8219 +
8220 +&dpmac3 {
8221 + phy-handle = <&aquantia_phy1>;
8222 + phy-connection-type = "xgmii";
8223 +};
8224 +
8225 +&dpmac4 {
8226 + phy-handle = <&aquantia_phy2>;
8227 + phy-connection-type = "xgmii";
8228 +};
8229 +
8230 +&dpmac5 {
8231 + phy-handle = <&inphi_phy>;
8232 +};
8233 +
8234 +&dpmac6 {
8235 + phy-handle = <&inphi_phy>;
8236 +};
8237 +
8238 +&dpmac17 {
8239 + phy-handle = <&rgmii_phy1>;
8240 + phy-connection-type = "rgmii-id";
8241 +};
8242 +
8243 +&dpmac18 {
8244 + phy-handle = <&rgmii_phy2>;
8245 + phy-connection-type = "rgmii-id";
8246 +};
8247 +
8248 +&sata0 {
8249 + status = "okay";
8250 +};
8251 +
8252 +&sata1 {
8253 + status = "okay";
8254 +};
8255 +
8256 +&sata2 {
8257 + status = "okay";
8258 +};
8259 +
8260 +&sata3 {
8261 + status = "okay";
8262 +};
8263 --- /dev/null
8264 +++ b/arch/arm64/boot/dts/freescale/fsl-lx2160a.dtsi
8265 @@ -0,0 +1,1318 @@
8266 +// SPDX-License-Identifier: (GPL-2.0 OR MIT)
8267 +//
8268 +// Device Tree Include file for Layerscape-LX2160A family SoC.
8269 +//
8270 +// Copyright 2018 NXP
8271 +
8272 +#include <dt-bindings/gpio/gpio.h>
8273 +#include <dt-bindings/interrupt-controller/arm-gic.h>
8274 +
8275 +/memreserve/ 0x80000000 0x00010000;
8276 +
8277 +/ {
8278 + compatible = "fsl,lx2160a";
8279 + interrupt-parent = <&gic>;
8280 + #address-cells = <2>;
8281 + #size-cells = <2>;
8282 +
8283 + cpus {
8284 + #address-cells = <1>;
8285 + #size-cells = <0>;
8286 +
8287 + // 8 clusters having 2 Cortex-A72 cores each
8288 + cpu@0 {
8289 + device_type = "cpu";
8290 + compatible = "arm,cortex-a72";
8291 + enable-method = "psci";
8292 + reg = <0x0>;
8293 + clocks = <&clockgen 1 0>;
8294 + d-cache-size = <0x8000>;
8295 + d-cache-line-size = <64>;
8296 + d-cache-sets = <128>;
8297 + i-cache-size = <0xC000>;
8298 + i-cache-line-size = <64>;
8299 + i-cache-sets = <192>;
8300 + next-level-cache = <&cluster0_l2>;
8301 + };
8302 +
8303 + cpu@1 {
8304 + device_type = "cpu";
8305 + compatible = "arm,cortex-a72";
8306 + enable-method = "psci";
8307 + reg = <0x1>;
8308 + clocks = <&clockgen 1 0>;
8309 + d-cache-size = <0x8000>;
8310 + d-cache-line-size = <64>;
8311 + d-cache-sets = <128>;
8312 + i-cache-size = <0xC000>;
8313 + i-cache-line-size = <64>;
8314 + i-cache-sets = <192>;
8315 + next-level-cache = <&cluster0_l2>;
8316 + };
8317 +
8318 + cpu@100 {
8319 + device_type = "cpu";
8320 + compatible = "arm,cortex-a72";
8321 + enable-method = "psci";
8322 + reg = <0x100>;
8323 + clocks = <&clockgen 1 1>;
8324 + d-cache-size = <0x8000>;
8325 + d-cache-line-size = <64>;
8326 + d-cache-sets = <128>;
8327 + i-cache-size = <0xC000>;
8328 + i-cache-line-size = <64>;
8329 + i-cache-sets = <192>;
8330 + next-level-cache = <&cluster1_l2>;
8331 + };
8332 +
8333 + cpu@101 {
8334 + device_type = "cpu";
8335 + compatible = "arm,cortex-a72";
8336 + enable-method = "psci";
8337 + reg = <0x101>;
8338 + clocks = <&clockgen 1 1>;
8339 + d-cache-size = <0x8000>;
8340 + d-cache-line-size = <64>;
8341 + d-cache-sets = <128>;
8342 + i-cache-size = <0xC000>;
8343 + i-cache-line-size = <64>;
8344 + i-cache-sets = <192>;
8345 + next-level-cache = <&cluster1_l2>;
8346 + };
8347 +
8348 + cpu@200 {
8349 + device_type = "cpu";
8350 + compatible = "arm,cortex-a72";
8351 + enable-method = "psci";
8352 + reg = <0x200>;
8353 + clocks = <&clockgen 1 2>;
8354 + d-cache-size = <0x8000>;
8355 + d-cache-line-size = <64>;
8356 + d-cache-sets = <128>;
8357 + i-cache-size = <0xC000>;
8358 + i-cache-line-size = <64>;
8359 + i-cache-sets = <192>;
8360 + next-level-cache = <&cluster2_l2>;
8361 + };
8362 +
8363 + cpu@201 {
8364 + device_type = "cpu";
8365 + compatible = "arm,cortex-a72";
8366 + enable-method = "psci";
8367 + reg = <0x201>;
8368 + clocks = <&clockgen 1 2>;
8369 + d-cache-size = <0x8000>;
8370 + d-cache-line-size = <64>;
8371 + d-cache-sets = <128>;
8372 + i-cache-size = <0xC000>;
8373 + i-cache-line-size = <64>;
8374 + i-cache-sets = <192>;
8375 + next-level-cache = <&cluster2_l2>;
8376 + };
8377 +
8378 + cpu@300 {
8379 + device_type = "cpu";
8380 + compatible = "arm,cortex-a72";
8381 + enable-method = "psci";
8382 + reg = <0x300>;
8383 + clocks = <&clockgen 1 3>;
8384 + d-cache-size = <0x8000>;
8385 + d-cache-line-size = <64>;
8386 + d-cache-sets = <128>;
8387 + i-cache-size = <0xC000>;
8388 + i-cache-line-size = <64>;
8389 + i-cache-sets = <192>;
8390 + next-level-cache = <&cluster3_l2>;
8391 + };
8392 +
8393 + cpu@301 {
8394 + device_type = "cpu";
8395 + compatible = "arm,cortex-a72";
8396 + enable-method = "psci";
8397 + reg = <0x301>;
8398 + clocks = <&clockgen 1 3>;
8399 + d-cache-size = <0x8000>;
8400 + d-cache-line-size = <64>;
8401 + d-cache-sets = <128>;
8402 + i-cache-size = <0xC000>;
8403 + i-cache-line-size = <64>;
8404 + i-cache-sets = <192>;
8405 + next-level-cache = <&cluster3_l2>;
8406 + };
8407 +
8408 + cpu@400 {
8409 + device_type = "cpu";
8410 + compatible = "arm,cortex-a72";
8411 + enable-method = "psci";
8412 + reg = <0x400>;
8413 + clocks = <&clockgen 1 4>;
8414 + d-cache-size = <0x8000>;
8415 + d-cache-line-size = <64>;
8416 + d-cache-sets = <128>;
8417 + i-cache-size = <0xC000>;
8418 + i-cache-line-size = <64>;
8419 + i-cache-sets = <192>;
8420 + next-level-cache = <&cluster4_l2>;
8421 + };
8422 +
8423 + cpu@401 {
8424 + device_type = "cpu";
8425 + compatible = "arm,cortex-a72";
8426 + enable-method = "psci";
8427 + reg = <0x401>;
8428 + clocks = <&clockgen 1 4>;
8429 + d-cache-size = <0x8000>;
8430 + d-cache-line-size = <64>;
8431 + d-cache-sets = <128>;
8432 + i-cache-size = <0xC000>;
8433 + i-cache-line-size = <64>;
8434 + i-cache-sets = <192>;
8435 + next-level-cache = <&cluster4_l2>;
8436 + };
8437 +
8438 + cpu@500 {
8439 + device_type = "cpu";
8440 + compatible = "arm,cortex-a72";
8441 + enable-method = "psci";
8442 + reg = <0x500>;
8443 + clocks = <&clockgen 1 5>;
8444 + d-cache-size = <0x8000>;
8445 + d-cache-line-size = <64>;
8446 + d-cache-sets = <128>;
8447 + i-cache-size = <0xC000>;
8448 + i-cache-line-size = <64>;
8449 + i-cache-sets = <192>;
8450 + next-level-cache = <&cluster5_l2>;
8451 + };
8452 +
8453 + cpu@501 {
8454 + device_type = "cpu";
8455 + compatible = "arm,cortex-a72";
8456 + enable-method = "psci";
8457 + reg = <0x501>;
8458 + clocks = <&clockgen 1 5>;
8459 + d-cache-size = <0x8000>;
8460 + d-cache-line-size = <64>;
8461 + d-cache-sets = <128>;
8462 + i-cache-size = <0xC000>;
8463 + i-cache-line-size = <64>;
8464 + i-cache-sets = <192>;
8465 + next-level-cache = <&cluster5_l2>;
8466 + };
8467 +
8468 + cpu@600 {
8469 + device_type = "cpu";
8470 + compatible = "arm,cortex-a72";
8471 + enable-method = "psci";
8472 + reg = <0x600>;
8473 + clocks = <&clockgen 1 6>;
8474 + d-cache-size = <0x8000>;
8475 + d-cache-line-size = <64>;
8476 + d-cache-sets = <128>;
8477 + i-cache-size = <0xC000>;
8478 + i-cache-line-size = <64>;
8479 + i-cache-sets = <192>;
8480 + next-level-cache = <&cluster6_l2>;
8481 + };
8482 +
8483 + cpu@601 {
8484 + device_type = "cpu";
8485 + compatible = "arm,cortex-a72";
8486 + enable-method = "psci";
8487 + reg = <0x601>;
8488 + clocks = <&clockgen 1 6>;
8489 + d-cache-size = <0x8000>;
8490 + d-cache-line-size = <64>;
8491 + d-cache-sets = <128>;
8492 + i-cache-size = <0xC000>;
8493 + i-cache-line-size = <64>;
8494 + i-cache-sets = <192>;
8495 + next-level-cache = <&cluster6_l2>;
8496 + };
8497 +
8498 + cpu@700 {
8499 + device_type = "cpu";
8500 + compatible = "arm,cortex-a72";
8501 + enable-method = "psci";
8502 + reg = <0x700>;
8503 + clocks = <&clockgen 1 7>;
8504 + d-cache-size = <0x8000>;
8505 + d-cache-line-size = <64>;
8506 + d-cache-sets = <128>;
8507 + i-cache-size = <0xC000>;
8508 + i-cache-line-size = <64>;
8509 + i-cache-sets = <192>;
8510 + next-level-cache = <&cluster7_l2>;
8511 + };
8512 +
8513 + cpu@701 {
8514 + device_type = "cpu";
8515 + compatible = "arm,cortex-a72";
8516 + enable-method = "psci";
8517 + reg = <0x701>;
8518 + clocks = <&clockgen 1 7>;
8519 + d-cache-size = <0x8000>;
8520 + d-cache-line-size = <64>;
8521 + d-cache-sets = <128>;
8522 + i-cache-size = <0xC000>;
8523 + i-cache-line-size = <64>;
8524 + i-cache-sets = <192>;
8525 + next-level-cache = <&cluster7_l2>;
8526 + };
8527 +
8528 + cluster0_l2: l2-cache0 {
8529 + compatible = "cache";
8530 + cache-size = <0x100000>;
8531 + cache-line-size = <64>;
8532 + cache-sets = <1024>;
8533 + cache-level = <2>;
8534 + };
8535 +
8536 + cluster1_l2: l2-cache1 {
8537 + compatible = "cache";
8538 + cache-size = <0x100000>;
8539 + cache-line-size = <64>;
8540 + cache-sets = <1024>;
8541 + cache-level = <2>;
8542 + };
8543 +
8544 + cluster2_l2: l2-cache2 {
8545 + compatible = "cache";
8546 + cache-size = <0x100000>;
8547 + cache-line-size = <64>;
8548 + cache-sets = <1024>;
8549 + cache-level = <2>;
8550 + };
8551 +
8552 + cluster3_l2: l2-cache3 {
8553 + compatible = "cache";
8554 + cache-size = <0x100000>;
8555 + cache-line-size = <64>;
8556 + cache-sets = <1024>;
8557 + cache-level = <2>;
8558 + };
8559 +
8560 + cluster4_l2: l2-cache4 {
8561 + compatible = "cache";
8562 + cache-size = <0x100000>;
8563 + cache-line-size = <64>;
8564 + cache-sets = <1024>;
8565 + cache-level = <2>;
8566 + };
8567 +
8568 + cluster5_l2: l2-cache5 {
8569 + compatible = "cache";
8570 + cache-size = <0x100000>;
8571 + cache-line-size = <64>;
8572 + cache-sets = <1024>;
8573 + cache-level = <2>;
8574 + };
8575 +
8576 + cluster6_l2: l2-cache6 {
8577 + compatible = "cache";
8578 + cache-size = <0x100000>;
8579 + cache-line-size = <64>;
8580 + cache-sets = <1024>;
8581 + cache-level = <2>;
8582 + };
8583 +
8584 + cluster7_l2: l2-cache7 {
8585 + compatible = "cache";
8586 + cache-size = <0x100000>;
8587 + cache-line-size = <64>;
8588 + cache-sets = <1024>;
8589 + cache-level = <2>;
8590 + };
8591 + };
8592 +
8593 + gic: interrupt-controller@6000000 {
8594 + compatible = "arm,gic-v3";
8595 + reg = <0x0 0x06000000 0 0x10000>, // GIC Dist
8596 + <0x0 0x06200000 0 0x200000>, // GICR (RD_base +
8597 + // SGI_base)
8598 + <0x0 0x0c0c0000 0 0x2000>, // GICC
8599 + <0x0 0x0c0d0000 0 0x1000>, // GICH
8600 + <0x0 0x0c0e0000 0 0x20000>; // GICV
8601 + #interrupt-cells = <3>;
8602 + #address-cells = <2>;
8603 + #size-cells = <2>;
8604 + ranges;
8605 + interrupt-controller;
8606 + interrupts = <GIC_PPI 9 IRQ_TYPE_LEVEL_HIGH>;
8607 +
8608 + its: gic-its@6020000 {
8609 + compatible = "arm,gic-v3-its";
8610 + msi-controller;
8611 + reg = <0x0 0x6020000 0 0x20000>;
8612 + };
8613 + };
8614 +
8615 + timer {
8616 + compatible = "arm,armv8-timer";
8617 + interrupts = <GIC_PPI 13 IRQ_TYPE_LEVEL_HIGH>,
8618 + <GIC_PPI 14 IRQ_TYPE_LEVEL_HIGH>,
8619 + <GIC_PPI 11 IRQ_TYPE_LEVEL_HIGH>,
8620 + <GIC_PPI 10 IRQ_TYPE_LEVEL_HIGH>;
8621 + };
8622 +
8623 + pmu {
8624 + compatible = "arm,cortex-a72-pmu";
8625 + interrupts = <GIC_PPI 7 IRQ_TYPE_LEVEL_LOW>;
8626 + };
8627 +
8628 + psci {
8629 + compatible = "arm,psci-0.2";
8630 + method = "smc";
8631 + };
8632 +
8633 + memory@80000000 {
8634 + // DRAM space - 1, size : 2 GB DRAM
8635 + device_type = "memory";
8636 + reg = <0x00000000 0x80000000 0 0x80000000>;
8637 + };
8638 +
8639 + ddr1: memory-controller@1080000 {
8640 + compatible = "fsl,qoriq-memory-controller";
8641 + reg = <0x0 0x1080000 0x0 0x1000>;
8642 + interrupts = <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>;
8643 + little-endian;
8644 + };
8645 +
8646 + ddr2: memory-controller@1090000 {
8647 + compatible = "fsl,qoriq-memory-controller";
8648 + reg = <0x0 0x1090000 0x0 0x1000>;
8649 + interrupts = <GIC_SPI 18 IRQ_TYPE_LEVEL_HIGH>;
8650 + little-endian;
8651 + };
8652 +
8653 + sysclk: sysclk {
8654 + compatible = "fixed-clock";
8655 + #clock-cells = <0>;
8656 + clock-frequency = <100000000>;
8657 + clock-output-names = "sysclk";
8658 + };
8659 +
8660 + soc {
8661 + compatible = "simple-bus";
8662 + #address-cells = <2>;
8663 + #size-cells = <2>;
8664 + ranges;
8665 + dma-ranges = <0x0 0x0 0x0 0x0 0x10000 0x00000000>;
8666 +
8667 + crypto: crypto@8000000 {
8668 + compatible = "fsl,sec-v5.0", "fsl,sec-v4.0";
8669 + fsl,sec-era = <10>;
8670 + #address-cells = <1>;
8671 + #size-cells = <1>;
8672 + ranges = <0x0 0x00 0x8000000 0x100000>;
8673 + reg = <0x00 0x8000000 0x0 0x100000>;
8674 + interrupts = <GIC_SPI 139 IRQ_TYPE_LEVEL_HIGH>;
8675 + dma-coherent;
8676 + status = "disabled";
8677 +
8678 + sec_jr0: jr@10000 {
8679 + compatible = "fsl,sec-v5.0-job-ring",
8680 + "fsl,sec-v4.0-job-ring";
8681 + reg = <0x10000 0x10000>;
8682 + interrupts = <GIC_SPI 140 IRQ_TYPE_LEVEL_HIGH>;
8683 + };
8684 +
8685 + sec_jr1: jr@20000 {
8686 + compatible = "fsl,sec-v5.0-job-ring",
8687 + "fsl,sec-v4.0-job-ring";
8688 + reg = <0x20000 0x10000>;
8689 + interrupts = <GIC_SPI 141 IRQ_TYPE_LEVEL_HIGH>;
8690 + };
8691 +
8692 + sec_jr2: jr@30000 {
8693 + compatible = "fsl,sec-v5.0-job-ring",
8694 + "fsl,sec-v4.0-job-ring";
8695 + reg = <0x30000 0x10000>;
8696 + interrupts = <GIC_SPI 142 IRQ_TYPE_LEVEL_HIGH>;
8697 + };
8698 +
8699 + sec_jr3: jr@40000 {
8700 + compatible = "fsl,sec-v5.0-job-ring",
8701 + "fsl,sec-v4.0-job-ring";
8702 + reg = <0x40000 0x10000>;
8703 + interrupts = <GIC_SPI 143 IRQ_TYPE_LEVEL_HIGH>;
8704 + };
8705 + };
8706 +
8707 + clockgen: clock-controller@1300000 {
8708 + compatible = "fsl,lx2160a-clockgen";
8709 + reg = <0 0x1300000 0 0xa0000>;
8710 + #clock-cells = <2>;
8711 + clocks = <&sysclk>;
8712 + };
8713 +
8714 + dcfg: syscon@1e00000 {
8715 + compatible = "fsl,lx2160a-dcfg", "syscon";
8716 + reg = <0x0 0x1e00000 0x0 0x10000>;
8717 + little-endian;
8718 + };
8719 +
8720 + /* WRIOP0: 0x8b8_0000, E-MDIO1: 0x1_6000 */
8721 + emdio1: mdio@8b96000 {
8722 + compatible = "fsl,fman-memac-mdio";
8723 + reg = <0x0 0x8b96000 0x0 0x1000>;
8724 + interrupts = <GIC_SPI 90 IRQ_TYPE_LEVEL_HIGH>;
8725 + #address-cells = <1>;
8726 + #size-cells = <0>;
8727 + little-endian; /* force the driver in LE mode */
8728 + status = "disabled";
8729 + };
8730 +
8731 + /* WRIOP0: 0x8b8_0000, E-MDIO2: 0x1_7000 */
8732 + emdio2: mdio@8b97000 {
8733 + compatible = "fsl,fman-memac-mdio";
8734 + reg = <0x0 0x8b97000 0x0 0x1000>;
8735 + interrupts = <GIC_SPI 91 IRQ_TYPE_LEVEL_HIGH>;
8736 + #address-cells = <1>;
8737 + #size-cells = <0>;
8738 + little-endian; /* force the driver in LE mode */
8739 + status = "disabled";
8740 + };
8741 +
8742 + pcs_mdio1: mdio@0x8c07000 {
8743 + compatible = "fsl,fman-memac-mdio";
8744 + reg = <0x0 0x8c07000 0x0 0x1000>;
8745 + device_type = "mdio";
8746 + little-endian;
8747 +
8748 + #address-cells = <1>;
8749 + #size-cells = <0>;
8750 + };
8751 +
8752 + pcs_mdio2: mdio@0x8c0b000 {
8753 + compatible = "fsl,fman-memac-mdio";
8754 + reg = <0x0 0x8c0b000 0x0 0x1000>;
8755 + device_type = "mdio";
8756 + little-endian;
8757 +
8758 + #address-cells = <1>;
8759 + #size-cells = <0>;
8760 + };
8761 +
8762 + pcs_mdio3: mdio@0x8c0f000 {
8763 + compatible = "fsl,fman-memac-mdio";
8764 + reg = <0x0 0x8c0f000 0x0 0x1000>;
8765 + device_type = "mdio";
8766 + little-endian;
8767 +
8768 + #address-cells = <1>;
8769 + #size-cells = <0>;
8770 + };
8771 +
8772 + pcs_mdio4: mdio@0x8c13000 {
8773 + compatible = "fsl,fman-memac-mdio";
8774 + reg = <0x0 0x8c13000 0x0 0x1000>;
8775 + device_type = "mdio";
8776 + little-endian;
8777 +
8778 + #address-cells = <1>;
8779 + #size-cells = <0>;
8780 + };
8781 +
8782 + pcs_mdio5: mdio@0x8c17000 {
8783 + compatible = "fsl,fman-memac-mdio";
8784 + reg = <0x0 0x8c17000 0x0 0x1000>;
8785 + device_type = "mdio";
8786 + little-endian;
8787 +
8788 + #address-cells = <1>;
8789 + #size-cells = <0>;
8790 + };
8791 +
8792 + pcs_mdio6: mdio@0x8c1b000 {
8793 + compatible = "fsl,fman-memac-mdio";
8794 + reg = <0x0 0x8c1b000 0x0 0x1000>;
8795 + device_type = "mdio";
8796 + little-endian;
8797 +
8798 + #address-cells = <1>;
8799 + #size-cells = <0>;
8800 + };
8801 +
8802 + pcs_mdio7: mdio@0x8c1f000 {
8803 + compatible = "fsl,fman-memac-mdio";
8804 + reg = <0x0 0x8c1f000 0x0 0x1000>;
8805 + device_type = "mdio";
8806 + little-endian;
8807 +
8808 + #address-cells = <1>;
8809 + #size-cells = <0>;
8810 + };
8811 +
8812 + pcs_mdio8: mdio@0x8c23000 {
8813 + compatible = "fsl,fman-memac-mdio";
8814 + reg = <0x0 0x8c23000 0x0 0x1000>;
8815 + device_type = "mdio";
8816 + little-endian;
8817 +
8818 + #address-cells = <1>;
8819 + #size-cells = <0>;
8820 + };
8821 +
8822 + serdes1: serdes@1ea0000 {
8823 + compatible = "fsl,serdes-28g";
8824 + reg = <0x0 0x1ea0000 0 0x00002000>;
8825 + little-endian;
8826 + };
8827 +
8828 + i2c0: i2c@2000000 {
8829 + compatible = "fsl,vf610-i2c";
8830 + #address-cells = <1>;
8831 + #size-cells = <0>;
8832 + reg = <0x0 0x2000000 0x0 0x10000>;
8833 + interrupts = <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>;
8834 + clock-names = "i2c";
8835 + clocks = <&clockgen 4 7>;
8836 + scl-gpios = <&gpio2 15 GPIO_ACTIVE_HIGH>;
8837 + status = "disabled";
8838 + };
8839 +
8840 + i2c1: i2c@2010000 {
8841 + compatible = "fsl,vf610-i2c";
8842 + #address-cells = <1>;
8843 + #size-cells = <0>;
8844 + reg = <0x0 0x2010000 0x0 0x10000>;
8845 + interrupts = <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>;
8846 + clock-names = "i2c";
8847 + clocks = <&clockgen 4 7>;
8848 + status = "disabled";
8849 + };
8850 +
8851 + i2c2: i2c@2020000 {
8852 + compatible = "fsl,vf610-i2c";
8853 + #address-cells = <1>;
8854 + #size-cells = <0>;
8855 + reg = <0x0 0x2020000 0x0 0x10000>;
8856 + interrupts = <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>;
8857 + clock-names = "i2c";
8858 + clocks = <&clockgen 4 7>;
8859 + status = "disabled";
8860 + };
8861 +
8862 + i2c3: i2c@2030000 {
8863 + compatible = "fsl,vf610-i2c";
8864 + #address-cells = <1>;
8865 + #size-cells = <0>;
8866 + reg = <0x0 0x2030000 0x0 0x10000>;
8867 + interrupts = <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>;
8868 + clock-names = "i2c";
8869 + clocks = <&clockgen 4 7>;
8870 + status = "disabled";
8871 + };
8872 +
8873 + i2c4: i2c@2040000 {
8874 + compatible = "fsl,vf610-i2c";
8875 + #address-cells = <1>;
8876 + #size-cells = <0>;
8877 + reg = <0x0 0x2040000 0x0 0x10000>;
8878 + interrupts = <GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH>;
8879 + clock-names = "i2c";
8880 + clocks = <&clockgen 4 7>;
8881 + scl-gpios = <&gpio2 16 GPIO_ACTIVE_HIGH>;
8882 + status = "disabled";
8883 + };
8884 +
8885 + i2c5: i2c@2050000 {
8886 + compatible = "fsl,vf610-i2c";
8887 + #address-cells = <1>;
8888 + #size-cells = <0>;
8889 + reg = <0x0 0x2050000 0x0 0x10000>;
8890 + interrupts = <GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH>;
8891 + clock-names = "i2c";
8892 + clocks = <&clockgen 4 7>;
8893 + status = "disabled";
8894 + };
8895 +
8896 + i2c6: i2c@2060000 {
8897 + compatible = "fsl,vf610-i2c";
8898 + #address-cells = <1>;
8899 + #size-cells = <0>;
8900 + reg = <0x0 0x2060000 0x0 0x10000>;
8901 + interrupts = <GIC_SPI 75 IRQ_TYPE_LEVEL_HIGH>;
8902 + clock-names = "i2c";
8903 + clocks = <&clockgen 4 7>;
8904 + status = "disabled";
8905 + };
8906 +
8907 + i2c7: i2c@2070000 {
8908 + compatible = "fsl,vf610-i2c";
8909 + #address-cells = <1>;
8910 + #size-cells = <0>;
8911 + reg = <0x0 0x2070000 0x0 0x10000>;
8912 + interrupts = <GIC_SPI 75 IRQ_TYPE_LEVEL_HIGH>;
8913 + clock-names = "i2c";
8914 + clocks = <&clockgen 4 7>;
8915 + status = "disabled";
8916 + };
8917 +
8918 + dspi0: spi@2100000 {
8919 + compatible = "fsl,lx2160a-dspi", "fsl,ls2085a-dspi";
8920 + #address-cells = <1>;
8921 + #size-cells = <0>;
8922 + reg = <0x0 0x2100000 0x0 0x10000>;
8923 + interrupts = <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>;
8924 + clocks = <&clockgen 4 7>;
8925 + clock-names = "dspi";
8926 + spi-num-chipselects = <5>;
8927 + bus-num = <0>;
8928 + status = "disabled";
8929 + };
8930 +
8931 + dspi1: spi@2110000 {
8932 + compatible = "fsl,lx2160a-dspi", "fsl,ls2085a-dspi";
8933 + #address-cells = <1>;
8934 + #size-cells = <0>;
8935 + reg = <0x0 0x2110000 0x0 0x10000>;
8936 + interrupts = <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>;
8937 + clocks = <&clockgen 4 7>;
8938 + clock-names = "dspi";
8939 + spi-num-chipselects = <5>;
8940 + bus-num = <1>;
8941 + status = "disabled";
8942 + };
8943 +
8944 + dspi2: spi@2120000 {
8945 + compatible = "fsl,lx2160a-dspi", "fsl,ls2085a-dspi";
8946 + #address-cells = <1>;
8947 + #size-cells = <0>;
8948 + reg = <0x0 0x2120000 0x0 0x10000>;
8949 + interrupts = <GIC_SPI 241 IRQ_TYPE_LEVEL_HIGH>;
8950 + clocks = <&clockgen 4 7>;
8951 + clock-names = "dspi";
8952 + spi-num-chipselects = <5>;
8953 + bus-num = <2>;
8954 + status = "disabled";
8955 + };
8956 +
8957 + esdhc0: esdhc@2140000 {
8958 + compatible = "fsl,esdhc";
8959 + reg = <0x0 0x2140000 0x0 0x10000>;
8960 + interrupts = <0 28 0x4>; /* Level high type */
8961 + clocks = <&clockgen 4 1>;
8962 + voltage-ranges = <1800 1800 3300 3300>;
8963 + sdhci,auto-cmd12;
8964 + little-endian;
8965 + bus-width = <4>;
8966 + status = "disabled";
8967 + };
8968 +
8969 + esdhc1: esdhc@2150000 {
8970 + compatible = "fsl,esdhc";
8971 + reg = <0x0 0x2150000 0x0 0x10000>;
8972 + interrupts = <0 63 0x4>; /* Level high type */
8973 + clocks = <&clockgen 4 1>;
8974 + voltage-ranges = <1800 1800 3300 3300>;
8975 + sdhci,auto-cmd12;
8976 + broken-cd;
8977 + little-endian;
8978 + bus-width = <4>;
8979 + status = "disabled";
8980 + };
8981 +
8982 + uart0: serial@21c0000 {
8983 + compatible = "arm,sbsa-uart","arm,pl011";
8984 + reg = <0x0 0x21c0000 0x0 0x1000>;
8985 + interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>;
8986 + current-speed = <115200>;
8987 + status = "disabled";
8988 + };
8989 +
8990 + uart1: serial@21d0000 {
8991 + compatible = "arm,sbsa-uart","arm,pl011";
8992 + reg = <0x0 0x21d0000 0x0 0x1000>;
8993 + interrupts = <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>;
8994 + current-speed = <115200>;
8995 + status = "disabled";
8996 + };
8997 +
8998 + uart2: serial@21e0000 {
8999 + compatible = "arm,sbsa-uart","arm,pl011";
9000 + reg = <0x0 0x21e0000 0x0 0x1000>;
9001 + interrupts = <GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>;
9002 + current-speed = <115200>;
9003 + status = "disabled";
9004 + };
9005 +
9006 + uart3: serial@21f0000 {
9007 + compatible = "arm,sbsa-uart","arm,pl011";
9008 + reg = <0x0 0x21f0000 0x0 0x1000>;
9009 + interrupts = <GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>;
9010 + current-speed = <115200>;
9011 + status = "disabled";
9012 + };
9013 +
9014 + gpio0: gpio@2300000 {
9015 + compatible = "fsl,qoriq-gpio";
9016 + reg = <0x0 0x2300000 0x0 0x10000>;
9017 + interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>;
9018 + gpio-controller;
9019 + little-endian;
9020 + #gpio-cells = <2>;
9021 + interrupt-controller;
9022 + #interrupt-cells = <2>;
9023 + };
9024 +
9025 + gpio1: gpio@2310000 {
9026 + compatible = "fsl,qoriq-gpio";
9027 + reg = <0x0 0x2310000 0x0 0x10000>;
9028 + interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>;
9029 + gpio-controller;
9030 + little-endian;
9031 + #gpio-cells = <2>;
9032 + interrupt-controller;
9033 + #interrupt-cells = <2>;
9034 + };
9035 +
9036 + gpio2: gpio@2320000 {
9037 + compatible = "fsl,qoriq-gpio";
9038 + reg = <0x0 0x2320000 0x0 0x10000>;
9039 + interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>;
9040 + gpio-controller;
9041 + little-endian;
9042 + #gpio-cells = <2>;
9043 + interrupt-controller;
9044 + #interrupt-cells = <2>;
9045 + };
9046 +
9047 + gpio3: gpio@2330000 {
9048 + compatible = "fsl,qoriq-gpio";
9049 + reg = <0x0 0x2330000 0x0 0x10000>;
9050 + interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>;
9051 + gpio-controller;
9052 + little-endian;
9053 + #gpio-cells = <2>;
9054 + interrupt-controller;
9055 + #interrupt-cells = <2>;
9056 + };
9057 +
9058 + watchdog@23a0000 {
9059 + compatible = "arm,sbsa-gwdt";
9060 + reg = <0x0 0x23a0000 0 0x1000>,
9061 + <0x0 0x2390000 0 0x1000>;
9062 + interrupts = <GIC_SPI 59 IRQ_TYPE_LEVEL_HIGH>;
9063 + timeout-sec = <30>;
9064 + };
9065 +
9066 + ftm0: ftm0@2800000 {
9067 + compatible = "fsl,ftm-alarm", "fsl,lx2160a-ftm-alarm";
9068 + reg = <0x0 0x2800000 0x0 0x10000>,
9069 + <0x0 0x1e34050 0x0 0x4>;
9070 + reg-names = "ftm", "FlexTimer1";
9071 + interrupts = <0 44 0x4>;
9072 + status = "okay";
9073 + };
9074 +
9075 + usb0: usb@3100000 {
9076 + compatible = "snps,dwc3";
9077 + reg = <0x0 0x3100000 0x0 0x10000>;
9078 + interrupts = <GIC_SPI 80 IRQ_TYPE_LEVEL_HIGH>;
9079 + dr_mode = "host";
9080 + snps,quirk-frame-length-adjustment = <0x20>;
9081 + snps,dis_rxdet_inp3_quirk;
9082 + snps,incr-burst-type-adjustment = <1>, <4>, <8>, <16>;
9083 + snps,host-vbus-glitches;
9084 + status = "disabled";
9085 + };
9086 +
9087 + usb1: usb@3110000 {
9088 + compatible = "snps,dwc3";
9089 + reg = <0x0 0x3110000 0x0 0x10000>;
9090 + interrupts = <GIC_SPI 81 IRQ_TYPE_LEVEL_HIGH>;
9091 + dr_mode = "host";
9092 + snps,quirk-frame-length-adjustment = <0x20>;
9093 + snps,dis_rxdet_inp3_quirk;
9094 + snps,incr-burst-type-adjustment = <1>, <4>, <8>, <16>;
9095 + snps,host-vbus-glitches;
9096 + status = "disabled";
9097 + };
9098 +
9099 + smmu: iommu@5000000 {
9100 + compatible = "arm,mmu-500";
9101 + reg = <0 0x5000000 0 0x800000>;
9102 + #iommu-cells = <1>;
9103 + #global-interrupts = <14>;
9104 + // global secure fault
9105 + interrupts = <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>,
9106 + // combined secure
9107 + <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>,
9108 + // global non-secure fault
9109 + <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>,
9110 + // combined non-secure
9111 + <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>,
9112 + // performance counter interrupts 0-9
9113 + <GIC_SPI 211 IRQ_TYPE_LEVEL_HIGH>,
9114 + <GIC_SPI 212 IRQ_TYPE_LEVEL_HIGH>,
9115 + <GIC_SPI 213 IRQ_TYPE_LEVEL_HIGH>,
9116 + <GIC_SPI 214 IRQ_TYPE_LEVEL_HIGH>,
9117 + <GIC_SPI 215 IRQ_TYPE_LEVEL_HIGH>,
9118 + <GIC_SPI 216 IRQ_TYPE_LEVEL_HIGH>,
9119 + <GIC_SPI 217 IRQ_TYPE_LEVEL_HIGH>,
9120 + <GIC_SPI 218 IRQ_TYPE_LEVEL_HIGH>,
9121 + <GIC_SPI 219 IRQ_TYPE_LEVEL_HIGH>,
9122 + <GIC_SPI 220 IRQ_TYPE_LEVEL_HIGH>,
9123 + // per context interrupt, 64 interrupts
9124 + <GIC_SPI 146 IRQ_TYPE_LEVEL_HIGH>,
9125 + <GIC_SPI 147 IRQ_TYPE_LEVEL_HIGH>,
9126 + <GIC_SPI 148 IRQ_TYPE_LEVEL_HIGH>,
9127 + <GIC_SPI 149 IRQ_TYPE_LEVEL_HIGH>,
9128 + <GIC_SPI 150 IRQ_TYPE_LEVEL_HIGH>,
9129 + <GIC_SPI 151 IRQ_TYPE_LEVEL_HIGH>,
9130 + <GIC_SPI 152 IRQ_TYPE_LEVEL_HIGH>,
9131 + <GIC_SPI 153 IRQ_TYPE_LEVEL_HIGH>,
9132 + <GIC_SPI 154 IRQ_TYPE_LEVEL_HIGH>,
9133 + <GIC_SPI 155 IRQ_TYPE_LEVEL_HIGH>,
9134 + <GIC_SPI 156 IRQ_TYPE_LEVEL_HIGH>,
9135 + <GIC_SPI 157 IRQ_TYPE_LEVEL_HIGH>,
9136 + <GIC_SPI 158 IRQ_TYPE_LEVEL_HIGH>,
9137 + <GIC_SPI 159 IRQ_TYPE_LEVEL_HIGH>,
9138 + <GIC_SPI 160 IRQ_TYPE_LEVEL_HIGH>,
9139 + <GIC_SPI 161 IRQ_TYPE_LEVEL_HIGH>,
9140 + <GIC_SPI 162 IRQ_TYPE_LEVEL_HIGH>,
9141 + <GIC_SPI 163 IRQ_TYPE_LEVEL_HIGH>,
9142 + <GIC_SPI 164 IRQ_TYPE_LEVEL_HIGH>,
9143 + <GIC_SPI 165 IRQ_TYPE_LEVEL_HIGH>,
9144 + <GIC_SPI 166 IRQ_TYPE_LEVEL_HIGH>,
9145 + <GIC_SPI 167 IRQ_TYPE_LEVEL_HIGH>,
9146 + <GIC_SPI 168 IRQ_TYPE_LEVEL_HIGH>,
9147 + <GIC_SPI 169 IRQ_TYPE_LEVEL_HIGH>,
9148 + <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
9149 + <GIC_SPI 171 IRQ_TYPE_LEVEL_HIGH>,
9150 + <GIC_SPI 172 IRQ_TYPE_LEVEL_HIGH>,
9151 + <GIC_SPI 173 IRQ_TYPE_LEVEL_HIGH>,
9152 + <GIC_SPI 174 IRQ_TYPE_LEVEL_HIGH>,
9153 + <GIC_SPI 175 IRQ_TYPE_LEVEL_HIGH>,
9154 + <GIC_SPI 176 IRQ_TYPE_LEVEL_HIGH>,
9155 + <GIC_SPI 177 IRQ_TYPE_LEVEL_HIGH>,
9156 + <GIC_SPI 178 IRQ_TYPE_LEVEL_HIGH>,
9157 + <GIC_SPI 179 IRQ_TYPE_LEVEL_HIGH>,
9158 + <GIC_SPI 180 IRQ_TYPE_LEVEL_HIGH>,
9159 + <GIC_SPI 181 IRQ_TYPE_LEVEL_HIGH>,
9160 + <GIC_SPI 182 IRQ_TYPE_LEVEL_HIGH>,
9161 + <GIC_SPI 183 IRQ_TYPE_LEVEL_HIGH>,
9162 + <GIC_SPI 184 IRQ_TYPE_LEVEL_HIGH>,
9163 + <GIC_SPI 185 IRQ_TYPE_LEVEL_HIGH>,
9164 + <GIC_SPI 186 IRQ_TYPE_LEVEL_HIGH>,
9165 + <GIC_SPI 187 IRQ_TYPE_LEVEL_HIGH>,
9166 + <GIC_SPI 188 IRQ_TYPE_LEVEL_HIGH>,
9167 + <GIC_SPI 189 IRQ_TYPE_LEVEL_HIGH>,
9168 + <GIC_SPI 190 IRQ_TYPE_LEVEL_HIGH>,
9169 + <GIC_SPI 191 IRQ_TYPE_LEVEL_HIGH>,
9170 + <GIC_SPI 192 IRQ_TYPE_LEVEL_HIGH>,
9171 + <GIC_SPI 193 IRQ_TYPE_LEVEL_HIGH>,
9172 + <GIC_SPI 194 IRQ_TYPE_LEVEL_HIGH>,
9173 + <GIC_SPI 195 IRQ_TYPE_LEVEL_HIGH>,
9174 + <GIC_SPI 196 IRQ_TYPE_LEVEL_HIGH>,
9175 + <GIC_SPI 197 IRQ_TYPE_LEVEL_HIGH>,
9176 + <GIC_SPI 198 IRQ_TYPE_LEVEL_HIGH>,
9177 + <GIC_SPI 199 IRQ_TYPE_LEVEL_HIGH>,
9178 + <GIC_SPI 200 IRQ_TYPE_LEVEL_HIGH>,
9179 + <GIC_SPI 201 IRQ_TYPE_LEVEL_HIGH>,
9180 + <GIC_SPI 202 IRQ_TYPE_LEVEL_HIGH>,
9181 + <GIC_SPI 203 IRQ_TYPE_LEVEL_HIGH>,
9182 + <GIC_SPI 204 IRQ_TYPE_LEVEL_HIGH>,
9183 + <GIC_SPI 205 IRQ_TYPE_LEVEL_HIGH>,
9184 + <GIC_SPI 206 IRQ_TYPE_LEVEL_HIGH>,
9185 + <GIC_SPI 207 IRQ_TYPE_LEVEL_HIGH>,
9186 + <GIC_SPI 208 IRQ_TYPE_LEVEL_HIGH>,
9187 + <GIC_SPI 209 IRQ_TYPE_LEVEL_HIGH>;
9188 + dma-coherent;
9189 + };
9190 +
9191 + fsl_mc: fsl-mc@80c000000 {
9192 + compatible = "fsl,qoriq-mc";
9193 + reg = <0x00000008 0x0c000000 0 0x40>,
9194 + <0x00000000 0x08340000 0 0x40000>;
9195 + msi-parent = <&its>;
9196 + /* iommu-map property is fixed up by u-boot */
9197 + iommu-map = <0 &smmu 0 0>;
9198 + dma-coherent;
9199 + #address-cells = <3>;
9200 + #size-cells = <1>;
9201 +
9202 + /*
9203 + * Region type 0x0 - MC portals
9204 + * Region type 0x1 - QBMAN portals
9205 + */
9206 + ranges = <0x0 0x0 0x0 0x8 0x0c000000 0x4000000
9207 + 0x1 0x0 0x0 0x8 0x18000000 0x8000000>;
9208 +
9209 + /*
9210 + * Define the maximum number of MACs present on the SoC.
9211 + */
9212 + dpmacs {
9213 + #address-cells = <1>;
9214 + #size-cells = <0>;
9215 +
9216 + dpmac1: dpmac@1 {
9217 + compatible = "fsl,qoriq-mc-dpmac";
9218 + reg = <0x1>;
9219 + };
9220 +
9221 + dpmac2: dpmac@2 {
9222 + compatible = "fsl,qoriq-mc-dpmac";
9223 + reg = <0x2>;
9224 + };
9225 +
9226 + dpmac3: dpmac@3 {
9227 + compatible = "fsl,qoriq-mc-dpmac";
9228 + reg = <0x3>;
9229 + };
9230 +
9231 + dpmac4: dpmac@4 {
9232 + compatible = "fsl,qoriq-mc-dpmac";
9233 + reg = <0x4>;
9234 + };
9235 +
9236 + dpmac5: dpmac@5 {
9237 + compatible = "fsl,qoriq-mc-dpmac";
9238 + reg = <0x5>;
9239 + };
9240 +
9241 + dpmac6: dpmac@6 {
9242 + compatible = "fsl,qoriq-mc-dpmac";
9243 + reg = <0x6>;
9244 + };
9245 +
9246 + dpmac7: dpmac@7 {
9247 + compatible = "fsl,qoriq-mc-dpmac";
9248 + reg = <0x7>;
9249 + };
9250 +
9251 + dpmac8: dpmac@8 {
9252 + compatible = "fsl,qoriq-mc-dpmac";
9253 + reg = <0x8>;
9254 + };
9255 +
9256 + dpmac9: dpmac@9 {
9257 + compatible = "fsl,qoriq-mc-dpmac";
9258 + reg = <0x9>;
9259 + };
9260 +
9261 + dpmac10: dpmac@a {
9262 + compatible = "fsl,qoriq-mc-dpmac";
9263 + reg = <0xa>;
9264 + };
9265 +
9266 + dpmac11: dpmac@b {
9267 + compatible = "fsl,qoriq-mc-dpmac";
9268 + reg = <0xb>;
9269 + };
9270 +
9271 + dpmac12: dpmac@c {
9272 + compatible = "fsl,qoriq-mc-dpmac";
9273 + reg = <0xc>;
9274 + };
9275 +
9276 + dpmac13: dpmac@d {
9277 + compatible = "fsl,qoriq-mc-dpmac";
9278 + reg = <0xd>;
9279 + };
9280 +
9281 + dpmac14: dpmac@e {
9282 + compatible = "fsl,qoriq-mc-dpmac";
9283 + reg = <0xe>;
9284 + };
9285 +
9286 + dpmac15: dpmac@f {
9287 + compatible = "fsl,qoriq-mc-dpmac";
9288 + reg = <0xf>;
9289 + };
9290 +
9291 + dpmac16: dpmac@10 {
9292 + compatible = "fsl,qoriq-mc-dpmac";
9293 + reg = <0x10>;
9294 + };
9295 +
9296 + dpmac17: dpmac@11 {
9297 + compatible = "fsl,qoriq-mc-dpmac";
9298 + reg = <0x11>;
9299 + };
9300 +
9301 + dpmac18: dpmac@12 {
9302 + compatible = "fsl,qoriq-mc-dpmac";
9303 + reg = <0x12>;
9304 + };
9305 + };
9306 + };
9307 +
9308 + fspi: flexspi@20c0000 {
9309 + status = "disabled";
9310 + compatible = "nxp,lx2160a-fspi";
9311 + #address-cells = <1>;
9312 + #size-cells = <0>;
9313 + reg = <0x0 0x20c0000 0x0 0x10000>,
9314 + <0x0 0x20000000 0x0 0x10000000>;
9315 + reg-names = "FSPI", "FSPI-memory";
9316 + interrupts = <0 25 0x4>; /* Level high type */
9317 + clocks = <&clockgen 4 3>, <&clockgen 4 3>;
9318 + clock-names = "fspi_en", "fspi";
9319 + };
9320 +
9321 + sata0: sata@3200000 {
9322 + status = "disabled";
9323 + compatible = "fsl,lx2160a-ahci";
9324 + reg = <0x0 0x3200000 0x0 0x10000>;
9325 + interrupts = <GIC_SPI 133 IRQ_TYPE_LEVEL_HIGH>;
9326 + clocks = <&clockgen 4 3>;
9327 + dma-coherent;
9328 + };
9329 +
9330 + sata1: sata@3210000 {
9331 + status = "disabled";
9332 + compatible = "fsl,lx2160a-ahci";
9333 + reg = <0x0 0x3210000 0x0 0x10000>;
9334 + interrupts = <GIC_SPI 136 IRQ_TYPE_LEVEL_HIGH>;
9335 + clocks = <&clockgen 4 3>;
9336 + dma-coherent;
9337 + };
9338 +
9339 + sata2: sata@3220000 {
9340 + status = "disabled";
9341 + compatible = "fsl,lx2160a-ahci";
9342 + reg = <0x0 0x3220000 0x0 0x10000>;
9343 + interrupts = <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>;
9344 + clocks = <&clockgen 4 3>;
9345 + dma-coherent;
9346 + };
9347 +
9348 + sata3: sata@3230000 {
9349 + status = "disabled";
9350 + compatible = "fsl,lx2160a-ahci";
9351 + reg = <0x0 0x3230000 0x0 0x10000>;
9352 + interrupts = <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>;
9353 + clocks = <&clockgen 4 3>;
9354 + dma-coherent;
9355 + };
9356 +
9357 + pcie@3400000 {
9358 + compatible = "fsl,lx2160a-pcie";
9359 + reg = <0x00 0x03400000 0x0 0x00100000 /* controller registers */
9360 + 0x80 0x00000000 0x0 0x00001000>; /* configuration space */
9361 + reg-names = "csr_axi_slave", "config_axi_slave";
9362 + interrupts = <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>, /* AER interrupt */
9363 + <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>, /* PME interrupt */
9364 + <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>; /* controller interrupt */
9365 + interrupt-names = "aer", "pme", "intr";
9366 + #address-cells = <3>;
9367 + #size-cells = <2>;
9368 + device_type = "pci";
9369 + dma-coherent;
9370 + apio-wins = <8>;
9371 + ppio-wins = <8>;
9372 + bus-range = <0x0 0xff>;
9373 + ranges = <0x82000000 0x0 0x40000000 0x80 0x40000000 0x0 0x40000000>; /* non-prefetchable memory */
9374 + msi-parent = <&its>;
9375 + #interrupt-cells = <1>;
9376 + interrupt-map-mask = <0 0 0 7>;
9377 + interrupt-map = <0000 0 0 1 &gic 0 0 GIC_SPI 109 IRQ_TYPE_LEVEL_HIGH>,
9378 + <0000 0 0 2 &gic 0 0 GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>,
9379 + <0000 0 0 3 &gic 0 0 GIC_SPI 111 IRQ_TYPE_LEVEL_HIGH>,
9380 + <0000 0 0 4 &gic 0 0 GIC_SPI 112 IRQ_TYPE_LEVEL_HIGH>;
9381 + status = "disabled";
9382 + };
9383 +
9384 + pcie_ep@3400000 {
9385 + compatible = "fsl,lx2160a-pcie-ep";
9386 + reg = <0x00 0x03400000 0x0 0x00100000
9387 + 0x80 0x00000000 0x8 0x00000000>;
9388 + reg-names = "regs", "addr_space";
9389 + num-ob-windows = <256>;
9390 + status = "disabled";
9391 + };
9392 +
9393 + pcie@3500000 {
9394 + compatible = "fsl,lx2160a-pcie";
9395 + reg = <0x00 0x03500000 0x0 0x00100000 /* controller registers */
9396 + 0x88 0x00000000 0x0 0x00001000>; /* configuration space */
9397 + reg-names = "csr_axi_slave", "config_axi_slave";
9398 + interrupts = <GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH>, /* AER interrupt */
9399 + <GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH>, /* PME interrupt */
9400 + <GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH>; /* controller interrupt */
9401 + interrupt-names = "aer", "pme", "intr";
9402 + #address-cells = <3>;
9403 + #size-cells = <2>;
9404 + device_type = "pci";
9405 + dma-coherent;
9406 + apio-wins = <8>;
9407 + ppio-wins = <8>;
9408 + bus-range = <0x0 0xff>;
9409 + ranges = <0x82000000 0x0 0x40000000 0x88 0x40000000 0x0 0x40000000>; /* non-prefetchable memory */
9410 + msi-parent = <&its>;
9411 + #interrupt-cells = <1>;
9412 + interrupt-map-mask = <0 0 0 7>;
9413 + interrupt-map = <0000 0 0 1 &gic 0 0 GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH>,
9414 + <0000 0 0 2 &gic 0 0 GIC_SPI 115 IRQ_TYPE_LEVEL_HIGH>,
9415 + <0000 0 0 3 &gic 0 0 GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH>,
9416 + <0000 0 0 4 &gic 0 0 GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH>;
9417 + status = "disabled";
9418 + };
9419 +
9420 + pcie_ep@3500000 {
9421 + compatible = "fsl,lx2160a-pcie-ep";
9422 + reg = <0x00 0x03500000 0x0 0x00100000
9423 + 0x88 0x00000000 0x8 0x00000000>;
9424 + reg-names = "regs", "addr_space";
9425 + num-ob-windows = <256>;
9426 + status = "disabled";
9427 + };
9428 +
9429 + pcie@3600000 {
9430 + compatible = "fsl,lx2160a-pcie";
9431 + reg = <0x00 0x03600000 0x0 0x00100000 /* controller registers */
9432 + 0x90 0x00000000 0x0 0x00001000>; /* configuration space */
9433 + reg-names = "csr_axi_slave", "config_axi_slave";
9434 + interrupts = <GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH>, /* AER interrupt */
9435 + <GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH>, /* PME interrupt */
9436 + <GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH>; /* controller interrupt */
9437 + interrupt-names = "aer", "pme", "intr";
9438 + #address-cells = <3>;
9439 + #size-cells = <2>;
9440 + device_type = "pci";
9441 + dma-coherent;
9442 + apio-wins = <8>;
9443 + ppio-wins = <8>;
9444 + bus-range = <0x0 0xff>;
9445 + ranges = <0x82000000 0x0 0x40000000 0x90 0x40000000 0x0 0x40000000>; /* non-prefetchable memory */
9446 + msi-parent = <&its>;
9447 + #interrupt-cells = <1>;
9448 + interrupt-map-mask = <0 0 0 7>;
9449 + interrupt-map = <0000 0 0 1 &gic 0 0 GIC_SPI 119 IRQ_TYPE_LEVEL_HIGH>,
9450 + <0000 0 0 2 &gic 0 0 GIC_SPI 120 IRQ_TYPE_LEVEL_HIGH>,
9451 + <0000 0 0 3 &gic 0 0 GIC_SPI 121 IRQ_TYPE_LEVEL_HIGH>,
9452 + <0000 0 0 4 &gic 0 0 GIC_SPI 122 IRQ_TYPE_LEVEL_HIGH>;
9453 + status = "disabled";
9454 + };
9455 +
9456 + pcie_ep@3600000 {
9457 + compatible = "fsl,lx2160a-pcie-ep";
9458 + reg = <0x00 0x03600000 0x0 0x00100000
9459 + 0x90 0x00000000 0x8 0x00000000>;
9460 + reg-names = "regs", "addr_space";
9461 + num-ob-windows = <256>;
9462 + max-functions = <2>;
9463 + status = "disabled";
9464 + };
9465 +
9466 + pcie@3700000 {
9467 + compatible = "fsl,lx2160a-pcie";
9468 + reg = <0x00 0x03700000 0x0 0x00100000 /* controller registers */
9469 + 0x98 0x00000000 0x0 0x00001000>; /* configuration space */
9470 + reg-names = "csr_axi_slave", "config_axi_slave";
9471 + interrupts = <GIC_SPI 123 IRQ_TYPE_LEVEL_HIGH>, /* AER interrupt */
9472 + <GIC_SPI 123 IRQ_TYPE_LEVEL_HIGH>, /* PME interrupt */
9473 + <GIC_SPI 123 IRQ_TYPE_LEVEL_HIGH>; /* controller interrupt */
9474 + interrupt-names = "aer", "pme", "intr";
9475 + #address-cells = <3>;
9476 + #size-cells = <2>;
9477 + device_type = "pci";
9478 + dma-coherent;
9479 + apio-wins = <8>;
9480 + ppio-wins = <8>;
9481 + bus-range = <0x0 0xff>;
9482 + ranges = <0x82000000 0x0 0x40000000 0x98 0x40000000 0x0 0x40000000>; /* non-prefetchable memory */
9483 + msi-parent = <&its>;
9484 + #interrupt-cells = <1>;
9485 + interrupt-map-mask = <0 0 0 7>;
9486 + interrupt-map = <0000 0 0 1 &gic 0 0 GIC_SPI 124 IRQ_TYPE_LEVEL_HIGH>,
9487 + <0000 0 0 2 &gic 0 0 GIC_SPI 125 IRQ_TYPE_LEVEL_HIGH>,
9488 + <0000 0 0 3 &gic 0 0 GIC_SPI 126 IRQ_TYPE_LEVEL_HIGH>,
9489 + <0000 0 0 4 &gic 0 0 GIC_SPI 127 IRQ_TYPE_LEVEL_HIGH>;
9490 + status = "disabled";
9491 + };
9492 +
9493 + pcie_ep@3700000 {
9494 + compatible = "fsl,lx2160a-pcie-ep";
9495 + reg = <0x00 0x03700000 0x0 0x00100000
9496 + 0x98 0x00000000 0x8 0x00000000>;
9497 + reg-names = "regs", "addr_space";
9498 + num-ob-windows = <256>;
9499 + status = "disabled";
9500 + };
9501 +
9502 + pcie@3800000 {
9503 + compatible = "fsl,lx2160a-pcie";
9504 + reg = <0x00 0x03800000 0x0 0x00100000 /* controller registers */
9505 + 0xa0 0x00000000 0x0 0x00001000>; /* configuration space */
9506 + reg-names = "csr_axi_slave", "config_axi_slave";
9507 + interrupts = <GIC_SPI 128 IRQ_TYPE_LEVEL_HIGH>, /* AER interrupt */
9508 + <GIC_SPI 128 IRQ_TYPE_LEVEL_HIGH>, /* PME interrupt */
9509 + <GIC_SPI 128 IRQ_TYPE_LEVEL_HIGH>; /* controller interrupt */
9510 + interrupt-names = "aer", "pme", "intr";
9511 + #address-cells = <3>;
9512 + #size-cells = <2>;
9513 + device_type = "pci";
9514 + dma-coherent;
9515 + apio-wins = <8>;
9516 + ppio-wins = <8>;
9517 + bus-range = <0x0 0xff>;
9518 + ranges = <0x82000000 0x0 0x40000000 0xa0 0x40000000 0x0 0x40000000>; /* non-prefetchable memory */
9519 + msi-parent = <&its>;
9520 + #interrupt-cells = <1>;
9521 + interrupt-map-mask = <0 0 0 7>;
9522 + interrupt-map = <0000 0 0 1 &gic 0 0 GIC_SPI 129 IRQ_TYPE_LEVEL_HIGH>,
9523 + <0000 0 0 2 &gic 0 0 GIC_SPI 130 IRQ_TYPE_LEVEL_HIGH>,
9524 + <0000 0 0 3 &gic 0 0 GIC_SPI 131 IRQ_TYPE_LEVEL_HIGH>,
9525 + <0000 0 0 4 &gic 0 0 GIC_SPI 132 IRQ_TYPE_LEVEL_HIGH>;
9526 + status = "disabled";
9527 + };
9528 +
9529 + pcie_ep@3800000 {
9530 + compatible = "fsl,lx2160a-pcie-ep";
9531 + reg = <0x00 0x03800000 0x0 0x00100000
9532 + 0xa0 0x00000000 0x8 0x00000000>;
9533 + reg-names = "regs", "addr_space";
9534 + num-ob-windows = <256>;
9535 + max-functions = <2>;
9536 + status = "disabled";
9537 + };
9538 +
9539 + pcie@3900000 {
9540 + compatible = "fsl,lx2160a-pcie";
9541 + reg = <0x00 0x03900000 0x0 0x00100000 /* controller registers */
9542 + 0xa8 0x00000000 0x0 0x00001000>; /* configuration space */
9543 + reg-names = "csr_axi_slave", "config_axi_slave";
9544 + interrupts = <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>, /* AER interrupt */
9545 + <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>, /* PME interrupt */
9546 + <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>; /* controller interrupt */
9547 + interrupt-names = "aer", "pme", "intr";
9548 + #address-cells = <3>;
9549 + #size-cells = <2>;
9550 + device_type = "pci";
9551 + dma-coherent;
9552 + apio-wins = <8>;
9553 + ppio-wins = <8>;
9554 + bus-range = <0x0 0xff>;
9555 + ranges = <0x82000000 0x0 0x40000000 0xa8 0x40000000 0x0 0x40000000>; /* non-prefetchable memory */
9556 + msi-parent = <&its>;
9557 + #interrupt-cells = <1>;
9558 + interrupt-map-mask = <0 0 0 7>;
9559 + interrupt-map = <0000 0 0 1 &gic 0 0 GIC_SPI 104 IRQ_TYPE_LEVEL_HIGH>,
9560 + <0000 0 0 2 &gic 0 0 GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>,
9561 + <0000 0 0 3 &gic 0 0 GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>,
9562 + <0000 0 0 4 &gic 0 0 GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>;
9563 + status = "disabled";
9564 + };
9565 +
9566 + pcie_ep@3900000 {
9567 + compatible = "fsl,lx2160a-pcie-ep";
9568 + reg = <0x00 0x03900000 0x0 0x00100000
9569 + 0xa8 0x00000000 0x8 0x00000000>;
9570 + reg-names = "regs", "addr_space";
9571 + num-ob-windows = <256>;
9572 + status = "disabled";
9573 + };
9574 +
9575 + };
9576 +
9577 + firmware {
9578 + optee {
9579 + compatible = "linaro,optee-tz";
9580 + method = "smc";
9581 + };
9582 + };
9583 +};
9584 --- /dev/null
9585 +++ b/arch/arm64/boot/dts/freescale/fsl-tmu-map1.dtsi
9586 @@ -0,0 +1,99 @@
9587 +// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
9588 +/*
9589 + * Device Tree Include file for Thermal Monitor Unit.
9590 + *
9591 + * Copyright 2018 NXP
9592 + *
9593 + * Tang Yuantian <andy.tang@nxp.com>
9594 + *
9595 + */
9596 +
9597 +&thermal_zones {
9598 + thermal-zone0 {
9599 + cooling-maps {
9600 + map1 {
9601 + trip = <&alert0>;
9602 + cooling-device =
9603 + <&cooling_map1 THERMAL_NO_LIMIT
9604 + THERMAL_NO_LIMIT>;
9605 + };
9606 + };
9607 + };
9608 +
9609 + thermal-zone1 {
9610 + cooling-maps {
9611 + map1 {
9612 + trip = <&alert1>;
9613 + cooling-device =
9614 + <&cooling_map1 THERMAL_NO_LIMIT
9615 + THERMAL_NO_LIMIT>;
9616 + };
9617 + };
9618 + };
9619 +
9620 + thermal-zone2 {
9621 + cooling-maps {
9622 + map1 {
9623 + trip = <&alert2>;
9624 + cooling-device =
9625 + <&cooling_map1 THERMAL_NO_LIMIT
9626 + THERMAL_NO_LIMIT>;
9627 + };
9628 + };
9629 + };
9630 +
9631 + thermal-zone3 {
9632 + cooling-maps {
9633 + map1 {
9634 + trip = <&alert3>;
9635 + cooling-device =
9636 + <&cooling_map1 THERMAL_NO_LIMIT
9637 + THERMAL_NO_LIMIT>;
9638 + };
9639 + };
9640 + };
9641 +
9642 + thermal-zone4 {
9643 + cooling-maps {
9644 + map1 {
9645 + trip = <&alert4>;
9646 + cooling-device =
9647 + <&cooling_map1 THERMAL_NO_LIMIT
9648 + THERMAL_NO_LIMIT>;
9649 + };
9650 + };
9651 + };
9652 +
9653 + thermal-zone5 {
9654 + cooling-maps {
9655 + map1 {
9656 + trip = <&alert5>;
9657 + cooling-device =
9658 + <&cooling_map1 THERMAL_NO_LIMIT
9659 + THERMAL_NO_LIMIT>;
9660 + };
9661 + };
9662 + };
9663 +
9664 + thermal-zone6 {
9665 + cooling-maps {
9666 + map1 {
9667 + trip = <&alert6>;
9668 + cooling-device =
9669 + <&cooling_map1 THERMAL_NO_LIMIT
9670 + THERMAL_NO_LIMIT>;
9671 + };
9672 + };
9673 + };
9674 +
9675 + thermal-zone7 {
9676 + cooling-maps {
9677 + map1 {
9678 + trip = <&alert7>;
9679 + cooling-device =
9680 + <&cooling_map1 THERMAL_NO_LIMIT
9681 + THERMAL_NO_LIMIT>;
9682 + };
9683 + };
9684 + };
9685 +};
9686 --- /dev/null
9687 +++ b/arch/arm64/boot/dts/freescale/fsl-tmu-map2.dtsi
9688 @@ -0,0 +1,99 @@
9689 +// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
9690 +/*
9691 + * Device Tree Include file for Thermal Monitor Unit.
9692 + *
9693 + * Copyright 2018 NXP
9694 + *
9695 + * Tang Yuantian <andy.tang@nxp.com>
9696 + *
9697 + */
9698 +
9699 +&thermal_zones {
9700 + thermal-zone0 {
9701 + cooling-maps {
9702 + map2 {
9703 + trip = <&alert0>;
9704 + cooling-device =
9705 + <&cooling_map2 THERMAL_NO_LIMIT
9706 + THERMAL_NO_LIMIT>;
9707 + };
9708 + };
9709 + };
9710 +
9711 + thermal-zone1 {
9712 + cooling-maps {
9713 + map2 {
9714 + trip = <&alert1>;
9715 + cooling-device =
9716 + <&cooling_map2 THERMAL_NO_LIMIT
9717 + THERMAL_NO_LIMIT>;
9718 + };
9719 + };
9720 + };
9721 +
9722 + thermal-zone2 {
9723 + cooling-maps {
9724 + map2 {
9725 + trip = <&alert2>;
9726 + cooling-device =
9727 + <&cooling_map2 THERMAL_NO_LIMIT
9728 + THERMAL_NO_LIMIT>;
9729 + };
9730 + };
9731 + };
9732 +
9733 + thermal-zone3 {
9734 + cooling-maps {
9735 + map2 {
9736 + trip = <&alert3>;
9737 + cooling-device =
9738 + <&cooling_map2 THERMAL_NO_LIMIT
9739 + THERMAL_NO_LIMIT>;
9740 + };
9741 + };
9742 + };
9743 +
9744 + thermal-zone4 {
9745 + cooling-maps {
9746 + map2 {
9747 + trip = <&alert4>;
9748 + cooling-device =
9749 + <&cooling_map2 THERMAL_NO_LIMIT
9750 + THERMAL_NO_LIMIT>;
9751 + };
9752 + };
9753 + };
9754 +
9755 + thermal-zone5 {
9756 + cooling-maps {
9757 + map2 {
9758 + trip = <&alert5>;
9759 + cooling-device =
9760 + <&cooling_map2 THERMAL_NO_LIMIT
9761 + THERMAL_NO_LIMIT>;
9762 + };
9763 + };
9764 + };
9765 +
9766 + thermal-zone6 {
9767 + cooling-maps {
9768 + map2 {
9769 + trip = <&alert6>;
9770 + cooling-device =
9771 + <&cooling_map2 THERMAL_NO_LIMIT
9772 + THERMAL_NO_LIMIT>;
9773 + };
9774 + };
9775 + };
9776 +
9777 + thermal-zone7 {
9778 + cooling-maps {
9779 + map2 {
9780 + trip = <&alert7>;
9781 + cooling-device =
9782 + <&cooling_map2 THERMAL_NO_LIMIT
9783 + THERMAL_NO_LIMIT>;
9784 + };
9785 + };
9786 + };
9787 +};
9788 --- /dev/null
9789 +++ b/arch/arm64/boot/dts/freescale/fsl-tmu-map3.dtsi
9790 @@ -0,0 +1,99 @@
9791 +// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
9792 +/*
9793 + * Device Tree Include file for Thermal Monitor Unit.
9794 + *
9795 + * Copyright 2018 NXP
9796 + *
9797 + * Tang Yuantian <andy.tang@nxp.com>
9798 + *
9799 + */
9800 +
9801 +&thermal_zones {
9802 + thermal-zone0 {
9803 + cooling-maps {
9804 + map3 {
9805 + trip = <&alert0>;
9806 + cooling-device =
9807 + <&cooling_map3 THERMAL_NO_LIMIT
9808 + THERMAL_NO_LIMIT>;
9809 + };
9810 + };
9811 + };
9812 +
9813 + thermal-zone1 {
9814 + cooling-maps {
9815 + map3 {
9816 + trip = <&alert1>;
9817 + cooling-device =
9818 + <&cooling_map3 THERMAL_NO_LIMIT
9819 + THERMAL_NO_LIMIT>;
9820 + };
9821 + };
9822 + };
9823 +
9824 + thermal-zone2 {
9825 + cooling-maps {
9826 + map3 {
9827 + trip = <&alert2>;
9828 + cooling-device =
9829 + <&cooling_map3 THERMAL_NO_LIMIT
9830 + THERMAL_NO_LIMIT>;
9831 + };
9832 + };
9833 + };
9834 +
9835 + thermal-zone3 {
9836 + cooling-maps {
9837 + map3 {
9838 + trip = <&alert3>;
9839 + cooling-device =
9840 + <&cooling_map3 THERMAL_NO_LIMIT
9841 + THERMAL_NO_LIMIT>;
9842 + };
9843 + };
9844 + };
9845 +
9846 + thermal-zone4 {
9847 + cooling-maps {
9848 + map3 {
9849 + trip = <&alert4>;
9850 + cooling-device =
9851 + <&cooling_map3 THERMAL_NO_LIMIT
9852 + THERMAL_NO_LIMIT>;
9853 + };
9854 + };
9855 + };
9856 +
9857 + thermal-zone5 {
9858 + cooling-maps {
9859 + map3 {
9860 + trip = <&alert5>;
9861 + cooling-device =
9862 + <&cooling_map3 THERMAL_NO_LIMIT
9863 + THERMAL_NO_LIMIT>;
9864 + };
9865 + };
9866 + };
9867 +
9868 + thermal-zone6 {
9869 + cooling-maps {
9870 + map3 {
9871 + trip = <&alert6>;
9872 + cooling-device =
9873 + <&cooling_map3 THERMAL_NO_LIMIT
9874 + THERMAL_NO_LIMIT>;
9875 + };
9876 + };
9877 + };
9878 +
9879 + thermal-zone7 {
9880 + cooling-maps {
9881 + map3 {
9882 + trip = <&alert7>;
9883 + cooling-device =
9884 + <&cooling_map3 THERMAL_NO_LIMIT
9885 + THERMAL_NO_LIMIT>;
9886 + };
9887 + };
9888 + };
9889 +};
9890 --- /dev/null
9891 +++ b/arch/arm64/boot/dts/freescale/fsl-tmu.dtsi
9892 @@ -0,0 +1,251 @@
9893 +// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
9894 +/*
9895 + * Device Tree Include file for Thermal Monitor Unit.
9896 + *
9897 + * Copyright 2018 NXP
9898 + *
9899 + * Tang Yuantian <andy.tang@nxp.com>
9900 + *
9901 + */
9902 +
9903 +thermal_zones: thermal-zones {
9904 + thermal_zone0: thermal-zone0 {
9905 + polling-delay-passive = <1000>;
9906 + polling-delay = <5000>;
9907 + thermal-sensors = <&tmu 0>;
9908 + status = "disabled";
9909 +
9910 + trips {
9911 + alert0: alert0 {
9912 + temperature = <75000>;
9913 + hysteresis = <2000>;
9914 + type = "passive";
9915 + };
9916 +
9917 + crit0: crit0 {
9918 + temperature = <85000>;
9919 + hysteresis = <2000>;
9920 + type = "critical";
9921 + };
9922 + };
9923 +
9924 + cooling-maps {
9925 + map0 {
9926 + trip = <&alert0>;
9927 + cooling-device =
9928 + <&cooling_map0 THERMAL_NO_LIMIT
9929 + THERMAL_NO_LIMIT>;
9930 + };
9931 + };
9932 + };
9933 +
9934 + thermal-zone1 {
9935 + polling-delay-passive = <1000>;
9936 + polling-delay = <5000>;
9937 + thermal-sensors = <&tmu 1>;
9938 + status = "disabled";
9939 +
9940 + trips {
9941 + alert1: alert1 {
9942 + temperature = <75000>;
9943 + hysteresis = <2000>;
9944 + type = "passive";
9945 + };
9946 +
9947 + crit1: crit1 {
9948 + temperature = <85000>;
9949 + hysteresis = <2000>;
9950 + type = "critical";
9951 + };
9952 + };
9953 +
9954 + cooling-maps {
9955 + map0 {
9956 + trip = <&alert1>;
9957 + cooling-device =
9958 + <&cooling_map0 THERMAL_NO_LIMIT
9959 + THERMAL_NO_LIMIT>;
9960 + };
9961 + };
9962 + };
9963 +
9964 + thermal-zone2 {
9965 + polling-delay-passive = <1000>;
9966 + polling-delay = <5000>;
9967 + thermal-sensors = <&tmu 2>;
9968 + status = "disabled";
9969 +
9970 + trips {
9971 + alert2: alert2 {
9972 + temperature = <75000>;
9973 + hysteresis = <2000>;
9974 + type = "passive";
9975 + };
9976 +
9977 + crit2: crit2 {
9978 + temperature = <85000>;
9979 + hysteresis = <2000>;
9980 + type = "critical";
9981 + };
9982 + };
9983 +
9984 + cooling-maps {
9985 + map0 {
9986 + trip = <&alert2>;
9987 + cooling-device =
9988 + <&cooling_map0 THERMAL_NO_LIMIT
9989 + THERMAL_NO_LIMIT>;
9990 + };
9991 + };
9992 + };
9993 +
9994 + thermal-zone3 {
9995 + polling-delay-passive = <1000>;
9996 + polling-delay = <5000>;
9997 + thermal-sensors = <&tmu 3>;
9998 + status = "disabled";
9999 +
10000 + trips {
10001 + alert3: alert3 {
10002 + temperature = <75000>;
10003 + hysteresis = <2000>;
10004 + type = "passive";
10005 + };
10006 +
10007 + crit3: crit3 {
10008 + temperature = <85000>;
10009 + hysteresis = <2000>;
10010 + type = "critical";
10011 + };
10012 + };
10013 +
10014 + cooling-maps {
10015 + map0 {
10016 + trip = <&alert3>;
10017 + cooling-device =
10018 + <&cooling_map0 THERMAL_NO_LIMIT
10019 + THERMAL_NO_LIMIT>;
10020 + };
10021 + };
10022 + };
10023 +
10024 + thermal-zone4 {
10025 + polling-delay-passive = <1000>;
10026 + polling-delay = <5000>;
10027 + thermal-sensors = <&tmu 4>;
10028 + status = "disabled";
10029 +
10030 + trips {
10031 + alert4: alert4 {
10032 + temperature = <75000>;
10033 + hysteresis = <2000>;
10034 + type = "passive";
10035 + };
10036 +
10037 + crit4: crit4 {
10038 + temperature = <85000>;
10039 + hysteresis = <2000>;
10040 + type = "critical";
10041 + };
10042 + };
10043 +
10044 + cooling-maps {
10045 + map0 {
10046 + trip = <&alert4>;
10047 + cooling-device =
10048 + <&cooling_map0 THERMAL_NO_LIMIT
10049 + THERMAL_NO_LIMIT>;
10050 + };
10051 + };
10052 + };
10053 +
10054 + thermal-zone5 {
10055 + polling-delay-passive = <1000>;
10056 + polling-delay = <5000>;
10057 + thermal-sensors = <&tmu 5>;
10058 + status = "disabled";
10059 +
10060 + trips {
10061 + alert5: alert5 {
10062 + temperature = <75000>;
10063 + hysteresis = <2000>;
10064 + type = "passive";
10065 + };
10066 +
10067 + crit5: crit5 {
10068 + temperature = <85000>;
10069 + hysteresis = <2000>;
10070 + type = "critical";
10071 + };
10072 + };
10073 +
10074 + cooling-maps {
10075 + map0 {
10076 + trip = <&alert5>;
10077 + cooling-device =
10078 + <&cooling_map0 THERMAL_NO_LIMIT
10079 + THERMAL_NO_LIMIT>;
10080 + };
10081 + };
10082 + };
10083 +
10084 + thermal-zone6 {
10085 + polling-delay-passive = <1000>;
10086 + polling-delay = <5000>;
10087 + thermal-sensors = <&tmu 6>;
10088 + status = "disabled";
10089 +
10090 + trips {
10091 + alert6: alert6 {
10092 + temperature = <75000>;
10093 + hysteresis = <2000>;
10094 + type = "passive";
10095 + };
10096 +
10097 + crit6: crit6 {
10098 + temperature = <85000>;
10099 + hysteresis = <2000>;
10100 + type = "critical";
10101 + };
10102 + };
10103 +
10104 + cooling-maps {
10105 + map0 {
10106 + trip = <&alert6>;
10107 + cooling-device =
10108 + <&cooling_map0 THERMAL_NO_LIMIT
10109 + THERMAL_NO_LIMIT>;
10110 + };
10111 + };
10112 + };
10113 +
10114 + thermal-zone7 {
10115 + polling-delay-passive = <1000>;
10116 + polling-delay = <5000>;
10117 + thermal-sensors = <&tmu 7>;
10118 + status = "disabled";
10119 +
10120 + trips {
10121 + alert7: alert7 {
10122 + temperature = <75000>;
10123 + hysteresis = <2000>;
10124 + type = "passive";
10125 + };
10126 +
10127 + crit7: crit7 {
10128 + temperature = <85000>;
10129 + hysteresis = <2000>;
10130 + type = "critical";
10131 + };
10132 + };
10133 +
10134 + cooling-maps {
10135 + map0 {
10136 + trip = <&alert7>;
10137 + cooling-device =
10138 + <&cooling_map0 THERMAL_NO_LIMIT
10139 + THERMAL_NO_LIMIT>;
10140 + };
10141 + };
10142 + };
10143 +};
10144 --- /dev/null
10145 +++ b/arch/arm64/boot/dts/freescale/qoriq-bman-portals-sdk.dtsi
10146 @@ -0,0 +1,55 @@
10147 +/*
10148 + * QorIQ BMan SDK Portals device tree nodes
10149 + *
10150 + * Copyright 2011-2016 Freescale Semiconductor Inc.
10151 + * Copyright 2017 NXP
10152 + *
10153 + * SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)
10154 + */
10155 +
10156 +&bportals {
10157 + bman-portal@0 {
10158 + cell-index = <0>;
10159 + };
10160 +
10161 + bman-portal@10000 {
10162 + cell-index = <1>;
10163 + };
10164 +
10165 + bman-portal@20000 {
10166 + cell-index = <2>;
10167 + };
10168 +
10169 + bman-portal@30000 {
10170 + cell-index = <3>;
10171 + };
10172 +
10173 + bman-portal@40000 {
10174 + cell-index = <4>;
10175 + };
10176 +
10177 + bman-portal@50000 {
10178 + cell-index = <5>;
10179 + };
10180 +
10181 + bman-portal@60000 {
10182 + cell-index = <6>;
10183 + };
10184 +
10185 + bman-portal@70000 {
10186 + cell-index = <7>;
10187 + };
10188 +
10189 + bman-portal@80000 {
10190 + cell-index = <8>;
10191 + };
10192 +
10193 + bman-portal@90000 {
10194 + cell-index = <9>;
10195 + };
10196 +
10197 + bman-bpids@0 {
10198 + compatible = "fsl,bpid-range";
10199 + fsl,bpid-range = <32 32>;
10200 + };
10201 +};
10202 --- a/arch/arm64/boot/dts/freescale/qoriq-bman-portals.dtsi
10203 +++ b/arch/arm64/boot/dts/freescale/qoriq-bman-portals.dtsi
10204 @@ -1,9 +1,9 @@
10205 +// SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)
10206 /*
10207 * QorIQ BMan Portals device tree
10208 *
10209 * Copyright 2011-2016 Freescale Semiconductor Inc.
10210 *
10211 - * SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)
10212 */
10213
10214 &bportals {
10215 @@ -68,4 +68,10 @@
10216 reg = <0x80000 0x4000>, <0x4080000 0x4000>;
10217 interrupts = <GIC_SPI 189 IRQ_TYPE_LEVEL_HIGH>;
10218 };
10219 +
10220 + bman-portal@90000 {
10221 + compatible = "fsl,bman-portal";
10222 + reg = <0x90000 0x4000>, <0x4090000 0x4000>;
10223 + interrupts = <GIC_SPI 191 IRQ_TYPE_LEVEL_HIGH>;
10224 + };
10225 };
10226 --- /dev/null
10227 +++ b/arch/arm64/boot/dts/freescale/qoriq-dpaa-eth.dtsi
10228 @@ -0,0 +1,97 @@
10229 +/*
10230 + * QorIQ FMan v3 10g port #1 device tree stub [ controller @ offset 0x400000 ]
10231 + *
10232 + * Copyright 2012 - 2015 Freescale Semiconductor Inc.
10233 + *
10234 + * Redistribution and use in source and binary forms, with or without
10235 + * modification, are permitted provided that the following conditions are met:
10236 + * * Redistributions of source code must retain the above copyright
10237 + * notice, this list of conditions and the following disclaimer.
10238 + * * Redistributions in binary form must reproduce the above copyright
10239 + * notice, this list of conditions and the following disclaimer in the
10240 + * documentation and/or other materials provided with the distribution.
10241 + * * Neither the name of Freescale Semiconductor nor the
10242 + * names of its contributors may be used to endorse or promote products
10243 + * derived from this software without specific prior written permission.
10244 + *
10245 + *
10246 + * ALTERNATIVELY, this software may be distributed under the terms of the
10247 + * GNU General Public License ("GPL") as published by the Free Software
10248 + * Foundation, either version 2 of that License or (at your option) any
10249 + * later version.
10250 + *
10251 + * THIS SOFTWARE IS PROVIDED BY Freescale Semiconductor ``AS IS'' AND ANY
10252 + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
10253 + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
10254 + * DISCLAIMED. IN NO EVENT SHALL Freescale Semiconductor BE LIABLE FOR ANY
10255 + * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
10256 + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
10257 + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
10258 + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
10259 + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
10260 + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
10261 + */
10262 +
10263 +fsldpaa: fsl,dpaa {
10264 + compatible = "fsl,ls1043a-dpaa", "simple-bus", "fsl,dpaa";
10265 + ethernet@0 {
10266 + compatible = "fsl,dpa-ethernet";
10267 + fsl,fman-mac = <&enet0>;
10268 + dma-coherent;
10269 + };
10270 + ethernet@1 {
10271 + compatible = "fsl,dpa-ethernet";
10272 + fsl,fman-mac = <&enet1>;
10273 + dma-coherent;
10274 + };
10275 + ethernet@2 {
10276 + compatible = "fsl,dpa-ethernet";
10277 + fsl,fman-mac = <&enet2>;
10278 + dma-coherent;
10279 + };
10280 + ethernet@3 {
10281 + compatible = "fsl,dpa-ethernet";
10282 + fsl,fman-mac = <&enet3>;
10283 + dma-coherent;
10284 + };
10285 + ethernet@4 {
10286 + compatible = "fsl,dpa-ethernet";
10287 + fsl,fman-mac = <&enet4>;
10288 + dma-coherent;
10289 + };
10290 + ethernet@5 {
10291 + compatible = "fsl,dpa-ethernet";
10292 + fsl,fman-mac = <&enet5>;
10293 + dma-coherent;
10294 + };
10295 + ethernet@8 {
10296 + compatible = "fsl,dpa-ethernet";
10297 + fsl,fman-mac = <&enet6>;
10298 + dma-coherent;
10299 + };
10300 + ethernet@6 {
10301 + compatible = "fsl,im-ethernet";
10302 + fsl,fman-mac = <&enet2>;
10303 + dma-coherent;
10304 + fpmevt-sel = <0>;
10305 + };
10306 + ethernet@7 {
10307 + compatible = "fsl,im-ethernet";
10308 + fsl,fman-mac = <&enet3>;
10309 + dma-coherent;
10310 + fpmevt-sel = <1>;
10311 + };
10312 + ethernet@10 {
10313 + compatible = "fsl,im-ethernet";
10314 + fsl,fman-mac = <&enet4>;
10315 + dma-coherent;
10316 + fpmevt-sel = <2>;
10317 + };
10318 + ethernet@11 {
10319 + compatible = "fsl,im-ethernet";
10320 + fsl,fman-mac = <&enet5>;
10321 + dma-coherent;
10322 + fpmevt-sel = <3>;
10323 + };
10324 +};
10325 +
10326 --- a/arch/arm64/boot/dts/freescale/qoriq-fman3-0-10g-0.dtsi
10327 +++ b/arch/arm64/boot/dts/freescale/qoriq-fman3-0-10g-0.dtsi
10328 @@ -1,27 +1,28 @@
10329 +// SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)
10330 /*
10331 * QorIQ FMan v3 10g port #0 device tree
10332 *
10333 * Copyright 2012-2015 Freescale Semiconductor Inc.
10334 *
10335 - * SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)
10336 */
10337
10338 fman@1a00000 {
10339 fman0_rx_0x10: port@90000 {
10340 cell-index = <0x10>;
10341 - compatible = "fsl,fman-v3-port-rx";
10342 + compatible = "fsl,fman-v3-port-rx", "fsl,fman-port-10g-rx";
10343 reg = <0x90000 0x1000>;
10344 fsl,fman-10g-port;
10345 };
10346
10347 fman0_tx_0x30: port@b0000 {
10348 cell-index = <0x30>;
10349 - compatible = "fsl,fman-v3-port-tx";
10350 + compatible = "fsl,fman-v3-port-tx", "fsl,fman-port-10g-tx";
10351 reg = <0xb0000 0x1000>;
10352 fsl,fman-10g-port;
10353 + fsl,qman-channel-id = <0x800>;
10354 };
10355
10356 - ethernet@f0000 {
10357 + mac9: ethernet@f0000 {
10358 cell-index = <0x8>;
10359 compatible = "fsl,fman-memac";
10360 reg = <0xf0000 0x1000>;
10361 @@ -29,7 +30,7 @@ fman@1a00000 {
10362 pcsphy-handle = <&pcsphy6>;
10363 };
10364
10365 - mdio@f1000 {
10366 + mdio9: mdio@f1000 {
10367 #address-cells = <1>;
10368 #size-cells = <0>;
10369 compatible = "fsl,fman-memac-mdio", "fsl,fman-xmdio";
10370 --- a/arch/arm64/boot/dts/freescale/qoriq-fman3-0-10g-1.dtsi
10371 +++ b/arch/arm64/boot/dts/freescale/qoriq-fman3-0-10g-1.dtsi
10372 @@ -1,27 +1,28 @@
10373 +// SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)
10374 /*
10375 * QorIQ FMan v3 10g port #1 device tree
10376 *
10377 * Copyright 2012-2015 Freescale Semiconductor Inc.
10378 *
10379 - * SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)
10380 */
10381
10382 fman@1a00000 {
10383 fman0_rx_0x11: port@91000 {
10384 cell-index = <0x11>;
10385 - compatible = "fsl,fman-v3-port-rx";
10386 + compatible = "fsl,fman-v3-port-rx", "fsl,fman-port-10g-rx";
10387 reg = <0x91000 0x1000>;
10388 fsl,fman-10g-port;
10389 };
10390
10391 fman0_tx_0x31: port@b1000 {
10392 cell-index = <0x31>;
10393 - compatible = "fsl,fman-v3-port-tx";
10394 + compatible = "fsl,fman-v3-port-tx", "fsl,fman-port-10g-tx";
10395 reg = <0xb1000 0x1000>;
10396 fsl,fman-10g-port;
10397 + fsl,qman-channel-id = <0x801>;
10398 };
10399
10400 - ethernet@f2000 {
10401 + mac10: ethernet@f2000 {
10402 cell-index = <0x9>;
10403 compatible = "fsl,fman-memac";
10404 reg = <0xf2000 0x1000>;
10405 @@ -29,7 +30,7 @@ fman@1a00000 {
10406 pcsphy-handle = <&pcsphy7>;
10407 };
10408
10409 - mdio@f3000 {
10410 + mdio10: mdio@f3000 {
10411 #address-cells = <1>;
10412 #size-cells = <0>;
10413 compatible = "fsl,fman-memac-mdio", "fsl,fman-xmdio";
10414 --- a/arch/arm64/boot/dts/freescale/qoriq-fman3-0-1g-0.dtsi
10415 +++ b/arch/arm64/boot/dts/freescale/qoriq-fman3-0-1g-0.dtsi
10416 @@ -1,22 +1,23 @@
10417 +// SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)
10418 /*
10419 * QorIQ FMan v3 1g port #0 device tree
10420 *
10421 * Copyright 2012-2015 Freescale Semiconductor Inc.
10422 *
10423 - * SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)
10424 */
10425
10426 fman@1a00000 {
10427 fman0_rx_0x08: port@88000 {
10428 cell-index = <0x8>;
10429 - compatible = "fsl,fman-v3-port-rx";
10430 + compatible = "fsl,fman-v3-port-rx", "fsl,fman-port-1g-rx";
10431 reg = <0x88000 0x1000>;
10432 };
10433
10434 fman0_tx_0x28: port@a8000 {
10435 cell-index = <0x28>;
10436 - compatible = "fsl,fman-v3-port-tx";
10437 + compatible = "fsl,fman-v3-port-tx", "fsl,fman-port-1g-tx";
10438 reg = <0xa8000 0x1000>;
10439 + fsl,qman-channel-id = <0x802>;
10440 };
10441
10442 ethernet@e0000 {
10443 --- a/arch/arm64/boot/dts/freescale/qoriq-fman3-0-1g-1.dtsi
10444 +++ b/arch/arm64/boot/dts/freescale/qoriq-fman3-0-1g-1.dtsi
10445 @@ -1,22 +1,23 @@
10446 +// SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)
10447 /*
10448 * QorIQ FMan v3 1g port #1 device tree
10449 *
10450 * Copyright 2012-2015 Freescale Semiconductor Inc.
10451 *
10452 - * SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)
10453 */
10454
10455 fman@1a00000 {
10456 fman0_rx_0x09: port@89000 {
10457 cell-index = <0x9>;
10458 - compatible = "fsl,fman-v3-port-rx";
10459 + compatible = "fsl,fman-v3-port-rx", "fsl,fman-port-1g-rx";
10460 reg = <0x89000 0x1000>;
10461 };
10462
10463 fman0_tx_0x29: port@a9000 {
10464 cell-index = <0x29>;
10465 - compatible = "fsl,fman-v3-port-tx";
10466 + compatible = "fsl,fman-v3-port-tx", "fsl,fman-port-1g-tx";
10467 reg = <0xa9000 0x1000>;
10468 + fsl,qman-channel-id = <0x803>;
10469 };
10470
10471 ethernet@e2000 {
10472 --- a/arch/arm64/boot/dts/freescale/qoriq-fman3-0-1g-2.dtsi
10473 +++ b/arch/arm64/boot/dts/freescale/qoriq-fman3-0-1g-2.dtsi
10474 @@ -1,22 +1,23 @@
10475 +// SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)
10476 /*
10477 * QorIQ FMan v3 1g port #2 device tree
10478 *
10479 * Copyright 2012-2015 Freescale Semiconductor Inc.
10480 *
10481 - * SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)
10482 */
10483
10484 fman@1a00000 {
10485 fman0_rx_0x0a: port@8a000 {
10486 cell-index = <0xa>;
10487 - compatible = "fsl,fman-v3-port-rx";
10488 + compatible = "fsl,fman-v3-port-rx", "fsl,fman-port-1g-rx";
10489 reg = <0x8a000 0x1000>;
10490 };
10491
10492 fman0_tx_0x2a: port@aa000 {
10493 cell-index = <0x2a>;
10494 - compatible = "fsl,fman-v3-port-tx";
10495 + compatible = "fsl,fman-v3-port-tx", "fsl,fman-port-1g-tx";
10496 reg = <0xaa000 0x1000>;
10497 + fsl,qman-channel-id = <0x804>;
10498 };
10499
10500 ethernet@e4000 {
10501 --- a/arch/arm64/boot/dts/freescale/qoriq-fman3-0-1g-3.dtsi
10502 +++ b/arch/arm64/boot/dts/freescale/qoriq-fman3-0-1g-3.dtsi
10503 @@ -1,22 +1,23 @@
10504 +// SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)
10505 /*
10506 * QorIQ FMan v3 1g port #3 device tree
10507 *
10508 * Copyright 2012-2015 Freescale Semiconductor Inc.
10509 *
10510 - * SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)
10511 */
10512
10513 fman@1a00000 {
10514 fman0_rx_0x0b: port@8b000 {
10515 cell-index = <0xb>;
10516 - compatible = "fsl,fman-v3-port-rx";
10517 + compatible = "fsl,fman-v3-port-rx", "fsl,fman-port-1g-rx";
10518 reg = <0x8b000 0x1000>;
10519 };
10520
10521 fman0_tx_0x2b: port@ab000 {
10522 cell-index = <0x2b>;
10523 - compatible = "fsl,fman-v3-port-tx";
10524 + compatible = "fsl,fman-v3-port-tx", "fsl,fman-port-1g-tx";
10525 reg = <0xab000 0x1000>;
10526 + fsl,qman-channel-id = <0x805>;
10527 };
10528
10529 ethernet@e6000 {
10530 --- a/arch/arm64/boot/dts/freescale/qoriq-fman3-0-1g-4.dtsi
10531 +++ b/arch/arm64/boot/dts/freescale/qoriq-fman3-0-1g-4.dtsi
10532 @@ -1,22 +1,23 @@
10533 +// SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)
10534 /*
10535 * QorIQ FMan v3 1g port #4 device tree
10536 *
10537 * Copyright 2012-2015 Freescale Semiconductor Inc.
10538 *
10539 - * SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)
10540 */
10541
10542 fman@1a00000 {
10543 fman0_rx_0x0c: port@8c000 {
10544 cell-index = <0xc>;
10545 - compatible = "fsl,fman-v3-port-rx";
10546 + compatible = "fsl,fman-v3-port-rx", "fsl,fman-port-1g-rx";
10547 reg = <0x8c000 0x1000>;
10548 };
10549
10550 fman0_tx_0x2c: port@ac000 {
10551 cell-index = <0x2c>;
10552 - compatible = "fsl,fman-v3-port-tx";
10553 + compatible = "fsl,fman-v3-port-tx", "fsl,fman-port-1g-tx";
10554 reg = <0xac000 0x1000>;
10555 + fsl,qman-channel-id = <0x806>;
10556 };
10557
10558 ethernet@e8000 {
10559 --- a/arch/arm64/boot/dts/freescale/qoriq-fman3-0-1g-5.dtsi
10560 +++ b/arch/arm64/boot/dts/freescale/qoriq-fman3-0-1g-5.dtsi
10561 @@ -1,22 +1,23 @@
10562 +// SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)
10563 /*
10564 * QorIQ FMan v3 1g port #5 device tree
10565 *
10566 * Copyright 2012-2015 Freescale Semiconductor Inc.
10567 *
10568 - * SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)
10569 */
10570
10571 fman@1a00000 {
10572 fman0_rx_0x0d: port@8d000 {
10573 cell-index = <0xd>;
10574 - compatible = "fsl,fman-v3-port-rx";
10575 + compatible = "fsl,fman-v3-port-rx", "fsl,fman-port-1g-rx";
10576 reg = <0x8d000 0x1000>;
10577 };
10578
10579 fman0_tx_0x2d: port@ad000 {
10580 cell-index = <0x2d>;
10581 - compatible = "fsl,fman-v3-port-tx";
10582 + compatible = "fsl,fman-v3-port-tx", "fsl,fman-port-1g-tx";
10583 reg = <0xad000 0x1000>;
10584 + fsl,qman-channel-id = <0x807>;
10585 };
10586
10587 ethernet@ea000 {
10588 --- /dev/null
10589 +++ b/arch/arm64/boot/dts/freescale/qoriq-fman3-0-6oh.dtsi
10590 @@ -0,0 +1,47 @@
10591 +/*
10592 + * QorIQ FMan v3 OH ports device tree
10593 + *
10594 + * Copyright 2012-2015 Freescale Semiconductor Inc.
10595 + *
10596 + * SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)
10597 + */
10598 +
10599 +fman@1a00000 {
10600 +
10601 + fman0_oh1: port@82000 {
10602 + cell-index = <0>;
10603 + compatible = "fsl,fman-port-oh";
10604 + reg = <0x82000 0x1000>;
10605 + };
10606 +
10607 + fman0_oh2: port@83000 {
10608 + cell-index = <1>;
10609 + compatible = "fsl,fman-port-oh";
10610 + reg = <0x83000 0x1000>;
10611 + };
10612 +
10613 + fman0_oh3: port@84000 {
10614 + cell-index = <2>;
10615 + compatible = "fsl,fman-port-oh";
10616 + reg = <0x84000 0x1000>;
10617 + };
10618 +
10619 + fman0_oh4: port@85000 {
10620 + cell-index = <3>;
10621 + compatible = "fsl,fman-port-oh";
10622 + reg = <0x85000 0x1000>;
10623 + };
10624 +
10625 + fman0_oh5: port@86000 {
10626 + cell-index = <4>;
10627 + compatible = "fsl,fman-port-oh";
10628 + reg = <0x86000 0x1000>;
10629 + };
10630 +
10631 + fman0_oh6: port@87000 {
10632 + cell-index = <5>;
10633 + compatible = "fsl,fman-port-oh";
10634 + reg = <0x87000 0x1000>;
10635 + };
10636 +
10637 +};
10638 --- a/arch/arm64/boot/dts/freescale/qoriq-fman3-0.dtsi
10639 +++ b/arch/arm64/boot/dts/freescale/qoriq-fman3-0.dtsi
10640 @@ -1,9 +1,9 @@
10641 +// SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)
10642 /*
10643 * QorIQ FMan v3 device tree
10644 *
10645 * Copyright 2012-2015 Freescale Semiconductor Inc.
10646 *
10647 - * SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)
10648 */
10649
10650 fman0: fman@1a00000 {
10651 @@ -11,53 +11,104 @@ fman0: fman@1a00000 {
10652 #size-cells = <1>;
10653 cell-index = <0>;
10654 compatible = "fsl,fman";
10655 - ranges = <0x0 0x0 0x1a00000 0x100000>;
10656 - reg = <0x0 0x1a00000 0x0 0x100000>;
10657 + ranges = <0x0 0x0 0x1a00000 0xfe000>;
10658 + reg = <0x0 0x1a00000 0x0 0xfe000>;
10659 interrupts = <GIC_SPI 44 IRQ_TYPE_LEVEL_HIGH>,
10660 <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>;
10661 clocks = <&clockgen 3 0>;
10662 clock-names = "fmanclk";
10663 fsl,qman-channel-range = <0x800 0x10>;
10664 + ptimer-handle = <&ptp_timer0>;
10665 +
10666 + cc {
10667 + compatible = "fsl,fman-cc";
10668 + };
10669
10670 muram@0 {
10671 compatible = "fsl,fman-muram";
10672 reg = <0x0 0x60000>;
10673 };
10674
10675 + bmi@80000 {
10676 + compatible = "fsl,fman-bmi";
10677 + reg = <0x80000 0x400>;
10678 + };
10679 +
10680 + qmi@80400 {
10681 + compatible = "fsl,fman-qmi";
10682 + reg = <0x80400 0x400>;
10683 + };
10684 +
10685 fman0_oh_0x2: port@82000 {
10686 cell-index = <0x2>;
10687 compatible = "fsl,fman-v3-port-oh";
10688 reg = <0x82000 0x1000>;
10689 + fsl,qman-channel-id = <0x809>;
10690 };
10691
10692 fman0_oh_0x3: port@83000 {
10693 cell-index = <0x3>;
10694 compatible = "fsl,fman-v3-port-oh";
10695 reg = <0x83000 0x1000>;
10696 + fsl,qman-channel-id = <0x80a>;
10697 };
10698
10699 fman0_oh_0x4: port@84000 {
10700 cell-index = <0x4>;
10701 compatible = "fsl,fman-v3-port-oh";
10702 reg = <0x84000 0x1000>;
10703 + fsl,qman-channel-id = <0x80b>;
10704 };
10705
10706 fman0_oh_0x5: port@85000 {
10707 cell-index = <0x5>;
10708 compatible = "fsl,fman-v3-port-oh";
10709 reg = <0x85000 0x1000>;
10710 + fsl,qman-channel-id = <0x80c>;
10711 };
10712
10713 fman0_oh_0x6: port@86000 {
10714 cell-index = <0x6>;
10715 compatible = "fsl,fman-v3-port-oh";
10716 reg = <0x86000 0x1000>;
10717 + fsl,qman-channel-id = <0x80d>;
10718 };
10719
10720 fman0_oh_0x7: port@87000 {
10721 cell-index = <0x7>;
10722 compatible = "fsl,fman-v3-port-oh";
10723 reg = <0x87000 0x1000>;
10724 + fsl,qman-channel-id = <0x80e>;
10725 + };
10726 +
10727 + policer@c0000 {
10728 + compatible = "fsl,fman-policer";
10729 + reg = <0xc0000 0x1000>;
10730 + };
10731 +
10732 + keygen@c1000 {
10733 + compatible = "fsl,fman-keygen";
10734 + reg = <0xc1000 0x1000>;
10735 + };
10736 +
10737 + dma@c2000 {
10738 + compatible = "fsl,fman-dma";
10739 + reg = <0xc2000 0x1000>;
10740 + };
10741 +
10742 + fpm@c3000 {
10743 + compatible = "fsl,fman-fpm";
10744 + reg = <0xc3000 0x1000>;
10745 + };
10746 +
10747 + parser@c7000 {
10748 + compatible = "fsl,fman-parser";
10749 + reg = <0xc7000 0x1000>;
10750 + };
10751 +
10752 + vsps@dc000 {
10753 + compatible = "fsl,fman-vsps";
10754 + reg = <0xdc000 0x1000>;
10755 };
10756
10757 mdio0: mdio@fc000 {
10758 @@ -73,9 +124,11 @@ fman0: fman@1a00000 {
10759 compatible = "fsl,fman-memac-mdio", "fsl,fman-xmdio";
10760 reg = <0xfd000 0x1000>;
10761 };
10762 +};
10763
10764 - ptp_timer0: ptp-timer@fe000 {
10765 - compatible = "fsl,fman-ptp-timer";
10766 - reg = <0xfe000 0x1000>;
10767 - };
10768 +ptp_timer0: ptp-timer@1afe000 {
10769 + compatible = "fsl,fman-ptp-timer";
10770 + reg = <0x0 0x1afe000 0x0 0x1000>;
10771 + interrupts = <GIC_SPI 44 IRQ_TYPE_LEVEL_HIGH>;
10772 + clocks = <&clockgen 3 0>;
10773 };
10774 --- /dev/null
10775 +++ b/arch/arm64/boot/dts/freescale/qoriq-qman-portals-sdk.dtsi
10776 @@ -0,0 +1,38 @@
10777 +/*
10778 + * QorIQ QMan SDK Portals device tree nodes
10779 + *
10780 + * Copyright 2011-2016 Freescale Semiconductor Inc.
10781 + * Copyright 2017 NXP
10782 + *
10783 + * SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)
10784 + */
10785 +
10786 +&qportals {
10787 + qman-fqids@0 {
10788 + compatible = "fsl,fqid-range";
10789 + fsl,fqid-range = <256 256>;
10790 + };
10791 +
10792 + qman-fqids@1 {
10793 + compatible = "fsl,fqid-range";
10794 + fsl,fqid-range = <32768 32768>;
10795 + };
10796 +
10797 + qman-pools@0 {
10798 + compatible = "fsl,pool-channel-range";
10799 + fsl,pool-channel-range = <0x401 0xf>;
10800 + };
10801 +
10802 + qman-cgrids@0 {
10803 + compatible = "fsl,cgrid-range";
10804 + fsl,cgrid-range = <0 256>;
10805 + };
10806 +
10807 + qman-ceetm@0 {
10808 + compatible = "fsl,qman-ceetm";
10809 + fsl,ceetm-lfqid-range = <0xf00000 0x1000>;
10810 + fsl,ceetm-sp-range = <0 16>;
10811 + fsl,ceetm-lni-range = <0 8>;
10812 + fsl,ceetm-channel-range = <0 32>;
10813 + };
10814 +};
10815 --- a/arch/arm64/boot/dts/freescale/qoriq-qman-portals.dtsi
10816 +++ b/arch/arm64/boot/dts/freescale/qoriq-qman-portals.dtsi
10817 @@ -1,9 +1,9 @@
10818 +// SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)
10819 /*
10820 * QorIQ QMan Portals device tree
10821 *
10822 * Copyright 2011-2016 Freescale Semiconductor Inc.
10823 *
10824 - * SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)
10825 */
10826
10827 &qportals {
10828 @@ -77,4 +77,11 @@
10829 interrupts = <GIC_SPI 188 IRQ_TYPE_LEVEL_HIGH>;
10830 cell-index = <8>;
10831 };
10832 +
10833 + qportal9: qman-portal@90000 {
10834 + compatible = "fsl,qman-portal";
10835 + reg = <0x90000 0x4000>, <0x4090000 0x4000>;
10836 + interrupts = <GIC_SPI 190 IRQ_TYPE_LEVEL_HIGH>;
10837 + cell-index = <9>;
10838 + };
10839 };
10840 --- a/arch/arm64/boot/dts/freescale/traverse-ls1043s.dts
10841 +++ b/arch/arm64/boot/dts/freescale/traverse-ls1043s.dts
10842 @@ -330,3 +330,32 @@
10843 &sata {
10844 status = "disabled";
10845 };
10846 +
10847 +/* Additions for Layerscape SDK (4.4/4.9) Kernel only
10848 + * These kernels need additional setup for FMan/QMan DMA shared memory
10849 + */
10850 +
10851 +#include "qoriq-qman-portals-sdk.dtsi"
10852 +#include "qoriq-bman-portals-sdk.dtsi"
10853 +
10854 +&bman_fbpr {
10855 + compatible = "fsl,bman-fbpr";
10856 + alloc-ranges = <0 0 0x10000 0>;
10857 +};
10858 +&qman_fqd {
10859 + compatible = "fsl,qman-fqd";
10860 + alloc-ranges = <0 0 0x10000 0>;
10861 +};
10862 +&qman_pfdr {
10863 + compatible = "fsl,qman-pfdr";
10864 + alloc-ranges = <0 0 0x10000 0>;
10865 +};
10866 +
10867 +&soc {
10868 +#include "qoriq-dpaa-eth.dtsi"
10869 +#include "qoriq-fman3-0-6oh.dtsi"
10870 +};
10871 +
10872 +&fman0 {
10873 + compatible = "fsl,fman", "simple-bus";
10874 +};
10875 --- a/arch/arm64/boot/dts/freescale/traverse-ls1043v.dts
10876 +++ b/arch/arm64/boot/dts/freescale/traverse-ls1043v.dts
10877 @@ -251,3 +251,32 @@
10878 &sata {
10879 status = "disabled";
10880 };
10881 +
10882 +/* Additions for Layerscape SDK (4.4/4.9) Kernel only
10883 + * These kernels need additional setup for FMan/QMan DMA shared memory
10884 + */
10885 +
10886 +#include "qoriq-qman-portals-sdk.dtsi"
10887 +#include "qoriq-bman-portals-sdk.dtsi"
10888 +
10889 +&bman_fbpr {
10890 + compatible = "fsl,bman-fbpr";
10891 + alloc-ranges = <0 0 0x10000 0>;
10892 +};
10893 +&qman_fqd {
10894 + compatible = "fsl,qman-fqd";
10895 + alloc-ranges = <0 0 0x10000 0>;
10896 +};
10897 +&qman_pfdr {
10898 + compatible = "fsl,qman-pfdr";
10899 + alloc-ranges = <0 0 0x10000 0>;
10900 +};
10901 +
10902 +&soc {
10903 +#include "qoriq-dpaa-eth.dtsi"
10904 +#include "qoriq-fman3-0-6oh.dtsi"
10905 +};
10906 +
10907 +&fman0 {
10908 + compatible = "fsl,fman", "simple-bus";
10909 +};