ft2000plus-MR-psci-soc.dtsi 21 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063
  1. // SPDX-License-Identifier: GPL-2.0
  2. /*
  3. * dts file for FT-2000plus SoC
  4. *
  5. * Copyright (C) 2018-2019, Phytium Technology Co., Ltd.
  6. */
  7. #include <dt-bindings/interrupt-controller/arm-gic.h>
  8. / {
  9. compatible = "phytium,ft2000plus";
  10. interrupt-parent = <&gic>;
  11. #address-cells = <2>;
  12. #size-cells = <2>;
  13. psci {
  14. compatible = "arm,psci-1.0";
  15. method = "smc";
  16. cpu_suspend = <0xc4000001>;
  17. cpu_off = <0x84000002>;
  18. cpu_on = <0xc4000003>;
  19. sys_poweroff = <0x84000008>;
  20. sys_reset = <0x84000009>;
  21. };
  22. cpus {
  23. #address-cells = <0x2>;
  24. #size-cells = <0x0>;
  25. cpu-map {
  26. cluster0 {
  27. core0 {
  28. cpu = <&cpu0>;
  29. };
  30. core1 {
  31. cpu = <&cpu1>;
  32. };
  33. core2 {
  34. cpu = <&cpu2>;
  35. };
  36. core3 {
  37. cpu = <&cpu3>;
  38. };
  39. };
  40. cluster1 {
  41. core0 {
  42. cpu = <&cpu4>;
  43. };
  44. core1 {
  45. cpu = <&cpu5>;
  46. };
  47. core2 {
  48. cpu = <&cpu6>;
  49. };
  50. core3 {
  51. cpu = <&cpu7>;
  52. };
  53. };
  54. cluster2 {
  55. core0 {
  56. cpu = <&cpu8>;
  57. };
  58. core1 {
  59. cpu = <&cpu9>;
  60. };
  61. core2 {
  62. cpu = <&cpu10>;
  63. };
  64. core3 {
  65. cpu = <&cpu11>;
  66. };
  67. };
  68. cluster3 {
  69. core0 {
  70. cpu = <&cpu12>;
  71. };
  72. core1 {
  73. cpu = <&cpu13>;
  74. };
  75. core2 {
  76. cpu = <&cpu14>;
  77. };
  78. core3 {
  79. cpu = <&cpu15>;
  80. };
  81. };
  82. cluster4 {
  83. core0 {
  84. cpu = <&cpu16>;
  85. };
  86. core1 {
  87. cpu = <&cpu17>;
  88. };
  89. core2 {
  90. cpu = <&cpu18>;
  91. };
  92. core3 {
  93. cpu = <&cpu19>;
  94. };
  95. };
  96. cluster5 {
  97. core0 {
  98. cpu = <&cpu20>;
  99. };
  100. core1 {
  101. cpu = <&cpu21>;
  102. };
  103. core2 {
  104. cpu = <&cpu22>;
  105. };
  106. core3 {
  107. cpu = <&cpu23>;
  108. };
  109. };
  110. cluster6 {
  111. core0 {
  112. cpu = <&cpu24>;
  113. };
  114. core1 {
  115. cpu = <&cpu25>;
  116. };
  117. core2 {
  118. cpu = <&cpu26>;
  119. };
  120. core3 {
  121. cpu = <&cpu27>;
  122. };
  123. };
  124. cluster7 {
  125. core0 {
  126. cpu = <&cpu28>;
  127. };
  128. core1 {
  129. cpu = <&cpu29>;
  130. };
  131. core2 {
  132. cpu = <&cpu30>;
  133. };
  134. core3 {
  135. cpu = <&cpu31>;
  136. };
  137. };
  138. cluster8 {
  139. core0 {
  140. cpu = <&cpu32>;
  141. };
  142. core1 {
  143. cpu = <&cpu33>;
  144. };
  145. core2 {
  146. cpu = <&cpu34>;
  147. };
  148. core3 {
  149. cpu = <&cpu35>;
  150. };
  151. };
  152. cluster9 {
  153. core0 {
  154. cpu = <&cpu36>;
  155. };
  156. core1 {
  157. cpu = <&cpu37>;
  158. };
  159. core2 {
  160. cpu = <&cpu38>;
  161. };
  162. core3 {
  163. cpu = <&cpu39>;
  164. };
  165. };
  166. cluster10 {
  167. core0 {
  168. cpu = <&cpu40>;
  169. };
  170. core1 {
  171. cpu = <&cpu41>;
  172. };
  173. core2 {
  174. cpu = <&cpu42>;
  175. };
  176. core3 {
  177. cpu = <&cpu43>;
  178. };
  179. };
  180. cluster11 {
  181. core0 {
  182. cpu = <&cpu44>;
  183. };
  184. core1 {
  185. cpu = <&cpu45>;
  186. };
  187. core2 {
  188. cpu = <&cpu46>;
  189. };
  190. core3 {
  191. cpu = <&cpu47>;
  192. };
  193. };
  194. cluster12 {
  195. core0 {
  196. cpu = <&cpu48>;
  197. };
  198. core1 {
  199. cpu = <&cpu49>;
  200. };
  201. core2 {
  202. cpu = <&cpu50>;
  203. };
  204. core3 {
  205. cpu = <&cpu51>;
  206. };
  207. };
  208. cluster13 {
  209. core0 {
  210. cpu = <&cpu52>;
  211. };
  212. core1 {
  213. cpu = <&cpu53>;
  214. };
  215. core2 {
  216. cpu = <&cpu54>;
  217. };
  218. core3 {
  219. cpu = <&cpu55>;
  220. };
  221. };
  222. cluster14 {
  223. core0 {
  224. cpu = <&cpu56>;
  225. };
  226. core1 {
  227. cpu = <&cpu57>;
  228. };
  229. core2 {
  230. cpu = <&cpu58>;
  231. };
  232. core3 {
  233. cpu = <&cpu59>;
  234. };
  235. };
  236. cluster15 {
  237. core0 {
  238. cpu = <&cpu60>;
  239. };
  240. core1 {
  241. cpu = <&cpu61>;
  242. };
  243. core2 {
  244. cpu = <&cpu62>;
  245. };
  246. core3 {
  247. cpu = <&cpu63>;
  248. };
  249. };
  250. };
  251. cpu0: cpu@0 {
  252. device_type = "cpu";
  253. compatible = "arm,armv8";
  254. reg = <0x0 0x0>;
  255. enable-method = "psci";
  256. numa-node-id = <0>;
  257. };
  258. cpu1: cpu@1 {
  259. device_type = "cpu";
  260. compatible = "arm,armv8";
  261. reg = <0x0 0x1>;
  262. enable-method = "psci";
  263. numa-node-id = <0>;
  264. };
  265. cpu2: cpu@2 {
  266. device_type = "cpu";
  267. compatible = "arm,armv8";
  268. reg = <0x0 0x2>;
  269. enable-method = "psci";
  270. numa-node-id = <0>;
  271. };
  272. cpu3: cpu@3 {
  273. device_type = "cpu";
  274. compatible = "arm,armv8";
  275. reg = <0x0 0x3>;
  276. enable-method = "psci";
  277. numa-node-id = <0>;
  278. };
  279. cpu4: cpu@100 {
  280. device_type = "cpu";
  281. compatible = "arm,armv8";
  282. reg = <0x0 0x100>;
  283. enable-method = "psci";
  284. numa-node-id = <0>;
  285. };
  286. cpu5: cpu@101 {
  287. device_type = "cpu";
  288. compatible = "arm,armv8";
  289. reg = <0x0 0x101>;
  290. enable-method = "psci";
  291. numa-node-id = <0>;
  292. };
  293. cpu6: cpu@102 {
  294. device_type = "cpu";
  295. compatible = "arm,armv8";
  296. reg = <0x0 0x102>;
  297. enable-method = "psci";
  298. numa-node-id = <0>;
  299. };
  300. cpu7: cpu@103 {
  301. device_type = "cpu";
  302. compatible = "arm,armv8";
  303. reg = <0x0 0x103>;
  304. enable-method = "psci";
  305. numa-node-id = <0>;
  306. };
  307. cpu8: cpu@200 {
  308. device_type = "cpu";
  309. compatible = "arm,armv8";
  310. reg = <0x0 0x200>;
  311. enable-method = "psci";
  312. numa-node-id = <1>;
  313. };
  314. cpu9: cpu@201 {
  315. device_type = "cpu";
  316. compatible = "arm,armv8";
  317. reg = <0x0 0x201>;
  318. enable-method = "psci";
  319. numa-node-id = <1>;
  320. };
  321. cpu10: cpu@202 {
  322. device_type = "cpu";
  323. compatible = "arm,armv8";
  324. reg = <0x0 0x202>;
  325. enable-method = "psci";
  326. numa-node-id = <1>;
  327. };
  328. cpu11: cpu@203 {
  329. device_type = "cpu";
  330. compatible = "arm,armv8";
  331. reg = <0x0 0x203>;
  332. enable-method = "psci";
  333. numa-node-id = <1>;
  334. };
  335. cpu12: cpu@300 {
  336. device_type = "cpu";
  337. compatible = "arm,armv8";
  338. reg = <0x0 0x300>;
  339. enable-method = "psci";
  340. numa-node-id = <1>;
  341. };
  342. cpu13: cpu@301 {
  343. device_type = "cpu";
  344. compatible = "arm,armv8";
  345. reg = <0x0 0x301>;
  346. enable-method = "psci";
  347. numa-node-id = <1>;
  348. };
  349. cpu14: cpu@302 {
  350. device_type = "cpu";
  351. compatible = "arm,armv8";
  352. reg = <0x0 0x302>;
  353. enable-method = "psci";
  354. numa-node-id = <1>;
  355. };
  356. cpu15: cpu@303 {
  357. device_type = "cpu";
  358. compatible = "arm,armv8";
  359. reg = <0x0 0x303>;
  360. enable-method = "psci";
  361. numa-node-id = <1>;
  362. };
  363. cpu16: cpu@400 {
  364. device_type = "cpu";
  365. compatible = "arm,armv8";
  366. reg = <0x0 0x400>;
  367. enable-method = "psci";
  368. numa-node-id = <2>;
  369. };
  370. cpu17: cpu@401 {
  371. device_type = "cpu";
  372. compatible = "arm,armv8";
  373. reg = <0x0 0x401>;
  374. enable-method = "psci";
  375. numa-node-id = <2>;
  376. };
  377. cpu18: cpu@402 {
  378. device_type = "cpu";
  379. compatible = "arm,armv8";
  380. reg = <0x0 0x402>;
  381. enable-method = "psci";
  382. numa-node-id = <2>;
  383. };
  384. cpu19: cpu@403 {
  385. device_type = "cpu";
  386. compatible = "arm,armv8";
  387. reg = <0x0 0x403>;
  388. enable-method = "psci";
  389. numa-node-id = <2>;
  390. };
  391. cpu20: cpu@500 {
  392. device_type = "cpu";
  393. compatible = "arm,armv8";
  394. reg = <0x0 0x500>;
  395. enable-method = "psci";
  396. numa-node-id = <2>;
  397. };
  398. cpu21: cpu@501 {
  399. device_type = "cpu";
  400. compatible = "arm,armv8";
  401. reg = <0x0 0x501>;
  402. enable-method = "psci";
  403. numa-node-id = <2>;
  404. };
  405. cpu22: cpu@502 {
  406. device_type = "cpu";
  407. compatible = "arm,armv8";
  408. reg = <0x0 0x502>;
  409. enable-method = "psci";
  410. numa-node-id = <2>;
  411. };
  412. cpu23: cpu@503 {
  413. device_type = "cpu";
  414. compatible = "arm,armv8";
  415. reg = <0x0 0x503>;
  416. enable-method = "psci";
  417. numa-node-id = <2>;
  418. };
  419. cpu24: cpu@600 {
  420. device_type = "cpu";
  421. compatible = "arm,armv8";
  422. reg = <0x0 0x600>;
  423. enable-method = "psci";
  424. numa-node-id = <3>;
  425. };
  426. cpu25: cpu@601 {
  427. device_type = "cpu";
  428. compatible = "arm,armv8";
  429. reg = <0x0 0x601>;
  430. enable-method = "psci";
  431. numa-node-id = <3>;
  432. };
  433. cpu26: cpu@602 {
  434. device_type = "cpu";
  435. compatible = "arm,armv8";
  436. reg = <0x0 0x602>;
  437. enable-method = "psci";
  438. numa-node-id = <3>;
  439. };
  440. cpu27: cpu@603 {
  441. device_type = "cpu";
  442. compatible = "arm,armv8";
  443. reg = <0x0 0x603>;
  444. enable-method = "psci";
  445. numa-node-id = <3>;
  446. };
  447. cpu28: cpu@700 {
  448. device_type = "cpu";
  449. compatible = "arm,armv8";
  450. reg = <0x0 0x700>;
  451. enable-method = "psci";
  452. numa-node-id = <3>;
  453. };
  454. cpu29: cpu@701 {
  455. device_type = "cpu";
  456. compatible = "arm,armv8";
  457. reg = <0x0 0x701>;
  458. enable-method = "psci";
  459. numa-node-id = <3>;
  460. };
  461. cpu30: cpu@702 {
  462. device_type = "cpu";
  463. compatible = "arm,armv8";
  464. reg = <0x0 0x702>;
  465. enable-method = "psci";
  466. numa-node-id = <3>;
  467. };
  468. cpu31: cpu@703 {
  469. device_type = "cpu";
  470. compatible = "arm,armv8";
  471. reg = <0x0 0x703>;
  472. enable-method = "psci";
  473. numa-node-id = <3>;
  474. };
  475. cpu32: cpu@800 {
  476. device_type = "cpu";
  477. compatible = "arm,armv8";
  478. reg = <0x0 0x800>;
  479. enable-method = "psci";
  480. numa-node-id = <4>;
  481. };
  482. cpu33: cpu@801 {
  483. device_type = "cpu";
  484. compatible = "arm,armv8";
  485. reg = <0x0 0x801>;
  486. enable-method = "psci";
  487. numa-node-id = <4>;
  488. };
  489. cpu34: cpu@802 {
  490. device_type = "cpu";
  491. compatible = "arm,armv8";
  492. reg = <0x0 0x802>;
  493. enable-method = "psci";
  494. numa-node-id = <4>;
  495. };
  496. cpu35: cpu@803 {
  497. device_type = "cpu";
  498. compatible = "arm,armv8";
  499. reg = <0x0 0x803>;
  500. enable-method = "psci";
  501. numa-node-id = <4>;
  502. };
  503. cpu36: cpu@900 {
  504. device_type = "cpu";
  505. compatible = "arm,armv8";
  506. reg = <0x0 0x900>;
  507. enable-method = "psci";
  508. numa-node-id = <4>;
  509. };
  510. cpu37: cpu@901 {
  511. device_type = "cpu";
  512. compatible = "arm,armv8";
  513. reg = <0x0 0x901>;
  514. enable-method = "psci";
  515. numa-node-id = <4>;
  516. };
  517. cpu38: cpu@902 {
  518. device_type = "cpu";
  519. compatible = "arm,armv8";
  520. reg = <0x0 0x902>;
  521. enable-method = "psci";
  522. numa-node-id = <4>;
  523. };
  524. cpu39: cpu@903 {
  525. device_type = "cpu";
  526. compatible = "arm,armv8";
  527. reg = <0x0 0x903>;
  528. enable-method = "psci";
  529. numa-node-id = <4>;
  530. };
  531. cpu40: cpu@a00 {
  532. device_type = "cpu";
  533. compatible = "arm,armv8";
  534. reg = <0x0 0xa00>;
  535. enable-method = "psci";
  536. numa-node-id = <5>;
  537. };
  538. cpu41: cpu@a01 {
  539. device_type = "cpu";
  540. compatible = "arm,armv8";
  541. reg = <0x0 0xa01>;
  542. enable-method = "psci";
  543. numa-node-id = <5>;
  544. };
  545. cpu42: cpu@a02 {
  546. device_type = "cpu";
  547. compatible = "arm,armv8";
  548. reg = <0x0 0xa02>;
  549. enable-method = "psci";
  550. numa-node-id = <5>;
  551. };
  552. cpu43: cpu@a03 {
  553. device_type = "cpu";
  554. compatible = "arm,armv8";
  555. reg = <0x0 0xa03>;
  556. enable-method = "psci";
  557. numa-node-id = <5>;
  558. };
  559. cpu44: cpu@b00 {
  560. device_type = "cpu";
  561. compatible = "arm,armv8";
  562. reg = <0x0 0xb00>;
  563. enable-method = "psci";
  564. numa-node-id = <5>;
  565. };
  566. cpu45: cpu@b01 {
  567. device_type = "cpu";
  568. compatible = "arm,armv8";
  569. reg = <0x0 0xb01>;
  570. enable-method = "psci";
  571. numa-node-id = <5>;
  572. };
  573. cpu46: cpu@b02 {
  574. device_type = "cpu";
  575. compatible = "arm,armv8";
  576. reg = <0x0 0xb02>;
  577. enable-method = "psci";
  578. numa-node-id = <5>;
  579. };
  580. cpu47: cpu@b03 {
  581. device_type = "cpu";
  582. compatible = "arm,armv8";
  583. reg = <0x0 0xb03>;
  584. enable-method = "psci";
  585. numa-node-id = <5>;
  586. };
  587. cpu48: cpu@c00 {
  588. device_type = "cpu";
  589. compatible = "arm,armv8";
  590. reg = <0x0 0xc00>;
  591. enable-method = "psci";
  592. numa-node-id = <6>;
  593. };
  594. cpu49: cpu@c01 {
  595. device_type = "cpu";
  596. compatible = "arm,armv8";
  597. reg = <0x0 0xc01>;
  598. enable-method = "psci";
  599. numa-node-id = <6>;
  600. };
  601. cpu50: cpu@c02 {
  602. device_type = "cpu";
  603. compatible = "arm,armv8";
  604. reg = <0x0 0xc02>;
  605. enable-method = "psci";
  606. numa-node-id = <6>;
  607. };
  608. cpu51: cpu@c03 {
  609. device_type = "cpu";
  610. compatible = "arm,armv8";
  611. reg = <0x0 0xc03>;
  612. enable-method = "psci";
  613. numa-node-id = <6>;
  614. };
  615. cpu52: cpu@d00 {
  616. device_type = "cpu";
  617. compatible = "arm,armv8";
  618. reg = <0x0 0xd00>;
  619. enable-method = "psci";
  620. numa-node-id = <6>;
  621. };
  622. cpu53: cpu@d01 {
  623. device_type = "cpu";
  624. compatible = "arm,armv8";
  625. reg = <0x0 0xd01>;
  626. enable-method = "psci";
  627. numa-node-id = <6>;
  628. };
  629. cpu54: cpu@d02 {
  630. device_type = "cpu";
  631. compatible = "arm,armv8";
  632. reg = <0x0 0xd02>;
  633. enable-method = "psci";
  634. numa-node-id = <6>;
  635. };
  636. cpu55: cpu@d03 {
  637. device_type = "cpu";
  638. compatible = "arm,armv8";
  639. reg = <0x0 0xd03>;
  640. enable-method = "psci";
  641. numa-node-id = <6>;
  642. };
  643. cpu56: cpu@e00 {
  644. device_type = "cpu";
  645. compatible = "arm,armv8";
  646. reg = <0x0 0xe00>;
  647. enable-method = "psci";
  648. numa-node-id = <7>;
  649. };
  650. cpu57: cpu@e01 {
  651. device_type = "cpu";
  652. compatible = "arm,armv8";
  653. reg = <0x0 0xe01>;
  654. enable-method = "psci";
  655. numa-node-id = <7>;
  656. };
  657. cpu58: cpu@e02 {
  658. device_type = "cpu";
  659. compatible = "arm,armv8";
  660. reg = <0x0 0xe02>;
  661. enable-method = "psci";
  662. numa-node-id = <7>;
  663. };
  664. cpu59: cpu@e03 {
  665. device_type = "cpu";
  666. compatible = "arm,armv8";
  667. reg = <0x0 0xe03>;
  668. enable-method = "psci";
  669. numa-node-id = <7>;
  670. };
  671. cpu60: cpu@f00 {
  672. device_type = "cpu";
  673. compatible = "arm,armv8";
  674. reg = <0x0 0xf00>;
  675. enable-method = "psci";
  676. numa-node-id = <7>;
  677. };
  678. cpu61: cpu@f01 {
  679. device_type = "cpu";
  680. compatible = "arm,armv8";
  681. reg = <0x0 0xf01>;
  682. enable-method = "psci";
  683. numa-node-id = <7>;
  684. };
  685. cpu62: cpu@f02 {
  686. device_type = "cpu";
  687. compatible = "arm,armv8";
  688. reg = <0x0 0xf02>;
  689. enable-method = "psci";
  690. numa-node-id = <7>;
  691. };
  692. cpu63: cpu@f03 {
  693. device_type = "cpu";
  694. compatible = "arm,armv8";
  695. reg = <0x0 0xf03>;
  696. enable-method = "psci";
  697. numa-node-id = <7>;
  698. };
  699. };
  700. distance-map {
  701. compatible = "numa-distance-map-v1";
  702. distance-matrix = <0x0 0x0 0x0a>,
  703. <0x0 0x1 0x14>,
  704. <0x0 0x2 0x28>,
  705. <0x0 0x3 0x1e>,
  706. <0x0 0x4 0x14>,
  707. <0x0 0x5 0x1e>,
  708. <0x0 0x6 0x32>,
  709. <0x0 0x7 0x28>,
  710. <0x1 0x0 0x14>,
  711. <0x1 0x1 0x0a>,
  712. <0x1 0x2 0x1e>,
  713. <0x1 0x3 0x14>,
  714. <0x1 0x4 0x1e>,
  715. <0x1 0x5 0x14>,
  716. <0x1 0x6 0x28>,
  717. <0x1 0x7 0x1e>,
  718. <0x2 0x0 0x28>,
  719. <0x2 0x1 0x1e>,
  720. <0x2 0x2 0x0a>,
  721. <0x2 0x3 0x14>,
  722. <0x2 0x4 0x32>,
  723. <0x2 0x5 0x28>,
  724. <0x2 0x6 0x14>,
  725. <0x2 0x7 0x1e>,
  726. <0x3 0x0 0x1e>,
  727. <0x3 0x1 0x14>,
  728. <0x3 0x2 0x14>,
  729. <0x3 0x3 0x0a>,
  730. <0x3 0x4 0x28>,
  731. <0x3 0x5 0x1e>,
  732. <0x3 0x6 0x1e>,
  733. <0x3 0x7 0x14>,
  734. <0x4 0x0 0x14>,
  735. <0x4 0x1 0x1e>,
  736. <0x4 0x2 0x32>,
  737. <0x4 0x3 0x28>,
  738. <0x4 0x4 0x0a>,
  739. <0x4 0x5 0x14>,
  740. <0x4 0x6 0x28>,
  741. <0x4 0x7 0x1e>,
  742. <0x5 0x0 0x1e>,
  743. <0x5 0x1 0x14>,
  744. <0x5 0x2 0x28>,
  745. <0x5 0x3 0x1e>,
  746. <0x5 0x4 0x14>,
  747. <0x5 0x5 0x0a>,
  748. <0x5 0x6 0x1e>,
  749. <0x5 0x7 0x14>,
  750. <0x6 0x0 0x32>,
  751. <0x6 0x1 0x28>,
  752. <0x6 0x2 0x14>,
  753. <0x6 0x3 0x1e>,
  754. <0x6 0x4 0x28>,
  755. <0x6 0x5 0x1e>,
  756. <0x6 0x6 0x0a>,
  757. <0x6 0x7 0x14>,
  758. <0x7 0x0 0x28>,
  759. <0x7 0x1 0x1e>,
  760. <0x7 0x2 0x1e>,
  761. <0x7 0x3 0x14>,
  762. <0x7 0x4 0x1e>,
  763. <0x7 0x5 0x14>,
  764. <0x7 0x6 0x14>,
  765. <0x7 0x7 0x0a>;
  766. };
  767. gic: interrupt-controller@8002a000000 {
  768. compatible = "arm,gic-v3";
  769. #interrupt-cells = <3>;
  770. #address-cells = <2>;
  771. #size-cells = <2>;
  772. ranges;
  773. interrupt-controller;
  774. reg = <0x0800 0x2a000000 0 0x10000>, /* GICD */
  775. <0x0800 0x2a800000 0 0x800000>, /* GICR */
  776. <0x0800 0x29c00000 0 0x10000>, /* GICC */
  777. <0x0800 0x29c10000 0 0x10000>, /* GICH */
  778. <0x0800 0x29c20000 0 0x10000>; /* GICV */
  779. interrupts = <GIC_PPI 9 IRQ_TYPE_LEVEL_HIGH>;
  780. its: gic-its@8002a020000 {
  781. compatible = "arm,gic-v3-its";
  782. msi-controller;
  783. reg = <0x0800 0x2a020000 0x0 0x20000>;
  784. };
  785. };
  786. timer {
  787. compatible = "arm,armv8-timer";
  788. interrupts = <GIC_PPI 13 IRQ_TYPE_LEVEL_LOW>,
  789. <GIC_PPI 14 IRQ_TYPE_LEVEL_LOW>,
  790. <GIC_PPI 11 IRQ_TYPE_LEVEL_LOW>,
  791. <GIC_PPI 10 IRQ_TYPE_LEVEL_LOW>;
  792. clock-frequency = <50000000>;
  793. };
  794. soc {
  795. compatible = "simple-bus";
  796. #address-cells = <2>;
  797. #size-cells = <2>;
  798. dma-coherent;
  799. ranges;
  800. uart0: serial@28000000 {
  801. compatible = "snps,dw-apb-uart";
  802. reg = <0x800 0x28000000 0x0 0x1000>;
  803. clock-frequency = <50000000>;
  804. interrupts = <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>;
  805. reg-shift = <2>;
  806. reg-io-width = <4>;
  807. status = "disabled";
  808. };
  809. uart1: serial@28001000 {
  810. compatible = "snps,dw-apb-uart";
  811. reg = <0x800 0x28001000 0x0 0x1000>;
  812. clock-frequency = <50000000>;
  813. interrupts = <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>;
  814. reg-shift = <2>;
  815. reg-io-width = <4>;
  816. status = "disabled";
  817. };
  818. gpio0:gpio@80028006000 {
  819. compatible = "snps,dw-apb-gpio";
  820. reg = <0x800 0x28006000 0x0 0x1000>;
  821. #address-cells = <1>;
  822. #size-cells = <0>;
  823. status = "ok";
  824. gpio-controller@0 {
  825. compatible = "snps,dw-apb-gpio-port";
  826. gpio-controller;
  827. #gpio-cells = <0x2>;
  828. snps,nr-gpios = <0x8>;
  829. reg = <0x0>;
  830. };
  831. gpio-controller@1 {
  832. compatible = "snps,dw-apb-gpio-port";
  833. gpio-controller;
  834. #gpio-cells = <0x2>;
  835. snps,nr-gpios = <0x8>;
  836. reg = <0x1>;
  837. };
  838. gpio-controller@2 {
  839. compatible = "snps,dw-apb-gpio-port";
  840. gpio-controller;
  841. #gpio-cells = <0x2>;
  842. snps,nr-gpios = <0x8>;
  843. reg = <0x2>;
  844. };
  845. gpio-controller@3 {
  846. compatible = "snps,dw-apb-gpio-port";
  847. gpio-controller;
  848. #gpio-cells = <0x2>;
  849. snps,nr-gpios = <0x8>;
  850. reg = <0x3>;
  851. };
  852. };
  853. i2c0: i2c@80028002000 {
  854. compatible = "snps,designware-i2c";
  855. reg = <0x800 0x28002000 0x0 0x1000>;
  856. interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>;
  857. clock-frequency = <100000>;
  858. status = "ok";
  859. };
  860. i2c1: i2c@80028003000 {
  861. compatible = "snps,designware-i2c";
  862. reg = <0x800 0x28003000 0x0 0x1000>;
  863. interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>;
  864. clock-frequency = <100000>;
  865. status = "ok";
  866. };
  867. pcie0: peu0-c0 {
  868. compatible = "pci-host-ecam-generic";
  869. device_type = "pci";
  870. #address-cells = <3>;
  871. #size-cells = <2>;
  872. #interrupt-cells = <1>;
  873. reg = <0x800 0x40000000 0 0x2000000>;
  874. msi-parent = <&its>;
  875. bus-range = <0 0x1f>;
  876. interrupt-map-mask = <0x0 0x0 0x0 0x7>;
  877. interrupt-map = <0x0 0x0 0x0 0x1 &gic 0x0 0x0 GIC_SPI 0x33 IRQ_TYPE_LEVEL_HIGH>,
  878. <0x0 0x0 0x0 0x2 &gic 0x0 0x0 GIC_SPI 0x34 IRQ_TYPE_LEVEL_HIGH>,
  879. <0x0 0x0 0x0 0x3 &gic 0x0 0x0 GIC_SPI 0x35 IRQ_TYPE_LEVEL_HIGH>,
  880. <0x0 0x0 0x0 0x4 &gic 0x0 0x0 GIC_SPI 0x36 IRQ_TYPE_LEVEL_HIGH>;
  881. ranges = <0x01000000 0x00 0x00000000 0x800 0x50000000 0x00 0x00300000>,
  882. <0x02000000 0x00 0x60000000 0x800 0x60000000 0x00 0x08000000>,
  883. <0x03000000 0x20 0x00000000 0x820 0x00000000 0x08 0x00000000>;
  884. };
  885. pcie1: peu0-c1 {
  886. compatible = "pci-host-ecam-generic";
  887. device_type = "pci";
  888. #address-cells = <3>;
  889. #size-cells = <2>;
  890. #interrupt-cells = <1>;
  891. reg = <0x800 0x42000000 0 0x2000000>;
  892. msi-parent = <&its>;
  893. bus-range = <0x20 0x3f>;
  894. interrupt-map-mask = <0x0 0x0 0x0 0x7>;
  895. interrupt-map = <0x0 0x0 0x0 0x1 &gic 0x0 0x0 GIC_SPI 0x33 IRQ_TYPE_LEVEL_HIGH>,
  896. <0x0 0x0 0x0 0x2 &gic 0x0 0x0 GIC_SPI 0x34 IRQ_TYPE_LEVEL_HIGH>,
  897. <0x0 0x0 0x0 0x3 &gic 0x0 0x0 GIC_SPI 0x35 IRQ_TYPE_LEVEL_HIGH>,
  898. <0x0 0x0 0x0 0x4 &gic 0x0 0x0 GIC_SPI 0x36 IRQ_TYPE_LEVEL_HIGH>;
  899. ranges = <0x01000000 0x00 0x00300000 0x800 0x50300000 0x00 0x00300000>,
  900. <0x02000000 0x00 0x68000000 0x800 0x68000000 0x00 0x04000000>,
  901. <0x03000000 0x28 0x00000000 0x828 0x00000000 0x04 0x00000000>;
  902. };
  903. pcie2: peu0-c2 {
  904. compatible = "pci-host-ecam-generic";
  905. device_type = "pci";
  906. #address-cells = <3>;
  907. #size-cells = <2>;
  908. #interrupt-cells = <1>;
  909. reg = <0x800 0x44000000 0 0x1000000>;
  910. msi-parent = <&its>;
  911. bus-range = <0x40 0x4f>;
  912. interrupt-map-mask = <0x0 0x0 0x0 0x7>;
  913. interrupt-map = <0x0 0x0 0x0 0x1 &gic 0x0 0x0 GIC_SPI 0x33 IRQ_TYPE_LEVEL_HIGH>,
  914. <0x0 0x0 0x0 0x2 &gic 0x0 0x0 GIC_SPI 0x34 IRQ_TYPE_LEVEL_HIGH>,
  915. <0x0 0x0 0x0 0x3 &gic 0x0 0x0 GIC_SPI 0x35 IRQ_TYPE_LEVEL_HIGH>,
  916. <0x0 0x0 0x0 0x4 &gic 0x0 0x0 GIC_SPI 0x36 IRQ_TYPE_LEVEL_HIGH>;
  917. ranges = <0x01000000 0x00 0x00600000 0x800 0x50600000 0x00 0x00300000>,
  918. <0x02000000 0x00 0x6c000000 0x800 0x6c000000 0x00 0x02000000>,
  919. <0x03000000 0x2c 0x00000000 0x82c 0x00000000 0x04 0x00000000>;
  920. };
  921. pcie3: peu1-c0 {
  922. compatible = "pci-host-ecam-generic";
  923. device_type = "pci";
  924. #address-cells = <3>;
  925. #size-cells = <2>;
  926. #interrupt-cells = <1>;
  927. reg = <0x800 0x45000000 0 0x2000000>;
  928. msi-parent = <&its>;
  929. bus-range = <0x50 0x6f>;
  930. interrupt-map-mask = <0x0 0x0 0x0 0x7>;
  931. interrupt-map = <0x0 0x0 0x0 0x1 &gic 0x0 0x0 GIC_SPI 0x33 IRQ_TYPE_LEVEL_HIGH>,
  932. <0x0 0x0 0x0 0x2 &gic 0x0 0x0 GIC_SPI 0x34 IRQ_TYPE_LEVEL_HIGH>,
  933. <0x0 0x0 0x0 0x3 &gic 0x0 0x0 GIC_SPI 0x35 IRQ_TYPE_LEVEL_HIGH>,
  934. <0x0 0x0 0x0 0x4 &gic 0x0 0x0 GIC_SPI 0x36 IRQ_TYPE_LEVEL_HIGH>;
  935. ranges = <0x01000000 0x00 0x00900000 0x800 0x50900000 0x00 0x00300000>,
  936. <0x02000000 0x00 0x6e000000 0x800 0x6e000000 0x00 0x0a000000>,
  937. <0x03000000 0x20 0x00000000 0x830 0x00000000 0x08 0x00000000>;
  938. };
  939. pcie4: peu1-c1 {
  940. compatible = "pci-host-ecam-generic";
  941. device_type = "pci";
  942. #address-cells = <3>;
  943. #size-cells = <2>;
  944. #interrupt-cells = <1>;
  945. reg = <0x800 0x47000000 0 0x1000000>;
  946. msi-parent = <&its>;
  947. bus-range = <0x70 0x7f>;
  948. interrupt-map-mask = <0x0 0x0 0x0 0x7>;
  949. interrupt-map = <0x0 0x0 0x0 0x1 &gic 0x0 0x0 GIC_SPI 0x33 IRQ_TYPE_LEVEL_HIGH>,
  950. <0x0 0x0 0x0 0x2 &gic 0x0 0x0 GIC_SPI 0x34 IRQ_TYPE_LEVEL_HIGH>,
  951. <0x0 0x0 0x0 0x3 &gic 0x0 0x0 GIC_SPI 0x35 IRQ_TYPE_LEVEL_HIGH>,
  952. <0x0 0x0 0x0 0x4 &gic 0x0 0x0 GIC_SPI 0x36 IRQ_TYPE_LEVEL_HIGH>;
  953. ranges = <0x01000000 0x00 0x00c00000 0x800 0x50c00000 0x00 0x00300000>,
  954. <0x02000000 0x00 0x78000000 0x800 0x78000000 0x00 0x08000000>,
  955. <0x03000000 0x38 0x00000000 0x838 0x00000000 0x08 0x00000000>;
  956. };
  957. };
  958. };