ls1021a.dtsi 26 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983
  1. // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
  2. /*
  3. * Copyright 2013-2014 Freescale Semiconductor, Inc.
  4. */
  5. #include <dt-bindings/interrupt-controller/arm-gic.h>
  6. #include <dt-bindings/thermal/thermal.h>
  7. / {
  8. #address-cells = <2>;
  9. #size-cells = <2>;
  10. interrupt-parent = <&gic>;
  11. aliases {
  12. crypto = &crypto;
  13. ethernet0 = &enet0;
  14. ethernet1 = &enet1;
  15. ethernet2 = &enet2;
  16. rtc1 = &ftm_alarm0;
  17. serial0 = &lpuart0;
  18. serial1 = &lpuart1;
  19. serial2 = &lpuart2;
  20. serial3 = &lpuart3;
  21. serial4 = &lpuart4;
  22. serial5 = &lpuart5;
  23. sysclk = &sysclk;
  24. };
  25. cpus {
  26. #address-cells = <1>;
  27. #size-cells = <0>;
  28. cpu0: cpu@f00 {
  29. compatible = "arm,cortex-a7";
  30. device_type = "cpu";
  31. reg = <0xf00>;
  32. clocks = <&clockgen 1 0>;
  33. #cooling-cells = <2>;
  34. };
  35. cpu1: cpu@f01 {
  36. compatible = "arm,cortex-a7";
  37. device_type = "cpu";
  38. reg = <0xf01>;
  39. clocks = <&clockgen 1 0>;
  40. #cooling-cells = <2>;
  41. };
  42. };
  43. memory@0 {
  44. device_type = "memory";
  45. reg = <0x0 0x0 0x0 0x0>;
  46. };
  47. sysclk: sysclk {
  48. compatible = "fixed-clock";
  49. #clock-cells = <0>;
  50. clock-frequency = <100000000>;
  51. clock-output-names = "sysclk";
  52. };
  53. timer {
  54. compatible = "arm,armv7-timer";
  55. interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_LOW)>,
  56. <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_LOW)>,
  57. <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_LOW)>,
  58. <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_LOW)>;
  59. };
  60. pmu {
  61. compatible = "arm,cortex-a7-pmu";
  62. interrupts = <GIC_SPI 138 IRQ_TYPE_LEVEL_HIGH>,
  63. <GIC_SPI 139 IRQ_TYPE_LEVEL_HIGH>;
  64. interrupt-affinity = <&cpu0>, <&cpu1>;
  65. };
  66. reboot {
  67. compatible = "syscon-reboot";
  68. regmap = <&dcfg>;
  69. offset = <0xb0>;
  70. mask = <0x02>;
  71. };
  72. soc {
  73. compatible = "simple-bus";
  74. #address-cells = <2>;
  75. #size-cells = <2>;
  76. device_type = "soc";
  77. interrupt-parent = <&gic>;
  78. ranges;
  79. ddr: memory-controller@1080000 {
  80. compatible = "fsl,qoriq-memory-controller";
  81. reg = <0x0 0x1080000 0x0 0x1000>;
  82. interrupts = <GIC_SPI 176 IRQ_TYPE_LEVEL_HIGH>;
  83. big-endian;
  84. };
  85. gic: interrupt-controller@1400000 {
  86. compatible = "arm,gic-400", "arm,cortex-a7-gic";
  87. #interrupt-cells = <3>;
  88. interrupt-controller;
  89. reg = <0x0 0x1401000 0x0 0x1000>,
  90. <0x0 0x1402000 0x0 0x2000>,
  91. <0x0 0x1404000 0x0 0x2000>,
  92. <0x0 0x1406000 0x0 0x2000>;
  93. interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_HIGH)>;
  94. };
  95. msi1: msi-controller@1570e00 {
  96. compatible = "fsl,ls1021a-msi";
  97. reg = <0x0 0x1570e00 0x0 0x8>;
  98. msi-controller;
  99. interrupts = <GIC_SPI 179 IRQ_TYPE_LEVEL_HIGH>;
  100. };
  101. msi2: msi-controller@1570e08 {
  102. compatible = "fsl,ls1021a-msi";
  103. reg = <0x0 0x1570e08 0x0 0x8>;
  104. msi-controller;
  105. interrupts = <GIC_SPI 180 IRQ_TYPE_LEVEL_HIGH>;
  106. };
  107. ifc: memory-controller@1530000 {
  108. compatible = "fsl,ifc";
  109. reg = <0x0 0x1530000 0x0 0x10000>;
  110. interrupts = <GIC_SPI 75 IRQ_TYPE_LEVEL_HIGH>;
  111. status = "disabled";
  112. };
  113. sfp: efuse@1e80000 {
  114. compatible = "fsl,ls1021a-sfp";
  115. reg = <0x0 0x1e80000 0x0 0x10000>;
  116. clocks = <&clockgen 4 3>;
  117. clock-names = "sfp";
  118. };
  119. dcfg: dcfg@1ee0000 {
  120. compatible = "fsl,ls1021a-dcfg", "syscon";
  121. reg = <0x0 0x1ee0000 0x0 0x1000>;
  122. big-endian;
  123. };
  124. qspi: spi@1550000 {
  125. compatible = "fsl,ls1021a-qspi";
  126. #address-cells = <1>;
  127. #size-cells = <0>;
  128. reg = <0x0 0x1550000 0x0 0x10000>,
  129. <0x0 0x40000000 0x0 0x20000000>;
  130. reg-names = "QuadSPI", "QuadSPI-memory";
  131. interrupts = <GIC_SPI 131 IRQ_TYPE_LEVEL_HIGH>;
  132. clock-names = "qspi_en", "qspi";
  133. clocks = <&clockgen 4 1>, <&clockgen 4 1>;
  134. status = "disabled";
  135. };
  136. esdhc: esdhc@1560000 {
  137. compatible = "fsl,ls1021a-esdhc", "fsl,esdhc";
  138. reg = <0x0 0x1560000 0x0 0x10000>;
  139. interrupts = <GIC_SPI 94 IRQ_TYPE_LEVEL_HIGH>;
  140. clock-frequency = <0>;
  141. voltage-ranges = <1800 1800 3300 3300>;
  142. sdhci,auto-cmd12;
  143. big-endian;
  144. bus-width = <4>;
  145. status = "disabled";
  146. };
  147. sata: sata@3200000 {
  148. compatible = "fsl,ls1021a-ahci";
  149. reg = <0x0 0x3200000 0x0 0x10000>,
  150. <0x0 0x20220520 0x0 0x4>;
  151. reg-names = "ahci", "sata-ecc";
  152. interrupts = <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>;
  153. clocks = <&clockgen 4 1>;
  154. dma-coherent;
  155. status = "disabled";
  156. };
  157. scfg: scfg@1570000 {
  158. compatible = "fsl,ls1021a-scfg", "syscon";
  159. reg = <0x0 0x1570000 0x0 0x10000>;
  160. big-endian;
  161. #address-cells = <1>;
  162. #size-cells = <1>;
  163. ranges = <0x0 0x0 0x1570000 0x10000>;
  164. extirq: interrupt-controller@1ac {
  165. compatible = "fsl,ls1021a-extirq";
  166. #interrupt-cells = <2>;
  167. #address-cells = <0>;
  168. interrupt-controller;
  169. reg = <0x1ac 4>;
  170. interrupt-map =
  171. <0 0 &gic GIC_SPI 163 IRQ_TYPE_LEVEL_HIGH>,
  172. <1 0 &gic GIC_SPI 164 IRQ_TYPE_LEVEL_HIGH>,
  173. <2 0 &gic GIC_SPI 165 IRQ_TYPE_LEVEL_HIGH>,
  174. <3 0 &gic GIC_SPI 167 IRQ_TYPE_LEVEL_HIGH>,
  175. <4 0 &gic GIC_SPI 168 IRQ_TYPE_LEVEL_HIGH>,
  176. <5 0 &gic GIC_SPI 169 IRQ_TYPE_LEVEL_HIGH>;
  177. interrupt-map-mask = <0x7 0x0>;
  178. };
  179. };
  180. crypto: crypto@1700000 {
  181. compatible = "fsl,sec-v5.0", "fsl,sec-v4.0";
  182. fsl,sec-era = <7>;
  183. #address-cells = <1>;
  184. #size-cells = <1>;
  185. reg = <0x0 0x1700000 0x0 0x100000>;
  186. ranges = <0x0 0x0 0x1700000 0x100000>;
  187. interrupts = <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>;
  188. dma-coherent;
  189. sec_jr0: jr@10000 {
  190. compatible = "fsl,sec-v5.0-job-ring",
  191. "fsl,sec-v4.0-job-ring";
  192. reg = <0x10000 0x10000>;
  193. interrupts = <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>;
  194. };
  195. sec_jr1: jr@20000 {
  196. compatible = "fsl,sec-v5.0-job-ring",
  197. "fsl,sec-v4.0-job-ring";
  198. reg = <0x20000 0x10000>;
  199. interrupts = <GIC_SPI 104 IRQ_TYPE_LEVEL_HIGH>;
  200. };
  201. sec_jr2: jr@30000 {
  202. compatible = "fsl,sec-v5.0-job-ring",
  203. "fsl,sec-v4.0-job-ring";
  204. reg = <0x30000 0x10000>;
  205. interrupts = <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>;
  206. };
  207. sec_jr3: jr@40000 {
  208. compatible = "fsl,sec-v5.0-job-ring",
  209. "fsl,sec-v4.0-job-ring";
  210. reg = <0x40000 0x10000>;
  211. interrupts = <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>;
  212. };
  213. };
  214. clockgen: clocking@1ee1000 {
  215. compatible = "fsl,ls1021a-clockgen";
  216. reg = <0x0 0x1ee1000 0x0 0x1000>;
  217. #clock-cells = <2>;
  218. clocks = <&sysclk>;
  219. };
  220. tmu: tmu@1f00000 {
  221. compatible = "fsl,qoriq-tmu";
  222. reg = <0x0 0x1f00000 0x0 0x10000>;
  223. interrupts = <GIC_SPI 61 IRQ_TYPE_LEVEL_HIGH>;
  224. fsl,tmu-range = <0xb0000 0x9002c 0x6004e 0x30066>;
  225. fsl,tmu-calibration = <0x00000000 0x00000020>,
  226. <0x00000001 0x00000024>,
  227. <0x00000002 0x0000002a>,
  228. <0x00000003 0x00000032>,
  229. <0x00000004 0x00000038>,
  230. <0x00000005 0x0000003e>,
  231. <0x00000006 0x00000043>,
  232. <0x00000007 0x0000004a>,
  233. <0x00000008 0x00000050>,
  234. <0x00000009 0x00000059>,
  235. <0x0000000a 0x0000005f>,
  236. <0x0000000b 0x00000066>,
  237. <0x00010000 0x00000023>,
  238. <0x00010001 0x0000002b>,
  239. <0x00010002 0x00000033>,
  240. <0x00010003 0x0000003a>,
  241. <0x00010004 0x00000042>,
  242. <0x00010005 0x0000004a>,
  243. <0x00010006 0x00000054>,
  244. <0x00010007 0x0000005c>,
  245. <0x00010008 0x00000065>,
  246. <0x00010009 0x0000006f>,
  247. <0x00020000 0x00000029>,
  248. <0x00020001 0x00000033>,
  249. <0x00020002 0x0000003d>,
  250. <0x00020003 0x00000048>,
  251. <0x00020004 0x00000054>,
  252. <0x00020005 0x00000060>,
  253. <0x00020006 0x0000006c>,
  254. <0x00030000 0x00000025>,
  255. <0x00030001 0x00000033>,
  256. <0x00030002 0x00000043>,
  257. <0x00030003 0x00000055>;
  258. #thermal-sensor-cells = <1>;
  259. };
  260. dspi0: spi@2100000 {
  261. compatible = "fsl,ls1021a-v1.0-dspi";
  262. #address-cells = <1>;
  263. #size-cells = <0>;
  264. reg = <0x0 0x2100000 0x0 0x10000>;
  265. interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>;
  266. clock-names = "dspi";
  267. clocks = <&clockgen 4 1>;
  268. spi-num-chipselects = <6>;
  269. big-endian;
  270. status = "disabled";
  271. };
  272. dspi1: spi@2110000 {
  273. compatible = "fsl,ls1021a-v1.0-dspi";
  274. #address-cells = <1>;
  275. #size-cells = <0>;
  276. reg = <0x0 0x2110000 0x0 0x10000>;
  277. interrupts = <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>;
  278. clock-names = "dspi";
  279. clocks = <&clockgen 4 1>;
  280. spi-num-chipselects = <6>;
  281. big-endian;
  282. status = "disabled";
  283. };
  284. i2c0: i2c@2180000 {
  285. compatible = "fsl,vf610-i2c";
  286. #address-cells = <1>;
  287. #size-cells = <0>;
  288. reg = <0x0 0x2180000 0x0 0x10000>;
  289. interrupts = <GIC_SPI 88 IRQ_TYPE_LEVEL_HIGH>;
  290. clocks = <&clockgen 4 1>;
  291. dma-names = "rx", "tx";
  292. dmas = <&edma0 1 38>, <&edma0 1 39>;
  293. status = "disabled";
  294. };
  295. i2c1: i2c@2190000 {
  296. compatible = "fsl,vf610-i2c";
  297. #address-cells = <1>;
  298. #size-cells = <0>;
  299. reg = <0x0 0x2190000 0x0 0x10000>;
  300. interrupts = <GIC_SPI 89 IRQ_TYPE_LEVEL_HIGH>;
  301. clocks = <&clockgen 4 1>;
  302. dma-names = "rx", "tx";
  303. dmas = <&edma0 1 36>, <&edma0 1 37>;
  304. status = "disabled";
  305. };
  306. i2c2: i2c@21a0000 {
  307. compatible = "fsl,vf610-i2c";
  308. #address-cells = <1>;
  309. #size-cells = <0>;
  310. reg = <0x0 0x21a0000 0x0 0x10000>;
  311. interrupts = <GIC_SPI 90 IRQ_TYPE_LEVEL_HIGH>;
  312. clocks = <&clockgen 4 1>;
  313. dma-names = "rx", "tx";
  314. dmas = <&edma0 1 34>, <&edma0 1 35>;
  315. status = "disabled";
  316. };
  317. uart0: serial@21c0500 {
  318. compatible = "fsl,16550-FIFO64", "ns16550a";
  319. reg = <0x0 0x21c0500 0x0 0x100>;
  320. interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>;
  321. clock-frequency = <0>;
  322. fifo-size = <15>;
  323. status = "disabled";
  324. };
  325. uart1: serial@21c0600 {
  326. compatible = "fsl,16550-FIFO64", "ns16550a";
  327. reg = <0x0 0x21c0600 0x0 0x100>;
  328. interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>;
  329. clock-frequency = <0>;
  330. fifo-size = <15>;
  331. status = "disabled";
  332. };
  333. uart2: serial@21d0500 {
  334. compatible = "fsl,16550-FIFO64", "ns16550a";
  335. reg = <0x0 0x21d0500 0x0 0x100>;
  336. interrupts = <GIC_SPI 87 IRQ_TYPE_LEVEL_HIGH>;
  337. clock-frequency = <0>;
  338. fifo-size = <15>;
  339. status = "disabled";
  340. };
  341. uart3: serial@21d0600 {
  342. compatible = "fsl,16550-FIFO64", "ns16550a";
  343. reg = <0x0 0x21d0600 0x0 0x100>;
  344. interrupts = <GIC_SPI 87 IRQ_TYPE_LEVEL_HIGH>;
  345. clock-frequency = <0>;
  346. fifo-size = <15>;
  347. status = "disabled";
  348. };
  349. counter0: counter@29d0000 {
  350. compatible = "fsl,ftm-quaddec";
  351. reg = <0x0 0x29d0000 0x0 0x10000>;
  352. big-endian;
  353. status = "disabled";
  354. };
  355. counter1: counter@29e0000 {
  356. compatible = "fsl,ftm-quaddec";
  357. reg = <0x0 0x29e0000 0x0 0x10000>;
  358. big-endian;
  359. status = "disabled";
  360. };
  361. counter2: counter@29f0000 {
  362. compatible = "fsl,ftm-quaddec";
  363. reg = <0x0 0x29f0000 0x0 0x10000>;
  364. big-endian;
  365. status = "disabled";
  366. };
  367. counter3: counter@2a00000 {
  368. compatible = "fsl,ftm-quaddec";
  369. reg = <0x0 0x2a00000 0x0 0x10000>;
  370. big-endian;
  371. status = "disabled";
  372. };
  373. gpio0: gpio@2300000 {
  374. compatible = "fsl,ls1021a-gpio", "fsl,qoriq-gpio";
  375. reg = <0x0 0x2300000 0x0 0x10000>;
  376. interrupts = <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>;
  377. gpio-controller;
  378. #gpio-cells = <2>;
  379. interrupt-controller;
  380. #interrupt-cells = <2>;
  381. };
  382. gpio1: gpio@2310000 {
  383. compatible = "fsl,ls1021a-gpio", "fsl,qoriq-gpio";
  384. reg = <0x0 0x2310000 0x0 0x10000>;
  385. interrupts = <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>;
  386. gpio-controller;
  387. #gpio-cells = <2>;
  388. interrupt-controller;
  389. #interrupt-cells = <2>;
  390. };
  391. gpio2: gpio@2320000 {
  392. compatible = "fsl,ls1021a-gpio", "fsl,qoriq-gpio";
  393. reg = <0x0 0x2320000 0x0 0x10000>;
  394. interrupts = <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>;
  395. gpio-controller;
  396. #gpio-cells = <2>;
  397. interrupt-controller;
  398. #interrupt-cells = <2>;
  399. };
  400. gpio3: gpio@2330000 {
  401. compatible = "fsl,ls1021a-gpio", "fsl,qoriq-gpio";
  402. reg = <0x0 0x2330000 0x0 0x10000>;
  403. interrupts = <GIC_SPI 166 IRQ_TYPE_LEVEL_HIGH>;
  404. gpio-controller;
  405. #gpio-cells = <2>;
  406. interrupt-controller;
  407. #interrupt-cells = <2>;
  408. };
  409. lpuart0: serial@2950000 {
  410. compatible = "fsl,ls1021a-lpuart";
  411. reg = <0x0 0x2950000 0x0 0x1000>;
  412. interrupts = <GIC_SPI 80 IRQ_TYPE_LEVEL_HIGH>;
  413. clocks = <&sysclk>;
  414. clock-names = "ipg";
  415. status = "disabled";
  416. };
  417. lpuart1: serial@2960000 {
  418. compatible = "fsl,ls1021a-lpuart";
  419. reg = <0x0 0x2960000 0x0 0x1000>;
  420. interrupts = <GIC_SPI 81 IRQ_TYPE_LEVEL_HIGH>;
  421. clocks = <&clockgen 4 1>;
  422. clock-names = "ipg";
  423. status = "disabled";
  424. };
  425. lpuart2: serial@2970000 {
  426. compatible = "fsl,ls1021a-lpuart";
  427. reg = <0x0 0x2970000 0x0 0x1000>;
  428. interrupts = <GIC_SPI 82 IRQ_TYPE_LEVEL_HIGH>;
  429. clocks = <&clockgen 4 1>;
  430. clock-names = "ipg";
  431. status = "disabled";
  432. };
  433. lpuart3: serial@2980000 {
  434. compatible = "fsl,ls1021a-lpuart";
  435. reg = <0x0 0x2980000 0x0 0x1000>;
  436. interrupts = <GIC_SPI 83 IRQ_TYPE_LEVEL_HIGH>;
  437. clocks = <&clockgen 4 1>;
  438. clock-names = "ipg";
  439. status = "disabled";
  440. };
  441. lpuart4: serial@2990000 {
  442. compatible = "fsl,ls1021a-lpuart";
  443. reg = <0x0 0x2990000 0x0 0x1000>;
  444. interrupts = <GIC_SPI 84 IRQ_TYPE_LEVEL_HIGH>;
  445. clocks = <&clockgen 4 1>;
  446. clock-names = "ipg";
  447. status = "disabled";
  448. };
  449. lpuart5: serial@29a0000 {
  450. compatible = "fsl,ls1021a-lpuart";
  451. reg = <0x0 0x29a0000 0x0 0x1000>;
  452. interrupts = <GIC_SPI 85 IRQ_TYPE_LEVEL_HIGH>;
  453. clocks = <&clockgen 4 1>;
  454. clock-names = "ipg";
  455. status = "disabled";
  456. };
  457. pwm0: pwm@29d0000 {
  458. compatible = "fsl,vf610-ftm-pwm";
  459. #pwm-cells = <3>;
  460. reg = <0x0 0x29d0000 0x0 0x10000>;
  461. clock-names = "ftm_sys", "ftm_ext",
  462. "ftm_fix", "ftm_cnt_clk_en";
  463. clocks = <&clockgen 4 1>, <&clockgen 4 1>,
  464. <&clockgen 4 1>, <&clockgen 4 1>;
  465. big-endian;
  466. status = "disabled";
  467. };
  468. pwm1: pwm@29e0000 {
  469. compatible = "fsl,vf610-ftm-pwm";
  470. #pwm-cells = <3>;
  471. reg = <0x0 0x29e0000 0x0 0x10000>;
  472. clock-names = "ftm_sys", "ftm_ext",
  473. "ftm_fix", "ftm_cnt_clk_en";
  474. clocks = <&clockgen 4 1>, <&clockgen 4 1>,
  475. <&clockgen 4 1>, <&clockgen 4 1>;
  476. big-endian;
  477. status = "disabled";
  478. };
  479. pwm2: pwm@29f0000 {
  480. compatible = "fsl,vf610-ftm-pwm";
  481. #pwm-cells = <3>;
  482. reg = <0x0 0x29f0000 0x0 0x10000>;
  483. clock-names = "ftm_sys", "ftm_ext",
  484. "ftm_fix", "ftm_cnt_clk_en";
  485. clocks = <&clockgen 4 1>, <&clockgen 4 1>,
  486. <&clockgen 4 1>, <&clockgen 4 1>;
  487. big-endian;
  488. status = "disabled";
  489. };
  490. pwm3: pwm@2a00000 {
  491. compatible = "fsl,vf610-ftm-pwm";
  492. #pwm-cells = <3>;
  493. reg = <0x0 0x2a00000 0x0 0x10000>;
  494. clock-names = "ftm_sys", "ftm_ext",
  495. "ftm_fix", "ftm_cnt_clk_en";
  496. clocks = <&clockgen 4 1>, <&clockgen 4 1>,
  497. <&clockgen 4 1>, <&clockgen 4 1>;
  498. big-endian;
  499. status = "disabled";
  500. };
  501. pwm4: pwm@2a10000 {
  502. compatible = "fsl,vf610-ftm-pwm";
  503. #pwm-cells = <3>;
  504. reg = <0x0 0x2a10000 0x0 0x10000>;
  505. clock-names = "ftm_sys", "ftm_ext",
  506. "ftm_fix", "ftm_cnt_clk_en";
  507. clocks = <&clockgen 4 1>, <&clockgen 4 1>,
  508. <&clockgen 4 1>, <&clockgen 4 1>;
  509. big-endian;
  510. status = "disabled";
  511. };
  512. pwm5: pwm@2a20000 {
  513. compatible = "fsl,vf610-ftm-pwm";
  514. #pwm-cells = <3>;
  515. reg = <0x0 0x2a20000 0x0 0x10000>;
  516. clock-names = "ftm_sys", "ftm_ext",
  517. "ftm_fix", "ftm_cnt_clk_en";
  518. clocks = <&clockgen 4 1>, <&clockgen 4 1>,
  519. <&clockgen 4 1>, <&clockgen 4 1>;
  520. big-endian;
  521. status = "disabled";
  522. };
  523. pwm6: pwm@2a30000 {
  524. compatible = "fsl,vf610-ftm-pwm";
  525. #pwm-cells = <3>;
  526. reg = <0x0 0x2a30000 0x0 0x10000>;
  527. clock-names = "ftm_sys", "ftm_ext",
  528. "ftm_fix", "ftm_cnt_clk_en";
  529. clocks = <&clockgen 4 1>, <&clockgen 4 1>,
  530. <&clockgen 4 1>, <&clockgen 4 1>;
  531. big-endian;
  532. status = "disabled";
  533. };
  534. pwm7: pwm@2a40000 {
  535. compatible = "fsl,vf610-ftm-pwm";
  536. #pwm-cells = <3>;
  537. reg = <0x0 0x2a40000 0x0 0x10000>;
  538. clock-names = "ftm_sys", "ftm_ext",
  539. "ftm_fix", "ftm_cnt_clk_en";
  540. clocks = <&clockgen 4 1>, <&clockgen 4 1>,
  541. <&clockgen 4 1>, <&clockgen 4 1>;
  542. big-endian;
  543. status = "disabled";
  544. };
  545. wdog0: watchdog@2ad0000 {
  546. compatible = "fsl,imx21-wdt";
  547. reg = <0x0 0x2ad0000 0x0 0x10000>;
  548. interrupts = <GIC_SPI 115 IRQ_TYPE_LEVEL_HIGH>;
  549. clocks = <&clockgen 4 1>;
  550. clock-names = "wdog-en";
  551. big-endian;
  552. };
  553. sai1: sai@2b50000 {
  554. #sound-dai-cells = <0>;
  555. compatible = "fsl,vf610-sai";
  556. reg = <0x0 0x2b50000 0x0 0x10000>;
  557. interrupts = <GIC_SPI 132 IRQ_TYPE_LEVEL_HIGH>;
  558. clocks = <&clockgen 4 1>, <&clockgen 4 1>,
  559. <&clockgen 4 1>, <&clockgen 4 1>;
  560. clock-names = "bus", "mclk1", "mclk2", "mclk3";
  561. dma-names = "tx", "rx";
  562. dmas = <&edma0 1 47>,
  563. <&edma0 1 46>;
  564. status = "disabled";
  565. };
  566. sai2: sai@2b60000 {
  567. #sound-dai-cells = <0>;
  568. compatible = "fsl,vf610-sai";
  569. reg = <0x0 0x2b60000 0x0 0x10000>;
  570. interrupts = <GIC_SPI 133 IRQ_TYPE_LEVEL_HIGH>;
  571. clocks = <&clockgen 4 1>, <&clockgen 4 1>,
  572. <&clockgen 4 1>, <&clockgen 4 1>;
  573. clock-names = "bus", "mclk1", "mclk2", "mclk3";
  574. dma-names = "tx", "rx";
  575. dmas = <&edma0 1 45>,
  576. <&edma0 1 44>;
  577. status = "disabled";
  578. };
  579. edma0: dma-controller@2c00000 {
  580. #dma-cells = <2>;
  581. compatible = "fsl,vf610-edma";
  582. reg = <0x0 0x2c00000 0x0 0x10000>,
  583. <0x0 0x2c10000 0x0 0x10000>,
  584. <0x0 0x2c20000 0x0 0x10000>;
  585. interrupts = <GIC_SPI 135 IRQ_TYPE_LEVEL_HIGH>,
  586. <GIC_SPI 135 IRQ_TYPE_LEVEL_HIGH>;
  587. interrupt-names = "edma-tx", "edma-err";
  588. dma-channels = <32>;
  589. big-endian;
  590. clock-names = "dmamux0", "dmamux1";
  591. clocks = <&clockgen 4 1>,
  592. <&clockgen 4 1>;
  593. };
  594. dcu: dcu@2ce0000 {
  595. compatible = "fsl,ls1021a-dcu";
  596. reg = <0x0 0x2ce0000 0x0 0x10000>;
  597. interrupts = <GIC_SPI 172 IRQ_TYPE_LEVEL_HIGH>;
  598. clocks = <&clockgen 4 0>,
  599. <&clockgen 4 0>;
  600. clock-names = "dcu", "pix";
  601. big-endian;
  602. status = "disabled";
  603. };
  604. mdio0: mdio@2d24000 {
  605. compatible = "gianfar";
  606. device_type = "mdio";
  607. #address-cells = <1>;
  608. #size-cells = <0>;
  609. reg = <0x0 0x2d24000 0x0 0x4000>,
  610. <0x0 0x2d10030 0x0 0x4>;
  611. };
  612. mdio1: mdio@2d64000 {
  613. compatible = "gianfar";
  614. device_type = "mdio";
  615. #address-cells = <1>;
  616. #size-cells = <0>;
  617. reg = <0x0 0x2d64000 0x0 0x4000>,
  618. <0x0 0x2d50030 0x0 0x4>;
  619. };
  620. ptp_clock@2d10e00 {
  621. compatible = "fsl,etsec-ptp";
  622. reg = <0x0 0x2d10e00 0x0 0xb0>;
  623. interrupts = <GIC_SPI 173 IRQ_TYPE_LEVEL_HIGH>;
  624. fsl,tclk-period = <5>;
  625. fsl,tmr-prsc = <2>;
  626. fsl,tmr-add = <0xaaaaaaab>;
  627. fsl,tmr-fiper1 = <999999995>;
  628. fsl,tmr-fiper2 = <999999995>;
  629. fsl,max-adj = <499999999>;
  630. fsl,extts-fifo;
  631. };
  632. enet0: ethernet@2d10000 {
  633. compatible = "fsl,etsec2";
  634. device_type = "network";
  635. #address-cells = <2>;
  636. #size-cells = <2>;
  637. interrupt-parent = <&gic>;
  638. model = "eTSEC";
  639. fsl,magic-packet;
  640. ranges;
  641. dma-coherent;
  642. queue-group@2d10000 {
  643. #address-cells = <2>;
  644. #size-cells = <2>;
  645. reg = <0x0 0x2d10000 0x0 0x1000>;
  646. interrupts = <GIC_SPI 144 IRQ_TYPE_LEVEL_HIGH>,
  647. <GIC_SPI 145 IRQ_TYPE_LEVEL_HIGH>,
  648. <GIC_SPI 146 IRQ_TYPE_LEVEL_HIGH>;
  649. };
  650. queue-group@2d14000 {
  651. #address-cells = <2>;
  652. #size-cells = <2>;
  653. reg = <0x0 0x2d14000 0x0 0x1000>;
  654. interrupts = <GIC_SPI 147 IRQ_TYPE_LEVEL_HIGH>,
  655. <GIC_SPI 148 IRQ_TYPE_LEVEL_HIGH>,
  656. <GIC_SPI 149 IRQ_TYPE_LEVEL_HIGH>;
  657. };
  658. };
  659. enet1: ethernet@2d50000 {
  660. compatible = "fsl,etsec2";
  661. device_type = "network";
  662. #address-cells = <2>;
  663. #size-cells = <2>;
  664. interrupt-parent = <&gic>;
  665. model = "eTSEC";
  666. ranges;
  667. dma-coherent;
  668. queue-group@2d50000 {
  669. #address-cells = <2>;
  670. #size-cells = <2>;
  671. reg = <0x0 0x2d50000 0x0 0x1000>;
  672. interrupts = <GIC_SPI 150 IRQ_TYPE_LEVEL_HIGH>,
  673. <GIC_SPI 152 IRQ_TYPE_LEVEL_HIGH>,
  674. <GIC_SPI 153 IRQ_TYPE_LEVEL_HIGH>;
  675. };
  676. queue-group@2d54000 {
  677. #address-cells = <2>;
  678. #size-cells = <2>;
  679. reg = <0x0 0x2d54000 0x0 0x1000>;
  680. interrupts = <GIC_SPI 154 IRQ_TYPE_LEVEL_HIGH>,
  681. <GIC_SPI 155 IRQ_TYPE_LEVEL_HIGH>,
  682. <GIC_SPI 156 IRQ_TYPE_LEVEL_HIGH>;
  683. };
  684. };
  685. enet2: ethernet@2d90000 {
  686. compatible = "fsl,etsec2";
  687. device_type = "network";
  688. #address-cells = <2>;
  689. #size-cells = <2>;
  690. interrupt-parent = <&gic>;
  691. model = "eTSEC";
  692. ranges;
  693. dma-coherent;
  694. queue-group@2d90000 {
  695. #address-cells = <2>;
  696. #size-cells = <2>;
  697. reg = <0x0 0x2d90000 0x0 0x1000>;
  698. interrupts = <GIC_SPI 157 IRQ_TYPE_LEVEL_HIGH>,
  699. <GIC_SPI 158 IRQ_TYPE_LEVEL_HIGH>,
  700. <GIC_SPI 159 IRQ_TYPE_LEVEL_HIGH>;
  701. };
  702. queue-group@2d94000 {
  703. #address-cells = <2>;
  704. #size-cells = <2>;
  705. reg = <0x0 0x2d94000 0x0 0x1000>;
  706. interrupts = <GIC_SPI 160 IRQ_TYPE_LEVEL_HIGH>,
  707. <GIC_SPI 161 IRQ_TYPE_LEVEL_HIGH>,
  708. <GIC_SPI 162 IRQ_TYPE_LEVEL_HIGH>;
  709. };
  710. };
  711. usb2: usb@8600000 {
  712. compatible = "fsl-usb2-dr-v2.5", "fsl-usb2-dr";
  713. reg = <0x0 0x8600000 0x0 0x1000>;
  714. interrupts = <GIC_SPI 171 IRQ_TYPE_LEVEL_HIGH>;
  715. dr_mode = "host";
  716. phy_type = "ulpi";
  717. };
  718. usb3: usb@3100000 {
  719. compatible = "snps,dwc3";
  720. reg = <0x0 0x3100000 0x0 0x10000>;
  721. interrupts = <GIC_SPI 93 IRQ_TYPE_LEVEL_HIGH>;
  722. dr_mode = "host";
  723. snps,quirk-frame-length-adjustment = <0x20>;
  724. snps,dis_rxdet_inp3_quirk;
  725. snps,incr-burst-type-adjustment = <1>, <4>, <8>, <16>;
  726. };
  727. pcie@3400000 {
  728. compatible = "fsl,ls1021a-pcie";
  729. reg = <0x00 0x03400000 0x0 0x00010000>, /* controller registers */
  730. <0x40 0x00000000 0x0 0x00002000>; /* configuration space */
  731. reg-names = "regs", "config";
  732. interrupts = <GIC_SPI 177 IRQ_TYPE_LEVEL_HIGH>; /* controller interrupt */
  733. fsl,pcie-scfg = <&scfg 0>;
  734. #address-cells = <3>;
  735. #size-cells = <2>;
  736. device_type = "pci";
  737. num-viewport = <6>;
  738. bus-range = <0x0 0xff>;
  739. ranges = <0x81000000 0x0 0x00000000 0x40 0x00010000 0x0 0x00010000>, /* downstream I/O */
  740. <0x82000000 0x0 0x40000000 0x40 0x40000000 0x0 0x40000000>; /* non-prefetchable memory */
  741. msi-parent = <&msi1>, <&msi2>;
  742. #interrupt-cells = <1>;
  743. interrupt-map-mask = <0 0 0 7>;
  744. interrupt-map = <0000 0 0 1 &gic GIC_SPI 91 IRQ_TYPE_LEVEL_HIGH>,
  745. <0000 0 0 2 &gic GIC_SPI 188 IRQ_TYPE_LEVEL_HIGH>,
  746. <0000 0 0 3 &gic GIC_SPI 190 IRQ_TYPE_LEVEL_HIGH>,
  747. <0000 0 0 4 &gic GIC_SPI 192 IRQ_TYPE_LEVEL_HIGH>;
  748. status = "disabled";
  749. };
  750. pcie@3500000 {
  751. compatible = "fsl,ls1021a-pcie";
  752. reg = <0x00 0x03500000 0x0 0x00010000>, /* controller registers */
  753. <0x48 0x00000000 0x0 0x00002000>; /* configuration space */
  754. reg-names = "regs", "config";
  755. interrupts = <GIC_SPI 178 IRQ_TYPE_LEVEL_HIGH>;
  756. fsl,pcie-scfg = <&scfg 1>;
  757. #address-cells = <3>;
  758. #size-cells = <2>;
  759. device_type = "pci";
  760. num-viewport = <6>;
  761. bus-range = <0x0 0xff>;
  762. ranges = <0x81000000 0x0 0x00000000 0x48 0x00010000 0x0 0x00010000>, /* downstream I/O */
  763. <0x82000000 0x0 0x40000000 0x48 0x40000000 0x0 0x40000000>; /* non-prefetchable memory */
  764. msi-parent = <&msi1>, <&msi2>;
  765. #interrupt-cells = <1>;
  766. interrupt-map-mask = <0 0 0 7>;
  767. interrupt-map = <0000 0 0 1 &gic GIC_SPI 92 IRQ_TYPE_LEVEL_HIGH>,
  768. <0000 0 0 2 &gic GIC_SPI 189 IRQ_TYPE_LEVEL_HIGH>,
  769. <0000 0 0 3 &gic GIC_SPI 191 IRQ_TYPE_LEVEL_HIGH>,
  770. <0000 0 0 4 &gic GIC_SPI 193 IRQ_TYPE_LEVEL_HIGH>;
  771. status = "disabled";
  772. };
  773. can0: can@2a70000 {
  774. compatible = "fsl,ls1021ar2-flexcan";
  775. reg = <0x0 0x2a70000 0x0 0x1000>;
  776. interrupts = <GIC_SPI 126 IRQ_TYPE_LEVEL_HIGH>;
  777. clocks = <&clockgen 4 1>, <&clockgen 4 1>;
  778. clock-names = "ipg", "per";
  779. big-endian;
  780. };
  781. can1: can@2a80000 {
  782. compatible = "fsl,ls1021ar2-flexcan";
  783. reg = <0x0 0x2a80000 0x0 0x1000>;
  784. interrupts = <GIC_SPI 127 IRQ_TYPE_LEVEL_HIGH>;
  785. clocks = <&clockgen 4 1>, <&clockgen 4 1>;
  786. clock-names = "ipg", "per";
  787. big-endian;
  788. };
  789. can2: can@2a90000 {
  790. compatible = "fsl,ls1021ar2-flexcan";
  791. reg = <0x0 0x2a90000 0x0 0x1000>;
  792. interrupts = <GIC_SPI 128 IRQ_TYPE_LEVEL_HIGH>;
  793. clocks = <&clockgen 4 1>, <&clockgen 4 1>;
  794. clock-names = "ipg", "per";
  795. big-endian;
  796. };
  797. can3: can@2aa0000 {
  798. compatible = "fsl,ls1021ar2-flexcan";
  799. reg = <0x0 0x2aa0000 0x0 0x1000>;
  800. interrupts = <GIC_SPI 129 IRQ_TYPE_LEVEL_HIGH>;
  801. clocks = <&clockgen 4 1>, <&clockgen 4 1>;
  802. clock-names = "ipg", "per";
  803. big-endian;
  804. };
  805. ocram1: sram@10000000 {
  806. compatible = "mmio-sram";
  807. reg = <0x0 0x10000000 0x0 0x10000>;
  808. #address-cells = <1>;
  809. #size-cells = <1>;
  810. ranges = <0x0 0x0 0x10000000 0x10000>;
  811. };
  812. ocram2: sram@10010000 {
  813. compatible = "mmio-sram";
  814. reg = <0x0 0x10010000 0x0 0x10000>;
  815. #address-cells = <1>;
  816. #size-cells = <1>;
  817. ranges = <0x0 0x0 0x10010000 0x10000>;
  818. };
  819. qdma: dma-controller@8390000 {
  820. compatible = "fsl,ls1021a-qdma";
  821. reg = <0x0 0x8388000 0x0 0x1000>, /* Controller regs */
  822. <0x0 0x8389000 0x0 0x1000>, /* Status regs */
  823. <0x0 0x838a000 0x0 0x2000>; /* Block regs */
  824. interrupts = <GIC_SPI 185 IRQ_TYPE_LEVEL_HIGH>,
  825. <GIC_SPI 76 IRQ_TYPE_LEVEL_HIGH>,
  826. <GIC_SPI 77 IRQ_TYPE_LEVEL_HIGH>;
  827. interrupt-names = "qdma-error",
  828. "qdma-queue0", "qdma-queue1";
  829. #dma-cells = <2>;
  830. dma-channels = <8>;
  831. block-number = <1>;
  832. block-offset = <0x1000>;
  833. fsl,dma-queues = <2>;
  834. status-sizes = <64>;
  835. queue-sizes = <64 64>;
  836. big-endian;
  837. };
  838. rcpm: power-controller@1ee2140 {
  839. compatible = "fsl,ls1021a-rcpm", "fsl,qoriq-rcpm-2.1+";
  840. reg = <0x0 0x1ee2140 0x0 0x8>;
  841. #fsl,rcpm-wakeup-cells = <2>;
  842. #power-domain-cells = <0>;
  843. };
  844. ftm_alarm0: timer0@29d0000 {
  845. compatible = "fsl,ls1021a-ftm-alarm";
  846. reg = <0x0 0x29d0000 0x0 0x10000>;
  847. reg-names = "ftm";
  848. fsl,rcpm-wakeup = <&rcpm 0x0 0x20000000>;
  849. interrupts = <GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH>;
  850. big-endian;
  851. };
  852. };
  853. thermal-zones {
  854. cpu_thermal: cpu-thermal {
  855. polling-delay-passive = <1000>;
  856. polling-delay = <5000>;
  857. thermal-sensors = <&tmu 0>;
  858. trips {
  859. cpu_alert: cpu-alert {
  860. temperature = <85000>;
  861. hysteresis = <2000>;
  862. type = "passive";
  863. };
  864. cpu_crit: cpu-crit {
  865. temperature = <95000>;
  866. hysteresis = <2000>;
  867. type = "critical";
  868. };
  869. };
  870. cooling-maps {
  871. map0 {
  872. trip = <&cpu_alert>;
  873. cooling-device =
  874. <&cpu0 THERMAL_NO_LIMIT
  875. THERMAL_NO_LIMIT>,
  876. <&cpu1 THERMAL_NO_LIMIT
  877. THERMAL_NO_LIMIT>;
  878. };
  879. };
  880. };
  881. };
  882. };