1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2 /*
3 * lan966x_pcb8309.dts - Device Tree file for PCB8309
4 */
5 /dts-v1/;
6 #include "lan966x.dtsi"
7 #include "dt-bindings/phy/phy-lan966x-serdes.h"
8
9 / {
10 model = "Microchip EVB - LAN9662";
11 compatible = "microchip,lan9662-pcb8309", "microchip,lan9662", "microchip,lan966";
12
13 aliases {
14 serial0 = &usart3;
15 i2c102 = &i2c102;
16 i2c103 = &i2c103;
17 };
18
19 chosen {
20 stdout-path = "serial0:115200n8";
21 };
22
23 gpio-restart {
24 compatible = "gpio-restart";
25 gpios = <&gpio 56 GPIO_ACTIVE_LOW>;
26 priority = <200>;
27 };
28
29 i2c-mux {
30 compatible = "i2c-mux";
31 #address-cells = <1>;
32 #size-cells = <0>;
33 mux-controls = <&mux>;
34 i2c-parent = <&i2c4>;
35
36 i2c102: i2c-sfp@1 {
37 reg = <1>;
38 };
39
40 i2c103: i2c-sfp@2 {
41 reg = <2>;
42 };
43 };
44
45 mux: mux-controller {
46 compatible = "gpio-mux";
47 #mux-control-cells = <0>;
48
49 mux-gpios = <&sgpio_out 11 0 GPIO_ACTIVE_HIGH>, /* p11b0 */
50 <&sgpio_out 11 1 GPIO_ACTIVE_HIGH>; /* p11b1 */
51 };
52
53 sfp2: sfp2 {
54 compatible = "sff,sfp";
55 i2c-bus = <&i2c102>;
56 tx-disable-gpios = <&sgpio_out 10 0 GPIO_ACTIVE_LOW>;
57 los-gpios = <&sgpio_in 2 0 GPIO_ACTIVE_HIGH>;
58 mod-def0-gpios = <&sgpio_in 2 1 GPIO_ACTIVE_LOW>;
59 tx-fault-gpios = <&sgpio_in 1 0 GPIO_ACTIVE_HIGH>;
60 };
61
62 sfp3: sfp3 {
63 compatible = "sff,sfp";
64 i2c-bus = <&i2c103>;
65 tx-disable-gpios = <&sgpio_out 10 1 GPIO_ACTIVE_LOW>;
66 los-gpios = <&sgpio_in 3 0 GPIO_ACTIVE_HIGH>;
67 mod-def0-gpios = <&sgpio_in 3 1 GPIO_ACTIVE_LOW>;
68 tx-fault-gpios = <&sgpio_in 1 1 GPIO_ACTIVE_HIGH>;
69 };
70 };
71
72 &flx3 {
73 atmel,flexcom-mode = <ATMEL_FLEXCOM_MODE_USART>;
74 status = "okay";
75
76 usart3: serial@200 {
77 pinctrl-0 = <&fc3_b_pins>;
78 pinctrl-names = "default";
79 status = "okay";
80 };
81 };
82
83 &flx4 {
84 atmel,flexcom-mode = <ATMEL_FLEXCOM_MODE_TWI>;
85 status = "okay";
86
87 i2c4: i2c@600 {
88 compatible = "microchip,sam9x60-i2c";
89 reg = <0x600 0x200>;
90 interrupts = <GIC_SPI 52 IRQ_TYPE_LEVEL_HIGH>;
91 clocks = <&nic_clk>;
92 pinctrl-0 = <&fc4_b_pins>;
93 pinctrl-names = "default";
94 i2c-analog-filter;
95 i2c-digital-filter;
96 i2c-digital-filter-width-ns = <35>;
97 i2c-sda-hold-time-ns = <1500>;
98 status = "okay";
99 };
100 };
101
102 &gpio {
103 fc3_b_pins: fc3-b-pins {
104 /* RXD, TXD */
105 pins = "GPIO_52", "GPIO_53";
106 function = "fc3_b";
107 };
108
109 fc4_b_pins: fc4-b-pins {
110 /* SCL, SDA */
111 pins = "GPIO_57", "GPIO_58";
112 function = "fc4_b";
113 };
114
115 sgpio_a_pins: sgpio-a-pins {
116 /* SCK, D0, D1, LD */
117 pins = "GPIO_32", "GPIO_33", "GPIO_34", "GPIO_35";
118 function = "sgpio_a";
119 };
120 };
121
122 &mdio1 {
123 status = "okay";
124 };
125
126 &phy0 {
127 status = "okay";
128 };
129
130 &phy1 {
131 status = "okay";
132 };
133
134 &port0 {
135 phy-handle = <&phy0>;
136 phy-mode = "gmii";
137 phys = <&serdes 0 CU(0)>;
138 status = "okay";
139 };
140
141 &port1 {
142 phy-handle = <&phy1>;
143 phy-mode = "gmii";
144 phys = <&serdes 1 CU(1)>;
145 status = "okay";
146 };
147
148 &port2 {
149 sfp = <&sfp2>;
150 managed = "in-band-status";
151 phy-mode = "sgmii";
152 phys = <&serdes 2 SERDES6G(0)>;
153 status = "okay";
154 };
155
156 &port3 {
157 sfp = <&sfp3>;
158 managed = "in-band-status";
159 phy-mode = "sgmii";
160 phys = <&serdes 3 SERDES6G(1)>;
161 status = "okay";
162 };
163
164 &serdes {
165 status = "okay";
166 };
167
168 &sgpio {
169 pinctrl-0 = <&sgpio_a_pins>;
170 pinctrl-names = "default";
171 microchip,sgpio-port-ranges = <0 3>, <8 11>;
172 status = "okay";
173
174 gpio@0 {
175 ngpios = <64>;
176 };
177 gpio@1 {
178 ngpios = <64>;
179 };
180 };
181
182 &switch {
183 status = "okay";
184 };
Cache object: cfb4c5fb241e064bc7bd393419563187
|