ipq5018-mx2000.dts 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183
  1. /dts-v1/;
  2. #include "ipq5018.dtsi"
  3. #include "ipq5018-mx-base.dtsi"
  4. #include "ipq5018-qcn6122.dtsi"
  5. / {
  6. model = "Linksys MX2000";
  7. compatible = "linksys,mx2000", "qcom,ipq5018";
  8. chosen {
  9. bootargs-append = " root=/dev/ubiblock0_0 coherent_pool=2M";
  10. stdout-path = "serial0:115200n8";
  11. };
  12. };
  13. /*
  14. * ===============================================================
  15. * _______________________ _______________________
  16. * | IPQ5018 | | QCA8337 |
  17. * | +------+ +--------+ | | +--------+ +------+ |
  18. * | | MAC0 |---| GE Phy | | | | Phy0 |---| MAC1 | |
  19. * | +------+ +--------+ | | +--------+ +------+ |
  20. * | +------+ +--------+ | | +--------+ +------+ |
  21. * | | MAC1 |---| Uniphy |-+-SGMII-+-| SerDes |---| MAC6 | |
  22. * | +------+ +--------+ | | +--------+ +------+ |
  23. * |_______________________| |_______________________|
  24. *
  25. * ===============================================================
  26. */
  27. &switch {
  28. status = "okay";
  29. switch_mac_mode = <MAC_MODE_SGMII_CHANNEL0>;
  30. qcom,port_phyinfo {
  31. // MAC0 -> GE Phy -> QCA8337 Phy4
  32. port@1 {
  33. port_id = <1>;
  34. mdiobus = <&mdio0>;
  35. phy_address = <7>;
  36. };
  37. // MAC1 ---SGMII---> QCA8337 SerDes
  38. port@2 {
  39. port_id = <2>;
  40. forced-speed = <1000>;
  41. forced-duplex = <1>;
  42. };
  43. };
  44. };
  45. // MAC1 ---SGMII---> QCA8337 SerDes
  46. &dp2 {
  47. status = "okay";
  48. nvmem-cells = <&hw_mac_addr 0>;
  49. nvmem-cell-names = "mac-address";
  50. fixed-link {
  51. speed = <1000>;
  52. full-duplex;
  53. };
  54. };
  55. &mdio0 {
  56. status = "okay";
  57. };
  58. &mdio1 {
  59. status = "okay";
  60. pinctrl-0 = <&mdio1_pins>;
  61. pinctrl-names = "default";
  62. reset-gpios = <&tlmm 39 GPIO_ACTIVE_LOW>;
  63. // QCA8337 Phy0 not connected
  64. qca8337_0: ethernet-phy@0 {
  65. reg = <0>;
  66. };
  67. // QCA8337 Phy1 -> WAN
  68. qca8337_1: ethernet-phy@1 {
  69. reg = <1>;
  70. };
  71. // QCA8337 Phy2 -> LAN1
  72. qca8337_2: ethernet-phy@2 {
  73. reg = <2>;
  74. };
  75. // QCA8337 Phy3 -> LAN2
  76. qca8337_3: ethernet-phy@3 {
  77. reg = <3>;
  78. };
  79. // QCA8337 Phy4 -> LAN3
  80. qca8337_4: ethernet-phy@4 {
  81. reg = <4>;
  82. };
  83. // QCA8337 switch
  84. switch1: ethernet-switch@17 {
  85. compatible = "qca,qca8337";
  86. reg = <17>;
  87. #address-cells = <1>;
  88. #size-cells = <0>;
  89. ports {
  90. #address-cells = <1>;
  91. #size-cells = <0>;
  92. port@2 {
  93. reg = <2>;
  94. label = "wan";
  95. phy-handle = <&qca8337_1>;
  96. };
  97. port@3 {
  98. reg = <3>;
  99. label = "lan3";
  100. phy-handle = <&qca8337_2>;
  101. };
  102. port@4 {
  103. reg = <4>;
  104. label = "lan2";
  105. phy-handle = <&qca8337_3>;
  106. };
  107. port@5 {
  108. reg = <5>;
  109. label = "lan1";
  110. phy-handle = <&qca8337_4>;
  111. };
  112. port@6 {
  113. reg = <6>;
  114. label = "cpu";
  115. phy-mode = "sgmii";
  116. ethernet = <&dp2>;
  117. qca,sgmii-enable-pll;
  118. fixed-link {
  119. speed = <1000>;
  120. full-duplex;
  121. };
  122. };
  123. };
  124. };
  125. };
  126. &q6v5_wcss {
  127. /* The QCN6102 radio should map to UPD ID 2. Without */
  128. /* bootargs, the firmware will expect it to be on UPD ID 3 */
  129. boot-args = <
  130. /* type: */ 0x1 /* PCIE0 */
  131. /* length: */ 4
  132. /* UPD ID: */ 2
  133. /* reset GPIO: */ 15
  134. /* reserved: */ 0 0>;
  135. };
  136. &wifi {
  137. status = "okay";
  138. qcom,rproc = <&q6_wcss_pd1>;
  139. qcom,ath11k-calibration-variant = "Linksys-MX2000";
  140. qcom,ath11k-fw-memory-mode = <1>;
  141. qcom,bdf-addr = <0x4c400000>;
  142. };
  143. &wifi1 {
  144. status = "okay";
  145. qcom,rproc = <&q6_wcss_pd2>;
  146. qcom,userpd-subsys-name = "q6v5_wcss_userpd2";
  147. qcom,ath11k-calibration-variant = "Linksys-MX2000";
  148. qcom,ath11k-fw-memory-mode = <1>;
  149. qcom,bdf-addr = <0x4d100000>;
  150. qcom,m3-dump-addr = <0x4df00000>;
  151. };