ipq8072-dl-wrx36.dts 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243
  1. // SPDX-License-Identifier: GPL-2.0-or-later OR MIT
  2. /* Copyright (c) 2022, Robert Marko <[email protected]> */
  3. /dts-v1/;
  4. #include "ipq8074.dtsi"
  5. #include "ipq8074-hk-cpu.dtsi"
  6. #include "ipq8074-ess.dtsi"
  7. #include <dt-bindings/gpio/gpio.h>
  8. #include <dt-bindings/input/input.h>
  9. #include <dt-bindings/leds/common.h>
  10. / {
  11. model = "Dynalink DL-WRX36";
  12. compatible = "dynalink,dl-wrx36", "qcom,ipq8074";
  13. aliases {
  14. led-boot = &led_system_red;
  15. led-failsafe = &led_system_red;
  16. led-running = &led_system_blue;
  17. led-upgrade = &led_system_red;
  18. serial0 = &blsp1_uart5;
  19. /* Aliases as required by u-boot to patch MAC addresses */
  20. ethernet0 = &dp6_syn;
  21. ethernet1 = &dp4;
  22. ethernet2 = &dp3;
  23. ethernet3 = &dp2;
  24. ethernet4 = &dp1;
  25. label-mac-device = &dp6_syn;
  26. };
  27. chosen {
  28. stdout-path = "serial0:115200n8";
  29. bootargs-append = " root=/dev/ubiblock0_1";
  30. };
  31. keys {
  32. compatible = "gpio-keys";
  33. reset {
  34. label = "reset";
  35. gpios = <&tlmm 34 GPIO_ACTIVE_LOW>;
  36. linux,code = <KEY_RESTART>;
  37. };
  38. wps {
  39. label = "wps";
  40. gpios = <&tlmm 63 GPIO_ACTIVE_LOW>;
  41. linux,code = <KEY_WPS_BUTTON>;
  42. };
  43. };
  44. leds {
  45. compatible = "gpio-leds";
  46. led_system_blue: system-blue {
  47. label = "blue:system";
  48. gpios = <&tlmm 26 GPIO_ACTIVE_HIGH>;
  49. color = <LED_COLOR_ID_BLUE>;
  50. };
  51. led_system_red: system-red {
  52. label = "red:system";
  53. gpios = <&tlmm 25 GPIO_ACTIVE_HIGH>;
  54. color = <LED_COLOR_ID_RED>;
  55. };
  56. };
  57. };
  58. &tlmm {
  59. mdio_pins: mdio-pins {
  60. mdc {
  61. pins = "gpio68";
  62. function = "mdc";
  63. drive-strength = <8>;
  64. bias-pull-up;
  65. };
  66. mdio {
  67. pins = "gpio69";
  68. function = "mdio";
  69. drive-strength = <8>;
  70. bias-pull-up;
  71. };
  72. };
  73. };
  74. &blsp1_uart5 {
  75. status = "okay";
  76. };
  77. &prng {
  78. status = "okay";
  79. };
  80. &cryptobam {
  81. status = "okay";
  82. };
  83. &crypto {
  84. status = "okay";
  85. };
  86. &qpic_bam {
  87. status = "okay";
  88. };
  89. &qpic_nand {
  90. status = "okay";
  91. nand@0 {
  92. reg = <0>;
  93. nand-ecc-strength = <8>;
  94. nand-ecc-step-size = <512>;
  95. nand-bus-width = <8>;
  96. partitions {
  97. compatible = "qcom,smem-part";
  98. };
  99. };
  100. };
  101. &qusb_phy_0 {
  102. status = "okay";
  103. };
  104. &ssphy_0 {
  105. status = "okay";
  106. };
  107. &usb_0 {
  108. status = "okay";
  109. };
  110. &mdio {
  111. status = "okay";
  112. pinctrl-0 = <&mdio_pins>;
  113. pinctrl-names = "default";
  114. reset-gpios = <&tlmm 37 GPIO_ACTIVE_LOW>;
  115. qca8075_0: ethernet-phy@0 {
  116. compatible = "ethernet-phy-ieee802.3-c22";
  117. reg = <0>;
  118. };
  119. qca8075_1: ethernet-phy@1 {
  120. compatible = "ethernet-phy-ieee802.3-c22";
  121. reg = <1>;
  122. };
  123. qca8075_2: ethernet-phy@2 {
  124. compatible = "ethernet-phy-ieee802.3-c22";
  125. reg = <2>;
  126. };
  127. qca8075_3: ethernet-phy@3 {
  128. compatible = "ethernet-phy-ieee802.3-c22";
  129. reg = <3>;
  130. };
  131. qca8081: ethernet-phy@28 {
  132. compatible = "ethernet-phy-id004d.d101";
  133. reg = <28>;
  134. reset-gpios = <&tlmm 44 GPIO_ACTIVE_LOW>;
  135. };
  136. };
  137. &switch {
  138. status = "okay";
  139. switch_cpu_bmp = <0x1>; /* cpu port bitmap */
  140. switch_lan_bmp = <0x3e>; /* lan port bitmap */
  141. switch_wan_bmp = <0x40>; /* wan port bitmap */
  142. switch_mac_mode = <0xb>; /* mac mode for uniphy instance0*/
  143. switch_mac_mode1 = <0xff>; /* mac mode for uniphy instance1*/
  144. switch_mac_mode2 = <0xc>; /* mac mode for uniphy instance2*/
  145. bm_tick_mode = <0>; /* bm tick mode */
  146. tm_tick_mode = <0>; /* tm tick mode */
  147. qcom,port_phyinfo {
  148. port@0 {
  149. port_id = <1>;
  150. phy_address = <0>;
  151. };
  152. port@1 {
  153. port_id = <2>;
  154. phy_address = <1>;
  155. };
  156. port@2 {
  157. port_id = <3>;
  158. phy_address = <2>;
  159. };
  160. port@3 {
  161. port_id = <4>;
  162. phy_address = <3>;
  163. };
  164. port@5 {
  165. port_id = <6>;
  166. phy_address = <28>;
  167. port_mac_sel = "QGMAC_PORT";
  168. };
  169. };
  170. };
  171. &edma {
  172. status = "okay";
  173. };
  174. &dp1 {
  175. status = "okay";
  176. phy-handle = <&qca8075_0>;
  177. label = "lan4";
  178. };
  179. &dp2 {
  180. status = "okay";
  181. phy-handle = <&qca8075_1>;
  182. label = "lan3";
  183. };
  184. &dp3 {
  185. status = "okay";
  186. phy-handle = <&qca8075_2>;
  187. label = "lan2";
  188. };
  189. &dp4 {
  190. status = "okay";
  191. phy-handle = <&qca8075_3>;
  192. label = "lan1";
  193. };
  194. &dp6_syn {
  195. status = "okay";
  196. phy-handle = <&qca8081>;
  197. label = "wan";
  198. };
  199. &wifi {
  200. status = "okay";
  201. qcom,ath11k-calibration-variant = "Dynalink-DL-WRX36";
  202. };