armada-385-db-ap.dts 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238
  1. // SPDX-License-Identifier: (GPL-2.0 OR MIT)
  2. /*
  3. * Device Tree file for Marvell Armada 385 Access Point Development board
  4. * (DB-88F6820-AP)
  5. *
  6. * Copyright (C) 2014 Marvell
  7. *
  8. * Nadav Haklai <[email protected]>
  9. */
  10. /dts-v1/;
  11. #include "armada-385.dtsi"
  12. #include <dt-bindings/gpio/gpio.h>
  13. / {
  14. model = "Marvell Armada 385 Access Point Development Board";
  15. compatible = "marvell,a385-db-ap", "marvell,armada385", "marvell,armada380";
  16. chosen {
  17. stdout-path = "serial1:115200n8";
  18. };
  19. memory {
  20. device_type = "memory";
  21. reg = <0x00000000 0x80000000>; /* 2GB */
  22. };
  23. soc {
  24. ranges = <MBUS_ID(0xf0, 0x01) 0 0xf1000000 0x100000
  25. MBUS_ID(0x01, 0x1d) 0 0xfff00000 0x100000
  26. MBUS_ID(0x09, 0x19) 0 0xf1100000 0x10000
  27. MBUS_ID(0x09, 0x15) 0 0xf1110000 0x10000
  28. MBUS_ID(0x0c, 0x04) 0 0xf1200000 0x100000>;
  29. internal-regs {
  30. i2c0: i2c@11000 {
  31. pinctrl-names = "default";
  32. pinctrl-0 = <&i2c0_pins>;
  33. status = "okay";
  34. /*
  35. * This bus is wired to two EEPROM
  36. * sockets, one of which holding the
  37. * board ID used by the bootloader.
  38. * Erasing this EEPROM's content will
  39. * brick the board.
  40. * Use this bus with caution.
  41. */
  42. };
  43. mdio@72004 {
  44. pinctrl-names = "default";
  45. pinctrl-0 = <&mdio_pins>;
  46. phy0: ethernet-phy@1 {
  47. reg = <1>;
  48. };
  49. phy1: ethernet-phy@4 {
  50. reg = <4>;
  51. };
  52. phy2: ethernet-phy@6 {
  53. reg = <6>;
  54. };
  55. };
  56. /* UART0 is exposed through the JP8 connector */
  57. uart0: serial@12000 {
  58. pinctrl-names = "default";
  59. pinctrl-0 = <&uart0_pins>;
  60. status = "okay";
  61. };
  62. /*
  63. * UART1 is exposed through a FTDI chip
  64. * wired to the mini-USB connector
  65. */
  66. uart1: serial@12100 {
  67. pinctrl-names = "default";
  68. pinctrl-0 = <&uart1_pins>;
  69. status = "okay";
  70. };
  71. pinctrl@18000 {
  72. xhci0_vbus_pins: xhci0-vbus-pins {
  73. marvell,pins = "mpp44";
  74. marvell,function = "gpio";
  75. };
  76. };
  77. /* CON3 */
  78. ethernet@30000 {
  79. status = "okay";
  80. phy = <&phy2>;
  81. phy-mode = "sgmii";
  82. buffer-manager = <&bm>;
  83. bm,pool-long = <1>;
  84. bm,pool-short = <3>;
  85. };
  86. /* CON2 */
  87. ethernet@34000 {
  88. status = "okay";
  89. phy = <&phy1>;
  90. phy-mode = "sgmii";
  91. buffer-manager = <&bm>;
  92. bm,pool-long = <2>;
  93. bm,pool-short = <3>;
  94. };
  95. usb@58000 {
  96. status = "okay";
  97. };
  98. /* CON4 */
  99. ethernet@70000 {
  100. pinctrl-names = "default";
  101. /*
  102. * The Reference Clock 0 is used to
  103. * provide a clock to the PHY
  104. */
  105. pinctrl-0 = <&ge0_rgmii_pins>, <&ref_clk0_pins>;
  106. status = "okay";
  107. phy = <&phy0>;
  108. phy-mode = "rgmii-id";
  109. buffer-manager = <&bm>;
  110. bm,pool-long = <0>;
  111. bm,pool-short = <3>;
  112. };
  113. bm@c8000 {
  114. status = "okay";
  115. };
  116. usb3@f0000 {
  117. status = "okay";
  118. usb-phy = <&usb3_phy>;
  119. };
  120. };
  121. bm-bppi {
  122. status = "okay";
  123. };
  124. pcie {
  125. status = "okay";
  126. /*
  127. * The three PCIe units are accessible through
  128. * standard mini-PCIe slots on the board.
  129. */
  130. pcie@1,0 {
  131. /* Port 0, Lane 0 */
  132. status = "okay";
  133. };
  134. pcie@2,0 {
  135. /* Port 1, Lane 0 */
  136. status = "okay";
  137. };
  138. pcie@3,0 {
  139. /* Port 2, Lane 0 */
  140. status = "okay";
  141. };
  142. };
  143. };
  144. usb3_phy: usb3_phy {
  145. compatible = "usb-nop-xceiv";
  146. vcc-supply = <&reg_xhci0_vbus>;
  147. #phy-cells = <0>;
  148. };
  149. reg_xhci0_vbus: xhci0-vbus {
  150. compatible = "regulator-fixed";
  151. pinctrl-names = "default";
  152. pinctrl-0 = <&xhci0_vbus_pins>;
  153. regulator-name = "xhci0-vbus";
  154. regulator-min-microvolt = <5000000>;
  155. regulator-max-microvolt = <5000000>;
  156. enable-active-high;
  157. gpio = <&gpio1 12 GPIO_ACTIVE_HIGH>;
  158. };
  159. };
  160. &spi1 {
  161. pinctrl-names = "default";
  162. pinctrl-0 = <&spi1_pins>;
  163. status = "okay";
  164. flash@0 {
  165. #address-cells = <1>;
  166. #size-cells = <1>;
  167. compatible = "st,m25p128", "jedec,spi-nor";
  168. reg = <0>; /* Chip select 0 */
  169. spi-max-frequency = <54000000>;
  170. };
  171. };
  172. &nand_controller {
  173. status = "okay";
  174. nand@0 {
  175. reg = <0>;
  176. label = "pxa3xx_nand-0";
  177. nand-rb = <0>;
  178. nand-on-flash-bbt;
  179. nand-ecc-strength = <4>;
  180. nand-ecc-step-size = <512>;
  181. partitions {
  182. compatible = "fixed-partitions";
  183. #address-cells = <1>;
  184. #size-cells = <1>;
  185. partition@0 {
  186. label = "U-Boot";
  187. reg = <0x00000000 0x00800000>;
  188. read-only;
  189. };
  190. partition@800000 {
  191. label = "uImage";
  192. reg = <0x00800000 0x00400000>;
  193. read-only;
  194. };
  195. partition@c00000 {
  196. label = "Root";
  197. reg = <0x00c00000 0x3f400000>;
  198. };
  199. };
  200. };
  201. };