3131-arm64-ls1046a-add-DTS-for-Freescale-LS1046A-SoC.patch 26 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056
  1. From 80ca93f1a5590529e39560099a71edb03897050e Mon Sep 17 00:00:00 2001
  2. From: Mingkai Hu <mingkai.hu@nxp.com>
  3. Date: Wed, 11 May 2016 11:29:51 +0800
  4. Subject: [PATCH 131/141] arm64/ls1046a: add DTS for Freescale LS1046A SoC
  5. LS1046a is an SoC with 4 ARMv8 A72 cores and most other IP blocks
  6. similar to LS1043a which complies to Chassis 2.1 spec.
  7. Following levels of DTSI/DTS files have been created for the
  8. LS1046A SoC family:
  9. - fsl-ls1046a.dtsi:
  10. DTS-Include file for FSL LS1046A SoC.
  11. Signed-off-by: Gong Qianyu <Qianyu.Gong@nxp.com>
  12. Signed-off-by: Minghuan Lian <Minghuan.Lian@nxp.com>
  13. Signed-off-by: Hou Zhiqiang <Zhiqiang.Hou@nxp.com>
  14. Signed-off-by: Mihai Bantea <mihai.bantea@freescale.com>
  15. Signed-off-by: Mingkai Hu <mingkai.hu@nxp.com>
  16. ---
  17. arch/arm64/boot/dts/freescale/fsl-ls1046a.dtsi | 1029 ++++++++++++++++++++++++
  18. 1 file changed, 1029 insertions(+)
  19. create mode 100644 arch/arm64/boot/dts/freescale/fsl-ls1046a.dtsi
  20. --- /dev/null
  21. +++ b/arch/arm64/boot/dts/freescale/fsl-ls1046a.dtsi
  22. @@ -0,0 +1,1029 @@
  23. +/*
  24. + * Device Tree Include file for Freescale Layerscape-1046A family SoC.
  25. + *
  26. + * Copyright 2016, Freescale Semiconductor
  27. + *
  28. + * Mingkai Hu <mingkai.hu@nxp.com>
  29. + *
  30. + * This file is dual-licensed: you can use it either under the terms
  31. + * of the GPLv2 or the X11 license, at your option. Note that this dual
  32. + * licensing only applies to this file, and not this project as a
  33. + * whole.
  34. + *
  35. + * a) This library is free software; you can redistribute it and/or
  36. + * modify it under the terms of the GNU General Public License as
  37. + * published by the Free Software Foundation; either version 2 of the
  38. + * License, or (at your option) any later version.
  39. + *
  40. + * This library is distributed in the hope that it will be useful,
  41. + * but WITHOUT ANY WARRANTY; without even the implied warranty of
  42. + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  43. + * GNU General Public License for more details.
  44. + *
  45. + * Or, alternatively,
  46. + *
  47. + * b) Permission is hereby granted, free of charge, to any person
  48. + * obtaining a copy of this software and associated documentation
  49. + * files (the "Software"), to deal in the Software without
  50. + * restriction, including without limitation the rights to use,
  51. + * copy, modify, merge, publish, distribute, sublicense, and/or
  52. + * sell copies of the Software, and to permit persons to whom the
  53. + * Software is furnished to do so, subject to the following
  54. + * conditions:
  55. + *
  56. + * The above copyright notice and this permission notice shall be
  57. + * included in all copies or substantial portions of the Software.
  58. + *
  59. + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
  60. + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
  61. + * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
  62. + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
  63. + * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
  64. + * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
  65. + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
  66. + * OTHER DEALINGS IN THE SOFTWARE.
  67. + */
  68. +
  69. +/ {
  70. + compatible = "fsl,ls1046a";
  71. + interrupt-parent = <&gic>;
  72. + #address-cells = <2>;
  73. + #size-cells = <2>;
  74. +
  75. + aliases {
  76. + ethernet0 = &fm1mac1;
  77. + ethernet1 = &fm1mac2;
  78. + ethernet2 = &fm1mac3;
  79. + ethernet3 = &fm1mac4;
  80. + ethernet4 = &fm1mac5;
  81. + ethernet5 = &fm1mac6;
  82. + ethernet6 = &fm1mac9;
  83. + };
  84. +
  85. + cpus {
  86. + #address-cells = <1>;
  87. + #size-cells = <0>;
  88. +
  89. + cpu0: cpu@0 {
  90. + device_type = "cpu";
  91. + compatible = "arm,cortex-a72";
  92. + reg = <0x0>;
  93. + clocks = <&clockgen 1 0>;
  94. + next-level-cache = <&l2>;
  95. + };
  96. +
  97. + cpu1: cpu@1 {
  98. + device_type = "cpu";
  99. + compatible = "arm,cortex-a72";
  100. + reg = <0x1>;
  101. + clocks = <&clockgen 1 0>;
  102. + next-level-cache = <&l2>;
  103. + };
  104. +
  105. + cpu2: cpu@2 {
  106. + device_type = "cpu";
  107. + compatible = "arm,cortex-a72";
  108. + reg = <0x2>;
  109. + clocks = <&clockgen 1 0>;
  110. + next-level-cache = <&l2>;
  111. + };
  112. +
  113. + cpu3: cpu@3 {
  114. + device_type = "cpu";
  115. + compatible = "arm,cortex-a72";
  116. + reg = <0x3>;
  117. + clocks = <&clockgen 1 0>;
  118. + next-level-cache = <&l2>;
  119. + };
  120. +
  121. + l2: l2-cache {
  122. + compatible = "cache";
  123. + };
  124. + };
  125. +
  126. + memory@80000000 {
  127. + device_type = "memory";
  128. + reg = <0x0 0x80000000 0 0x80000000>;
  129. + /* DRAM space 1, size: 2GiB DRAM */
  130. + };
  131. +
  132. + sysclk: sysclk {
  133. + compatible = "fixed-clock";
  134. + #clock-cells = <0>;
  135. + clock-frequency = <100000000>;
  136. + clock-output-names = "sysclk";
  137. + };
  138. +
  139. + timer {
  140. + compatible = "arm,armv8-timer";
  141. + interrupts = <1 13 0x1>, /* Physical Secure PPI */
  142. + <1 14 0x1>, /* Physical Non-Secure PPI */
  143. + <1 11 0x1>, /* Virtual PPI */
  144. + <1 10 0x1>; /* Hypervisor PPI */
  145. + arm,reread-timer;
  146. + };
  147. +
  148. + pmu {
  149. + compatible = "arm,armv8-pmuv3";
  150. + interrupts = <0 106 0x4>,
  151. + <0 107 0x4>,
  152. + <0 95 0x4>,
  153. + <0 97 0x4>;
  154. + interrupt-affinity = <&cpu0>,
  155. + <&cpu1>,
  156. + <&cpu2>,
  157. + <&cpu3>;
  158. + };
  159. +
  160. + gic: interrupt-controller@1400000 {
  161. + compatible = "arm,gic-400";
  162. + #interrupt-cells = <3>;
  163. + interrupt-controller;
  164. + reg = <0x0 0x1410000 0 0x10000>, /* GICD */
  165. + <0x0 0x1420000 0 0x20000>, /* GICC */
  166. + <0x0 0x1440000 0 0x20000>, /* GICH */
  167. + <0x0 0x1460000 0 0x20000>; /* GICV */
  168. + interrupts = <1 9 0xf08>;
  169. + };
  170. +
  171. + soc {
  172. + compatible = "simple-bus";
  173. + #address-cells = <2>;
  174. + #size-cells = <2>;
  175. + ranges;
  176. +
  177. + clockgen: clocking@1ee1000 {
  178. + compatible = "fsl,ls1046a-clockgen";
  179. + reg = <0x0 0x1ee1000 0x0 0x1000>;
  180. + #clock-cells = <2>;
  181. + clocks = <&sysclk>;
  182. + };
  183. +
  184. + scfg: scfg@1570000 {
  185. + compatible = "fsl,ls1046a-scfg", "syscon";
  186. + reg = <0x0 0x1570000 0x0 0x10000>;
  187. + big-endian;
  188. + };
  189. +
  190. + reset: reset@1ee00b0 {
  191. + compatible = "fsl,ls-reset";
  192. + reg = <0x0 0x1ee00b0 0x0 0x4>;
  193. + big-endian;
  194. + };
  195. +
  196. + rcpm: rcpm@1ee2000 {
  197. + compatible = "fsl,ls1046a-rcpm", "fsl,qoriq-rcpm-2.1";
  198. + reg = <0x0 0x1ee2000 0x0 0x10000>;
  199. + };
  200. +
  201. + ifc: ifc@1530000 {
  202. + compatible = "fsl,ifc", "simple-bus";
  203. + reg = <0x0 0x1530000 0x0 0x10000>;
  204. + interrupts = <0 43 0x4>;
  205. + };
  206. +
  207. + esdhc: esdhc@1560000 {
  208. + compatible = "fsl,ls1046a-esdhc", "fsl,esdhc";
  209. + reg = <0x0 0x1560000 0x0 0x10000>;
  210. + interrupts = <0 62 0x4>;
  211. + clock-frequency = <0>;
  212. + voltage-ranges = <1800 1800 3300 3300>;
  213. + sdhci,auto-cmd12;
  214. + big-endian;
  215. + bus-width = <4>;
  216. + };
  217. +
  218. + qman: qman@1880000 {
  219. + compatible = "fsl,qman";
  220. + reg = <0x00 0x1880000 0x0 0x10000>;
  221. + interrupts = <0 45 0x4>;
  222. + };
  223. +
  224. + bman: bman@1890000 {
  225. + compatible = "fsl,bman";
  226. + reg = <0x00 0x1890000 0x0 0x10000>;
  227. + interrupts = <0 45 0x4>;
  228. + };
  229. +
  230. + fman0: fman@1a00000 {
  231. + #address-cells = <1>;
  232. + #size-cells = <1>;
  233. + cell-index = <0>;
  234. + compatible = "fsl,fman", "simple-bus";
  235. + ranges = <0x0 0x00 0x1a00000 0x100000>;
  236. + reg = <0x00 0x1a00000 0x0 0x100000>;
  237. + interrupts = <0 44 0x4>, <0 45 0x4>;
  238. + clocks = <&clockgen 3 0>;
  239. + clock-names = "fmanclk";
  240. +
  241. + cc {
  242. + compatible = "fsl,fman-cc";
  243. + };
  244. +
  245. + muram@0 {
  246. + compatible = "fsl,fman-muram";
  247. + reg = <0x0 0x60000>;
  248. + };
  249. +
  250. + bmi@80000 {
  251. + compatible = "fsl,fman-bmi";
  252. + reg = <0x80000 0x400>;
  253. + };
  254. +
  255. + qmi@80400 {
  256. + compatible = "fsl,fman-qmi";
  257. + reg = <0x80400 0x400>;
  258. + };
  259. +
  260. + fman0_oh1: port@82000 {
  261. + cell-index = <0>;
  262. + compatible = "fsl,fman-port-oh";
  263. + reg = <0x82000 0x1000>;
  264. + };
  265. +
  266. + fman0_oh2: port@83000 {
  267. + cell-index = <1>;
  268. + compatible = "fsl,fman-port-oh";
  269. + reg = <0x83000 0x1000>;
  270. + };
  271. +
  272. + fman0_oh3: port@84000 {
  273. + cell-index = <2>;
  274. + compatible = "fsl,fman-port-oh";
  275. + reg = <0x84000 0x1000>;
  276. + };
  277. +
  278. + fman0_oh4: port@85000 {
  279. + cell-index = <3>;
  280. + compatible = "fsl,fman-port-oh";
  281. + reg = <0x85000 0x1000>;
  282. + };
  283. +
  284. + fman0_oh5: port@86000 {
  285. + cell-index = <4>;
  286. + compatible = "fsl,fman-port-oh";
  287. + reg = <0x86000 0x1000>;
  288. + };
  289. +
  290. + fman0_oh6: port@87000 {
  291. + cell-index = <5>;
  292. + compatible = "fsl,fman-port-oh";
  293. + reg = <0x87000 0x1000>;
  294. + };
  295. +
  296. + policer@c0000 {
  297. + compatible = "fsl,fman-policer";
  298. + reg = <0xc0000 0x1000>;
  299. + };
  300. +
  301. + keygen@c1000 {
  302. + compatible = "fsl,fman-keygen";
  303. + reg = <0xc1000 0x1000>;
  304. + };
  305. +
  306. + dma@c2000 {
  307. + compatible = "fsl,fman-dma";
  308. + reg = <0xc2000 0x1000>;
  309. + };
  310. +
  311. + fpm@c3000 {
  312. + compatible = "fsl,fman-fpm";
  313. + reg = <0xc3000 0x1000>;
  314. + };
  315. +
  316. + parser@c7000 {
  317. + compatible = "fsl,fman-parser";
  318. + reg = <0xc7000 0x1000>;
  319. + };
  320. +
  321. + vsps@dc000 {
  322. + compatible = "fsl,fman-vsps";
  323. + reg = <0xdc000 0x1000>;
  324. + };
  325. +
  326. + mdio0: mdio@fc000 {
  327. + #address-cells = <1>;
  328. + #size-cells = <0>;
  329. + compatible = "fsl,fman-memac-mdio";
  330. + reg = <0xfc000 0x1000>;
  331. + };
  332. +
  333. + xmdio0: mdio@fd000 {
  334. + #address-cells = <1>;
  335. + #size-cells = <0>;
  336. + compatible = "fsl,fman-memac-mdio";
  337. + reg = <0xfd000 0x1000>;
  338. + };
  339. +
  340. + fman0_rx0: port@88000 {
  341. + cell-index = <0>;
  342. + compatible = "fsl,fman-port-1g-rx";
  343. + reg = <0x88000 0x1000>;
  344. + };
  345. +
  346. + fman0_tx0: port@a8000 {
  347. + cell-index = <0>;
  348. + compatible = "fsl,fman-port-1g-tx";
  349. + reg = <0xa8000 0x1000>;
  350. + };
  351. +
  352. + fm1mac1: ethernet@e0000 {
  353. + cell-index = <0>;
  354. + compatible = "fsl,fman-memac";
  355. + reg = <0xe0000 0x1000>;
  356. + fsl,port-handles = <&fman0_rx0 &fman0_tx0>;
  357. + ptimer-handle = <&ptp_timer0>;
  358. + };
  359. +
  360. + mdio@e1000 {
  361. + #address-cells = <1>;
  362. + #size-cells = <0>;
  363. + compatible = "fsl,fman-memac-mdio";
  364. + reg = <0xe1000 0x1000>;
  365. + };
  366. +
  367. + fman0_rx1: port@89000 {
  368. + cell-index = <1>;
  369. + compatible = "fsl,fman-port-1g-rx";
  370. + reg = <0x89000 0x1000>;
  371. + };
  372. +
  373. + fman0_tx1: port@a9000 {
  374. + cell-index = <1>;
  375. + compatible = "fsl,fman-port-1g-tx";
  376. + reg = <0xa9000 0x1000>;
  377. + };
  378. +
  379. + fm1mac2: ethernet@e2000 {
  380. + cell-index = <1>;
  381. + compatible = "fsl,fman-memac";
  382. + reg = <0xe2000 0x1000>;
  383. + fsl,port-handles = <&fman0_rx1 &fman0_tx1>;
  384. + ptimer-handle = <&ptp_timer0>;
  385. + };
  386. +
  387. + mdio@e3000 {
  388. + #address-cells = <1>;
  389. + #size-cells = <0>;
  390. + compatible = "fsl,fman-memac-mdio";
  391. + reg = <0xe3000 0x1000>;
  392. + };
  393. +
  394. + fman0_rx2: port@8a000 {
  395. + cell-index = <2>;
  396. + compatible = "fsl,fman-port-1g-rx";
  397. + reg = <0x8a000 0x1000>;
  398. + };
  399. +
  400. + fman0_tx2: port@aa000 {
  401. + cell-index = <2>;
  402. + compatible = "fsl,fman-port-1g-tx";
  403. + reg = <0xaa000 0x1000>;
  404. + };
  405. +
  406. + fm1mac3: ethernet@e4000 {
  407. + cell-index = <2>;
  408. + compatible = "fsl,fman-memac";
  409. + reg = <0xe4000 0x1000>;
  410. + fsl,port-handles = <&fman0_rx2 &fman0_tx2>;
  411. + ptimer-handle = <&ptp_timer0>;
  412. + };
  413. +
  414. + mdio@e5000 {
  415. + #address-cells = <1>;
  416. + #size-cells = <0>;
  417. + compatible = "fsl,fman-memac-mdio";
  418. + reg = <0xe5000 0x1000>;
  419. + };
  420. +
  421. + fman0_rx3: port@8b000 {
  422. + cell-index = <3>;
  423. + compatible = "fsl,fman-port-1g-rx";
  424. + reg = <0x8b000 0x1000>;
  425. + };
  426. +
  427. + fman0_tx3: port@ab000 {
  428. + cell-index = <3>;
  429. + compatible = "fsl,fman-port-1g-tx";
  430. + reg = <0xab000 0x1000>;
  431. + };
  432. +
  433. + fm1mac4: ethernet@e6000 {
  434. + cell-index = <3>;
  435. + compatible = "fsl,fman-memac";
  436. + reg = <0xe6000 0x1000>;
  437. + fsl,port-handles = <&fman0_rx3 &fman0_tx3>;
  438. + ptimer-handle = <&ptp_timer0>;
  439. + };
  440. +
  441. + mdio@e7000 {
  442. + #address-cells = <1>;
  443. + #size-cells = <0>;
  444. + compatible = "fsl,fman-memac-mdio";
  445. + reg = <0xe7000 0x1000>;
  446. + };
  447. +
  448. + fman0_rx4: port@8c000 {
  449. + cell-index = <4>;
  450. + compatible = "fsl,fman-port-1g-rx";
  451. + reg = <0x8c000 0x1000>;
  452. + };
  453. +
  454. + fman0_tx4: port@ac000 {
  455. + cell-index = <4>;
  456. + compatible = "fsl,fman-port-1g-tx";
  457. + reg = <0xac000 0x1000>;
  458. + };
  459. +
  460. + fm1mac5: ethernet@e8000 {
  461. + cell-index = <4>;
  462. + compatible = "fsl,fman-memac";
  463. + reg = <0xe8000 0x1000>;
  464. + fsl,port-handles = <&fman0_rx4 &fman0_tx4>;
  465. + ptimer-handle = <&ptp_timer0>;
  466. + };
  467. +
  468. + mdio@e9000 {
  469. + #address-cells = <1>;
  470. + #size-cells = <0>;
  471. + compatible = "fsl,fman-memac-mdio";
  472. + reg = <0xe9000 0x1000>;
  473. + };
  474. +
  475. + fman0_rx5: port@8d000 {
  476. + cell-index = <5>;
  477. + compatible = "fsl,fman-port-1g-rx";
  478. + reg = <0x8d000 0x1000>;
  479. + };
  480. +
  481. + fman0_tx5: port@ad000 {
  482. + cell-index = <5>;
  483. + compatible = "fsl,fman-port-1g-tx";
  484. + reg = <0xad000 0x1000>;
  485. + };
  486. +
  487. + fm1mac6: ethernet@ea000 {
  488. + cell-index = <5>;
  489. + compatible = "fsl,fman-memac";
  490. + reg = <0xea000 0x1000>;
  491. + fsl,port-handles = <&fman0_rx5 &fman0_tx5>;
  492. + ptimer-handle = <&ptp_timer0>;
  493. + };
  494. +
  495. + mdio@eb000 {
  496. + #address-cells = <1>;
  497. + #size-cells = <0>;
  498. + compatible = "fsl,fman-memac-mdio";
  499. + reg = <0xeb000 0x1000>;
  500. + };
  501. +
  502. + fman0_10g_rx0: port@90000 {
  503. + cell-index = <0>;
  504. + compatible = "fsl,fman-port-10g-rx";
  505. + reg = <0x90000 0x1000>;
  506. + };
  507. +
  508. + fman0_10g_tx0: port@b0000 {
  509. + cell-index = <0>;
  510. + compatible = "fsl,fman-port-10g-tx";
  511. + reg = <0xb0000 0x1000>;
  512. + fsl,qman-channel-id = <0x800>;
  513. + };
  514. +
  515. + fm1mac9: ethernet@f0000 {
  516. + cell-index = <0>;
  517. + compatible = "fsl,fman-memac";
  518. + reg = <0xf0000 0x1000>;
  519. + fsl,port-handles = <&fman0_10g_rx0 &fman0_10g_tx0>;
  520. + };
  521. +
  522. + mdio@f1000 {
  523. + #address-cells = <1>;
  524. + #size-cells = <0>;
  525. + compatible = "fsl,fman-memac-mdio";
  526. + reg = <0xf1000 0x1000>;
  527. + };
  528. +
  529. + ptp_timer0: rtc@fe000 {
  530. + compatible = "fsl,fman-rtc";
  531. + reg = <0xfe000 0x1000>;
  532. + };
  533. + };
  534. +
  535. + dspi: dspi@2100000 {
  536. + compatible = "fsl,ls1046a-dspi", "fsl,ls1021a-v1.0-dspi";
  537. + #address-cells = <1>;
  538. + #size-cells = <0>;
  539. + reg = <0x0 0x2100000 0x0 0x10000>;
  540. + interrupts = <0 64 0x4>;
  541. + clock-names = "dspi";
  542. + clocks = <&clockgen 4 1>;
  543. + spi-num-chipselects = <5>;
  544. + big-endian;
  545. + status = "disabled";
  546. + };
  547. +
  548. + qspi: quadspi@1550000 {
  549. + compatible = "fsl,ls1046a-qspi", "fsl,ls1021a-qspi";
  550. + #address-cells = <1>;
  551. + #size-cells = <0>;
  552. + reg = <0x0 0x1550000 0x0 0x10000>,
  553. + <0x0 0x40000000 0x0 0x10000000>;
  554. + reg-names = "QuadSPI", "QuadSPI-memory";
  555. + interrupts = <0 99 0x4>;
  556. + clock-names = "qspi_en", "qspi";
  557. + clocks = <&clockgen 4 1>, <&clockgen 4 1>;
  558. + big-endian;
  559. + fsl,qspi-has-second-chip;
  560. + status = "disabled";
  561. + };
  562. +
  563. + i2c0: i2c@2180000 {
  564. + compatible = "fsl,vf610-i2c";
  565. + #address-cells = <1>;
  566. + #size-cells = <0>;
  567. + reg = <0x0 0x2180000 0x0 0x10000>;
  568. + interrupts = <0 56 0x4>;
  569. + clock-names = "i2c";
  570. + clocks = <&clockgen 4 1>;
  571. + dmas = <&edma0 1 39>,
  572. + <&edma0 1 38>;
  573. + dma-names = "tx", "rx";
  574. + status = "disabled";
  575. + };
  576. +
  577. + i2c1: i2c@2190000 {
  578. + compatible = "fsl,vf610-i2c";
  579. + #address-cells = <1>;
  580. + #size-cells = <0>;
  581. + reg = <0x0 0x2190000 0x0 0x10000>;
  582. + interrupts = <0 57 0x4>;
  583. + clock-names = "i2c";
  584. + clocks = <&clockgen 4 1>;
  585. + status = "disabled";
  586. + };
  587. +
  588. + i2c2: i2c@21a0000 {
  589. + compatible = "fsl,vf610-i2c";
  590. + #address-cells = <1>;
  591. + #size-cells = <0>;
  592. + reg = <0x0 0x21a0000 0x0 0x10000>;
  593. + interrupts = <0 58 0x4>;
  594. + clock-names = "i2c";
  595. + clocks = <&clockgen 4 1>;
  596. + status = "disabled";
  597. + };
  598. +
  599. + i2c3: i2c@21b0000 {
  600. + compatible = "fsl,vf610-i2c";
  601. + #address-cells = <1>;
  602. + #size-cells = <0>;
  603. + reg = <0x0 0x21b0000 0x0 0x10000>;
  604. + interrupts = <0 59 0x4>;
  605. + clock-names = "i2c";
  606. + clocks = <&clockgen 4 1>;
  607. + status = "disabled";
  608. + };
  609. +
  610. + duart0: serial@21c0500 {
  611. + compatible = "fsl,ns16550", "ns16550a";
  612. + reg = <0x00 0x21c0500 0x0 0x100>;
  613. + interrupts = <0 54 0x4>;
  614. + clocks = <&clockgen 4 1>;
  615. + };
  616. +
  617. + duart1: serial@21c0600 {
  618. + compatible = "fsl,ns16550", "ns16550a";
  619. + reg = <0x00 0x21c0600 0x0 0x100>;
  620. + interrupts = <0 54 0x4>;
  621. + clocks = <&clockgen 4 1>;
  622. + };
  623. +
  624. + duart2: serial@21d0500 {
  625. + compatible = "fsl,ns16550", "ns16550a";
  626. + reg = <0x0 0x21d0500 0x0 0x100>;
  627. + interrupts = <0 55 0x4>;
  628. + clocks = <&clockgen 4 1>;
  629. + };
  630. +
  631. + duart3: serial@21d0600 {
  632. + compatible = "fsl,ns16550", "ns16550a";
  633. + reg = <0x0 0x21d0600 0x0 0x100>;
  634. + interrupts = <0 55 0x4>;
  635. + clocks = <&clockgen 4 1>;
  636. + };
  637. +
  638. + gpio0: gpio@2300000 {
  639. + compatible = "fsl,qoriq-gpio";
  640. + reg = <0x0 0x2300000 0x0 0x10000>;
  641. + interrupts = <0 66 0x4>;
  642. + gpio-controller;
  643. + #gpio-cells = <2>;
  644. + interrupt-controller;
  645. + #interrupt-cells = <2>;
  646. + };
  647. +
  648. + gpio1: gpio@2310000 {
  649. + compatible = "fsl,qoriq-gpio";
  650. + reg = <0x0 0x2310000 0x0 0x10000>;
  651. + interrupts = <0 67 0x4>;
  652. + gpio-controller;
  653. + #gpio-cells = <2>;
  654. + interrupt-controller;
  655. + #interrupt-cells = <2>;
  656. + };
  657. +
  658. + gpio2: gpio@2320000 {
  659. + compatible = "fsl,qoriq-gpio";
  660. + reg = <0x0 0x2320000 0x0 0x10000>;
  661. + interrupts = <0 68 0x4>;
  662. + gpio-controller;
  663. + #gpio-cells = <2>;
  664. + interrupt-controller;
  665. + #interrupt-cells = <2>;
  666. + };
  667. +
  668. + gpio3: gpio@2330000 {
  669. + compatible = "fsl,qoriq-gpio";
  670. + reg = <0x0 0x2330000 0x0 0x10000>;
  671. + interrupts = <0 134 0x4>;
  672. + gpio-controller;
  673. + #gpio-cells = <2>;
  674. + interrupt-controller;
  675. + #interrupt-cells = <2>;
  676. + };
  677. +
  678. + lpuart0: serial@2950000 {
  679. + compatible = "fsl,ls1021a-lpuart";
  680. + reg = <0x0 0x2950000 0x0 0x1000>;
  681. + interrupts = <0 48 0x4>;
  682. + clocks = <&clockgen 0 0>;
  683. + clock-names = "ipg";
  684. + status = "disabled";
  685. + };
  686. +
  687. + lpuart1: serial@2960000 {
  688. + compatible = "fsl,ls1021a-lpuart";
  689. + reg = <0x0 0x2960000 0x0 0x1000>;
  690. + interrupts = <0 49 0x4>;
  691. + clocks = <&clockgen 4 1>;
  692. + clock-names = "ipg";
  693. + status = "disabled";
  694. + };
  695. +
  696. + lpuart2: serial@2970000 {
  697. + compatible = "fsl,ls1021a-lpuart";
  698. + reg = <0x0 0x2970000 0x0 0x1000>;
  699. + interrupts = <0 50 0x4>;
  700. + clocks = <&clockgen 4 1>;
  701. + clock-names = "ipg";
  702. + status = "disabled";
  703. + };
  704. +
  705. + lpuart3: serial@2980000 {
  706. + compatible = "fsl,ls1021a-lpuart";
  707. + reg = <0x0 0x2980000 0x0 0x1000>;
  708. + interrupts = <0 51 0x4>;
  709. + clocks = <&clockgen 4 1>;
  710. + clock-names = "ipg";
  711. + status = "disabled";
  712. + };
  713. +
  714. + lpuart4: serial@2990000 {
  715. + compatible = "fsl,ls1021a-lpuart";
  716. + reg = <0x0 0x2990000 0x0 0x1000>;
  717. + interrupts = <0 52 0x4>;
  718. + clocks = <&clockgen 4 1>;
  719. + clock-names = "ipg";
  720. + status = "disabled";
  721. + };
  722. +
  723. + lpuart5: serial@29a0000 {
  724. + compatible = "fsl,ls1021a-lpuart";
  725. + reg = <0x0 0x29a0000 0x0 0x1000>;
  726. + interrupts = <0 53 0x4>;
  727. + clocks = <&clockgen 4 1>;
  728. + clock-names = "ipg";
  729. + status = "disabled";
  730. + };
  731. +
  732. + ftm0: ftm0@29d0000 {
  733. + compatible = "fsl,ftm-alarm";
  734. + reg = <0x0 0x29d0000 0x0 0x10000>;
  735. + interrupts = <0 86 0x4>;
  736. + big-endian;
  737. + rcpm-wakeup = <&rcpm 0x0 0x20000000>;
  738. + status = "okay";
  739. + };
  740. +
  741. + wdog0: wdog@2ad0000 {
  742. + compatible = "fsl,ls1046a-wdt", "fsl,imx21-wdt";
  743. + reg = <0x0 0x2ad0000 0x0 0x10000>;
  744. + interrupts = <0 83 0x4>;
  745. + clocks = <&clockgen 4 1>;
  746. + clock-names = "wdog";
  747. + big-endian;
  748. + };
  749. +
  750. + edma0: edma@2c00000 {
  751. + #dma-cells = <2>;
  752. + compatible = "fsl,vf610-edma";
  753. + reg = <0x0 0x2c00000 0x0 0x10000>,
  754. + <0x0 0x2c10000 0x0 0x10000>,
  755. + <0x0 0x2c20000 0x0 0x10000>;
  756. + interrupts = <0 103 0x4>,
  757. + <0 103 0x4>;
  758. + interrupt-names = "edma-tx", "edma-err";
  759. + dma-channels = <32>;
  760. + big-endian;
  761. + clock-names = "dmamux0", "dmamux1";
  762. + clocks = <&clockgen 4 1>,
  763. + <&clockgen 4 1>;
  764. + };
  765. +
  766. + usb0: usb3@2f00000 {
  767. + compatible = "snps,dwc3";
  768. + reg = <0x0 0x2f00000 0x0 0x10000>;
  769. + interrupts = <0 60 0x4>;
  770. + dr_mode = "host";
  771. + configure-gfladj;
  772. + snps,dis_rxdet_inp3_quirk;
  773. + };
  774. +
  775. + usb1: usb3@3000000 {
  776. + compatible = "snps,dwc3";
  777. + reg = <0x0 0x3000000 0x0 0x10000>;
  778. + interrupts = <0 61 0x4>;
  779. + dr_mode = "host";
  780. + configure-gfladj;
  781. + snps,dis_rxdet_inp3_quirk;
  782. + };
  783. +
  784. + usb2: usb3@3100000 {
  785. + compatible = "snps,dwc3";
  786. + reg = <0x0 0x3100000 0x0 0x10000>;
  787. + interrupts = <0 63 0x4>;
  788. + dr_mode = "host";
  789. + configure-gfladj;
  790. + snps,dis_rxdet_inp3_quirk;
  791. + };
  792. +
  793. + sata: sata@3200000 {
  794. + compatible = "fsl,ls1046a-ahci";
  795. + reg = <0x0 0x3200000 0x0 0x10000>;
  796. + interrupts = <0 69 0x4>;
  797. + clocks = <&clockgen 4 1>;
  798. + };
  799. +
  800. + qdma: qdma@8380000 {
  801. + compatible = "fsl,ls1046a-qdma", "fsl,ls1021a-qdma";
  802. + reg = <0x0 0x838f000 0x0 0x11000 /* Controller regs */
  803. + 0x0 0x83a0000 0x0 0x40000>; /* Block regs */
  804. + interrupts = <0 152 0x4>,
  805. + <0 39 0x4>;
  806. + interrupt-names = "qdma-error", "qdma-queue";
  807. + channels = <8>;
  808. + queues = <2>;
  809. + status-sizes = <64>;
  810. + queue-sizes = <64 64>;
  811. + big-endian;
  812. + };
  813. +
  814. + msi1: msi-controller@1580000 {
  815. + compatible = "fsl,1s1046a-msi";
  816. + reg = <0x0 0x1580000 0x0 0x10000>;
  817. + msi-controller;
  818. + interrupts = <0 116 0x4>,
  819. + <0 111 0x4>,
  820. + <0 112 0x4>,
  821. + <0 113 0x4>;
  822. + };
  823. +
  824. + msi2: msi-controller@1590000 {
  825. + compatible = "fsl,1s1046a-msi";
  826. + reg = <0x0 0x1590000 0x0 0x10000>;
  827. + msi-controller;
  828. + interrupts = <0 126 0x4>,
  829. + <0 121 0x4>,
  830. + <0 122 0x4>,
  831. + <0 123 0x4>;
  832. + };
  833. +
  834. + msi3: msi-controller@15a0000 {
  835. + compatible = "fsl,1s1046a-msi";
  836. + reg = <0x0 0x15a0000 0x0 0x10000>;
  837. + msi-controller;
  838. + interrupts = <0 160 0x4>,
  839. + <0 155 0x4>,
  840. + <0 156 0x4>,
  841. + <0 157 0x4>;
  842. + };
  843. +
  844. + pcie@3400000 {
  845. + compatible = "fsl,ls1046a-pcie", "snps,dw-pcie";
  846. + reg = <0x00 0x03400000 0x0 0x00100000 /* controller registers */
  847. + 0x40 0x00000000 0x0 0x00002000>; /* configuration space */
  848. + reg-names = "regs", "config";
  849. + interrupts = <0 118 0x4>, /* controller interrupt */
  850. + <0 117 0x4>; /* PME interrupt */
  851. + interrupt-names = "intr", "pme";
  852. + #address-cells = <3>;
  853. + #size-cells = <2>;
  854. + device_type = "pci";
  855. + num-lanes = <4>;
  856. + bus-range = <0x0 0xff>;
  857. + ranges = <0x81000000 0x0 0x00000000 0x40 0x00010000 0x0 0x00010000 /* downstream I/O */
  858. + 0x82000000 0x0 0x40000000 0x40 0x40000000 0x0 0x40000000>; /* non-prefetchable memory */
  859. + msi-parent = <&msi1>;
  860. + #interrupt-cells = <1>;
  861. + interrupt-map-mask = <0 0 0 7>;
  862. + interrupt-map = <0000 0 0 1 &gic 0 110 0x4>,
  863. + <0000 0 0 2 &gic 0 110 0x4>,
  864. + <0000 0 0 3 &gic 0 110 0x4>,
  865. + <0000 0 0 4 &gic 0 110 0x4>;
  866. + };
  867. +
  868. + pcie@3500000 {
  869. + compatible = "fsl,ls1046a-pcie", "snps,dw-pcie";
  870. + reg = <0x00 0x03500000 0x0 0x00100000 /* controller registers */
  871. + 0x48 0x00000000 0x0 0x00002000>; /* configuration space */
  872. + reg-names = "regs", "config";
  873. + interrupts = <0 128 0x4>,
  874. + <0 127 0x4>;
  875. + interrupt-names = "intr", "pme";
  876. + #address-cells = <3>;
  877. + #size-cells = <2>;
  878. + device_type = "pci";
  879. + num-lanes = <2>;
  880. + bus-range = <0x0 0xff>;
  881. + ranges = <0x81000000 0x0 0x00000000 0x48 0x00010000 0x0 0x00010000 /* downstream I/O */
  882. + 0x82000000 0x0 0x40000000 0x48 0x40000000 0x0 0x40000000>; /* non-prefetchable memory */
  883. + msi-parent = <&msi2>;
  884. + #interrupt-cells = <1>;
  885. + interrupt-map-mask = <0 0 0 7>;
  886. + interrupt-map = <0000 0 0 1 &gic 0 120 0x4>,
  887. + <0000 0 0 2 &gic 0 120 0x4>,
  888. + <0000 0 0 3 &gic 0 120 0x4>,
  889. + <0000 0 0 4 &gic 0 120 0x4>;
  890. + };
  891. +
  892. + pcie@3600000 {
  893. + compatible = "fsl,ls1046a-pcie", "snps,dw-pcie";
  894. + reg = <0x00 0x03600000 0x0 0x00100000 /* controller registers */
  895. + 0x50 0x00000000 0x0 0x00002000>; /* configuration space */
  896. + reg-names = "regs", "config";
  897. + interrupts = <0 162 0x4>,
  898. + <0 161 0x4>;
  899. + interrupt-names = "intr", "pme";
  900. + #address-cells = <3>;
  901. + #size-cells = <2>;
  902. + device_type = "pci";
  903. + num-lanes = <2>;
  904. + bus-range = <0x0 0xff>;
  905. + ranges = <0x81000000 0x0 0x00000000 0x50 0x00010000 0x0 0x00010000 /* downstream I/O */
  906. + 0x82000000 0x0 0x40000000 0x50 0x40000000 0x0 0x40000000>; /* non-prefetchable memory */
  907. + msi-parent = <&msi3>;
  908. + #interrupt-cells = <1>;
  909. + interrupt-map-mask = <0 0 0 7>;
  910. + interrupt-map = <0000 0 0 1 &gic 0 154 0x4>,
  911. + <0000 0 0 2 &gic 0 154 0x4>,
  912. + <0000 0 0 3 &gic 0 154 0x4>,
  913. + <0000 0 0 4 &gic 0 154 0x4>;
  914. + };
  915. + };
  916. +
  917. + fsl,dpaa {
  918. + compatible = "fsl,ls1046a-dpaa", "simple-bus", "fsl,dpaa";
  919. + ethernet@0 {
  920. + compatible = "fsl,dpa-ethernet";
  921. + fsl,fman-mac = <&fm1mac1>;
  922. + };
  923. + ethernet@1 {
  924. + compatible = "fsl,dpa-ethernet";
  925. + fsl,fman-mac = <&fm1mac2>;
  926. + };
  927. + ethernet@2 {
  928. + compatible = "fsl,dpa-ethernet";
  929. + fsl,fman-mac = <&fm1mac3>;
  930. + };
  931. + ethernet@3 {
  932. + compatible = "fsl,dpa-ethernet";
  933. + fsl,fman-mac = <&fm1mac4>;
  934. + };
  935. + ethernet@4 {
  936. + compatible = "fsl,dpa-ethernet";
  937. + fsl,fman-mac = <&fm1mac5>;
  938. + };
  939. + ethernet@5 {
  940. + compatible = "fsl,dpa-ethernet";
  941. + fsl,fman-mac = <&fm1mac6>;
  942. + };
  943. + ethernet@8 {
  944. + compatible = "fsl,dpa-ethernet";
  945. + fsl,fman-mac = <&fm1mac9>;
  946. + };
  947. + };
  948. +
  949. + qportals: qman-portals@500000000 {
  950. + ranges = <0x0 0x5 0x00000000 0x8000000>;
  951. + };
  952. + bportals: bman-portals@508000000 {
  953. + ranges = <0x0 0x5 0x08000000 0x8000000>;
  954. + };
  955. + reserved-memory {
  956. + #address-cells = <2>;
  957. + #size-cells = <2>;
  958. + ranges;
  959. +
  960. + bman_fbpr: bman-fbpr {
  961. + size = <0 0x1000000>;
  962. + alignment = <0 0x1000000>;
  963. + };
  964. + qman_fqd: qman-fqd {
  965. + size = <0 0x800000>;
  966. + alignment = <0 0x800000>;
  967. + };
  968. + qman_pfdr: qman-pfdr {
  969. + size = <0 0x2000000>;
  970. + alignment = <0 0x2000000>;
  971. + };
  972. + };
  973. +};
  974. +
  975. +&fman0 {
  976. + /* offline - 1 */
  977. + port@82000 {
  978. + fsl,qman-channel-id = <0x809>;
  979. + };
  980. +
  981. + /* tx - 10g - 2 */
  982. + port@a8000 {
  983. + fsl,qman-channel-id = <0x802>;
  984. + };
  985. + /* tx - 10g - 3 */
  986. + port@a9000 {
  987. + fsl,qman-channel-id = <0x803>;
  988. + };
  989. + /* tx - 1g - 2 */
  990. + port@aa000 {
  991. + fsl,qman-channel-id = <0x804>;
  992. + };
  993. + /* tx - 1g - 3 */
  994. + port@ab000 {
  995. + fsl,qman-channel-id = <0x805>;
  996. + };
  997. + /* tx - 1g - 4 */
  998. + port@ac000 {
  999. + fsl,qman-channel-id = <0x806>;
  1000. + };
  1001. + /* tx - 1g - 5 */
  1002. + port@ad000 {
  1003. + fsl,qman-channel-id = <0x807>;
  1004. + };
  1005. + /* tx - 10g - 0 */
  1006. + port@b0000 {
  1007. + fsl,qman-channel-id = <0x800>;
  1008. + };
  1009. + /* tx - 10g - 1 */
  1010. + port@b1000 {
  1011. + fsl,qman-channel-id = <0x801>;
  1012. + };
  1013. + /* offline - 2 */
  1014. + port@83000 {
  1015. + fsl,qman-channel-id = <0x80a>;
  1016. + };
  1017. + /* offline - 3 */
  1018. + port@84000 {
  1019. + fsl,qman-channel-id = <0x80b>;
  1020. + };
  1021. + /* offline - 4 */
  1022. + port@85000 {
  1023. + fsl,qman-channel-id = <0x80c>;
  1024. + };
  1025. + /* offline - 5 */
  1026. + port@86000 {
  1027. + fsl,qman-channel-id = <0x80d>;
  1028. + };
  1029. + /* offline - 6 */
  1030. + port@87000 {
  1031. + fsl,qman-channel-id = <0x80e>;
  1032. + };
  1033. +};
  1034. +
  1035. +&bman_fbpr {
  1036. + compatible = "fsl,bman-fbpr";
  1037. + alloc-ranges = <0 0 0x10000 0>;
  1038. +};
  1039. +
  1040. +&qman_fqd {
  1041. + compatible = "fsl,qman-fqd";
  1042. + alloc-ranges = <0 0 0x10000 0>;
  1043. +};
  1044. +
  1045. +&qman_pfdr {
  1046. + compatible = "fsl,qman-pfdr";
  1047. + alloc-ranges = <0 0 0x10000 0>;
  1048. +};
  1049. +
  1050. +/include/ "qoriq-qman1-portals.dtsi"
  1051. +/include/ "qoriq-bman1-portals.dtsi"