ft2000plus-SR-psci-soc.dtsi 18 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987
  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 0x10000000>;
  874. msi-parent = <&its>;
  875. bus-range = <0 0xff>;
  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 0x00f00000>,
  882. <0x02000000 0x00 0x60000000 0x800 0x60000000 0x00 0x20000000>,
  883. <0x03000000 0x20 0x00000000 0x820 0x00000000 0x20 0x00000000>;
  884. };
  885. };
  886. };