3227-ls2088a-dts-add-ls2088a-dts.patch 33 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338
  1. From 45ba5bb2bdc9462fe5998aeb75e2c7e33b56c9fb Mon Sep 17 00:00:00 2001
  2. From: Zhao Qiang <qiang.zhao@nxp.com>
  3. Date: Mon, 7 Nov 2016 10:23:52 +0800
  4. Subject: [PATCH 227/238] ls2088a/dts: add ls2088a dts
  5. Signed-off-by: Zhao Qiang <qiang.zhao@nxp.com>
  6. ---
  7. arch/arm64/boot/dts/freescale/Makefile | 2 +
  8. arch/arm64/boot/dts/freescale/fsl-ls2088a-qds.dts | 241 ++++++
  9. arch/arm64/boot/dts/freescale/fsl-ls2088a-rdb.dts | 207 +++++
  10. arch/arm64/boot/dts/freescale/fsl-ls2088a.dtsi | 854 +++++++++++++++++++++
  11. 4 files changed, 1304 insertions(+)
  12. create mode 100644 arch/arm64/boot/dts/freescale/fsl-ls2088a-qds.dts
  13. create mode 100644 arch/arm64/boot/dts/freescale/fsl-ls2088a-rdb.dts
  14. create mode 100644 arch/arm64/boot/dts/freescale/fsl-ls2088a.dtsi
  15. --- a/arch/arm64/boot/dts/freescale/Makefile
  16. +++ b/arch/arm64/boot/dts/freescale/Makefile
  17. @@ -6,6 +6,8 @@ dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1
  18. dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1012a-frdm.dtb
  19. dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1046a-rdb.dtb
  20. dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1088a-rdb.dtb
  21. +dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls2088a-rdb.dtb
  22. +dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls2088a-qds.dtb
  23. always := $(dtb-y)
  24. subdir-y := $(dts-dirs)
  25. --- /dev/null
  26. +++ b/arch/arm64/boot/dts/freescale/fsl-ls2088a-qds.dts
  27. @@ -0,0 +1,241 @@
  28. +/*
  29. + * Device Tree file for Freescale LS2080a QDS Board
  30. + *
  31. + * Copyright (C) 2016, Freescale Semiconductor
  32. + *
  33. + * Abhimanyu Saini <abhimanyu.saini@nxp.com>
  34. + *
  35. + * This file is licensed under the terms of the GNU General Public
  36. + * License version 2. This program is licensed "as is" without any
  37. + * warranty of any kind, whether express or implied.
  38. + */
  39. +
  40. +/dts-v1/;
  41. +
  42. +#include "fsl-ls2088a.dtsi"
  43. +
  44. +/ {
  45. + model = "Freescale Layerscape 2088a QDS Board";
  46. + compatible = "fsl,ls2088a-qds", "fsl,ls2088a";
  47. +};
  48. +
  49. +&esdhc {
  50. + status = "okay";
  51. +};
  52. +
  53. +&ifc {
  54. + status = "okay";
  55. + #address-cells = <2>;
  56. + #size-cells = <1>;
  57. + ranges = <0x0 0x0 0x5 0x80000000 0x08000000
  58. + 0x2 0x0 0x5 0x30000000 0x00010000
  59. + 0x3 0x0 0x5 0x20000000 0x00010000>;
  60. +
  61. + nor@0,0 {
  62. + #address-cells = <1>;
  63. + #size-cells = <1>;
  64. + compatible = "cfi-flash";
  65. + reg = <0x0 0x0 0x8000000>;
  66. + bank-width = <2>;
  67. + device-width = <1>;
  68. + };
  69. +
  70. + nand@2,0 {
  71. + compatible = "fsl,ifc-nand";
  72. + reg = <0x2 0x0 0x10000>;
  73. + };
  74. +
  75. + cpld@3,0 {
  76. + reg = <0x3 0x0 0x10000>;
  77. + compatible = "fsl,ls2088a-qds-qixis", "fsl,ls2080a-qds-qixis",
  78. + "fsl,fpga-qixis";
  79. + };
  80. +};
  81. +
  82. +&ftm0 {
  83. + status = "okay";
  84. +};
  85. +
  86. +&i2c0 {
  87. + status = "okay";
  88. + pca9547@77 {
  89. + compatible = "nxp,pca9547";
  90. + reg = <0x77>;
  91. + #address-cells = <1>;
  92. + #size-cells = <0>;
  93. + i2c@0 {
  94. + #address-cells = <1>;
  95. + #size-cells = <0>;
  96. + reg = <0x00>;
  97. + rtc@68 {
  98. + compatible = "dallas,ds3232";
  99. + reg = <0x68>;
  100. + };
  101. + };
  102. +
  103. + i2c@2 {
  104. + #address-cells = <1>;
  105. + #size-cells = <0>;
  106. + reg = <0x02>;
  107. +
  108. + ina220@40 {
  109. + compatible = "ti,ina220";
  110. + reg = <0x40>;
  111. + shunt-resistor = <500>;
  112. + };
  113. + ina220@41 {
  114. + compatible = "ti,ina220";
  115. + reg = <0x41>;
  116. + shunt-resistor = <1000>;
  117. + };
  118. + };
  119. +
  120. + i2c@3 {
  121. + #address-cells = <1>;
  122. + #size-cells = <0>;
  123. + reg = <0x3>;
  124. +
  125. + adt7481@4c {
  126. + compatible = "adi,adt7461";
  127. + reg = <0x4c>;
  128. + };
  129. + };
  130. + };
  131. +};
  132. +
  133. +&i2c1 {
  134. + status = "disabled";
  135. +};
  136. +
  137. +&i2c2 {
  138. + status = "disabled";
  139. +};
  140. +
  141. +&i2c3 {
  142. + status = "disabled";
  143. +};
  144. +
  145. +&dspi {
  146. + status = "okay";
  147. + dflash0: n25q128a {
  148. + #address-cells = <1>;
  149. + #size-cells = <1>;
  150. + compatible = "st,m25p80";
  151. + spi-max-frequency = <3000000>;
  152. + reg = <0>;
  153. + };
  154. + dflash1: sst25wf040b {
  155. + #address-cells = <1>;
  156. + #size-cells = <1>;
  157. + compatible = "st,m25p80";
  158. + spi-max-frequency = <3000000>;
  159. + reg = <1>;
  160. + };
  161. + dflash2: en25s64 {
  162. + #address-cells = <1>;
  163. + #size-cells = <1>;
  164. + compatible = "st,m25p80";
  165. + spi-max-frequency = <3000000>;
  166. + reg = <2>;
  167. + };
  168. +};
  169. +
  170. +&qspi {
  171. + status = "okay";
  172. + qflash0: s25fs256s1@0 {
  173. + #address-cells = <1>;
  174. + #size-cells = <1>;
  175. + compatible = "st,m25p80";
  176. + spi-max-frequency = <20000000>;
  177. + m25p,fast-read;
  178. + reg = <0>;
  179. + };
  180. +
  181. + qflash2: s25fs256s1@2 {
  182. + #address-cells = <1>;
  183. + #size-cells = <1>;
  184. + compatible = "st,m25p80";
  185. + spi-max-frequency = <20000000>;
  186. + m25p,fast-read;
  187. + reg = <2>;
  188. + };
  189. +};
  190. +
  191. +&sata0 {
  192. + status = "okay";
  193. +};
  194. +
  195. +&sata1 {
  196. + status = "okay";
  197. +};
  198. +
  199. +&usb0 {
  200. + status = "okay";
  201. +};
  202. +
  203. +&usb1 {
  204. + status = "okay";
  205. +};
  206. +
  207. +&ifc {
  208. + boardctrl: board-control@3,0 {
  209. + #address-cells = <1>;
  210. + #size-cells = <1>;
  211. + compatible = "fsl,tetra-fpga", "fsl,fpga-qixis", "simple-bus";
  212. + reg = <3 0 0x300>; /* TODO check address */
  213. + ranges = <0 3 0 0x300>;
  214. +
  215. + mdio_mux_emi1 {
  216. + compatible = "mdio-mux-mmioreg", "mdio-mux";
  217. + mdio-parent-bus = <&emdio1>;
  218. + reg = <0x54 1>; /* BRDCFG4 */
  219. + mux-mask = <0xe0>; /* EMI1_MDIO */
  220. +
  221. + #address-cells=<1>;
  222. + #size-cells = <0>;
  223. +
  224. + /* Child MDIO buses, one for each riser card:
  225. + reg = 0x0, 0x20, 0x40, 0x60, 0x80, 0xa0.
  226. +
  227. + VSC8234 PHYs on the riser cards.
  228. + */
  229. +
  230. + mdio_mux3: mdio@60 {
  231. + reg = <0x60>;
  232. + #address-cells = <1>;
  233. + #size-cells = <0>;
  234. +
  235. + mdio0_phy12: mdio_phy0@1c {
  236. + reg = <0x1c>;
  237. + phy-connection-type = "sgmii";
  238. + };
  239. + mdio0_phy13: mdio_phy1@1d {
  240. + reg = <0x1d>;
  241. + phy-connection-type = "sgmii";
  242. + };
  243. + mdio0_phy14: mdio_phy2@1e {
  244. + reg = <0x1e>;
  245. + phy-connection-type = "sgmii";
  246. + };
  247. + mdio0_phy15: mdio_phy3@1f {
  248. + reg = <0x1f>;
  249. + phy-connection-type = "sgmii";
  250. + };
  251. + };
  252. + };
  253. + };
  254. +};
  255. +
  256. +/* Update DPMAC connections to external PHYs, under SerDes 0x2a_0x49. */
  257. +&dpmac9 {
  258. + phy-handle = <&mdio0_phy12>;
  259. +};
  260. +&dpmac10 {
  261. + phy-handle = <&mdio0_phy13>;
  262. +};
  263. +&dpmac11 {
  264. + phy-handle = <&mdio0_phy14>;
  265. +};
  266. +&dpmac12 {
  267. + phy-handle = <&mdio0_phy15>;
  268. +};
  269. --- /dev/null
  270. +++ b/arch/arm64/boot/dts/freescale/fsl-ls2088a-rdb.dts
  271. @@ -0,0 +1,207 @@
  272. +/*
  273. + * Device Tree file for Freescale LS2080a RDB board
  274. + *
  275. + * Copyright (C) 2015, Freescale Semiconductor
  276. + *
  277. + * Abhimanyu Saini <abhimanyu.saini@nxp.com>
  278. + *
  279. + * This file is licensed under the terms of the GNU General Public
  280. + * License version 2. This program is licensed "as is" without any
  281. + * warranty of any kind, whether express or implied.
  282. + */
  283. +
  284. +/dts-v1/;
  285. +
  286. +#include "fsl-ls2088a.dtsi"
  287. +
  288. +/ {
  289. + model = "Freescale Layerscape 2088a RDB Board";
  290. + compatible = "fsl,ls2088a-rdb", "fsl,ls2088a";
  291. +};
  292. +
  293. +&esdhc {
  294. + status = "okay";
  295. +};
  296. +
  297. +&ifc {
  298. + status = "okay";
  299. + #address-cells = <2>;
  300. + #size-cells = <1>;
  301. + ranges = <0x0 0x0 0x5 0x80000000 0x08000000
  302. + 0x2 0x0 0x5 0x30000000 0x00010000
  303. + 0x3 0x0 0x5 0x20000000 0x00010000>;
  304. +
  305. + nor@0,0 {
  306. + #address-cells = <1>;
  307. + #size-cells = <1>;
  308. + compatible = "cfi-flash";
  309. + reg = <0x0 0x0 0x8000000>;
  310. + bank-width = <2>;
  311. + device-width = <1>;
  312. + };
  313. +
  314. + nand@2,0 {
  315. + compatible = "fsl,ifc-nand";
  316. + reg = <0x2 0x0 0x10000>;
  317. + };
  318. +
  319. + cpld@3,0 {
  320. + reg = <0x3 0x0 0x10000>;
  321. + compatible = "fsl,ls2088a-qds-qixis", "fsl,ls2080a-qds-qixis",
  322. + "fsl,fpga-qixis";
  323. + };
  324. +};
  325. +
  326. +&ftm0 {
  327. + status = "okay";
  328. +};
  329. +
  330. +&i2c0 {
  331. + status = "okay";
  332. + pca9547@75 {
  333. + compatible = "nxp,pca9547";
  334. + reg = <0x75>;
  335. + #address-cells = <1>;
  336. + #size-cells = <0>;
  337. + i2c-mux-never-disable;
  338. + i2c@1 {
  339. + #address-cells = <1>;
  340. + #size-cells = <0>;
  341. + reg = <0x01>;
  342. + rtc@68 {
  343. + compatible = "dallas,ds3232";
  344. + reg = <0x68>;
  345. + };
  346. + };
  347. +
  348. + i2c@3 {
  349. + #address-cells = <1>;
  350. + #size-cells = <0>;
  351. + reg = <0x3>;
  352. +
  353. + adt7481@4c {
  354. + compatible = "adi,adt7461";
  355. + reg = <0x4c>;
  356. + };
  357. + };
  358. + };
  359. +};
  360. +
  361. +&i2c1 {
  362. + status = "disabled";
  363. +};
  364. +
  365. +&i2c2 {
  366. + status = "disabled";
  367. +};
  368. +
  369. +&i2c3 {
  370. + status = "disabled";
  371. +};
  372. +
  373. +&dspi {
  374. + status = "okay";
  375. + dflash0: n25q512a {
  376. + #address-cells = <1>;
  377. + #size-cells = <1>;
  378. + compatible = "st,m25p80";
  379. + spi-max-frequency = <3000000>;
  380. + reg = <0>;
  381. + };
  382. +};
  383. +
  384. +&qspi {
  385. + status = "disabled";
  386. +};
  387. +
  388. +&sata0 {
  389. + status = "okay";
  390. +};
  391. +
  392. +&sata1 {
  393. + status = "okay";
  394. +};
  395. +
  396. +&usb0 {
  397. + status = "okay";
  398. +};
  399. +
  400. +&usb1 {
  401. + status = "okay";
  402. +};
  403. +
  404. +&emdio1 {
  405. + /* CS4340 PHYs */
  406. + mdio1_phy1: emdio1_phy@1 {
  407. + reg = <0x10>;
  408. + phy-connection-type = "xfi";
  409. + };
  410. + mdio1_phy2: emdio1_phy@2 {
  411. + reg = <0x11>;
  412. + phy-connection-type = "xfi";
  413. + };
  414. + mdio1_phy3: emdio1_phy@3 {
  415. + reg = <0x12>;
  416. + phy-connection-type = "xfi";
  417. + };
  418. + mdio1_phy4: emdio1_phy@4 {
  419. + reg = <0x13>;
  420. + phy-connection-type = "xfi";
  421. + };
  422. +};
  423. +
  424. +&emdio2 {
  425. + /* AQR405 PHYs */
  426. + mdio2_phy1: emdio2_phy@1 {
  427. + compatible = "ethernet-phy-ieee802.3-c45";
  428. + interrupts = <0 1 0x4>; /* Level high type */
  429. + reg = <0x0>;
  430. + phy-connection-type = "xfi";
  431. + };
  432. + mdio2_phy2: emdio2_phy@2 {
  433. + compatible = "ethernet-phy-ieee802.3-c45";
  434. + interrupts = <0 2 0x4>; /* Level high type */
  435. + reg = <0x1>;
  436. + phy-connection-type = "xfi";
  437. + };
  438. + mdio2_phy3: emdio2_phy@3 {
  439. + compatible = "ethernet-phy-ieee802.3-c45";
  440. + interrupts = <0 4 0x4>; /* Level high type */
  441. + reg = <0x2>;
  442. + phy-connection-type = "xfi";
  443. + };
  444. + mdio2_phy4: emdio2_phy@4 {
  445. + compatible = "ethernet-phy-ieee802.3-c45";
  446. + interrupts = <0 5 0x4>; /* Level high type */
  447. + reg = <0x3>;
  448. + phy-connection-type = "xfi";
  449. + };
  450. +};
  451. +
  452. +/* Update DPMAC connections to external PHYs, under the assumption of
  453. + * SerDes 0x2a_0x41. This is currently the only SerDes supported on the board.
  454. + */
  455. +&dpmac1 {
  456. + phy-handle = <&mdio1_phy1>;
  457. +};
  458. +&dpmac2 {
  459. + phy-handle = <&mdio1_phy2>;
  460. +};
  461. +&dpmac3 {
  462. + phy-handle = <&mdio1_phy3>;
  463. +};
  464. +&dpmac4 {
  465. + phy-handle = <&mdio1_phy4>;
  466. +};
  467. +&dpmac5 {
  468. + phy-handle = <&mdio2_phy1>;
  469. +};
  470. +&dpmac6 {
  471. + phy-handle = <&mdio2_phy2>;
  472. +};
  473. +&dpmac7 {
  474. + phy-handle = <&mdio2_phy3>;
  475. +};
  476. +&dpmac8 {
  477. + phy-handle = <&mdio2_phy4>;
  478. +};
  479. --- /dev/null
  480. +++ b/arch/arm64/boot/dts/freescale/fsl-ls2088a.dtsi
  481. @@ -0,0 +1,854 @@
  482. +/*
  483. + * Device Tree Include file for Freescale Layerscape-2088A family SoC.
  484. + *
  485. + * Copyright (C) 2016, Freescale Semiconductor
  486. + *
  487. + * Abhimanyu Saini <abhimanyu.saini@nxp.com>
  488. + *
  489. + * This file is dual-licensed: you can use it either under the terms
  490. + * of the GPLv2 or the X11 license, at your option. Note that this dual
  491. + * licensing only applies to this file, and not this project as a
  492. + * whole.
  493. + *
  494. + * a) This library is free software; you can redistribute it and/or
  495. + * modify it under the terms of the GNU General Public License as
  496. + * published by the Free Software Foundation; either version 2 of the
  497. + * License, or (at your option) any later version.
  498. + *
  499. + * This library is distributed in the hope that it will be useful,
  500. + * but WITHOUT ANY WARRANTY; without even the implied warranty of
  501. + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  502. + * GNU General Public License for more details.
  503. + *
  504. + * Or, alternatively,
  505. + *
  506. + * b) Permission is hereby granted, free of charge, to any person
  507. + * obtaining a copy of this software and associated documentation
  508. + * files (the "Software"), to deal in the Software without
  509. + * restriction, including without limitation the rights to use,
  510. + * copy, modify, merge, publish, distribute, sublicense, and/or
  511. + * sell copies of the Software, and to permit persons to whom the
  512. + * Software is furnished to do so, subject to the following
  513. + * conditions:
  514. + *
  515. + * The above copyright notice and this permission notice shall be
  516. + * included in all copies or substantial portions of the Software.
  517. + *
  518. + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
  519. + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
  520. + * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
  521. + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
  522. + * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
  523. + * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
  524. + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
  525. + * OTHER DEALINGS IN THE SOFTWARE.
  526. + */
  527. +
  528. +#include <dt-bindings/thermal/thermal.h>
  529. +
  530. +/memreserve/ 0x80000000 0x00010000;
  531. +
  532. +/ {
  533. + compatible = "fsl,ls2088a";
  534. + interrupt-parent = <&gic>;
  535. + #address-cells = <2>;
  536. + #size-cells = <2>;
  537. +
  538. + cpus {
  539. + #address-cells = <2>;
  540. + #size-cells = <0>;
  541. +
  542. + cpu0: cpu@0 {
  543. + device_type = "cpu";
  544. + compatible = "arm,cortex-a72";
  545. + reg = <0x0 0x0>;
  546. + clocks = <&clockgen 1 0>;
  547. + #cooling-cells = <2>;
  548. + cpu-idle-states = <&CPU_PW20>;
  549. + };
  550. +
  551. + cpu1: cpu@1 {
  552. + device_type = "cpu";
  553. + compatible = "arm,cortex-a72";
  554. + reg = <0x0 0x1>;
  555. + clocks = <&clockgen 1 0>;
  556. + cpu-idle-states = <&CPU_PW20>;
  557. + };
  558. +
  559. + cpu2: cpu@100 {
  560. + device_type = "cpu";
  561. + compatible = "arm,cortex-a72";
  562. + reg = <0x0 0x100>;
  563. + clocks = <&clockgen 1 1>;
  564. + #cooling-cells = <2>;
  565. + cpu-idle-states = <&CPU_PW20>;
  566. + };
  567. +
  568. + cpu3: cpu@101 {
  569. + device_type = "cpu";
  570. + compatible = "arm,cortex-a72";
  571. + reg = <0x0 0x101>;
  572. + clocks = <&clockgen 1 1>;
  573. + cpu-idle-states = <&CPU_PW20>;
  574. + };
  575. +
  576. + cpu4: cpu@200 {
  577. + device_type = "cpu";
  578. + compatible = "arm,cortex-a72";
  579. + reg = <0x0 0x200>;
  580. + clocks = <&clockgen 1 2>;
  581. + #cooling-cells = <2>;
  582. + cpu-idle-states = <&CPU_PW20>;
  583. + };
  584. +
  585. + cpu5: cpu@201 {
  586. + device_type = "cpu";
  587. + compatible = "arm,cortex-a72";
  588. + reg = <0x0 0x201>;
  589. + clocks = <&clockgen 1 2>;
  590. + cpu-idle-states = <&CPU_PW20>;
  591. + };
  592. +
  593. + cpu6: cpu@300 {
  594. + device_type = "cpu";
  595. + compatible = "arm,cortex-a72";
  596. + reg = <0x0 0x300>;
  597. + clocks = <&clockgen 1 3>;
  598. + #cooling-cells = <2>;
  599. + cpu-idle-states = <&CPU_PW20>;
  600. + };
  601. +
  602. + cpu7: cpu@301 {
  603. + device_type = "cpu";
  604. + compatible = "arm,cortex-a72";
  605. + reg = <0x0 0x301>;
  606. + clocks = <&clockgen 1 3>;
  607. + cpu-idle-states = <&CPU_PW20>;
  608. + };
  609. + };
  610. +
  611. + pmu {
  612. + compatible = "arm,armv8-pmuv3";
  613. + interrupts = <1 7 0x8>; /* PMU PPI, Level low type */
  614. + };
  615. +
  616. + idle-states {
  617. + entry-method = "arm,psci";
  618. +
  619. + CPU_PW20: cpu-pw20 {
  620. + compatible = "arm,idle-state";
  621. + idle-state-name = "PW20";
  622. + arm,psci-suspend-param = <0x00010000>;
  623. + entry-latency-us = <2000>;
  624. + exit-latency-us = <2000>;
  625. + min-residency-us = <6000>;
  626. + };
  627. + };
  628. +
  629. + gic: interrupt-controller@6000000 {
  630. + compatible = "arm,gic-v3";
  631. + reg = <0x0 0x06000000 0 0x10000>, /* GIC Dist */
  632. + <0x0 0x06100000 0 0x100000>, /* GICR (RD_base + SGI_base) */
  633. + <0x0 0x0c0c0000 0 0x2000>, /* GICC */
  634. + <0x0 0x0c0d0000 0 0x1000>, /* GICH */
  635. + <0x0 0x0c0e0000 0 0x20000>; /* GICV */
  636. + #interrupt-cells = <3>;
  637. + #address-cells = <2>;
  638. + #size-cells = <2>;
  639. + ranges;
  640. + interrupt-controller;
  641. + interrupts = <1 9 0x4>;
  642. +
  643. + its: gic-its@6020000 {
  644. + compatible = "arm,gic-v3-its";
  645. + msi-controller;
  646. + reg = <0x0 0x6020000 0 0x20000>;
  647. + };
  648. + };
  649. +
  650. + sysclk: sysclk {
  651. + compatible = "fixed-clock";
  652. + #clock-cells = <0>;
  653. + clock-frequency = <100000000>;
  654. + clock-output-names = "sysclk";
  655. + };
  656. +
  657. + clockgen: clocking@1300000 {
  658. + compatible = "fsl,ls2088a-clockgen";
  659. + reg = <0 0x1300000 0 0xa0000>;
  660. + #clock-cells = <2>;
  661. + clocks = <&sysclk>;
  662. + };
  663. +
  664. + tmu: tmu@1f80000 {
  665. + compatible = "fsl,qoriq-tmu", "fsl,ls2080a-tmu", "fsl,ls2088a-tmu";
  666. + reg = <0x0 0x1f80000 0x0 0x10000>;
  667. + interrupts = <0 23 0x4>;
  668. + fsl,tmu-range = <0xb0000 0x9002a 0x6004c 0x30062>;
  669. + fsl,tmu-calibration = <0x00000000 0x00000026
  670. + 0x00000001 0x0000002d
  671. + 0x00000002 0x00000032
  672. + 0x00000003 0x00000039
  673. + 0x00000004 0x0000003f
  674. + 0x00000005 0x00000046
  675. + 0x00000006 0x0000004d
  676. + 0x00000007 0x00000054
  677. + 0x00000008 0x0000005a
  678. + 0x00000009 0x00000061
  679. + 0x0000000a 0x0000006a
  680. + 0x0000000b 0x00000071
  681. +
  682. + 0x00010000 0x00000025
  683. + 0x00010001 0x0000002c
  684. + 0x00010002 0x00000035
  685. + 0x00010003 0x0000003d
  686. + 0x00010004 0x00000045
  687. + 0x00010005 0x0000004e
  688. + 0x00010006 0x00000057
  689. + 0x00010007 0x00000061
  690. + 0x00010008 0x0000006b
  691. + 0x00010009 0x00000076
  692. +
  693. + 0x00020000 0x00000029
  694. + 0x00020001 0x00000033
  695. + 0x00020002 0x0000003d
  696. + 0x00020003 0x00000049
  697. + 0x00020004 0x00000056
  698. + 0x00020005 0x00000061
  699. + 0x00020006 0x0000006d
  700. +
  701. + 0x00030000 0x00000021
  702. + 0x00030001 0x0000002a
  703. + 0x00030002 0x0000003c
  704. + 0x00030003 0x0000004e>;
  705. + little-endian;
  706. + #thermal-sensor-cells = <1>;
  707. + };
  708. +
  709. + thermal-zones {
  710. + cpu_thermal: cpu-thermal {
  711. + polling-delay-passive = <1000>;
  712. + polling-delay = <5000>;
  713. +
  714. + thermal-sensors = <&tmu 4>;
  715. +
  716. + trips {
  717. + cpu_alert: cpu-alert {
  718. + temperature = <75000>;
  719. + hysteresis = <2000>;
  720. + type = "passive";
  721. + };
  722. + cpu_crit: cpu-crit {
  723. + temperature = <85000>;
  724. + hysteresis = <2000>;
  725. + type = "critical";
  726. + };
  727. + };
  728. +
  729. + cooling-maps {
  730. + map0 {
  731. + trip = <&cpu_alert>;
  732. + cooling-device =
  733. + <&cpu0 THERMAL_NO_LIMIT
  734. + THERMAL_NO_LIMIT>;
  735. + };
  736. + map1 {
  737. + trip = <&cpu_alert>;
  738. + cooling-device =
  739. + <&cpu2 THERMAL_NO_LIMIT
  740. + THERMAL_NO_LIMIT>;
  741. + };
  742. + map2 {
  743. + trip = <&cpu_alert>;
  744. + cooling-device =
  745. + <&cpu4 THERMAL_NO_LIMIT
  746. + THERMAL_NO_LIMIT>;
  747. + };
  748. + map3 {
  749. + trip = <&cpu_alert>;
  750. + cooling-device =
  751. + <&cpu6 THERMAL_NO_LIMIT
  752. + THERMAL_NO_LIMIT>;
  753. + };
  754. + };
  755. + };
  756. + };
  757. +
  758. + serial0: serial@21c0500 {
  759. + device_type = "serial";
  760. + compatible = "fsl,ns16550", "ns16550a";
  761. + reg = <0x0 0x21c0500 0x0 0x100>;
  762. + clocks = <&clockgen 4 3>;
  763. + interrupts = <0 32 0x4>; /* Level high type */
  764. + };
  765. +
  766. + serial1: serial@21c0600 {
  767. + device_type = "serial";
  768. + compatible = "fsl,ns16550", "ns16550a";
  769. + reg = <0x0 0x21c0600 0x0 0x100>;
  770. + clocks = <&clockgen 4 3>;
  771. + interrupts = <0 32 0x4>; /* Level high type */
  772. + };
  773. + cluster1_core0_watchdog: wdt@c000000 {
  774. + compatible = "arm,sp805-wdt", "arm,primecell";
  775. + reg = <0x0 0xc000000 0x0 0x1000>;
  776. + clocks = <&clockgen 4 3>, <&clockgen 4 3>;
  777. + clock-names = "apb_pclk", "wdog_clk";
  778. + };
  779. +
  780. + cluster1_core1_watchdog: wdt@c010000 {
  781. + compatible = "arm,sp805-wdt", "arm,primecell";
  782. + reg = <0x0 0xc010000 0x0 0x1000>;
  783. + clocks = <&clockgen 4 3>, <&clockgen 4 3>;
  784. + clock-names = "apb_pclk", "wdog_clk";
  785. + };
  786. +
  787. + cluster2_core0_watchdog: wdt@c100000 {
  788. + compatible = "arm,sp805-wdt", "arm,primecell";
  789. + reg = <0x0 0xc100000 0x0 0x1000>;
  790. + clocks = <&clockgen 4 3>, <&clockgen 4 3>;
  791. + clock-names = "apb_pclk", "wdog_clk";
  792. + };
  793. +
  794. + cluster2_core1_watchdog: wdt@c110000 {
  795. + compatible = "arm,sp805-wdt", "arm,primecell";
  796. + reg = <0x0 0xc110000 0x0 0x1000>;
  797. + clocks = <&clockgen 4 3>, <&clockgen 4 3>;
  798. + clock-names = "apb_pclk", "wdog_clk";
  799. + };
  800. +
  801. + cluster3_core0_watchdog: wdt@c200000 {
  802. + compatible = "arm,sp805-wdt", "arm,primecell";
  803. + reg = <0x0 0xc200000 0x0 0x1000>;
  804. + clocks = <&clockgen 4 3>, <&clockgen 4 3>;
  805. + clock-names = "apb_pclk", "wdog_clk";
  806. + };
  807. +
  808. + cluster3_core1_watchdog: wdt@c210000 {
  809. + compatible = "arm,sp805-wdt", "arm,primecell";
  810. + reg = <0x0 0xc210000 0x0 0x1000>;
  811. + clocks = <&clockgen 4 3>, <&clockgen 4 3>;
  812. + clock-names = "apb_pclk", "wdog_clk";
  813. + };
  814. +
  815. + cluster4_core0_watchdog: wdt@c300000 {
  816. + compatible = "arm,sp805-wdt", "arm,primecell";
  817. + reg = <0x0 0xc300000 0x0 0x1000>;
  818. + clocks = <&clockgen 4 3>, <&clockgen 4 3>;
  819. + clock-names = "apb_pclk", "wdog_clk";
  820. + };
  821. +
  822. + cluster4_core1_watchdog: wdt@c310000 {
  823. + compatible = "arm,sp805-wdt", "arm,primecell";
  824. + reg = <0x0 0xc310000 0x0 0x1000>;
  825. + clocks = <&clockgen 4 3>, <&clockgen 4 3>;
  826. + clock-names = "apb_pclk", "wdog_clk";
  827. + };
  828. +
  829. + gpio0: gpio@2300000 {
  830. + compatible = "fsl,qoriq-gpio";
  831. + reg = <0x0 0x2300000 0x0 0x10000>;
  832. + interrupts = <0 36 0x4>; /* Level high type */
  833. + gpio-controller;
  834. + little-endian;
  835. + #gpio-cells = <2>;
  836. + interrupt-controller;
  837. + #interrupt-cells = <2>;
  838. + };
  839. +
  840. + gpio1: gpio@2310000 {
  841. + compatible = "fsl,qoriq-gpio";
  842. + reg = <0x0 0x2310000 0x0 0x10000>;
  843. + interrupts = <0 36 0x4>; /* Level high type */
  844. + gpio-controller;
  845. + little-endian;
  846. + #gpio-cells = <2>;
  847. + interrupt-controller;
  848. + #interrupt-cells = <2>;
  849. + };
  850. +
  851. + gpio2: gpio@2320000 {
  852. + compatible = "fsl,qoriq-gpio";
  853. + reg = <0x0 0x2320000 0x0 0x10000>;
  854. + interrupts = <0 37 0x4>; /* Level high type */
  855. + gpio-controller;
  856. + little-endian;
  857. + #gpio-cells = <2>;
  858. + interrupt-controller;
  859. + #interrupt-cells = <2>;
  860. + };
  861. +
  862. + gpio3: gpio@2330000 {
  863. + compatible = "fsl,qoriq-gpio";
  864. + reg = <0x0 0x2330000 0x0 0x10000>;
  865. + interrupts = <0 37 0x4>; /* Level high type */
  866. + gpio-controller;
  867. + little-endian;
  868. + #gpio-cells = <2>;
  869. + interrupt-controller;
  870. + #interrupt-cells = <2>;
  871. + };
  872. +
  873. + /* TODO: WRIOP (CCSR?) */
  874. + emdio1: mdio@0x8B96000 { /* WRIOP0: 0x8B8_0000, E-MDIO1: 0x1_6000 */
  875. + compatible = "fsl,fman-memac-mdio";
  876. + reg = <0x0 0x8B96000 0x0 0x1000>;
  877. + device_type = "mdio"; /* TODO: is this necessary? */
  878. + little-endian; /* force the driver in LE mode */
  879. +
  880. + /* Not necessary on the QDS, but needed on the RDB */
  881. + #address-cells = <1>;
  882. + #size-cells = <0>;
  883. + };
  884. +
  885. + emdio2: mdio@0x8B97000 { /* WRIOP0: 0x8B8_0000, E-MDIO2: 0x1_7000 */
  886. + compatible = "fsl,fman-memac-mdio";
  887. + reg = <0x0 0x8B97000 0x0 0x1000>;
  888. + device_type = "mdio"; /* TODO: is this necessary? */
  889. + little-endian; /* force the driver in LE mode */
  890. +
  891. + #address-cells = <1>;
  892. + #size-cells = <0>;
  893. + };
  894. +
  895. + ifc: ifc@2240000 {
  896. + compatible = "fsl,ifc", "simple-bus";
  897. + reg = <0x0 0x2240000 0x0 0x20000>;
  898. + interrupts = <0 21 0x4>; /* Level high type */
  899. + little-endian;
  900. + #address-cells = <2>;
  901. + #size-cells = <1>;
  902. +
  903. + ranges = <0 0 0x5 0x80000000 0x08000000
  904. + 2 0 0x5 0x30000000 0x00010000
  905. + 3 0 0x5 0x20000000 0x00010000>;
  906. + };
  907. +
  908. + esdhc: esdhc@2140000 {
  909. + compatible = "fsl,ls2088a-esdhc", "fsl,ls2080a-esdhc",
  910. + "fsl,esdhc";
  911. + reg = <0x0 0x2140000 0x0 0x10000>;
  912. + interrupts = <0 28 0x4>; /* Level high type */
  913. + clock-frequency = <0>;
  914. + voltage-ranges = <1800 1800 3300 3300>;
  915. + sdhci,auto-cmd12;
  916. + little-endian;
  917. + bus-width = <4>;
  918. + };
  919. +
  920. + ftm0: ftm0@2800000 {
  921. + compatible = "fsl,ftm-alarm";
  922. + reg = <0x0 0x2800000 0x0 0x10000>;
  923. + interrupts = <0 44 4>;
  924. + };
  925. +
  926. + reset: reset@1E60000 {
  927. + compatible = "fsl,ls-reset";
  928. + reg = <0x0 0x1E60000 0x0 0x10000>;
  929. + };
  930. +
  931. + dspi: dspi@2100000 {
  932. + compatible = "fsl,ls2088a-dspi", "fsl,ls2085a-dspi",
  933. + "fsl,ls2080a-dspi";
  934. + #address-cells = <1>;
  935. + #size-cells = <0>;
  936. + reg = <0x0 0x2100000 0x0 0x10000>;
  937. + interrupts = <0 26 0x4>; /* Level high type */
  938. + clocks = <&clockgen 4 3>;
  939. + clock-names = "dspi";
  940. + spi-num-chipselects = <5>;
  941. + bus-num = <0>;
  942. + };
  943. +
  944. + i2c0: i2c@2000000 {
  945. + compatible = "fsl,vf610-i2c";
  946. + #address-cells = <1>;
  947. + #size-cells = <0>;
  948. + reg = <0x0 0x2000000 0x0 0x10000>;
  949. + interrupts = <0 34 0x4>; /* Level high type */
  950. + clock-names = "i2c";
  951. + clocks = <&clockgen 4 3>;
  952. + };
  953. +
  954. + i2c1: i2c@2010000 {
  955. + compatible = "fsl,vf610-i2c";
  956. + #address-cells = <1>;
  957. + #size-cells = <0>;
  958. + reg = <0x0 0x2010000 0x0 0x10000>;
  959. + interrupts = <0 34 0x4>; /* Level high type */
  960. + clock-names = "i2c";
  961. + clocks = <&clockgen 4 3>;
  962. + };
  963. +
  964. + i2c2: i2c@2020000 {
  965. + compatible = "fsl,vf610-i2c";
  966. + #address-cells = <1>;
  967. + #size-cells = <0>;
  968. + reg = <0x0 0x2020000 0x0 0x10000>;
  969. + interrupts = <0 35 0x4>; /* Level high type */
  970. + clock-names = "i2c";
  971. + clocks = <&clockgen 4 3>;
  972. + };
  973. +
  974. + i2c3: i2c@2030000 {
  975. + compatible = "fsl,vf610-i2c";
  976. + #address-cells = <1>;
  977. + #size-cells = <0>;
  978. + reg = <0x0 0x2030000 0x0 0x10000>;
  979. + interrupts = <0 35 0x4>; /* Level high type */
  980. + clock-names = "i2c";
  981. + clocks = <&clockgen 4 3>;
  982. + };
  983. +
  984. + qspi: quadspi@20c0000 {
  985. + compatible = "fsl,ls2088a-qspi", "fsl,ls2080a-qspi";
  986. + #address-cells = <1>;
  987. + #size-cells = <0>;
  988. + reg = <0x0 0x20c0000 0x0 0x10000>,
  989. + <0x0 0x20000000 0x0 0x10000000>;
  990. + reg-names = "QuadSPI", "QuadSPI-memory";
  991. + interrupts = <0 25 0x4>; /* Level high type */
  992. + clocks = <&clockgen 4 3>, <&clockgen 4 3>;
  993. + clock-names = "qspi_en", "qspi";
  994. + };
  995. +
  996. + pcie1: pcie@3400000 {
  997. + compatible = "fsl,ls2088a-pcie", "fsl,ls2080a-pcie",
  998. + "fsl,ls2085a-pcie", "snps,dw-pcie";
  999. + reg = <0x00 0x03400000 0x0 0x00100000 /* controller registers */
  1000. + 0x20 0x00000000 0x0 0x00002000>; /* configuration space */
  1001. + reg-names = "regs", "config";
  1002. + interrupts = <0 108 0x4>; /* Level high type */
  1003. + interrupt-names = "aer";
  1004. + #address-cells = <3>;
  1005. + #size-cells = <2>;
  1006. + device_type = "pci";
  1007. + dma-coherent;
  1008. + fsl,lut_diff;
  1009. + num-lanes = <4>;
  1010. + bus-range = <0x0 0xff>;
  1011. + ranges = <0x81000000 0x0 0x00000000 0x20 0x00010000 0x0 0x00010000 /* downstream I/O */
  1012. + 0x82000000 0x0 0x40000000 0x20 0x40000000 0x0 0x40000000>; /* non-prefetchable memory */
  1013. + msi-parent = <&its>;
  1014. + #interrupt-cells = <1>;
  1015. + interrupt-map-mask = <0 0 0 7>;
  1016. + interrupt-map = <0000 0 0 1 &gic 0 0 0 109 4>,
  1017. + <0000 0 0 2 &gic 0 0 0 110 4>,
  1018. + <0000 0 0 3 &gic 0 0 0 111 4>,
  1019. + <0000 0 0 4 &gic 0 0 0 112 4>;
  1020. + };
  1021. +
  1022. + pcie2: pcie@3500000 {
  1023. + compatible = "fsl,ls2080a-pcie", "fsl,ls2080a-pcie",
  1024. + "fsl,ls2085a-pcie", "snps,dw-pcie";
  1025. + reg = <0x00 0x03500000 0x0 0x00100000 /* controller registers */
  1026. + 0x28 0x00000000 0x0 0x00002000>; /* configuration space */
  1027. + reg-names = "regs", "config";
  1028. + interrupts = <0 113 0x4>; /* Level high type */
  1029. + interrupt-names = "aer";
  1030. + #address-cells = <3>;
  1031. + #size-cells = <2>;
  1032. + device_type = "pci";
  1033. + dma-coherent;
  1034. + fsl,lut_diff;
  1035. + num-lanes = <4>;
  1036. + bus-range = <0x0 0xff>;
  1037. + ranges = <0x81000000 0x0 0x00000000 0x28 0x00010000 0x0 0x00010000 /* downstream I/O */
  1038. + 0x82000000 0x0 0x40000000 0x28 0x40000000 0x0 0x40000000>; /* non-prefetchable memory */
  1039. + msi-parent = <&its>;
  1040. + #interrupt-cells = <1>;
  1041. + interrupt-map-mask = <0 0 0 7>;
  1042. + interrupt-map = <0000 0 0 1 &gic 0 0 0 114 4>,
  1043. + <0000 0 0 2 &gic 0 0 0 115 4>,
  1044. + <0000 0 0 3 &gic 0 0 0 116 4>,
  1045. + <0000 0 0 4 &gic 0 0 0 117 4>;
  1046. + };
  1047. +
  1048. + pcie3: pcie@3600000 {
  1049. + compatible = "fsl,ls2088a-pcie", "fsl,ls2080a-pcie",
  1050. + "fsl,ls2085a-pcie", "snps,dw-pcie";
  1051. + reg = <0x00 0x03600000 0x0 0x00100000 /* controller registers */
  1052. + 0x30 0x00000000 0x0 0x00002000>; /* configuration space */
  1053. + reg-names = "regs", "config";
  1054. + interrupts = <0 118 0x4>; /* Level high type */
  1055. + interrupt-names = "aer";
  1056. + #address-cells = <3>;
  1057. + #size-cells = <2>;
  1058. + device_type = "pci";
  1059. + dma-coherent;
  1060. + fsl,lut_diff;
  1061. + num-lanes = <8>;
  1062. + bus-range = <0x0 0xff>;
  1063. + ranges = <0x81000000 0x0 0x00000000 0x30 0x00010000 0x0 0x00010000 /* downstream I/O */
  1064. + 0x82000000 0x0 0x40000000 0x30 0x40000000 0x0 0x40000000>; /* non-prefetchable memory */
  1065. + msi-parent = <&its>;
  1066. + #interrupt-cells = <1>;
  1067. + interrupt-map-mask = <0 0 0 7>;
  1068. + interrupt-map = <0000 0 0 1 &gic 0 0 0 119 4>,
  1069. + <0000 0 0 2 &gic 0 0 0 120 4>,
  1070. + <0000 0 0 3 &gic 0 0 0 121 4>,
  1071. + <0000 0 0 4 &gic 0 0 0 122 4>;
  1072. + };
  1073. +
  1074. + pcie4: pcie@3700000 {
  1075. + compatible = "fsl,ls2080a-pcie", "fsl,ls2080a-pcie",
  1076. + "fsl,ls2085a-pcie", "snps,dw-pcie";
  1077. + reg = <0x00 0x03700000 0x0 0x00100000 /* controller registers */
  1078. + 0x38 0x00000000 0x0 0x00002000>; /* configuration space */
  1079. + reg-names = "regs", "config";
  1080. + interrupts = <0 123 0x4>; /* Level high type */
  1081. + interrupt-names = "aer";
  1082. + #address-cells = <3>;
  1083. + #size-cells = <2>;
  1084. + device_type = "pci";
  1085. + dma-coherent;
  1086. + fsl,lut_diff;
  1087. + num-lanes = <4>;
  1088. + bus-range = <0x0 0xff>;
  1089. + ranges = <0x81000000 0x0 0x00000000 0x38 0x00010000 0x0 0x00010000 /* downstream I/O */
  1090. + 0x82000000 0x0 0x40000000 0x38 0x40000000 0x0 0x40000000>; /* non-prefetchable memory */
  1091. + msi-parent = <&its>;
  1092. + #interrupt-cells = <1>;
  1093. + interrupt-map-mask = <0 0 0 7>;
  1094. + interrupt-map = <0000 0 0 1 &gic 0 0 0 124 4>,
  1095. + <0000 0 0 2 &gic 0 0 0 125 4>,
  1096. + <0000 0 0 3 &gic 0 0 0 126 4>,
  1097. + <0000 0 0 4 &gic 0 0 0 127 4>;
  1098. + };
  1099. +
  1100. + sata0: sata@3200000 {
  1101. + status = "disabled";
  1102. + compatible = "fsl,ls2088a-ahci", "fsl,ls2080a-ahci";
  1103. + reg = <0x0 0x3200000 0x0 0x10000>;
  1104. + interrupts = <0 133 0x4>; /* Level high type */
  1105. + clocks = <&clockgen 4 3>;
  1106. + };
  1107. +
  1108. + sata1: sata@3210000 {
  1109. + status = "disabled";
  1110. + compatible = "fsl,ls2088a-ahci", "fsl,ls2080a-ahci";
  1111. + reg = <0x0 0x3210000 0x0 0x10000>;
  1112. + interrupts = <0 136 0x4>; /* Level high type */
  1113. + clocks = <&clockgen 4 3>;
  1114. + };
  1115. +
  1116. + usb0: usb3@3100000 {
  1117. + status = "disabled";
  1118. + compatible = "snps,dwc3";
  1119. + reg = <0x0 0x3100000 0x0 0x10000>;
  1120. + interrupts = <0 80 0x4>; /* Level high type */
  1121. + dr_mode = "host";
  1122. + configure-gfladj;
  1123. + snps,dis_rxdet_inp3_quirk;
  1124. + };
  1125. +
  1126. + usb1: usb3@3110000 {
  1127. + status = "disabled";
  1128. + compatible = "snps,dwc3";
  1129. + reg = <0x0 0x3110000 0x0 0x10000>;
  1130. + interrupts = <0 81 0x4>; /* Level high type */
  1131. + dr_mode = "host";
  1132. + configure-gfladj;
  1133. + snps,dis_rxdet_inp3_quirk;
  1134. + };
  1135. +
  1136. + smmu: iommu@5000000 {
  1137. + compatible = "arm,mmu-500";
  1138. + reg = <0 0x5000000 0 0x800000>;
  1139. + #global-interrupts = <12>;
  1140. + interrupts = <0 13 4>, /* global secure fault */
  1141. + <0 14 4>, /* combined secure interrupt */
  1142. + <0 15 4>, /* global non-secure fault */
  1143. + <0 16 4>, /* combined non-secure interrupt */
  1144. + /* performance counter interrupts 0-7 */
  1145. + <0 211 4>,
  1146. + <0 212 4>,
  1147. + <0 213 4>,
  1148. + <0 214 4>,
  1149. + <0 215 4>,
  1150. + <0 216 4>,
  1151. + <0 217 4>,
  1152. + <0 218 4>,
  1153. + /* per context interrupt, 64 interrupts */
  1154. + <0 146 4>,
  1155. + <0 147 4>,
  1156. + <0 148 4>,
  1157. + <0 149 4>,
  1158. + <0 150 4>,
  1159. + <0 151 4>,
  1160. + <0 152 4>,
  1161. + <0 153 4>,
  1162. + <0 154 4>,
  1163. + <0 155 4>,
  1164. + <0 156 4>,
  1165. + <0 157 4>,
  1166. + <0 158 4>,
  1167. + <0 159 4>,
  1168. + <0 160 4>,
  1169. + <0 161 4>,
  1170. + <0 162 4>,
  1171. + <0 163 4>,
  1172. + <0 164 4>,
  1173. + <0 165 4>,
  1174. + <0 166 4>,
  1175. + <0 167 4>,
  1176. + <0 168 4>,
  1177. + <0 169 4>,
  1178. + <0 170 4>,
  1179. + <0 171 4>,
  1180. + <0 172 4>,
  1181. + <0 173 4>,
  1182. + <0 174 4>,
  1183. + <0 175 4>,
  1184. + <0 176 4>,
  1185. + <0 177 4>,
  1186. + <0 178 4>,
  1187. + <0 179 4>,
  1188. + <0 180 4>,
  1189. + <0 181 4>,
  1190. + <0 182 4>,
  1191. + <0 183 4>,
  1192. + <0 184 4>,
  1193. + <0 185 4>,
  1194. + <0 186 4>,
  1195. + <0 187 4>,
  1196. + <0 188 4>,
  1197. + <0 189 4>,
  1198. + <0 190 4>,
  1199. + <0 191 4>,
  1200. + <0 192 4>,
  1201. + <0 193 4>,
  1202. + <0 194 4>,
  1203. + <0 195 4>,
  1204. + <0 196 4>,
  1205. + <0 197 4>,
  1206. + <0 198 4>,
  1207. + <0 199 4>,
  1208. + <0 200 4>,
  1209. + <0 201 4>,
  1210. + <0 202 4>,
  1211. + <0 203 4>,
  1212. + <0 204 4>,
  1213. + <0 205 4>,
  1214. + <0 206 4>,
  1215. + <0 207 4>,
  1216. + <0 208 4>,
  1217. + <0 209 4>;
  1218. + mmu-masters = <&fsl_mc 0x300 0>;
  1219. + };
  1220. +
  1221. + timer {
  1222. + compatible = "arm,armv8-timer";
  1223. + interrupts = <1 13 0x1>, /* Physical Secure PPI, edge triggered */
  1224. + <1 14 0x1>, /* Physical Non-Secure PPI, edge triggered */
  1225. + <1 11 0x1>, /* Virtual PPI, edge triggered */
  1226. + <1 10 0x1>; /* Hypervisor PPI, edge triggered */
  1227. + arm,reread-timer;
  1228. + fsl,erratum-a008585;
  1229. + };
  1230. +
  1231. + fsl_mc: fsl-mc@80c000000 {
  1232. + compatible = "fsl,qoriq-mc";
  1233. + #stream-id-cells = <2>;
  1234. + reg = <0x00000008 0x0c000000 0 0x40>, /* MC portal base */
  1235. + <0x00000000 0x08340000 0 0x40000>; /* MC control reg */
  1236. + msi-parent = <&its>;
  1237. + #address-cells = <3>;
  1238. + #size-cells = <1>;
  1239. +
  1240. + /*
  1241. + * Region type 0x0 - MC portals
  1242. + * Region type 0x1 - QBMAN portals
  1243. + */
  1244. + ranges = <0x0 0x0 0x0 0x8 0x0c000000 0x4000000
  1245. + 0x1 0x0 0x0 0x8 0x18000000 0x8000000>;
  1246. +
  1247. + /*
  1248. + * Define the maximum number of MACs present on the SoC.
  1249. + * They won't necessarily be all probed, since the
  1250. + * Data Path Layout file and the MC firmware can put fewer
  1251. + * actual DPMAC objects on the MC bus.
  1252. + */
  1253. + dpmacs {
  1254. + #address-cells = <1>;
  1255. + #size-cells = <0>;
  1256. +
  1257. + dpmac1: dpmac@1 {
  1258. + compatible = "fsl,qoriq-mc-dpmac";
  1259. + reg = <1>;
  1260. + };
  1261. + dpmac2: dpmac@2 {
  1262. + compatible = "fsl,qoriq-mc-dpmac";
  1263. + reg = <2>;
  1264. + };
  1265. + dpmac3: dpmac@3 {
  1266. + compatible = "fsl,qoriq-mc-dpmac";
  1267. + reg = <3>;
  1268. + };
  1269. + dpmac4: dpmac@4 {
  1270. + compatible = "fsl,qoriq-mc-dpmac";
  1271. + reg = <4>;
  1272. + };
  1273. + dpmac5: dpmac@5 {
  1274. + compatible = "fsl,qoriq-mc-dpmac";
  1275. + reg = <5>;
  1276. + };
  1277. + dpmac6: dpmac@6 {
  1278. + compatible = "fsl,qoriq-mc-dpmac";
  1279. + reg = <6>;
  1280. + };
  1281. + dpmac7: dpmac@7 {
  1282. + compatible = "fsl,qoriq-mc-dpmac";
  1283. + reg = <7>;
  1284. + };
  1285. + dpmac8: dpmac@8 {
  1286. + compatible = "fsl,qoriq-mc-dpmac";
  1287. + reg = <8>;
  1288. + };
  1289. + dpmac9: dpmac@9 {
  1290. + compatible = "fsl,qoriq-mc-dpmac";
  1291. + reg = <9>;
  1292. + };
  1293. + dpmac10: dpmac@10 {
  1294. + compatible = "fsl,qoriq-mc-dpmac";
  1295. + reg = <0xa>;
  1296. + };
  1297. + dpmac11: dpmac@11 {
  1298. + compatible = "fsl,qoriq-mc-dpmac";
  1299. + reg = <0xb>;
  1300. + };
  1301. + dpmac12: dpmac@12 {
  1302. + compatible = "fsl,qoriq-mc-dpmac";
  1303. + reg = <0xc>;
  1304. + };
  1305. + dpmac13: dpmac@13 {
  1306. + compatible = "fsl,qoriq-mc-dpmac";
  1307. + reg = <0xd>;
  1308. + };
  1309. + dpmac14: dpmac@14 {
  1310. + compatible = "fsl,qoriq-mc-dpmac";
  1311. + reg = <0xe>;
  1312. + };
  1313. + dpmac15: dpmac@15 {
  1314. + compatible = "fsl,qoriq-mc-dpmac";
  1315. + reg = <0xf>;
  1316. + };
  1317. + dpmac16: dpmac@16 {
  1318. + compatible = "fsl,qoriq-mc-dpmac";
  1319. + reg = <0x10>;
  1320. + };
  1321. + };
  1322. + };
  1323. +
  1324. + ccn@4000000 {
  1325. + compatible = "arm,ccn-504";
  1326. + reg = <0x0 0x04000000 0x0 0x01000000>;
  1327. + interrupts = <0 12 4>;
  1328. + };
  1329. +
  1330. + memory@80000000 {
  1331. + device_type = "memory";
  1332. + reg = <0x00000000 0x80000000 0 0x80000000>;
  1333. + /* DRAM space 1 - 2 GB DRAM */
  1334. + };
  1335. +};