meraki-mx60.dts 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179
  1. /*
  2. * Device Tree Source for Meraki MX60/MX60W (Buckminster)
  3. *
  4. * Copyright (C) 2016 Chris Blake <[email protected]>
  5. *
  6. * Based on Cisco Meraki DTS extracted from release wired-12-217818
  7. *
  8. * This file is licensed under the terms of the GNU General Public
  9. * License version 2. This program is licensed "as is" without
  10. * any warranty of any kind, whether express or implied.
  11. */
  12. /dts-v1/;
  13. #include "apm82181.dtsi"
  14. / {
  15. model = "Meraki MX60/MX60W Security Appliance";
  16. compatible = "meraki,mx60", "meraki,buckminster", "apm,bluestone";
  17. aliases {
  18. serial0 = &UART1;
  19. led-boot = &status;
  20. led-failsafe = &failsafe;
  21. led-running = &status;
  22. led-upgrade = &status;
  23. };
  24. chosen {
  25. stdout-path = "/plb/opb/serial@ef600400";
  26. };
  27. };
  28. &CRYPTO {
  29. status = "okay";
  30. };
  31. &PKA {
  32. status = "okay";
  33. };
  34. &TRNG {
  35. status = "okay";
  36. };
  37. &USBOTG0 {
  38. status = "okay";
  39. dr_mode = "host";
  40. };
  41. &EBC0 {
  42. /* Buckminster has 1GiB of NAND */
  43. ndfc@1,0 {
  44. status = "okay";
  45. nand {
  46. partition@0 {
  47. label = "u-boot";
  48. reg = <0x00000000 0x00100000>;
  49. read-only;
  50. };
  51. partition@100000 {
  52. label = "u-boot-env";
  53. reg = <0x00100000 0x00100000>;
  54. read-only;
  55. };
  56. partition@200000 {
  57. label = "oops";
  58. reg = <0x00200000 0x00040000>;
  59. };
  60. partition@240000 {
  61. label = "ubi";
  62. reg = <0x00240000 0x3fdc0000>;
  63. };
  64. };
  65. };
  66. };
  67. &UART1 {
  68. status = "okay";
  69. };
  70. &GPIO0 {
  71. status = "okay";
  72. };
  73. &IIC0 {
  74. status = "okay";
  75. };
  76. &EMAC0 {
  77. status = "okay";
  78. phy-handle = <&phy0>;
  79. mdio {
  80. #address-cells = <1>;
  81. #size-cells = <0>;
  82. phy0: ethernet-phy@0 {
  83. compatible = "ethernet-phy-id004d.d034";
  84. reg = <0>;
  85. qca,ar8327-initvals = <
  86. 0x0010 0x40000000
  87. 0x0624 0x007f7f7f
  88. 0x0004 0x07a00000 /* PAD0_MODE */
  89. 0x000c 0x01000000 /* PAD6_MODE */
  90. 0x007c 0x0000007e /* PORT0_STATUS */
  91. >;
  92. };
  93. };
  94. };
  95. &POB0 {
  96. leds {
  97. compatible = "gpio-leds";
  98. status: power-green {
  99. label = "mx60:green:power";
  100. gpios = <&GPIO0 18 GPIO_ACTIVE_LOW>;
  101. };
  102. failsafe: power-orange {
  103. label = "mx60:orange:power";
  104. gpios = <&GPIO0 19 GPIO_ACTIVE_LOW>;
  105. };
  106. wan-green {
  107. label = "mx60:green:wan";
  108. gpios = <&GPIO0 17 GPIO_ACTIVE_LOW>;
  109. };
  110. wan-orange {
  111. label = "mx60:orange:wan";
  112. gpios = <&GPIO0 15 GPIO_ACTIVE_LOW>;
  113. };
  114. lan1 {
  115. label = "mx60:green:lan1";
  116. gpios = <&GPIO0 20 GPIO_ACTIVE_LOW>;
  117. };
  118. lan2 {
  119. label = "mx60:green:lan2";
  120. gpios = <&GPIO0 21 GPIO_ACTIVE_LOW>;
  121. };
  122. lan3 {
  123. label = "mx60:green:lan3";
  124. gpios = <&GPIO0 22 GPIO_ACTIVE_LOW>;
  125. };
  126. lan4 {
  127. label = "mx60:green:lan4";
  128. gpios = <&GPIO0 23 GPIO_ACTIVE_LOW>;
  129. };
  130. };
  131. keys {
  132. compatible = "gpio-keys-polled";
  133. poll-interval = <60>; /* 3 * 20 = 60ms */
  134. autorepeat;
  135. reset {
  136. label = "Reset button";
  137. linux,code = <KEY_RESTART>;
  138. gpios = <&GPIO0 16 GPIO_ACTIVE_LOW>;
  139. };
  140. };
  141. };
  142. &PCIE0 {
  143. /* Leave this enabled as u-boot on the MX60 will disable it for us */
  144. status = "okay";
  145. };
  146. &MSI {
  147. status = "okay";
  148. };