armada-375.dtsi 17 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658
  1. /*
  2. * Device Tree Include file for Marvell Armada 375 family SoC
  3. *
  4. * Copyright (C) 2014 Marvell
  5. *
  6. * Gregory CLEMENT <gregory.clement@free-electrons.com>
  7. * Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
  8. *
  9. * This file is dual-licensed: you can use it either under the terms
  10. * of the GPL or the X11 license, at your option. Note that this dual
  11. * licensing only applies to this file, and not this project as a
  12. * whole.
  13. *
  14. * a) This file is free software; you can redistribute it and/or
  15. * modify it under the terms of the GNU General Public License as
  16. * published by the Free Software Foundation; either version 2 of the
  17. * License, or (at your option) any later version.
  18. *
  19. * This file is distributed in the hope that it will be useful
  20. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  21. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  22. * GNU General Public License for more details.
  23. *
  24. * Or, alternatively
  25. *
  26. * b) Permission is hereby granted, free of charge, to any person
  27. * obtaining a copy of this software and associated documentation
  28. * files (the "Software"), to deal in the Software without
  29. * restriction, including without limitation the rights to use
  30. * copy, modify, merge, publish, distribute, sublicense, and/or
  31. * sell copies of the Software, and to permit persons to whom the
  32. * Software is furnished to do so, subject to the following
  33. * conditions:
  34. *
  35. * The above copyright notice and this permission notice shall be
  36. * included in all copies or substantial portions of the Software.
  37. *
  38. * THE SOFTWARE IS PROVIDED , WITHOUT WARRANTY OF ANY KIND
  39. * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
  40. * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
  41. * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
  42. * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY
  43. * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
  44. * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
  45. * OTHER DEALINGS IN THE SOFTWARE.
  46. */
  47. #include "skeleton.dtsi"
  48. #include <dt-bindings/interrupt-controller/arm-gic.h>
  49. #include <dt-bindings/interrupt-controller/irq.h>
  50. #include <dt-bindings/phy/phy.h>
  51. #define MBUS_ID(target,attributes) (((target) << 24) | ((attributes) << 16))
  52. / {
  53. model = "Marvell Armada 375 family SoC";
  54. compatible = "marvell,armada375";
  55. aliases {
  56. gpio0 = &gpio0;
  57. gpio1 = &gpio1;
  58. gpio2 = &gpio2;
  59. serial0 = &uart0;
  60. serial1 = &uart1;
  61. };
  62. clocks {
  63. /* 2 GHz fixed main PLL */
  64. mainpll: mainpll {
  65. compatible = "fixed-clock";
  66. #clock-cells = <0>;
  67. clock-frequency = <1000000000>;
  68. };
  69. /* 25 MHz reference crystal */
  70. refclk: oscillator {
  71. compatible = "fixed-clock";
  72. #clock-cells = <0>;
  73. clock-frequency = <25000000>;
  74. };
  75. };
  76. cpus {
  77. #address-cells = <1>;
  78. #size-cells = <0>;
  79. enable-method = "marvell,armada-375-smp";
  80. cpu@0 {
  81. device_type = "cpu";
  82. compatible = "arm,cortex-a9";
  83. reg = <0>;
  84. };
  85. cpu@1 {
  86. device_type = "cpu";
  87. compatible = "arm,cortex-a9";
  88. reg = <1>;
  89. };
  90. };
  91. pmu {
  92. compatible = "arm,cortex-a9-pmu";
  93. interrupts-extended = <&mpic 3>;
  94. };
  95. soc {
  96. compatible = "marvell,armada375-mbus", "simple-bus";
  97. u-boot,dm-pre-reloc;
  98. #address-cells = <2>;
  99. #size-cells = <1>;
  100. controller = <&mbusc>;
  101. interrupt-parent = <&gic>;
  102. pcie-mem-aperture = <0xe0000000 0x8000000>;
  103. pcie-io-aperture = <0xe8000000 0x100000>;
  104. bootrom {
  105. compatible = "marvell,bootrom";
  106. reg = <MBUS_ID(0x01, 0x1d) 0 0x100000>;
  107. };
  108. devbus-bootcs {
  109. compatible = "marvell,mvebu-devbus";
  110. reg = <MBUS_ID(0xf0, 0x01) 0x10400 0x8>;
  111. ranges = <0 MBUS_ID(0x01, 0x2f) 0 0xffffffff>;
  112. #address-cells = <1>;
  113. #size-cells = <1>;
  114. clocks = <&coreclk 0>;
  115. status = "disabled";
  116. };
  117. devbus-cs0 {
  118. compatible = "marvell,mvebu-devbus";
  119. reg = <MBUS_ID(0xf0, 0x01) 0x10408 0x8>;
  120. ranges = <0 MBUS_ID(0x01, 0x3e) 0 0xffffffff>;
  121. #address-cells = <1>;
  122. #size-cells = <1>;
  123. clocks = <&coreclk 0>;
  124. status = "disabled";
  125. };
  126. devbus-cs1 {
  127. compatible = "marvell,mvebu-devbus";
  128. reg = <MBUS_ID(0xf0, 0x01) 0x10410 0x8>;
  129. ranges = <0 MBUS_ID(0x01, 0x3d) 0 0xffffffff>;
  130. #address-cells = <1>;
  131. #size-cells = <1>;
  132. clocks = <&coreclk 0>;
  133. status = "disabled";
  134. };
  135. devbus-cs2 {
  136. compatible = "marvell,mvebu-devbus";
  137. reg = <MBUS_ID(0xf0, 0x01) 0x10418 0x8>;
  138. ranges = <0 MBUS_ID(0x01, 0x3b) 0 0xffffffff>;
  139. #address-cells = <1>;
  140. #size-cells = <1>;
  141. clocks = <&coreclk 0>;
  142. status = "disabled";
  143. };
  144. devbus-cs3 {
  145. compatible = "marvell,mvebu-devbus";
  146. reg = <MBUS_ID(0xf0, 0x01) 0x10420 0x8>;
  147. ranges = <0 MBUS_ID(0x01, 0x37) 0 0xffffffff>;
  148. #address-cells = <1>;
  149. #size-cells = <1>;
  150. clocks = <&coreclk 0>;
  151. status = "disabled";
  152. };
  153. internal-regs {
  154. compatible = "simple-bus";
  155. u-boot,dm-pre-reloc;
  156. #address-cells = <1>;
  157. #size-cells = <1>;
  158. ranges = <0 MBUS_ID(0xf0, 0x01) 0 0x100000>;
  159. L2: cache-controller@8000 {
  160. compatible = "arm,pl310-cache";
  161. reg = <0x8000 0x1000>;
  162. cache-unified;
  163. cache-level = <2>;
  164. arm,double-linefill-incr = <1>;
  165. arm,double-linefill-wrap = <0>;
  166. arm,double-linefill = <1>;
  167. prefetch-data = <1>;
  168. };
  169. scu@c000 {
  170. compatible = "arm,cortex-a9-scu";
  171. reg = <0xc000 0x58>;
  172. };
  173. timer@c600 {
  174. compatible = "arm,cortex-a9-twd-timer";
  175. reg = <0xc600 0x20>;
  176. interrupts = <GIC_PPI 13 (IRQ_TYPE_EDGE_RISING | GIC_CPU_MASK_SIMPLE(2))>;
  177. clocks = <&coreclk 2>;
  178. };
  179. gic: interrupt-controller@d000 {
  180. compatible = "arm,cortex-a9-gic";
  181. #interrupt-cells = <3>;
  182. #size-cells = <0>;
  183. interrupt-controller;
  184. reg = <0xd000 0x1000>,
  185. <0xc100 0x100>;
  186. };
  187. mdio {
  188. #address-cells = <1>;
  189. #size-cells = <0>;
  190. compatible = "marvell,orion-mdio";
  191. reg = <0xc0054 0x4>;
  192. clocks = <&gateclk 19>;
  193. };
  194. /* Network controller */
  195. ethernet@f0000 {
  196. compatible = "marvell,armada-375-pp2";
  197. reg = <0xf0000 0xa000>, /* Packet Processor regs */
  198. <0xc0000 0x3060>, /* LMS regs */
  199. <0xc4000 0x100>, /* eth0 regs */
  200. <0xc5000 0x100>; /* eth1 regs */
  201. clocks = <&gateclk 3>, <&gateclk 19>;
  202. clock-names = "pp_clk", "gop_clk";
  203. status = "disabled";
  204. eth0: eth0@c4000 {
  205. interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>;
  206. port-id = <0>;
  207. status = "disabled";
  208. };
  209. eth1: eth1@c5000 {
  210. interrupts = <GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>;
  211. port-id = <1>;
  212. status = "disabled";
  213. };
  214. };
  215. rtc@10300 {
  216. compatible = "marvell,orion-rtc";
  217. reg = <0x10300 0x20>;
  218. interrupts = <GIC_SPI 21 IRQ_TYPE_LEVEL_HIGH>;
  219. };
  220. spi0: spi@10600 {
  221. compatible = "marvell,armada-375-spi",
  222. "marvell,orion-spi";
  223. reg = <0x10600 0x50>;
  224. #address-cells = <1>;
  225. #size-cells = <0>;
  226. cell-index = <0>;
  227. interrupts = <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>;
  228. clocks = <&coreclk 0>;
  229. status = "disabled";
  230. };
  231. spi1: spi@10680 {
  232. compatible = "marvell,armada-375-spi",
  233. "marvell,orion-spi";
  234. reg = <0x10680 0x50>;
  235. #address-cells = <1>;
  236. #size-cells = <0>;
  237. cell-index = <1>;
  238. interrupts = <GIC_SPI 63 IRQ_TYPE_LEVEL_HIGH>;
  239. clocks = <&coreclk 0>;
  240. status = "disabled";
  241. };
  242. i2c0: i2c@11000 {
  243. compatible = "marvell,mv64xxx-i2c";
  244. reg = <0x11000 0x20>;
  245. #address-cells = <1>;
  246. #size-cells = <0>;
  247. interrupts = <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>;
  248. timeout-ms = <1000>;
  249. clocks = <&coreclk 0>;
  250. status = "disabled";
  251. };
  252. i2c1: i2c@11100 {
  253. compatible = "marvell,mv64xxx-i2c";
  254. reg = <0x11100 0x20>;
  255. #address-cells = <1>;
  256. #size-cells = <0>;
  257. interrupts = <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>;
  258. timeout-ms = <1000>;
  259. clocks = <&coreclk 0>;
  260. status = "disabled";
  261. };
  262. uart0: serial@12000 {
  263. compatible = "snps,dw-apb-uart";
  264. reg = <0x12000 0x100>;
  265. reg-shift = <2>;
  266. interrupts = <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>;
  267. reg-io-width = <1>;
  268. clocks = <&coreclk 0>;
  269. status = "disabled";
  270. };
  271. uart1: serial@12100 {
  272. compatible = "snps,dw-apb-uart";
  273. reg = <0x12100 0x100>;
  274. reg-shift = <2>;
  275. interrupts = <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>;
  276. reg-io-width = <1>;
  277. clocks = <&coreclk 0>;
  278. status = "disabled";
  279. };
  280. pinctrl {
  281. compatible = "marvell,mv88f6720-pinctrl";
  282. reg = <0x18000 0x24>;
  283. i2c0_pins: i2c0-pins {
  284. marvell,pins = "mpp14", "mpp15";
  285. marvell,function = "i2c0";
  286. };
  287. i2c1_pins: i2c1-pins {
  288. marvell,pins = "mpp61", "mpp62";
  289. marvell,function = "i2c1";
  290. };
  291. nand_pins: nand-pins {
  292. marvell,pins = "mpp0", "mpp1", "mpp2",
  293. "mpp3", "mpp4", "mpp5",
  294. "mpp6", "mpp7", "mpp8",
  295. "mpp9", "mpp10", "mpp11",
  296. "mpp12", "mpp13";
  297. marvell,function = "nand";
  298. };
  299. sdio_pins: sdio-pins {
  300. marvell,pins = "mpp24", "mpp25", "mpp26",
  301. "mpp27", "mpp28", "mpp29";
  302. marvell,function = "sd";
  303. };
  304. spi0_pins: spi0-pins {
  305. marvell,pins = "mpp0", "mpp1", "mpp4",
  306. "mpp5", "mpp8", "mpp9";
  307. marvell,function = "spi0";
  308. };
  309. };
  310. gpio0: gpio@18100 {
  311. compatible = "marvell,orion-gpio";
  312. reg = <0x18100 0x40>;
  313. ngpios = <32>;
  314. gpio-controller;
  315. #gpio-cells = <2>;
  316. interrupt-controller;
  317. #interrupt-cells = <2>;
  318. interrupts = <GIC_SPI 53 IRQ_TYPE_LEVEL_HIGH>,
  319. <GIC_SPI 54 IRQ_TYPE_LEVEL_HIGH>,
  320. <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>,
  321. <GIC_SPI 56 IRQ_TYPE_LEVEL_HIGH>;
  322. };
  323. gpio1: gpio@18140 {
  324. compatible = "marvell,orion-gpio";
  325. reg = <0x18140 0x40>;
  326. ngpios = <32>;
  327. gpio-controller;
  328. #gpio-cells = <2>;
  329. interrupt-controller;
  330. #interrupt-cells = <2>;
  331. interrupts = <GIC_SPI 58 IRQ_TYPE_LEVEL_HIGH>,
  332. <GIC_SPI 59 IRQ_TYPE_LEVEL_HIGH>,
  333. <GIC_SPI 60 IRQ_TYPE_LEVEL_HIGH>,
  334. <GIC_SPI 61 IRQ_TYPE_LEVEL_HIGH>;
  335. };
  336. gpio2: gpio@18180 {
  337. compatible = "marvell,orion-gpio";
  338. reg = <0x18180 0x40>;
  339. ngpios = <3>;
  340. gpio-controller;
  341. #gpio-cells = <2>;
  342. interrupt-controller;
  343. #interrupt-cells = <2>;
  344. interrupts = <GIC_SPI 62 IRQ_TYPE_LEVEL_HIGH>;
  345. };
  346. system-controller@18200 {
  347. compatible = "marvell,armada-375-system-controller";
  348. reg = <0x18200 0x100>;
  349. };
  350. gateclk: clock-gating-control@18220 {
  351. compatible = "marvell,armada-375-gating-clock";
  352. reg = <0x18220 0x4>;
  353. clocks = <&coreclk 0>;
  354. #clock-cells = <1>;
  355. };
  356. usbcluster: usb-cluster@18400 {
  357. compatible = "marvell,armada-375-usb-cluster";
  358. reg = <0x18400 0x4>;
  359. #phy-cells = <1>;
  360. };
  361. mbusc: mbus-controller@20000 {
  362. compatible = "marvell,mbus-controller";
  363. reg = <0x20000 0x100>, <0x20180 0x20>;
  364. };
  365. mpic: interrupt-controller@20a00 {
  366. compatible = "marvell,mpic";
  367. reg = <0x20a00 0x2d0>, <0x21070 0x58>;
  368. #interrupt-cells = <1>;
  369. #size-cells = <1>;
  370. interrupt-controller;
  371. msi-controller;
  372. interrupts = <GIC_PPI 15 IRQ_TYPE_LEVEL_HIGH>;
  373. };
  374. timer@20300 {
  375. compatible = "marvell,armada-375-timer", "marvell,armada-370-timer";
  376. reg = <0x20300 0x30>, <0x21040 0x30>;
  377. interrupts-extended = <&gic GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>,
  378. <&gic GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>,
  379. <&gic GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>,
  380. <&gic GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>,
  381. <&mpic 5>,
  382. <&mpic 6>;
  383. clocks = <&coreclk 0>, <&refclk>;
  384. clock-names = "nbclk", "fixed";
  385. };
  386. watchdog@20300 {
  387. compatible = "marvell,armada-375-wdt";
  388. reg = <0x20300 0x34>, <0x20704 0x4>, <0x18254 0x4>;
  389. clocks = <&coreclk 0>, <&refclk>;
  390. clock-names = "nbclk", "fixed";
  391. };
  392. cpurst@20800 {
  393. compatible = "marvell,armada-370-cpu-reset";
  394. reg = <0x20800 0x10>;
  395. };
  396. coherency-fabric@21010 {
  397. compatible = "marvell,armada-375-coherency-fabric";
  398. reg = <0x21010 0x1c>;
  399. };
  400. usb@50000 {
  401. compatible = "marvell,orion-ehci";
  402. reg = <0x50000 0x500>;
  403. interrupts = <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>;
  404. clocks = <&gateclk 18>;
  405. phys = <&usbcluster PHY_TYPE_USB2>;
  406. phy-names = "usb";
  407. status = "disabled";
  408. };
  409. usb@54000 {
  410. compatible = "marvell,orion-ehci";
  411. reg = <0x54000 0x500>;
  412. interrupts = <GIC_SPI 18 IRQ_TYPE_LEVEL_HIGH>;
  413. clocks = <&gateclk 26>;
  414. status = "disabled";
  415. };
  416. usb3@58000 {
  417. compatible = "marvell,armada-375-xhci";
  418. reg = <0x58000 0x20000>,<0x5b880 0x80>;
  419. interrupts = <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>;
  420. clocks = <&gateclk 16>;
  421. phys = <&usbcluster PHY_TYPE_USB3>;
  422. phy-names = "usb";
  423. status = "disabled";
  424. };
  425. xor@60800 {
  426. compatible = "marvell,orion-xor";
  427. reg = <0x60800 0x100
  428. 0x60A00 0x100>;
  429. clocks = <&gateclk 22>;
  430. status = "okay";
  431. xor00 {
  432. interrupts = <GIC_SPI 22 IRQ_TYPE_LEVEL_HIGH>;
  433. dmacap,memcpy;
  434. dmacap,xor;
  435. };
  436. xor01 {
  437. interrupts = <GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH>;
  438. dmacap,memcpy;
  439. dmacap,xor;
  440. dmacap,memset;
  441. };
  442. };
  443. xor@60900 {
  444. compatible = "marvell,orion-xor";
  445. reg = <0x60900 0x100
  446. 0x60b00 0x100>;
  447. clocks = <&gateclk 23>;
  448. status = "okay";
  449. xor10 {
  450. interrupts = <GIC_SPI 65 IRQ_TYPE_LEVEL_HIGH>;
  451. dmacap,memcpy;
  452. dmacap,xor;
  453. };
  454. xor11 {
  455. interrupts = <GIC_SPI 66 IRQ_TYPE_LEVEL_HIGH>;
  456. dmacap,memcpy;
  457. dmacap,xor;
  458. dmacap,memset;
  459. };
  460. };
  461. crypto@90000 {
  462. compatible = "marvell,armada-375-crypto";
  463. reg = <0x90000 0x10000>;
  464. reg-names = "regs";
  465. interrupts = <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>,
  466. <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>;
  467. clocks = <&gateclk 30>, <&gateclk 31>,
  468. <&gateclk 28>, <&gateclk 29>;
  469. clock-names = "cesa0", "cesa1",
  470. "cesaz0", "cesaz1";
  471. marvell,crypto-srams = <&crypto_sram0>,
  472. <&crypto_sram1>;
  473. marvell,crypto-sram-size = <0x800>;
  474. };
  475. sata@a0000 {
  476. compatible = "marvell,orion-sata";
  477. reg = <0xa0000 0x5000>;
  478. interrupts = <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>;
  479. clocks = <&gateclk 14>, <&gateclk 20>;
  480. clock-names = "0", "1";
  481. status = "disabled";
  482. };
  483. nand@d0000 {
  484. compatible = "marvell,armada370-nand";
  485. reg = <0xd0000 0x54>;
  486. #address-cells = <1>;
  487. #size-cells = <1>;
  488. interrupts = <GIC_SPI 84 IRQ_TYPE_LEVEL_HIGH>;
  489. clocks = <&gateclk 11>;
  490. status = "disabled";
  491. };
  492. mvsdio@d4000 {
  493. compatible = "marvell,orion-sdio";
  494. reg = <0xd4000 0x200>;
  495. interrupts = <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>;
  496. clocks = <&gateclk 17>;
  497. bus-width = <4>;
  498. cap-sdio-irq;
  499. cap-sd-highspeed;
  500. cap-mmc-highspeed;
  501. status = "disabled";
  502. };
  503. thermal@e8078 {
  504. compatible = "marvell,armada375-thermal";
  505. reg = <0xe8078 0x4>, <0xe807c 0x8>;
  506. status = "okay";
  507. };
  508. coreclk: mvebu-sar@e8204 {
  509. compatible = "marvell,armada-375-core-clock";
  510. reg = <0xe8204 0x04>;
  511. #clock-cells = <1>;
  512. };
  513. coredivclk: corediv-clock@e8250 {
  514. compatible = "marvell,armada-375-corediv-clock";
  515. reg = <0xe8250 0xc>;
  516. #clock-cells = <1>;
  517. clocks = <&mainpll>;
  518. clock-output-names = "nand";
  519. };
  520. };
  521. pcie-controller {
  522. compatible = "marvell,armada-370-pcie";
  523. status = "disabled";
  524. device_type = "pci";
  525. #address-cells = <3>;
  526. #size-cells = <2>;
  527. msi-parent = <&mpic>;
  528. bus-range = <0x00 0xff>;
  529. ranges =
  530. <0x82000000 0 0x40000 MBUS_ID(0xf0, 0x01) 0x40000 0 0x00002000
  531. 0x82000000 0 0x44000 MBUS_ID(0xf0, 0x01) 0x44000 0 0x00002000
  532. 0x82000000 0x1 0 MBUS_ID(0x04, 0xe8) 0 1 0 /* Port 0 MEM */
  533. 0x81000000 0x1 0 MBUS_ID(0x04, 0xe0) 0 1 0 /* Port 0 IO */
  534. 0x82000000 0x2 0 MBUS_ID(0x04, 0xd8) 0 1 0 /* Port 1 MEM */
  535. 0x81000000 0x2 0 MBUS_ID(0x04, 0xd0) 0 1 0 /* Port 1 IO */>;
  536. pcie@1,0 {
  537. device_type = "pci";
  538. assigned-addresses = <0x82000800 0 0x40000 0 0x2000>;
  539. reg = <0x0800 0 0 0 0>;
  540. #address-cells = <3>;
  541. #size-cells = <2>;
  542. #interrupt-cells = <1>;
  543. ranges = <0x82000000 0 0 0x82000000 0x1 0 1 0
  544. 0x81000000 0 0 0x81000000 0x1 0 1 0>;
  545. interrupt-map-mask = <0 0 0 0>;
  546. interrupt-map = <0 0 0 0 &gic GIC_SPI 29 IRQ_TYPE_LEVEL_HIGH>;
  547. marvell,pcie-port = <0>;
  548. marvell,pcie-lane = <0>;
  549. clocks = <&gateclk 5>;
  550. status = "disabled";
  551. };
  552. pcie@2,0 {
  553. device_type = "pci";
  554. assigned-addresses = <0x82000800 0 0x44000 0 0x2000>;
  555. reg = <0x1000 0 0 0 0>;
  556. #address-cells = <3>;
  557. #size-cells = <2>;
  558. #interrupt-cells = <1>;
  559. ranges = <0x82000000 0 0 0x82000000 0x2 0 1 0
  560. 0x81000000 0 0 0x81000000 0x2 0 1 0>;
  561. interrupt-map-mask = <0 0 0 0>;
  562. interrupt-map = <0 0 0 0 &gic GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>;
  563. marvell,pcie-port = <0>;
  564. marvell,pcie-lane = <1>;
  565. clocks = <&gateclk 6>;
  566. status = "disabled";
  567. };
  568. };
  569. crypto_sram0: sa-sram0 {
  570. compatible = "mmio-sram";
  571. reg = <MBUS_ID(0x09, 0x09) 0 0x800>;
  572. clocks = <&gateclk 30>;
  573. #address-cells = <1>;
  574. #size-cells = <1>;
  575. ranges = <0 MBUS_ID(0x09, 0x09) 0 0x800>;
  576. };
  577. crypto_sram1: sa-sram1 {
  578. compatible = "mmio-sram";
  579. reg = <MBUS_ID(0x09, 0x05) 0 0x800>;
  580. clocks = <&gateclk 31>;
  581. #address-cells = <1>;
  582. #size-cells = <1>;
  583. ranges = <0 MBUS_ID(0x09, 0x05) 0 0x800>;
  584. };
  585. };
  586. };