armada-3720-espressobin-ultra.dts 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240
  1. // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
  2. /*
  3. * Device Tree file for ESPRESSObin-Ultra
  4. * Copyright (C) 2019 Globalscale technologies, Inc.
  5. *
  6. * Jason Hung <[email protected]>
  7. */
  8. /dts-v1/;
  9. #include <dt-bindings/gpio/gpio.h>
  10. #include "armada-372x.dtsi"
  11. / {
  12. model = "Globalscale Marvell ESPRESSOBin Ultra Board";
  13. compatible = "globalscale,espressobin-ultra", "marvell,armada3720",
  14. "marvell,armada3710";
  15. aliases {
  16. /* for dsa slave device */
  17. ethernet1 = &switch0port1;
  18. ethernet2 = &switch0port2;
  19. ethernet3 = &switch0port3;
  20. ethernet4 = &switch0port4;
  21. ethernet5 = &switch0port5;
  22. };
  23. chosen {
  24. stdout-path = "serial0:115200n8";
  25. };
  26. memory@0 {
  27. device_type = "memory";
  28. reg = <0x00000000 0x00000000 0x00000000 0x20000000>;
  29. };
  30. reg_usb3_vbus: usb3-vbus {
  31. compatible = "regulator-fixed";
  32. regulator-name = "usb3-vbus";
  33. regulator-min-microvolt = <5000000>;
  34. regulator-max-microvolt = <5000000>;
  35. enable-active-high;
  36. gpio = <&gpionb 19 GPIO_ACTIVE_HIGH>;
  37. };
  38. usb3_phy: usb3-phy {
  39. compatible = "usb-nop-xceiv";
  40. vcc-supply = <&reg_usb3_vbus>;
  41. };
  42. leds {
  43. pinctrl-names = "default";
  44. compatible = "gpio-leds";
  45. /* No assigned functions to the LEDs by default */
  46. led1 {
  47. label = "ebin-ultra:blue:led1";
  48. gpios = <&gpionb 11 GPIO_ACTIVE_LOW>;
  49. };
  50. led2 {
  51. label = "ebin-ultra:green:led2";
  52. gpios = <&gpionb 12 GPIO_ACTIVE_LOW>;
  53. };
  54. led3 {
  55. label = "ebin-ultra:red:led3";
  56. gpios = <&gpionb 13 GPIO_ACTIVE_LOW>;
  57. };
  58. led4 {
  59. label = "ebin-ultra:yellow:led4";
  60. gpios = <&gpionb 14 GPIO_ACTIVE_LOW>;
  61. };
  62. };
  63. };
  64. &pcie0 {
  65. status = "okay";
  66. };
  67. &sata {
  68. status = "okay";
  69. };
  70. &sdhci0 {
  71. status = "okay";
  72. non-removable;
  73. bus-width = <8>;
  74. mmc-ddr-1_8v;
  75. mmc-hs400-1_8v;
  76. marvell,pad-type = "fixed-1-8v";
  77. };
  78. &spi0 {
  79. status = "okay";
  80. pinctrl-names = "default";
  81. pinctrl-0 = <&spi_quad_pins>;
  82. flash@0 {
  83. compatible = "jedec,spi-nor";
  84. reg = <0>;
  85. spi-max-frequency = <108000000>;
  86. spi-rx-bus-width = <4>;
  87. spi-tx-bus-width = <4>;
  88. m25p,fast-read;
  89. partitions {
  90. compatible = "fixed-partitions";
  91. #address-cells = <1>;
  92. #size-cells = <1>;
  93. partition@0 {
  94. label = "firmware";
  95. reg = <0x0 0x3e0000>;
  96. };
  97. partition@3e0000 {
  98. label = "hw-info";
  99. reg = <0x3e0000 0x10000>;
  100. read-only;
  101. };
  102. partition@3f0000 {
  103. label = "u-boot-env";
  104. reg = <0x3f0000 0x10000>;
  105. };
  106. };
  107. };
  108. };
  109. &uart0 {
  110. status = "okay";
  111. pinctrl-names = "default";
  112. pinctrl-0 = <&uart1_pins>;
  113. };
  114. &i2c0 {
  115. status = "okay";
  116. pinctrl-names = "default";
  117. pinctrl-0 = <&i2c1_pins>;
  118. clock-frequency = <100000>;
  119. rtc@51 {
  120. compatible = "nxp,pcf8563";
  121. reg = <0x51>;
  122. };
  123. };
  124. &usb3 {
  125. status = "okay";
  126. usb-phy = <&usb3_phy>;
  127. };
  128. &usb2 {
  129. status = "okay";
  130. };
  131. &eth0 {
  132. status = "okay";
  133. pinctrl-names = "default";
  134. pinctrl-0 = <&rgmii_pins>;
  135. phy-mode = "rgmii-id";
  136. fixed-link {
  137. speed = <1000>;
  138. full-duplex;
  139. };
  140. };
  141. &mdio {
  142. status = "okay";
  143. extphy: ethernet-phy@0 {
  144. reg = <1>;
  145. };
  146. switch0: switch0@1 {
  147. compatible = "marvell,mv88e6085";
  148. #address-cells = <1>;
  149. #size-cells = <0>;
  150. reg = <3>;
  151. dsa,member = <0 0>;
  152. ports {
  153. #address-cells = <1>;
  154. #size-cells = <0>;
  155. switch0port0: port@0 {
  156. reg = <0>;
  157. ethernet = <&eth0>;
  158. };
  159. switch0port1: port@1 {
  160. reg = <1>;
  161. label = "lan0";
  162. phy-handle = <&switch0phy1>;
  163. };
  164. switch0port2: port@2 {
  165. reg = <2>;
  166. label = "lan1";
  167. phy-handle = <&switch0phy2>;
  168. };
  169. switch0port3: port@3 {
  170. reg = <3>;
  171. label = "lan2";
  172. phy-handle = <&switch0phy3>;
  173. };
  174. switch0port4: port@4 {
  175. reg = <4>;
  176. label = "lan3";
  177. phy-handle = <&switch0phy4>;
  178. };
  179. switch0port5: port@5 {
  180. reg = <5>;
  181. label = "wan";
  182. phy-handle = <&extphy>;
  183. phy-mode = "sgmii";
  184. };
  185. };
  186. mdio {
  187. #address-cells = <1>;
  188. #size-cells = <0>;
  189. switch0phy1: switch0phy1@11 {
  190. reg = <0x11>;
  191. };
  192. switch0phy2: switch0phy2@12 {
  193. reg = <0x12>;
  194. };
  195. switch0phy3: switch0phy3@13 {
  196. reg = <0x13>;
  197. };
  198. switch0phy4: switch0phy4@14 {
  199. reg = <0x14>;
  200. };
  201. };
  202. };
  203. };