armada-385-db-ap.dts 5.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266
  1. /*
  2. * Device Tree file for Marvell Armada 385 Access Point Development board
  3. * (DB-88F6820-AP)
  4. *
  5. * Copyright (C) 2014 Marvell
  6. *
  7. * Nadav Haklai <nadavh@marvell.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 licensed under the terms of the GNU General Public
  15. * License version 2. This program is licensed "as is" without
  16. * any warranty of any kind, whether express or implied.
  17. *
  18. * Or, alternatively,
  19. *
  20. * b) Permission is hereby granted, free of charge, to any person
  21. * obtaining a copy of this software and associated documentation
  22. * files (the "Software"), to deal in the Software without
  23. * restriction, including without limitation the rights to use,
  24. * copy, modify, merge, publish, distribute, sublicense, and/or
  25. * sell copies of the Software, and to permit persons to whom the
  26. * Software is furnished to do so, subject to the following
  27. * conditions:
  28. *
  29. * The above copyright notice and this permission notice shall be
  30. * included in all copies or substantial portions of the Software.
  31. *
  32. * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
  33. * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
  34. * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
  35. * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
  36. * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
  37. * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
  38. * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
  39. * OTHER DEALINGS IN THE SOFTWARE.
  40. */
  41. /dts-v1/;
  42. #include "armada-385.dtsi"
  43. #include <dt-bindings/gpio/gpio.h>
  44. / {
  45. model = "Marvell Armada 385 Access Point Development Board";
  46. compatible = "marvell,a385-db-ap", "marvell,armada385", "marvell,armada380";
  47. chosen {
  48. stdout-path = "serial1:115200n8";
  49. };
  50. memory {
  51. device_type = "memory";
  52. reg = <0x00000000 0x80000000>; /* 2GB */
  53. };
  54. soc {
  55. ranges = <MBUS_ID(0xf0, 0x01) 0 0xf1000000 0x100000
  56. MBUS_ID(0x01, 0x1d) 0 0xfff00000 0x100000
  57. MBUS_ID(0x09, 0x19) 0 0xf1100000 0x10000
  58. MBUS_ID(0x09, 0x15) 0 0xf1110000 0x10000
  59. MBUS_ID(0x0c, 0x04) 0 0xf1200000 0x100000>;
  60. internal-regs {
  61. i2c0: i2c@11000 {
  62. pinctrl-names = "default";
  63. pinctrl-0 = <&i2c0_pins>;
  64. status = "okay";
  65. /*
  66. * This bus is wired to two EEPROM
  67. * sockets, one of which holding the
  68. * board ID used by the bootloader.
  69. * Erasing this EEPROM's content will
  70. * brick the board.
  71. * Use this bus with caution.
  72. */
  73. };
  74. mdio@72004 {
  75. pinctrl-names = "default";
  76. pinctrl-0 = <&mdio_pins>;
  77. phy0: ethernet-phy@1 {
  78. reg = <1>;
  79. };
  80. phy1: ethernet-phy@4 {
  81. reg = <4>;
  82. };
  83. phy2: ethernet-phy@6 {
  84. reg = <6>;
  85. };
  86. };
  87. /* UART0 is exposed through the JP8 connector */
  88. uart0: serial@12000 {
  89. pinctrl-names = "default";
  90. pinctrl-0 = <&uart0_pins>;
  91. status = "okay";
  92. };
  93. /*
  94. * UART1 is exposed through a FTDI chip
  95. * wired to the mini-USB connector
  96. */
  97. uart1: serial@12100 {
  98. pinctrl-names = "default";
  99. pinctrl-0 = <&uart1_pins>;
  100. status = "okay";
  101. };
  102. pinctrl@18000 {
  103. xhci0_vbus_pins: xhci0-vbus-pins {
  104. marvell,pins = "mpp44";
  105. marvell,function = "gpio";
  106. };
  107. };
  108. /* CON3 */
  109. ethernet@30000 {
  110. status = "okay";
  111. phy = <&phy2>;
  112. phy-mode = "sgmii";
  113. buffer-manager = <&bm>;
  114. bm,pool-long = <1>;
  115. bm,pool-short = <3>;
  116. };
  117. /* CON2 */
  118. ethernet@34000 {
  119. status = "okay";
  120. phy = <&phy1>;
  121. phy-mode = "sgmii";
  122. buffer-manager = <&bm>;
  123. bm,pool-long = <2>;
  124. bm,pool-short = <3>;
  125. };
  126. usb@58000 {
  127. status = "okay";
  128. };
  129. /* CON4 */
  130. ethernet@70000 {
  131. pinctrl-names = "default";
  132. /*
  133. * The Reference Clock 0 is used to
  134. * provide a clock to the PHY
  135. */
  136. pinctrl-0 = <&ge0_rgmii_pins>, <&ref_clk0_pins>;
  137. status = "okay";
  138. phy = <&phy0>;
  139. phy-mode = "rgmii-id";
  140. buffer-manager = <&bm>;
  141. bm,pool-long = <0>;
  142. bm,pool-short = <3>;
  143. };
  144. bm@c8000 {
  145. status = "okay";
  146. };
  147. nfc: flash@d0000 {
  148. status = "okay";
  149. num-cs = <1>;
  150. nand-ecc-strength = <4>;
  151. nand-ecc-step-size = <512>;
  152. marvell,nand-keep-config;
  153. marvell,nand-enable-arbiter;
  154. nand-on-flash-bbt;
  155. partitions {
  156. compatible = "fixed-partitions";
  157. #address-cells = <1>;
  158. #size-cells = <1>;
  159. partition@0 {
  160. label = "U-Boot";
  161. reg = <0x00000000 0x00800000>;
  162. read-only;
  163. };
  164. partition@800000 {
  165. label = "uImage";
  166. reg = <0x00800000 0x00400000>;
  167. read-only;
  168. };
  169. partition@c00000 {
  170. label = "Root";
  171. reg = <0x00c00000 0x3f400000>;
  172. };
  173. };
  174. };
  175. usb3@f0000 {
  176. status = "okay";
  177. usb-phy = <&usb3_phy>;
  178. };
  179. };
  180. bm-bppi {
  181. status = "okay";
  182. };
  183. pcie {
  184. status = "okay";
  185. /*
  186. * The three PCIe units are accessible through
  187. * standard mini-PCIe slots on the board.
  188. */
  189. pcie@1,0 {
  190. /* Port 0, Lane 0 */
  191. status = "okay";
  192. };
  193. pcie@2,0 {
  194. /* Port 1, Lane 0 */
  195. status = "okay";
  196. };
  197. pcie@3,0 {
  198. /* Port 2, Lane 0 */
  199. status = "okay";
  200. };
  201. };
  202. };
  203. usb3_phy: usb3_phy {
  204. compatible = "usb-nop-xceiv";
  205. vcc-supply = <&reg_xhci0_vbus>;
  206. #phy-cells = <0>;
  207. };
  208. reg_xhci0_vbus: xhci0-vbus {
  209. compatible = "regulator-fixed";
  210. pinctrl-names = "default";
  211. pinctrl-0 = <&xhci0_vbus_pins>;
  212. regulator-name = "xhci0-vbus";
  213. regulator-min-microvolt = <5000000>;
  214. regulator-max-microvolt = <5000000>;
  215. enable-active-high;
  216. gpio = <&gpio1 12 GPIO_ACTIVE_HIGH>;
  217. };
  218. };
  219. &spi1 {
  220. pinctrl-names = "default";
  221. pinctrl-0 = <&spi1_pins>;
  222. status = "okay";
  223. spi-flash@0 {
  224. #address-cells = <1>;
  225. #size-cells = <1>;
  226. compatible = "st,m25p128", "jedec,spi-nor";
  227. reg = <0>; /* Chip select 0 */
  228. spi-max-frequency = <54000000>;
  229. };
  230. };