2
0

meraki-mx60.dts 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211
  1. // SPDX-License-Identifier: GPL-2.0-only
  2. /*
  3. * Device Tree Source for Meraki MX60/MX60W (Buckminster)
  4. *
  5. * Copyright (C) 2016 Chris Blake <[email protected]>
  6. *
  7. * Based on Cisco Meraki DTS extracted from release wired-12-217818
  8. */
  9. /dts-v1/;
  10. #include <dt-bindings/leds/common.h>
  11. #include "apm82181.dtsi"
  12. / {
  13. model = "Meraki MX60/MX60W Security Appliance";
  14. compatible = "meraki,mx60", "meraki,buckminster", "apm,bluestone";
  15. aliases {
  16. serial0 = &UART1;
  17. };
  18. chosen {
  19. stdout-path = "/plb/opb/serial@ef600400";
  20. };
  21. };
  22. &CRYPTO {
  23. status = "okay";
  24. };
  25. &PKA {
  26. status = "okay";
  27. };
  28. &TRNG {
  29. status = "okay";
  30. };
  31. &USBOTG0 {
  32. status = "okay";
  33. dr_mode = "host";
  34. };
  35. &ndfc {
  36. /* Buckminster has 1GiB of NAND */
  37. status = "okay";
  38. nand {
  39. partitions {
  40. compatible = "fixed-partitions";
  41. #address-cells = <1>;
  42. #size-cells = <1>;
  43. partition@0 {
  44. label = "u-boot";
  45. reg = <0x00000000 0x00100000>;
  46. read-only;
  47. };
  48. partition@100000 {
  49. label = "u-boot-env";
  50. reg = <0x00100000 0x00100000>;
  51. compatible = "u-boot,env";
  52. read-only;
  53. };
  54. partition@200000 {
  55. label = "oops";
  56. reg = <0x00200000 0x00040000>;
  57. };
  58. partition@240000 {
  59. label = "ubi";
  60. reg = <0x00240000 0x3fdc0000>;
  61. };
  62. };
  63. };
  64. };
  65. &UART1 {
  66. status = "okay";
  67. };
  68. &GPIO0 {
  69. status = "okay";
  70. };
  71. &IIC0 {
  72. status = "okay";
  73. };
  74. &EMAC0 {
  75. status = "okay";
  76. phy-handle = <&phy0>;
  77. mdio {
  78. #address-cells = <1>;
  79. #size-cells = <0>;
  80. phy0: ethernet-phy@0 {
  81. compatible = "ethernet-phy-id004d.d034";
  82. reg = <0>;
  83. qca,mib-poll-interval = <500>;
  84. qca,ar8327-initvals = <
  85. 0x0010 0x40000000
  86. 0x0624 0x007f7f7f
  87. 0x0004 0x07a00000 /* PAD0_MODE */
  88. 0x000c 0x01000000 /* PAD6_MODE */
  89. 0x007c 0x0000007e /* PORT0_STATUS */
  90. >;
  91. };
  92. };
  93. };
  94. &POB0 {
  95. leds {
  96. compatible = "gpio-leds";
  97. led-0 {
  98. color = <LED_COLOR_ID_GREEN>;
  99. function = LED_FUNCTION_POWER;
  100. gpios = <&GPIO0 18 GPIO_ACTIVE_LOW>;
  101. };
  102. led-1 {
  103. color = <LED_COLOR_ID_AMBER>;
  104. function = LED_FUNCTION_FAULT;
  105. gpios = <&GPIO0 19 GPIO_ACTIVE_LOW>;
  106. panic-indicator;
  107. };
  108. led-2 {
  109. color = <LED_COLOR_ID_GREEN>;
  110. function = LED_FUNCTION_WAN;
  111. gpios = <&GPIO0 17 GPIO_ACTIVE_LOW>;
  112. };
  113. led-3 {
  114. color = <LED_COLOR_ID_AMBER>;
  115. function = LED_FUNCTION_WAN;
  116. gpios = <&GPIO0 15 GPIO_ACTIVE_LOW>;
  117. };
  118. led-4 {
  119. color = <LED_COLOR_ID_GREEN>;
  120. function = LED_FUNCTION_LAN;
  121. function-enumerator = <0>;
  122. gpios = <&GPIO0 20 GPIO_ACTIVE_LOW>;
  123. };
  124. led-5 {
  125. color = <LED_COLOR_ID_GREEN>;
  126. function = LED_FUNCTION_LAN;
  127. function-enumerator = <1>;
  128. gpios = <&GPIO0 21 GPIO_ACTIVE_LOW>;
  129. };
  130. led-6 {
  131. color = <LED_COLOR_ID_GREEN>;
  132. function = LED_FUNCTION_LAN;
  133. function-enumerator = <2>;
  134. gpios = <&GPIO0 22 GPIO_ACTIVE_LOW>;
  135. };
  136. led-7 {
  137. color = <LED_COLOR_ID_GREEN>;
  138. function = LED_FUNCTION_LAN;
  139. function-enumerator = <3>;
  140. gpios = <&GPIO0 23 GPIO_ACTIVE_LOW>;
  141. };
  142. };
  143. keys {
  144. compatible = "gpio-keys";
  145. button-restart {
  146. label = "Reset button";
  147. linux,code = <KEY_RESTART>;
  148. gpios = <&GPIO0 16 GPIO_ACTIVE_LOW>;
  149. interrupt-parent = <&UIC1>;
  150. interrupts = <0x15 IRQ_TYPE_EDGE_FALLING>;
  151. debounce-interval = <60>;
  152. };
  153. };
  154. };
  155. &PCIE0 {
  156. /* Leave this enabled as u-boot on the MX60 will disable it for us */
  157. status = "okay";
  158. /*
  159. * relevant lspci topology:
  160. *
  161. * -+-[0000:40]---00.0-[41-7f]----00.0
  162. */
  163. bridge@64,0 {
  164. reg = <0x00400000 0 0 0 0>;
  165. #address-cells = <3>;
  166. #size-cells = <2>;
  167. ranges;
  168. wifi0: wifi@65,0 {
  169. /* Atheros AR9380 2.4/5GHz */
  170. compatible = "pci168c,0030";
  171. reg = <0x00410000 0 0 0 0>;
  172. interrupts = <1>; /* INTA */
  173. };
  174. };
  175. };