armada-xp-db.dts 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245
  1. // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
  2. /*
  3. * Device Tree file for Marvell Armada XP evaluation board
  4. * (DB-78460-BP)
  5. *
  6. * Copyright (C) 2012-2014 Marvell
  7. *
  8. * Lior Amsalem <[email protected]>
  9. * Gregory CLEMENT <[email protected]>
  10. * Thomas Petazzoni <[email protected]>
  11. *
  12. *
  13. * Note: this Device Tree assumes that the bootloader has remapped the
  14. * internal registers to 0xf1000000 (instead of the default
  15. * 0xd0000000). The 0xf1000000 is the default used by the recent,
  16. * DT-capable, U-Boot bootloaders provided by Marvell. Some earlier
  17. * boards were delivered with an older version of the bootloader that
  18. * left internal registers mapped at 0xd0000000. If you are in this
  19. * situation, you should either update your bootloader (preferred
  20. * solution) or the below Device Tree should be adjusted.
  21. */
  22. /dts-v1/;
  23. #include "armada-xp-mv78460.dtsi"
  24. / {
  25. model = "Marvell Armada XP Evaluation Board";
  26. compatible = "marvell,axp-db", "marvell,armadaxp-mv78460", "marvell,armadaxp", "marvell,armada-370-xp";
  27. chosen {
  28. stdout-path = "serial0:115200n8";
  29. };
  30. memory@0 {
  31. device_type = "memory";
  32. reg = <0 0x00000000 0 0x80000000>; /* 2 GB */
  33. };
  34. soc {
  35. ranges = <MBUS_ID(0xf0, 0x01) 0 0 0xf1000000 0x100000
  36. MBUS_ID(0x01, 0x1d) 0 0 0xfff00000 0x100000
  37. MBUS_ID(0x01, 0x2f) 0 0 0xf0000000 0x1000000
  38. MBUS_ID(0x09, 0x09) 0 0 0xf1100000 0x10000
  39. MBUS_ID(0x09, 0x05) 0 0 0xf1110000 0x10000
  40. MBUS_ID(0x0c, 0x04) 0 0 0xf1200000 0x100000>;
  41. devbus-bootcs {
  42. status = "okay";
  43. /* Device Bus parameters are required */
  44. /* Read parameters */
  45. devbus,bus-width = <16>;
  46. devbus,turn-off-ps = <60000>;
  47. devbus,badr-skew-ps = <0>;
  48. devbus,acc-first-ps = <124000>;
  49. devbus,acc-next-ps = <248000>;
  50. devbus,rd-setup-ps = <0>;
  51. devbus,rd-hold-ps = <0>;
  52. /* Write parameters */
  53. devbus,sync-enable = <0>;
  54. devbus,wr-high-ps = <60000>;
  55. devbus,wr-low-ps = <60000>;
  56. devbus,ale-wr-ps = <60000>;
  57. /* NOR 16 MiB */
  58. nor@0 {
  59. compatible = "cfi-flash";
  60. reg = <0 0x1000000>;
  61. bank-width = <2>;
  62. };
  63. };
  64. internal-regs {
  65. serial@12000 {
  66. status = "okay";
  67. };
  68. serial@12100 {
  69. status = "okay";
  70. };
  71. serial@12200 {
  72. status = "okay";
  73. };
  74. serial@12300 {
  75. status = "okay";
  76. };
  77. sata@a0000 {
  78. nr-ports = <2>;
  79. status = "okay";
  80. };
  81. ethernet@70000 {
  82. status = "okay";
  83. phy = <&phy0>;
  84. phy-mode = "rgmii-id";
  85. buffer-manager = <&bm>;
  86. bm,pool-long = <0>;
  87. };
  88. ethernet@74000 {
  89. status = "okay";
  90. phy = <&phy1>;
  91. phy-mode = "rgmii-id";
  92. buffer-manager = <&bm>;
  93. bm,pool-long = <1>;
  94. };
  95. ethernet@30000 {
  96. status = "okay";
  97. phy = <&phy2>;
  98. phy-mode = "sgmii";
  99. buffer-manager = <&bm>;
  100. bm,pool-long = <2>;
  101. };
  102. ethernet@34000 {
  103. status = "okay";
  104. phy = <&phy3>;
  105. phy-mode = "sgmii";
  106. buffer-manager = <&bm>;
  107. bm,pool-long = <3>;
  108. };
  109. bm@c0000 {
  110. status = "okay";
  111. };
  112. mvsdio@d4000 {
  113. pinctrl-0 = <&sdio_pins>;
  114. pinctrl-names = "default";
  115. status = "okay";
  116. /* No CD or WP GPIOs */
  117. broken-cd;
  118. };
  119. usb@50000 {
  120. status = "okay";
  121. };
  122. usb@51000 {
  123. status = "okay";
  124. };
  125. usb@52000 {
  126. status = "okay";
  127. };
  128. nand-controller@d0000 {
  129. status = "okay";
  130. nand@0 {
  131. reg = <0>;
  132. label = "pxa3xx_nand-0";
  133. nand-rb = <0>;
  134. nand-on-flash-bbt;
  135. partitions {
  136. compatible = "fixed-partitions";
  137. #address-cells = <1>;
  138. #size-cells = <1>;
  139. partition@0 {
  140. label = "U-Boot";
  141. reg = <0 0x800000>;
  142. };
  143. partition@800000 {
  144. label = "Linux";
  145. reg = <0x800000 0x800000>;
  146. };
  147. partition@1000000 {
  148. label = "Filesystem";
  149. reg = <0x1000000 0x3f000000>;
  150. };
  151. };
  152. };
  153. };
  154. };
  155. bm-bppi {
  156. status = "okay";
  157. };
  158. };
  159. };
  160. &pciec {
  161. status = "okay";
  162. /*
  163. * All 6 slots are physically present as
  164. * standard PCIe slots on the board.
  165. */
  166. pcie@1,0 {
  167. /* Port 0, Lane 0 */
  168. status = "okay";
  169. };
  170. pcie@2,0 {
  171. /* Port 0, Lane 1 */
  172. status = "okay";
  173. };
  174. pcie@3,0 {
  175. /* Port 0, Lane 2 */
  176. status = "okay";
  177. };
  178. pcie@4,0 {
  179. /* Port 0, Lane 3 */
  180. status = "okay";
  181. };
  182. pcie@9,0 {
  183. /* Port 2, Lane 0 */
  184. status = "okay";
  185. };
  186. pcie@a,0 {
  187. /* Port 3, Lane 0 */
  188. status = "okay";
  189. };
  190. };
  191. &mdio {
  192. phy0: ethernet-phy@0 {
  193. reg = <0>;
  194. };
  195. phy1: ethernet-phy@1 {
  196. reg = <1>;
  197. };
  198. phy2: ethernet-phy@2 {
  199. reg = <25>;
  200. };
  201. phy3: ethernet-phy@3 {
  202. reg = <27>;
  203. };
  204. };
  205. &spi0 {
  206. status = "okay";
  207. flash@0 {
  208. #address-cells = <1>;
  209. #size-cells = <1>;
  210. compatible = "m25p64", "jedec,spi-nor";
  211. reg = <0>; /* Chip select 0 */
  212. spi-max-frequency = <20000000>;
  213. };
  214. };