qca9563_tplink_re450-v2.dts 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189
  1. // SPDX-License-Identifier: GPL-2.0-or-later OR MIT
  2. /dts-v1/;
  3. #include <dt-bindings/gpio/gpio.h>
  4. #include <dt-bindings/input/input.h>
  5. #include "qca956x.dtsi"
  6. / {
  7. compatible = "tplink,re450-v2", "qca,qca9563";
  8. model = "TP-Link RE450 v2";
  9. chosen {
  10. bootargs = "console=ttyS0,115200n8";
  11. };
  12. aliases {
  13. led-boot = &system;
  14. led-failsafe = &system;
  15. led-running = &system;
  16. led-upgrade = &system;
  17. mdio-gpio0 = &mdio2;
  18. };
  19. leds {
  20. compatible = "gpio-leds";
  21. system: power {
  22. label = "tp-link:blue:power";
  23. gpios = <&gpio 1 GPIO_ACTIVE_LOW>;
  24. };
  25. wlan2g {
  26. label = "tp-link:blue:wlan2g";
  27. gpios = <&gpio 14 GPIO_ACTIVE_LOW>;
  28. linux,default-trigger = "phy1tpt";
  29. };
  30. wlan5g {
  31. label = "tp-link:blue:wlan5g";
  32. gpios = <&gpio 5 GPIO_ACTIVE_LOW>;
  33. linux,default-trigger = "phy0tpt";
  34. };
  35. lan_link {
  36. label = "tp-link:green:lan_link";
  37. gpios = <&gpio 8 GPIO_ACTIVE_LOW>;
  38. };
  39. lan_data {
  40. label = "tp-link:green:lan_data";
  41. gpios = <&gpio 9 GPIO_ACTIVE_LOW>;
  42. };
  43. wps_blue {
  44. label = "tp-link:blue:wps";
  45. gpios = <&gpio 17 GPIO_ACTIVE_HIGH>;
  46. };
  47. wps_red {
  48. label = "tp-link:red:wps";
  49. gpios = <&gpio 20 GPIO_ACTIVE_HIGH>;
  50. };
  51. };
  52. keys {
  53. compatible = "gpio-keys";
  54. reset {
  55. label = "Reset button";
  56. linux,code = <KEY_RESTART>;
  57. gpios = <&gpio 6 GPIO_ACTIVE_LOW>;
  58. debounce-interval = <60>;
  59. };
  60. power {
  61. label = "Power button";
  62. linux,code = <KEY_POWER>;
  63. gpios = <&gpio 2 GPIO_ACTIVE_LOW>;
  64. debounce-interval = <60>;
  65. };
  66. leds {
  67. label = "LED control button";
  68. linux,code = <BTN_0>;
  69. gpios = <&gpio 7 GPIO_ACTIVE_LOW>;
  70. debounce-interval = <60>;
  71. };
  72. wps {
  73. label = "WPS button";
  74. linux,code = <KEY_WPS_BUTTON>;
  75. gpios = <&gpio 19 GPIO_ACTIVE_LOW>;
  76. debounce-interval = <60>;
  77. };
  78. };
  79. mdio2: mdio {
  80. compatible = "virtual,mdio-gpio";
  81. gpios = <&gpio 3 GPIO_ACTIVE_HIGH>, /* MDC */
  82. <&gpio 4 GPIO_ACTIVE_HIGH>; /* MDIO */
  83. #address-cells = <1>;
  84. #size-cells = <0>;
  85. phy0: ethernet-phy@4 {
  86. reg = <4>;
  87. device_type = "ethernet-phy";
  88. reset-gpios = <&gpio 11 GPIO_ACTIVE_LOW>;
  89. };
  90. };
  91. };
  92. &pcie {
  93. status = "okay";
  94. };
  95. &uart {
  96. status = "okay";
  97. };
  98. &gpio {
  99. status = "okay";
  100. };
  101. &spi {
  102. status = "okay";
  103. num-cs = <1>;
  104. flash@0 {
  105. compatible = "jedec,spi-nor";
  106. reg = <0>;
  107. spi-max-frequency = <25000000>;
  108. partitions {
  109. compatible = "fixed-partitions";
  110. #address-cells = <1>;
  111. #size-cells = <1>;
  112. partition@0 {
  113. label = "u-boot";
  114. reg = <0x000000 0x020000>;
  115. read-only;
  116. };
  117. partition@20000 {
  118. compatible = "tplink,firmware";
  119. label = "firmware";
  120. reg = <0x020000 0x5e0000>;
  121. };
  122. partition@600000 {
  123. label = "partition-table";
  124. reg = <0x600000 0x010000>;
  125. read-only;
  126. };
  127. info: partition@610000 {
  128. label = "product-info";
  129. reg = <0x610000 0x020000>;
  130. read-only;
  131. };
  132. partition@630000 {
  133. label = "config";
  134. reg = <0x630000 0x020000>;
  135. read-only;
  136. };
  137. art: partition@7f0000 {
  138. label = "art";
  139. reg = <0x7f0000 0x010000>;
  140. read-only;
  141. };
  142. };
  143. };
  144. };
  145. &eth0 {
  146. status = "okay";
  147. mtd-mac-address = <&info 0x8>;
  148. phy-handle = <&phy0>;
  149. };
  150. &wmac {
  151. status = "okay";
  152. mtd-cal-data = <&art 0x1000>;
  153. mtd-mac-address = <&info 0x8>;
  154. };