armada-39x.dtsi 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594
  1. // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
  2. /*
  3. * Device Tree Include file for Marvell Armada 39x family of SoCs.
  4. *
  5. * Copyright (C) 2015 Marvell
  6. *
  7. * Thomas Petazzoni <[email protected]>
  8. */
  9. #include <dt-bindings/interrupt-controller/arm-gic.h>
  10. #include <dt-bindings/interrupt-controller/irq.h>
  11. #define MBUS_ID(target,attributes) (((target) << 24) | ((attributes) << 16))
  12. / {
  13. #address-cells = <1>;
  14. #size-cells = <1>;
  15. model = "Marvell Armada 39x family SoC";
  16. compatible = "marvell,armada390";
  17. aliases {
  18. gpio0 = &gpio0;
  19. gpio1 = &gpio1;
  20. serial0 = &uart0;
  21. serial1 = &uart1;
  22. serial2 = &uart2;
  23. serial3 = &uart3;
  24. };
  25. cpus {
  26. #address-cells = <1>;
  27. #size-cells = <0>;
  28. enable-method = "marvell,armada-390-smp";
  29. cpu@0 {
  30. device_type = "cpu";
  31. compatible = "arm,cortex-a9";
  32. reg = <0>;
  33. };
  34. cpu@1 {
  35. device_type = "cpu";
  36. compatible = "arm,cortex-a9";
  37. reg = <1>;
  38. };
  39. };
  40. pmu {
  41. compatible = "arm,cortex-a9-pmu";
  42. interrupts-extended = <&mpic 3>;
  43. };
  44. soc {
  45. compatible = "marvell,armada390-mbus", "marvell,armadaxp-mbus",
  46. "simple-bus";
  47. #address-cells = <2>;
  48. #size-cells = <1>;
  49. controller = <&mbusc>;
  50. interrupt-parent = <&gic>;
  51. pcie-mem-aperture = <0xe0000000 0x8000000>;
  52. pcie-io-aperture = <0xe8000000 0x100000>;
  53. bootrom {
  54. compatible = "marvell,bootrom";
  55. reg = <MBUS_ID(0x01, 0x1d) 0 0x200000>;
  56. };
  57. internal-regs {
  58. compatible = "simple-bus";
  59. #address-cells = <1>;
  60. #size-cells = <1>;
  61. ranges = <0 MBUS_ID(0xf0, 0x01) 0 0x100000>;
  62. L2: cache-controller@8000 {
  63. compatible = "arm,pl310-cache";
  64. reg = <0x8000 0x1000>;
  65. cache-unified;
  66. cache-level = <2>;
  67. arm,double-linefill-incr = <0>;
  68. arm,double-linefill-wrap = <0>;
  69. arm,double-linefill = <0>;
  70. prefetch-data = <1>;
  71. };
  72. scu@c000 {
  73. compatible = "arm,cortex-a9-scu";
  74. reg = <0xc000 0x100>;
  75. };
  76. timer@c600 {
  77. compatible = "arm,cortex-a9-twd-timer";
  78. reg = <0xc600 0x20>;
  79. interrupts = <GIC_PPI 13 (IRQ_TYPE_EDGE_RISING | GIC_CPU_MASK_SIMPLE(2))>;
  80. clocks = <&coreclk 2>;
  81. };
  82. gic: interrupt-controller@d000 {
  83. compatible = "arm,cortex-a9-gic";
  84. #interrupt-cells = <3>;
  85. #size-cells = <0>;
  86. interrupt-controller;
  87. reg = <0xd000 0x1000>,
  88. <0xc100 0x100>;
  89. };
  90. i2c0: i2c@11000 {
  91. compatible = "marvell,mv64xxx-i2c";
  92. reg = <0x11000 0x20>;
  93. #address-cells = <1>;
  94. #size-cells = <0>;
  95. interrupts = <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>;
  96. clocks = <&coreclk 0>;
  97. status = "disabled";
  98. };
  99. i2c1: i2c@11100 {
  100. compatible = "marvell,mv64xxx-i2c";
  101. reg = <0x11100 0x20>;
  102. #address-cells = <1>;
  103. #size-cells = <0>;
  104. interrupts = <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>;
  105. clocks = <&coreclk 0>;
  106. status = "disabled";
  107. };
  108. i2c2: i2c@11200 {
  109. compatible = "marvell,mv64xxx-i2c";
  110. reg = <0x11200 0x20>;
  111. #address-cells = <1>;
  112. #size-cells = <0>;
  113. interrupts = <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>;
  114. clocks = <&coreclk 0>;
  115. status = "disabled";
  116. };
  117. i2c3: i2c@11300 {
  118. compatible = "marvell,mv64xxx-i2c";
  119. reg = <0x11300 0x20>;
  120. #address-cells = <1>;
  121. #size-cells = <0>;
  122. interrupts = <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>;
  123. clocks = <&coreclk 0>;
  124. status = "disabled";
  125. };
  126. uart0: serial@12000 {
  127. compatible = "snps,dw-apb-uart";
  128. reg = <0x12000 0x100>;
  129. reg-shift = <2>;
  130. interrupts = <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>;
  131. reg-io-width = <1>;
  132. clocks = <&coreclk 0>;
  133. status = "disabled";
  134. };
  135. uart1: serial@12100 {
  136. compatible = "snps,dw-apb-uart";
  137. reg = <0x12100 0x100>;
  138. reg-shift = <2>;
  139. interrupts = <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>;
  140. reg-io-width = <1>;
  141. clocks = <&coreclk 0>;
  142. status = "disabled";
  143. };
  144. uart2: serial@12200 {
  145. compatible = "snps,dw-apb-uart";
  146. reg = <0x12200 0x100>;
  147. reg-shift = <2>;
  148. interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>;
  149. reg-io-width = <1>;
  150. clocks = <&coreclk 0>;
  151. status = "disabled";
  152. };
  153. uart3: serial@12300 {
  154. compatible = "snps,dw-apb-uart";
  155. reg = <0x12300 0x100>;
  156. reg-shift = <2>;
  157. interrupts = <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>;
  158. reg-io-width = <1>;
  159. clocks = <&coreclk 0>;
  160. status = "disabled";
  161. };
  162. pinctrl@18000 {
  163. i2c0_pins: i2c0-pins {
  164. marvell,pins = "mpp2", "mpp3";
  165. marvell,function = "i2c0";
  166. };
  167. uart0_pins: uart0-pins {
  168. marvell,pins = "mpp0", "mpp1";
  169. marvell,function = "ua0";
  170. };
  171. uart1_pins: uart1-pins {
  172. marvell,pins = "mpp19", "mpp20";
  173. marvell,function = "ua1";
  174. };
  175. spi1_pins: spi1-pins {
  176. marvell,pins = "mpp56", "mpp57", "mpp58", "mpp59";
  177. marvell,function = "spi1";
  178. };
  179. nand_pins: nand-pins {
  180. marvell,pins = "mpp22", "mpp34", "mpp23", "mpp33",
  181. "mpp38", "mpp28", "mpp40", "mpp42",
  182. "mpp35", "mpp36", "mpp25", "mpp30",
  183. "mpp32";
  184. marvell,function = "dev";
  185. };
  186. };
  187. gpio0: gpio@18100 {
  188. compatible = "marvell,orion-gpio";
  189. reg = <0x18100 0x40>;
  190. ngpios = <32>;
  191. gpio-controller;
  192. #gpio-cells = <2>;
  193. interrupt-controller;
  194. #interrupt-cells = <2>;
  195. interrupts = <GIC_SPI 53 IRQ_TYPE_LEVEL_HIGH>,
  196. <GIC_SPI 54 IRQ_TYPE_LEVEL_HIGH>,
  197. <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>,
  198. <GIC_SPI 56 IRQ_TYPE_LEVEL_HIGH>;
  199. };
  200. gpio1: gpio@18140 {
  201. compatible = "marvell,orion-gpio";
  202. reg = <0x18140 0x40>;
  203. ngpios = <28>;
  204. gpio-controller;
  205. #gpio-cells = <2>;
  206. interrupt-controller;
  207. #interrupt-cells = <2>;
  208. interrupts = <GIC_SPI 58 IRQ_TYPE_LEVEL_HIGH>,
  209. <GIC_SPI 59 IRQ_TYPE_LEVEL_HIGH>,
  210. <GIC_SPI 60 IRQ_TYPE_LEVEL_HIGH>,
  211. <GIC_SPI 61 IRQ_TYPE_LEVEL_HIGH>;
  212. };
  213. system-controller@18200 {
  214. compatible = "marvell,armada-390-system-controller",
  215. "marvell,armada-370-xp-system-controller";
  216. reg = <0x18200 0x100>;
  217. };
  218. gateclk: clock-gating-control@18220 {
  219. compatible = "marvell,armada-390-gating-clock";
  220. reg = <0x18220 0x4>;
  221. clocks = <&coreclk 0>;
  222. #clock-cells = <1>;
  223. };
  224. coreclk: mvebu-sar@18600 {
  225. compatible = "marvell,armada-390-core-clock";
  226. reg = <0x18600 0x04>;
  227. #clock-cells = <1>;
  228. };
  229. mbusc: mbus-controller@20000 {
  230. compatible = "marvell,mbus-controller";
  231. reg = <0x20000 0x100>, <0x20180 0x20>, <0x20250 0x8>;
  232. };
  233. mpic: interrupt-controller@20a00 {
  234. compatible = "marvell,mpic";
  235. reg = <0x20a00 0x2d0>, <0x21070 0x58>;
  236. #interrupt-cells = <1>;
  237. #size-cells = <1>;
  238. interrupt-controller;
  239. msi-controller;
  240. interrupts = <GIC_PPI 15 IRQ_TYPE_LEVEL_HIGH>;
  241. };
  242. timer@20300 {
  243. compatible = "marvell,armada-380-timer",
  244. "marvell,armada-xp-timer";
  245. reg = <0x20300 0x30>, <0x21040 0x30>;
  246. interrupts-extended = <&gic GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>,
  247. <&gic GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>,
  248. <&gic GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>,
  249. <&gic GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>,
  250. <&mpic 5>,
  251. <&mpic 6>;
  252. clocks = <&coreclk 2>, <&coreclk 5>;
  253. clock-names = "nbclk", "fixed";
  254. };
  255. watchdog@20300 {
  256. compatible = "marvell,armada-380-wdt";
  257. reg = <0x20300 0x34>, <0x20704 0x4>,
  258. <0x18260 0x4>;
  259. clocks = <&coreclk 2>, <&refclk>;
  260. clock-names = "nbclk", "fixed";
  261. };
  262. cpurst@20800 {
  263. compatible = "marvell,armada-370-cpu-reset";
  264. reg = <0x20800 0x10>;
  265. };
  266. mpcore-soc-ctrl@20d20 {
  267. compatible = "marvell,armada-380-mpcore-soc-ctrl";
  268. reg = <0x20d20 0x6c>;
  269. };
  270. coherency-fabric@21010 {
  271. compatible = "marvell,armada-380-coherency-fabric";
  272. reg = <0x21010 0x1c>;
  273. };
  274. pmsu@22000 {
  275. compatible = "marvell,armada-390-pmsu",
  276. "marvell,armada-380-pmsu";
  277. reg = <0x22000 0x1000>;
  278. };
  279. xor@60800 {
  280. compatible = "marvell,armada-380-xor", "marvell,orion-xor";
  281. reg = <0x60800 0x100
  282. 0x60a00 0x100>;
  283. clocks = <&gateclk 22>;
  284. status = "okay";
  285. xor00 {
  286. interrupts = <GIC_SPI 22 IRQ_TYPE_LEVEL_HIGH>;
  287. dmacap,memcpy;
  288. dmacap,xor;
  289. };
  290. xor01 {
  291. interrupts = <GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH>;
  292. dmacap,memcpy;
  293. dmacap,xor;
  294. dmacap,memset;
  295. };
  296. };
  297. xor@60900 {
  298. compatible = "marvell,armada-380-xor", "marvell,orion-xor";
  299. reg = <0x60900 0x100
  300. 0x60b00 0x100>;
  301. clocks = <&gateclk 28>;
  302. status = "okay";
  303. xor10 {
  304. interrupts = <GIC_SPI 65 IRQ_TYPE_LEVEL_HIGH>;
  305. dmacap,memcpy;
  306. dmacap,xor;
  307. };
  308. xor11 {
  309. interrupts = <GIC_SPI 66 IRQ_TYPE_LEVEL_HIGH>;
  310. dmacap,memcpy;
  311. dmacap,xor;
  312. dmacap,memset;
  313. };
  314. };
  315. rtc@a3800 {
  316. compatible = "marvell,armada-380-rtc";
  317. reg = <0xa3800 0x20>, <0x184a0 0x0c>;
  318. reg-names = "rtc", "rtc-soc";
  319. interrupts = <GIC_SPI 21 IRQ_TYPE_LEVEL_HIGH>;
  320. };
  321. nand_controller: nand-controller@d0000 {
  322. compatible = "marvell,armada370-nand-controller";
  323. reg = <0xd0000 0x54>;
  324. #address-cells = <1>;
  325. #size-cells = <0>;
  326. interrupts = <GIC_SPI 84 IRQ_TYPE_LEVEL_HIGH>;
  327. clocks = <&coredivclk 0>;
  328. status = "disabled";
  329. };
  330. sdhci@d8000 {
  331. compatible = "marvell,armada-380-sdhci";
  332. reg-names = "sdhci", "mbus", "conf-sdio3";
  333. reg = <0xd8000 0x1000>,
  334. <0xdc000 0x100>,
  335. <0x18454 0x4>;
  336. interrupts = <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>;
  337. clocks = <&gateclk 17>;
  338. mrvl,clk-delay-cycles = <0x1F>;
  339. status = "disabled";
  340. };
  341. coredivclk: clock@e4250 {
  342. compatible = "marvell,armada-390-corediv-clock",
  343. "marvell,armada-380-corediv-clock";
  344. reg = <0xe4250 0xc>;
  345. #clock-cells = <1>;
  346. clocks = <&mainpll>;
  347. clock-output-names = "nand";
  348. };
  349. thermal@e8078 {
  350. compatible = "marvell,armada380-thermal";
  351. reg = <0xe4078 0x4>, <0xe4074 0x4>;
  352. status = "okay";
  353. };
  354. };
  355. pcie {
  356. compatible = "marvell,armada-370-pcie";
  357. status = "disabled";
  358. device_type = "pci";
  359. #address-cells = <3>;
  360. #size-cells = <2>;
  361. msi-parent = <&mpic>;
  362. bus-range = <0x00 0xff>;
  363. ranges =
  364. <0x82000000 0 0x80000 MBUS_ID(0xf0, 0x01) 0x80000 0 0x00002000
  365. 0x82000000 0 0x40000 MBUS_ID(0xf0, 0x01) 0x40000 0 0x00002000
  366. 0x82000000 0 0x44000 MBUS_ID(0xf0, 0x01) 0x44000 0 0x00002000
  367. 0x82000000 0 0x48000 MBUS_ID(0xf0, 0x01) 0x48000 0 0x00002000
  368. 0x82000000 0x1 0 MBUS_ID(0x08, 0xe8) 0 1 0 /* Port 0 MEM */
  369. 0x81000000 0x1 0 MBUS_ID(0x08, 0xe0) 0 1 0 /* Port 0 IO */
  370. 0x82000000 0x2 0 MBUS_ID(0x04, 0xe8) 0 1 0 /* Port 1 MEM */
  371. 0x81000000 0x2 0 MBUS_ID(0x04, 0xe0) 0 1 0 /* Port 1 IO */
  372. 0x82000000 0x3 0 MBUS_ID(0x04, 0xd8) 0 1 0 /* Port 2 MEM */
  373. 0x81000000 0x3 0 MBUS_ID(0x04, 0xd0) 0 1 0 /* Port 2 IO */
  374. 0x82000000 0x4 0 MBUS_ID(0x04, 0xb8) 0 1 0 /* Port 3 MEM */
  375. 0x81000000 0x4 0 MBUS_ID(0x04, 0xb0) 0 1 0 /* Port 3 IO */>;
  376. /*
  377. * This port can be either x4 or x1. When
  378. * configured in x4 by the bootloader, then
  379. * pcie@4,0 is not available.
  380. */
  381. pcie@1,0 {
  382. device_type = "pci";
  383. assigned-addresses = <0x82000800 0 0x80000 0 0x2000>;
  384. reg = <0x0800 0 0 0 0>;
  385. #address-cells = <3>;
  386. #size-cells = <2>;
  387. interrupt-names = "intx";
  388. interrupts-extended = <&gic GIC_SPI 29 IRQ_TYPE_LEVEL_HIGH>;
  389. #interrupt-cells = <1>;
  390. ranges = <0x82000000 0 0 0x82000000 0x1 0 1 0
  391. 0x81000000 0 0 0x81000000 0x1 0 1 0>;
  392. bus-range = <0x00 0xff>;
  393. interrupt-map-mask = <0 0 0 7>;
  394. interrupt-map = <0 0 0 1 &pcie1_intc 0>,
  395. <0 0 0 2 &pcie1_intc 1>,
  396. <0 0 0 3 &pcie1_intc 2>,
  397. <0 0 0 4 &pcie1_intc 3>;
  398. marvell,pcie-port = <0>;
  399. marvell,pcie-lane = <0>;
  400. clocks = <&gateclk 8>;
  401. status = "disabled";
  402. pcie1_intc: interrupt-controller {
  403. interrupt-controller;
  404. #interrupt-cells = <1>;
  405. };
  406. };
  407. /* x1 port */
  408. pcie@2,0 {
  409. device_type = "pci";
  410. assigned-addresses = <0x82001000 0 0x40000 0 0x2000>;
  411. reg = <0x1000 0 0 0 0>;
  412. #address-cells = <3>;
  413. #size-cells = <2>;
  414. interrupt-names = "intx";
  415. interrupts-extended = <&gic GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>;
  416. #interrupt-cells = <1>;
  417. ranges = <0x82000000 0 0 0x82000000 0x2 0 1 0
  418. 0x81000000 0 0 0x81000000 0x2 0 1 0>;
  419. bus-range = <0x00 0xff>;
  420. interrupt-map-mask = <0 0 0 7>;
  421. interrupt-map = <0 0 0 1 &pcie2_intc 0>,
  422. <0 0 0 2 &pcie2_intc 1>,
  423. <0 0 0 3 &pcie2_intc 2>,
  424. <0 0 0 4 &pcie2_intc 3>;
  425. marvell,pcie-port = <1>;
  426. marvell,pcie-lane = <0>;
  427. clocks = <&gateclk 5>;
  428. status = "disabled";
  429. pcie2_intc: interrupt-controller {
  430. interrupt-controller;
  431. #interrupt-cells = <1>;
  432. };
  433. };
  434. /* x1 port */
  435. pcie@3,0 {
  436. device_type = "pci";
  437. assigned-addresses = <0x82001800 0 0x44000 0 0x2000>;
  438. reg = <0x1800 0 0 0 0>;
  439. #address-cells = <3>;
  440. #size-cells = <2>;
  441. interrupt-names = "intx";
  442. interrupts-extended = <&gic GIC_SPI 70 IRQ_TYPE_LEVEL_HIGH>;
  443. #interrupt-cells = <1>;
  444. ranges = <0x82000000 0 0 0x82000000 0x3 0 1 0
  445. 0x81000000 0 0 0x81000000 0x3 0 1 0>;
  446. bus-range = <0x00 0xff>;
  447. interrupt-map-mask = <0 0 0 7>;
  448. interrupt-map = <0 0 0 1 &pcie3_intc 0>,
  449. <0 0 0 2 &pcie3_intc 1>,
  450. <0 0 0 3 &pcie3_intc 2>,
  451. <0 0 0 4 &pcie3_intc 3>;
  452. marvell,pcie-port = <2>;
  453. marvell,pcie-lane = <0>;
  454. clocks = <&gateclk 6>;
  455. status = "disabled";
  456. pcie3_intc: interrupt-controller {
  457. interrupt-controller;
  458. #interrupt-cells = <1>;
  459. };
  460. };
  461. /*
  462. * x1 port only available when pcie@1,0 is
  463. * configured as a x1 port
  464. */
  465. pcie@4,0 {
  466. device_type = "pci";
  467. assigned-addresses = <0x82002000 0 0x48000 0 0x2000>;
  468. reg = <0x2000 0 0 0 0>;
  469. #address-cells = <3>;
  470. #size-cells = <2>;
  471. interrupt-names = "intx";
  472. interrupts-extended = <&gic GIC_SPI 71 IRQ_TYPE_LEVEL_HIGH>;
  473. #interrupt-cells = <1>;
  474. ranges = <0x82000000 0 0 0x82000000 0x4 0 1 0
  475. 0x81000000 0 0 0x81000000 0x4 0 1 0>;
  476. bus-range = <0x00 0xff>;
  477. interrupt-map-mask = <0 0 0 7>;
  478. interrupt-map = <0 0 0 1 &pcie4_intc 0>,
  479. <0 0 0 2 &pcie4_intc 1>,
  480. <0 0 0 3 &pcie4_intc 2>,
  481. <0 0 0 4 &pcie4_intc 3>;
  482. marvell,pcie-port = <3>;
  483. marvell,pcie-lane = <0>;
  484. clocks = <&gateclk 7>;
  485. status = "disabled";
  486. pcie4_intc: interrupt-controller {
  487. interrupt-controller;
  488. #interrupt-cells = <1>;
  489. };
  490. };
  491. };
  492. spi0: spi@10600 {
  493. compatible = "marvell,armada-390-spi",
  494. "marvell,orion-spi";
  495. reg = <MBUS_ID(0xf0, 0x01) 0x10600 0x50>;
  496. #address-cells = <1>;
  497. #size-cells = <0>;
  498. cell-index = <0>;
  499. interrupts = <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>;
  500. clocks = <&coreclk 0>;
  501. status = "disabled";
  502. };
  503. spi1: spi@10680 {
  504. compatible = "marvell,armada-390-spi",
  505. "marvell,orion-spi";
  506. reg = <MBUS_ID(0xf0, 0x01) 0x10680 0x50>;
  507. #address-cells = <1>;
  508. #size-cells = <0>;
  509. cell-index = <1>;
  510. interrupts = <GIC_SPI 63 IRQ_TYPE_LEVEL_HIGH>;
  511. clocks = <&coreclk 0>;
  512. status = "disabled";
  513. };
  514. };
  515. clocks {
  516. /* 1 GHz fixed main PLL */
  517. mainpll: mainpll {
  518. compatible = "fixed-clock";
  519. #clock-cells = <0>;
  520. clock-frequency = <1000000000>;
  521. };
  522. /* 25 MHz reference crystal */
  523. refclk: oscillator {
  524. compatible = "fixed-clock";
  525. #clock-cells = <0>;
  526. clock-frequency = <25000000>;
  527. };
  528. };
  529. };