kirkwood-ea3500.dts 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243
  1. // SPDX-License-Identifier: GPL-2.0-only
  2. /*
  3. * kirkwood-linksys-audi.dts - Device Tree file for Linksys EA3500
  4. *
  5. * (c) 2013 Jonas Gorski <[email protected]>
  6. * (c) 2013 Deutsche Telekom Innovation Laboratories
  7. * (c) 2014 Luka Perkov <[email protected]>
  8. * (c) 2014 Dan Walters <[email protected]>
  9. *
  10. */
  11. /dts-v1/;
  12. #include "kirkwood.dtsi"
  13. #include "kirkwood-6282.dtsi"
  14. / {
  15. model = "Linksys EA3500 (Audi)";
  16. compatible = "linksys,ea3500", "linksys,audi", "marvell,kirkwood-88f6282", "marvell,kirkwood";
  17. memory@0 {
  18. device_type = "memory";
  19. reg = <0x00000000 0x4000000>;
  20. };
  21. aliases {
  22. led-boot = &led_power;
  23. led-failsafe = &led_power;
  24. led-running = &led_power;
  25. led-upgrade = &led_power;
  26. serial0 = &uart0;
  27. };
  28. chosen {
  29. stdout-path = "serial0:115200n8";
  30. };
  31. gpio-keys {
  32. compatible = "gpio-keys";
  33. pinctrl-0 = <&pmx_btn_wps &pmx_btn_reset>;
  34. pinctrl-names = "default";
  35. wps {
  36. label = "WPS Button";
  37. linux,code = <KEY_WPS_BUTTON>;
  38. gpios = <&gpio1 15 GPIO_ACTIVE_LOW>;
  39. };
  40. reset {
  41. label = "Reset Button";
  42. linux,code = <KEY_RESTART>;
  43. gpios = <&gpio1 16 GPIO_ACTIVE_LOW>;
  44. };
  45. };
  46. gpio-leds {
  47. compatible = "gpio-leds";
  48. pinctrl-0 = <&pmx_led_green_power>;
  49. pinctrl-names = "default";
  50. led_power: power {
  51. label = "audi:green:power";
  52. gpios = <&gpio0 7 GPIO_ACTIVE_HIGH>;
  53. default-state = "on";
  54. };
  55. };
  56. };
  57. &pinctrl {
  58. pmx_led_green_power: pmx-led-green-power {
  59. marvell,pins = "mpp7";
  60. marvell,function = "gpo";
  61. };
  62. pmx_btn_wps: pmx-btn-wps {
  63. marvell,pins = "mpp47";
  64. marvell,function = "gpio";
  65. };
  66. pmx_btn_reset: pmx-btn-reset {
  67. marvell,pins = "mpp48";
  68. marvell,function = "gpio";
  69. };
  70. };
  71. &mdio {
  72. status = "okay";
  73. switch@10 {
  74. compatible = "marvell,mv88e6085";
  75. #address-cells = <1>;
  76. #size-cells = <0>;
  77. reg = <16>;
  78. ports {
  79. #address-cells = <1>;
  80. #size-cells = <0>;
  81. port@0 {
  82. reg = <0>;
  83. label = "ethernet1";
  84. };
  85. port@1 {
  86. reg = <1>;
  87. label = "ethernet2";
  88. };
  89. port@2 {
  90. reg = <2>;
  91. label = "ethernet3";
  92. };
  93. port@3 {
  94. reg = <3>;
  95. label = "ethernet4";
  96. };
  97. port@4 {
  98. reg = <4>;
  99. label = "internet";
  100. };
  101. port@5 {
  102. reg = <5>;
  103. phy-mode = "rgmii-id";
  104. ethernet = <&eth0port>;
  105. fixed-link {
  106. speed = <1000>;
  107. full-duplex;
  108. };
  109. };
  110. };
  111. };
  112. };
  113. &nand {
  114. status = "okay";
  115. pinctrl-0 = <&pmx_nand>;
  116. pinctrl-names = "default";
  117. partitions {
  118. compatible = "fixed-partitions";
  119. #address-cells = <1>;
  120. #size-cells = <1>;
  121. partition@0 {
  122. label = "u-boot";
  123. reg = <0x0 0x80000>;
  124. read-only;
  125. };
  126. partition@80000 {
  127. label = "u_env";
  128. reg = <0x80000 0x4000>;
  129. };
  130. partition@84000 {
  131. label = "s_env";
  132. reg = <0x84000 0x4000>;
  133. };
  134. partition@200000 {
  135. label = "kernel1";
  136. reg = <0x200000 0x1400000>;
  137. };
  138. partition@600000 {
  139. label = "rootfs1";
  140. reg = <0x600000 0x1000000>;
  141. };
  142. partition@1600000 {
  143. label = "kernel2";
  144. reg = <0x1600000 0x1400000>;
  145. };
  146. partition@1a00000 {
  147. label = "rootfs2";
  148. reg = <0x1a00000 0x1000000>;
  149. };
  150. partition@2a00000 {
  151. label = "syscfg";
  152. reg = <0x2a00000 0x1600000>;
  153. };
  154. partition@88000 {
  155. label = "unused";
  156. reg = <0x88000 0x178000>;
  157. };
  158. };
  159. };
  160. &pciec {
  161. status = "okay";
  162. };
  163. &pcie0 {
  164. status = "okay";
  165. };
  166. &pcie1 {
  167. status = "okay";
  168. };
  169. &mdio {
  170. status = "okay";
  171. };
  172. &uart0 {
  173. status = "okay";
  174. };
  175. /* eth0 is connected to a Marvell 88E6171 switch, without a PHY. So set
  176. * fixed speed and duplex.
  177. */
  178. &eth0 {
  179. status = "okay";
  180. ethernet0-port@0 {
  181. speed = <1000>;
  182. duplex = <1>;
  183. phy-mode = "rgmii";
  184. };
  185. };
  186. /* eth1 is connected to the switch at port 6. However DSA only supports a
  187. * single CPU port. This port is disabled to avoid confusion.
  188. */
  189. &eth1 {
  190. status = "disabled";
  191. };
  192. /* There is no battery on the board, so the RTC does not keep
  193. * time when there is no power, making it useless.
  194. */
  195. &rtc {
  196. status = "disabled";
  197. };