armada-3720-espressobin.dtsi 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218
  1. // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
  2. /*
  3. * Device Tree file for Globalscale Marvell ESPRESSOBin Board
  4. * Copyright (C) 2016 Marvell
  5. *
  6. * Romain Perier <[email protected]>
  7. *
  8. */
  9. #include <dt-bindings/gpio/gpio.h>
  10. #include "armada-372x.dtsi"
  11. / {
  12. aliases {
  13. ethernet0 = &eth0;
  14. /* for dsa slave device */
  15. ethernet1 = &switch0port1;
  16. ethernet2 = &switch0port2;
  17. ethernet3 = &switch0port3;
  18. };
  19. chosen {
  20. stdout-path = "serial0:115200n8";
  21. };
  22. memory@0 {
  23. device_type = "memory";
  24. reg = <0x00000000 0x00000000 0x00000000 0x20000000>;
  25. };
  26. vcc_sd_reg1: regulator {
  27. compatible = "regulator-gpio";
  28. regulator-name = "vcc_sd1";
  29. regulator-min-microvolt = <1800000>;
  30. regulator-max-microvolt = <3300000>;
  31. regulator-boot-on;
  32. gpios = <&gpionb 4 GPIO_ACTIVE_HIGH>;
  33. gpios-states = <0>;
  34. states = <1800000 0x1
  35. 3300000 0x0>;
  36. enable-active-high;
  37. };
  38. led2: gpio-led2 {
  39. /* led2 is working only on v7 board */
  40. status = "disabled";
  41. compatible = "gpio-leds";
  42. led2 {
  43. label = "led2";
  44. gpios = <&gpionb 2 GPIO_ACTIVE_LOW>;
  45. default-state = "off";
  46. };
  47. };
  48. };
  49. /* J9 */
  50. &pcie0 {
  51. status = "okay";
  52. pinctrl-names = "default";
  53. pinctrl-0 = <&pcie_reset_pins &pcie_clkreq_pins>;
  54. reset-gpios = <&gpiosb 3 GPIO_ACTIVE_LOW>;
  55. };
  56. /* J6 */
  57. &sata {
  58. status = "okay";
  59. };
  60. /* U11 */
  61. &sdhci0 {
  62. /* Main DTS file for Espressobin is without eMMC */
  63. status = "disabled";
  64. non-removable;
  65. bus-width = <8>;
  66. mmc-ddr-1_8v;
  67. mmc-hs400-1_8v;
  68. marvell,xenon-emmc;
  69. marvell,xenon-tun-count = <9>;
  70. marvell,pad-type = "fixed-1-8v";
  71. pinctrl-names = "default";
  72. pinctrl-0 = <&mmc_pins>;
  73. #address-cells = <1>;
  74. #size-cells = <0>;
  75. mmccard: mmccard@0 {
  76. compatible = "mmc-card";
  77. reg = <0>;
  78. };
  79. };
  80. /* J1 */
  81. &sdhci1 {
  82. wp-inverted;
  83. bus-width = <4>;
  84. cd-gpios = <&gpionb 3 GPIO_ACTIVE_LOW>;
  85. marvell,pad-type = "sd";
  86. vqmmc-supply = <&vcc_sd_reg1>;
  87. pinctrl-names = "default";
  88. pinctrl-0 = <&sdio_pins>;
  89. status = "okay";
  90. };
  91. &spi0 {
  92. status = "okay";
  93. flash@0 {
  94. reg = <0>;
  95. compatible = "jedec,spi-nor";
  96. spi-max-frequency = <104000000>;
  97. m25p,fast-read;
  98. };
  99. };
  100. /* Exported on the micro USB connector J5 through an FTDI */
  101. &uart0 {
  102. pinctrl-names = "default";
  103. pinctrl-0 = <&uart1_pins>;
  104. status = "okay";
  105. };
  106. /*
  107. * Connector J17 and J18 expose a number of different features. Some pins are
  108. * multiplexed. This is the case for instance for the following features:
  109. * - UART1 (pin 24 = RX, pin 26 = TX). See armada-3720-db.dts for an example of
  110. * how to enable it. Beware that the signals are 1.8V TTL.
  111. * - I2C
  112. * - SPI
  113. * - MMC
  114. */
  115. /* J7 */
  116. &usb3 {
  117. status = "okay";
  118. };
  119. /* J8 */
  120. &usb2 {
  121. status = "okay";
  122. };
  123. &mdio {
  124. switch0: switch0@1 {
  125. compatible = "marvell,mv88e6085";
  126. #address-cells = <1>;
  127. #size-cells = <0>;
  128. reg = <1>;
  129. dsa,member = <0 0>;
  130. ports {
  131. #address-cells = <1>;
  132. #size-cells = <0>;
  133. switch0port0: port@0 {
  134. reg = <0>;
  135. label = "cpu";
  136. ethernet = <&eth0>;
  137. phy-mode = "rgmii-id";
  138. fixed-link {
  139. speed = <1000>;
  140. full-duplex;
  141. };
  142. };
  143. switch0port1: port@1 {
  144. reg = <1>;
  145. label = "wan";
  146. phy-handle = <&switch0phy0>;
  147. };
  148. switch0port2: port@2 {
  149. reg = <2>;
  150. label = "lan0";
  151. phy-handle = <&switch0phy1>;
  152. };
  153. switch0port3: port@3 {
  154. reg = <3>;
  155. label = "lan1";
  156. phy-handle = <&switch0phy2>;
  157. };
  158. };
  159. mdio {
  160. #address-cells = <1>;
  161. #size-cells = <0>;
  162. switch0phy0: switch0phy0@11 {
  163. reg = <0x11>;
  164. };
  165. switch0phy1: switch0phy1@12 {
  166. reg = <0x12>;
  167. };
  168. switch0phy2: switch0phy2@13 {
  169. reg = <0x13>;
  170. };
  171. };
  172. };
  173. };
  174. &eth0 {
  175. pinctrl-names = "default";
  176. pinctrl-0 = <&rgmii_pins>, <&smi_pins>;
  177. phy-mode = "rgmii-id";
  178. status = "okay";
  179. fixed-link {
  180. speed = <1000>;
  181. full-duplex;
  182. };
  183. };