mt7988a-dsa-10g-spim-nand.dts 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200
  1. // SPDX-License-Identifier: (GPL-2.0 OR MIT)
  2. /*
  3. * Copyright (C) 2022 MediaTek Inc.
  4. * Author: Sam.Shih <[email protected]>
  5. */
  6. /dts-v1/;
  7. #include "mt7988a-rfb-spim-nand.dtsi"
  8. #include <dt-bindings/pinctrl/mt65xx.h>
  9. / {
  10. model = "MediaTek MT7988A DSA 10G SPIM-NAND RFB";
  11. compatible = "mediatek,mt7988a-dsa-10g-spim-snand",
  12. "mediatek,mt7988a-rfb-snand",
  13. "mediatek,mt7988";
  14. chosen {
  15. bootargs = "console=ttyS0,115200n1 loglevel=8 \
  16. earlycon=uart8250,mmio32,0x11000000 \
  17. pci=pcie_bus_perf";
  18. };
  19. memory {
  20. reg = <0 0x40000000 0 0x40000000>;
  21. };
  22. };
  23. &eth {
  24. pinctrl-0 = <&mdio0_pins>;
  25. pinctrl-names = "default";
  26. status = "okay";
  27. gmac0: mac@0 {
  28. compatible = "mediatek,eth-mac";
  29. reg = <0>;
  30. phy-mode = "internal";
  31. fixed-link {
  32. speed = <10000>;
  33. full-duplex;
  34. pause;
  35. };
  36. };
  37. gmac1: mac@1 {
  38. compatible = "mediatek,eth-mac";
  39. reg = <1>;
  40. phy-mode = "internal";
  41. phy-connection-type = "internal";
  42. phy = <&phy15>;
  43. };
  44. gmac2: mac@2 {
  45. compatible = "mediatek,eth-mac";
  46. reg = <2>;
  47. phy-mode = "10gbase-kr";
  48. phy-connection-type = "10gbase-kr";
  49. phy = <&phy8>;
  50. };
  51. mdio0: mdio-bus {
  52. #address-cells = <1>;
  53. #size-cells = <0>;
  54. /* external Aquantia AQR113C */
  55. phy0: ethernet-phy@0 {
  56. reg = <0>;
  57. compatible = "ethernet-phy-ieee802.3-c45";
  58. reset-gpios = <&pio 72 1>;
  59. reset-assert-us = <100000>;
  60. reset-deassert-us = <221000>;
  61. };
  62. /* external Aquantia AQR113C */
  63. phy8: ethernet-phy@8 {
  64. reg = <8>;
  65. compatible = "ethernet-phy-ieee802.3-c45";
  66. reset-gpios = <&pio 71 1>;
  67. reset-assert-us = <100000>;
  68. reset-deassert-us = <221000>;
  69. };
  70. /* external Maxlinear GPY211C */
  71. phy5: ethernet-phy@5 {
  72. reg = <5>;
  73. compatible = "ethernet-phy-ieee802.3-c45";
  74. phy-mode = "2500base-x";
  75. };
  76. /* external Maxlinear GPY211C */
  77. phy13: ethernet-phy@13 {
  78. reg = <13>;
  79. compatible = "ethernet-phy-ieee802.3-c45";
  80. phy-mode = "2500base-x";
  81. };
  82. /* internal 2.5G PHY */
  83. phy15: ethernet-phy@15 {
  84. reg = <15>;
  85. pinctrl-names = "i2p5gbe-led";
  86. pinctrl-0 = <&i2p5gbe_led0_pins>;
  87. compatible = "ethernet-phy-ieee802.3-c45";
  88. phy-mode = "internal";
  89. };
  90. };
  91. };
  92. &switch {
  93. status = "okay";
  94. ports {
  95. #address-cells = <1>;
  96. #size-cells = <0>;
  97. port@0 {
  98. reg = <0>;
  99. label = "lan0";
  100. phy-mode = "internal";
  101. phy-handle = <&gsw_phy0>;
  102. };
  103. port@1 {
  104. reg = <1>;
  105. label = "lan1";
  106. phy-mode = "internal";
  107. phy-handle = <&gsw_phy1>;
  108. };
  109. port@2 {
  110. reg = <2>;
  111. label = "lan2";
  112. phy-mode = "internal";
  113. phy-handle = <&gsw_phy2>;
  114. };
  115. port@3 {
  116. reg = <3>;
  117. label = "lan3";
  118. phy-mode = "internal";
  119. phy-handle = <&gsw_phy3>;
  120. };
  121. port@6 {
  122. reg = <6>;
  123. ethernet = <&gmac0>;
  124. phy-mode = "internal";
  125. fixed-link {
  126. speed = <10000>;
  127. full-duplex;
  128. pause;
  129. };
  130. };
  131. };
  132. mdio {
  133. #address-cells = <1>;
  134. #size-cells = <0>;
  135. gsw_phy0: ethernet-phy@0 {
  136. compatible = "ethernet-phy-id03a2.9481";
  137. reg = <0>;
  138. phy-mode = "internal";
  139. pinctrl-names = "gbe-led";
  140. pinctrl-0 = <&gbe0_led0_pins>;
  141. nvmem-cells = <&phy_calibration_p0>;
  142. nvmem-cell-names = "phy-cal-data";
  143. };
  144. gsw_phy1: ethernet-phy@1 {
  145. compatible = "ethernet-phy-id03a2.9481";
  146. reg = <1>;
  147. phy-mode = "internal";
  148. pinctrl-names = "gbe-led";
  149. pinctrl-0 = <&gbe1_led0_pins>;
  150. nvmem-cells = <&phy_calibration_p1>;
  151. nvmem-cell-names = "phy-cal-data";
  152. };
  153. gsw_phy2: ethernet-phy@2 {
  154. compatible = "ethernet-phy-id03a2.9481";
  155. reg = <2>;
  156. phy-mode = "internal";
  157. pinctrl-names = "gbe-led";
  158. pinctrl-0 = <&gbe2_led0_pins>;
  159. nvmem-cells = <&phy_calibration_p2>;
  160. nvmem-cell-names = "phy-cal-data";
  161. };
  162. gsw_phy3: ethernet-phy@3 {
  163. compatible = "ethernet-phy-id03a2.9481";
  164. reg = <3>;
  165. phy-mode = "internal";
  166. pinctrl-names = "gbe-led";
  167. pinctrl-0 = <&gbe3_led0_pins>;
  168. nvmem-cells = <&phy_calibration_p3>;
  169. nvmem-cell-names = "phy-cal-data";
  170. };
  171. };
  172. };