lan966x-pcb8290.dts 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179
  1. // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
  2. /*
  3. * lan966x-pcb8290.dts - Device Tree file for LAN966X-PCB8290 board
  4. *
  5. * Copyright (C) 2022 Microchip Technology Inc. and its subsidiaries
  6. *
  7. * Author: Horatiu Vultur <[email protected]>
  8. */
  9. /dts-v1/;
  10. #include "lan966x.dtsi"
  11. #include "dt-bindings/phy/phy-lan966x-serdes.h"
  12. / {
  13. model = "Microchip EVB LAN9668";
  14. compatible = "microchip,lan9668-pcb8290", "microchip,lan9668", "microchip,lan966";
  15. gpio-restart {
  16. compatible = "gpio-restart";
  17. gpios = <&gpio 56 GPIO_ACTIVE_LOW>;
  18. priority = <200>;
  19. };
  20. };
  21. &aes {
  22. status = "disabled"; /* Reserved by secure OS */
  23. };
  24. &gpio {
  25. miim_a_pins: mdio-pins {
  26. /* MDC, MDIO */
  27. pins = "GPIO_28", "GPIO_29";
  28. function = "miim_a";
  29. };
  30. pps_out_pins: pps-out-pins {
  31. /* 1pps output */
  32. pins = "GPIO_38";
  33. function = "ptpsync_3";
  34. };
  35. ptp_ext_pins: ptp-ext-pins {
  36. /* 1pps input */
  37. pins = "GPIO_35";
  38. function = "ptpsync_0";
  39. };
  40. udc_pins: ucd-pins {
  41. /* VBUS_DET B */
  42. pins = "GPIO_8";
  43. function = "usb_slave_b";
  44. };
  45. };
  46. &mdio0 {
  47. pinctrl-0 = <&miim_a_pins>;
  48. pinctrl-names = "default";
  49. status = "okay";
  50. ext_phy0: ethernet-phy@7 {
  51. reg = <7>;
  52. coma-mode-gpios = <&gpio 60 GPIO_OPEN_DRAIN>;
  53. };
  54. ext_phy1: ethernet-phy@8 {
  55. reg = <8>;
  56. coma-mode-gpios = <&gpio 60 GPIO_OPEN_DRAIN>;
  57. };
  58. ext_phy2: ethernet-phy@9 {
  59. reg = <9>;
  60. coma-mode-gpios = <&gpio 60 GPIO_OPEN_DRAIN>;
  61. };
  62. ext_phy3: ethernet-phy@10 {
  63. reg = <10>;
  64. coma-mode-gpios = <&gpio 60 GPIO_OPEN_DRAIN>;
  65. };
  66. ext_phy4: ethernet-phy@15 {
  67. reg = <15>;
  68. coma-mode-gpios = <&gpio 60 GPIO_OPEN_DRAIN>;
  69. };
  70. ext_phy5: ethernet-phy@16 {
  71. reg = <16>;
  72. coma-mode-gpios = <&gpio 60 GPIO_OPEN_DRAIN>;
  73. };
  74. ext_phy6: ethernet-phy@17 {
  75. reg = <17>;
  76. coma-mode-gpios = <&gpio 60 GPIO_OPEN_DRAIN>;
  77. };
  78. ext_phy7: ethernet-phy@18 {
  79. reg = <18>;
  80. coma-mode-gpios = <&gpio 60 GPIO_OPEN_DRAIN>;
  81. };
  82. };
  83. &port0 {
  84. reg = <2>;
  85. phy-handle = <&ext_phy2>;
  86. phy-mode = "qsgmii";
  87. phys = <&serdes 0 SERDES6G(1)>;
  88. status = "okay";
  89. };
  90. &port1 {
  91. reg = <3>;
  92. phy-handle = <&ext_phy3>;
  93. phy-mode = "qsgmii";
  94. phys = <&serdes 1 SERDES6G(1)>;
  95. status = "okay";
  96. };
  97. &port2 {
  98. reg = <0>;
  99. phy-handle = <&ext_phy0>;
  100. phy-mode = "qsgmii";
  101. phys = <&serdes 2 SERDES6G(1)>;
  102. status = "okay";
  103. };
  104. &port3 {
  105. reg = <1>;
  106. phy-handle = <&ext_phy1>;
  107. phy-mode = "qsgmii";
  108. phys = <&serdes 3 SERDES6G(1)>;
  109. status = "okay";
  110. };
  111. &port4 {
  112. reg = <6>;
  113. phy-handle = <&ext_phy6>;
  114. phy-mode = "qsgmii";
  115. phys = <&serdes 4 SERDES6G(2)>;
  116. status = "okay";
  117. };
  118. &port5 {
  119. reg = <7>;
  120. phy-handle = <&ext_phy7>;
  121. phy-mode = "qsgmii";
  122. phys = <&serdes 5 SERDES6G(2)>;
  123. status = "okay";
  124. };
  125. &port6 {
  126. reg = <4>;
  127. phy-handle = <&ext_phy4>;
  128. phy-mode = "qsgmii";
  129. phys = <&serdes 6 SERDES6G(2)>;
  130. status = "okay";
  131. };
  132. &port7 {
  133. reg = <5>;
  134. phy-handle = <&ext_phy5>;
  135. phy-mode = "qsgmii";
  136. phys = <&serdes 7 SERDES6G(2)>;
  137. status = "okay";
  138. };
  139. &serdes {
  140. status = "okay";
  141. };
  142. &switch {
  143. pinctrl-0 = <&pps_out_pins>, <&ptp_ext_pins>;
  144. pinctrl-names = "default";
  145. status = "okay";
  146. };
  147. &udc {
  148. pinctrl-0 = <&udc_pins>;
  149. pinctrl-names = "default";
  150. atmel,vbus-gpio = <&gpio 8 GPIO_ACTIVE_HIGH>;
  151. status = "okay";
  152. };