xref: /freebsd/sys/contrib/device-tree/src/arm/microchip/lan966x-pcb8291.dts (revision f126890ac5386406dadf7c4cfa9566cbb56537c5)
1*f126890aSEmmanuel Vadot// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2*f126890aSEmmanuel Vadot/*
3*f126890aSEmmanuel Vadot * lan966x_pcb8291.dts - Device Tree file for PCB8291
4*f126890aSEmmanuel Vadot */
5*f126890aSEmmanuel Vadot/dts-v1/;
6*f126890aSEmmanuel Vadot#include "lan966x.dtsi"
7*f126890aSEmmanuel Vadot#include "dt-bindings/phy/phy-lan966x-serdes.h"
8*f126890aSEmmanuel Vadot
9*f126890aSEmmanuel Vadot/ {
10*f126890aSEmmanuel Vadot	model = "Microchip EVB - LAN9662";
11*f126890aSEmmanuel Vadot	compatible = "microchip,lan9662-pcb8291", "microchip,lan9662", "microchip,lan966";
12*f126890aSEmmanuel Vadot
13*f126890aSEmmanuel Vadot	chosen {
14*f126890aSEmmanuel Vadot		stdout-path = "serial0:115200n8";
15*f126890aSEmmanuel Vadot	};
16*f126890aSEmmanuel Vadot
17*f126890aSEmmanuel Vadot	aliases {
18*f126890aSEmmanuel Vadot		serial0 = &usart3;
19*f126890aSEmmanuel Vadot	};
20*f126890aSEmmanuel Vadot
21*f126890aSEmmanuel Vadot	gpio-restart {
22*f126890aSEmmanuel Vadot		compatible = "gpio-restart";
23*f126890aSEmmanuel Vadot		gpios = <&gpio 56 GPIO_ACTIVE_LOW>;
24*f126890aSEmmanuel Vadot		priority = <200>;
25*f126890aSEmmanuel Vadot	};
26*f126890aSEmmanuel Vadot
27*f126890aSEmmanuel Vadot	leds {
28*f126890aSEmmanuel Vadot		compatible = "gpio-leds";
29*f126890aSEmmanuel Vadot
30*f126890aSEmmanuel Vadot		led-s0-blue {
31*f126890aSEmmanuel Vadot			label = "s0:blue";
32*f126890aSEmmanuel Vadot			gpios = <&sgpio_out 2 0 GPIO_ACTIVE_LOW>;
33*f126890aSEmmanuel Vadot			default-state = "off";
34*f126890aSEmmanuel Vadot		};
35*f126890aSEmmanuel Vadot
36*f126890aSEmmanuel Vadot		led-s0-green {
37*f126890aSEmmanuel Vadot			label = "s0:green";
38*f126890aSEmmanuel Vadot			gpios = <&sgpio_out 2 1 GPIO_ACTIVE_LOW>;
39*f126890aSEmmanuel Vadot			default-state = "off";
40*f126890aSEmmanuel Vadot		};
41*f126890aSEmmanuel Vadot
42*f126890aSEmmanuel Vadot		led-s1-blue {
43*f126890aSEmmanuel Vadot			label = "s1:blue";
44*f126890aSEmmanuel Vadot			gpios = <&sgpio_out 3 0 GPIO_ACTIVE_LOW>;
45*f126890aSEmmanuel Vadot			default-state = "off";
46*f126890aSEmmanuel Vadot		};
47*f126890aSEmmanuel Vadot
48*f126890aSEmmanuel Vadot		led-s1-green {
49*f126890aSEmmanuel Vadot			label = "s1:green";
50*f126890aSEmmanuel Vadot			gpios = <&sgpio_out 3 1 GPIO_ACTIVE_LOW>;
51*f126890aSEmmanuel Vadot			default-state = "off";
52*f126890aSEmmanuel Vadot		};
53*f126890aSEmmanuel Vadot	};
54*f126890aSEmmanuel Vadot};
55*f126890aSEmmanuel Vadot
56*f126890aSEmmanuel Vadot&aes {
57*f126890aSEmmanuel Vadot	status = "disabled"; /* Reserved by secure OS */
58*f126890aSEmmanuel Vadot};
59*f126890aSEmmanuel Vadot
60*f126890aSEmmanuel Vadot&gpio {
61*f126890aSEmmanuel Vadot	fc3_b_pins: fc3-b-pins {
62*f126890aSEmmanuel Vadot		/* RX, TX */
63*f126890aSEmmanuel Vadot		pins = "GPIO_52", "GPIO_53";
64*f126890aSEmmanuel Vadot		function = "fc3_b";
65*f126890aSEmmanuel Vadot	};
66*f126890aSEmmanuel Vadot
67*f126890aSEmmanuel Vadot	can0_b_pins:  can0-b-pins {
68*f126890aSEmmanuel Vadot		/* RX, TX */
69*f126890aSEmmanuel Vadot		pins = "GPIO_35", "GPIO_36";
70*f126890aSEmmanuel Vadot		function = "can0_b";
71*f126890aSEmmanuel Vadot	};
72*f126890aSEmmanuel Vadot
73*f126890aSEmmanuel Vadot	sgpio_a_pins: sgpio-a-pins {
74*f126890aSEmmanuel Vadot		/* SCK, D0, D1, LD */
75*f126890aSEmmanuel Vadot		pins = "GPIO_32", "GPIO_33", "GPIO_34", "GPIO_35";
76*f126890aSEmmanuel Vadot		function = "sgpio_a";
77*f126890aSEmmanuel Vadot	};
78*f126890aSEmmanuel Vadot};
79*f126890aSEmmanuel Vadot
80*f126890aSEmmanuel Vadot&can0 {
81*f126890aSEmmanuel Vadot	pinctrl-0 = <&can0_b_pins>;
82*f126890aSEmmanuel Vadot	pinctrl-names = "default";
83*f126890aSEmmanuel Vadot	status = "disabled"; /* Conflict with switch */
84*f126890aSEmmanuel Vadot};
85*f126890aSEmmanuel Vadot
86*f126890aSEmmanuel Vadot&flx3 {
87*f126890aSEmmanuel Vadot	atmel,flexcom-mode = <ATMEL_FLEXCOM_MODE_USART>;
88*f126890aSEmmanuel Vadot	status = "okay";
89*f126890aSEmmanuel Vadot
90*f126890aSEmmanuel Vadot	usart3: serial@200 {
91*f126890aSEmmanuel Vadot		pinctrl-0 = <&fc3_b_pins>;
92*f126890aSEmmanuel Vadot		pinctrl-names = "default";
93*f126890aSEmmanuel Vadot		status = "okay";
94*f126890aSEmmanuel Vadot	};
95*f126890aSEmmanuel Vadot};
96*f126890aSEmmanuel Vadot
97*f126890aSEmmanuel Vadot&mdio1 {
98*f126890aSEmmanuel Vadot	status = "okay";
99*f126890aSEmmanuel Vadot};
100*f126890aSEmmanuel Vadot
101*f126890aSEmmanuel Vadot&phy0 {
102*f126890aSEmmanuel Vadot	status = "okay";
103*f126890aSEmmanuel Vadot};
104*f126890aSEmmanuel Vadot
105*f126890aSEmmanuel Vadot&phy1 {
106*f126890aSEmmanuel Vadot	status = "okay";
107*f126890aSEmmanuel Vadot};
108*f126890aSEmmanuel Vadot
109*f126890aSEmmanuel Vadot&port0 {
110*f126890aSEmmanuel Vadot	phy-handle = <&phy0>;
111*f126890aSEmmanuel Vadot	phy-mode = "gmii";
112*f126890aSEmmanuel Vadot	phys = <&serdes 0 CU(0)>;
113*f126890aSEmmanuel Vadot	status = "okay";
114*f126890aSEmmanuel Vadot};
115*f126890aSEmmanuel Vadot
116*f126890aSEmmanuel Vadot&port1 {
117*f126890aSEmmanuel Vadot	phy-handle = <&phy1>;
118*f126890aSEmmanuel Vadot	phy-mode = "gmii";
119*f126890aSEmmanuel Vadot	phys = <&serdes 1 CU(1)>;
120*f126890aSEmmanuel Vadot	status = "okay";
121*f126890aSEmmanuel Vadot};
122*f126890aSEmmanuel Vadot
123*f126890aSEmmanuel Vadot&serdes {
124*f126890aSEmmanuel Vadot	status = "okay";
125*f126890aSEmmanuel Vadot};
126*f126890aSEmmanuel Vadot
127*f126890aSEmmanuel Vadot&sgpio {
128*f126890aSEmmanuel Vadot	pinctrl-0 = <&sgpio_a_pins>;
129*f126890aSEmmanuel Vadot	pinctrl-names = "default";
130*f126890aSEmmanuel Vadot	microchip,sgpio-port-ranges = <0 3>, <8 11>;
131*f126890aSEmmanuel Vadot	status = "okay";
132*f126890aSEmmanuel Vadot
133*f126890aSEmmanuel Vadot	gpio@0 {
134*f126890aSEmmanuel Vadot		ngpios = <64>;
135*f126890aSEmmanuel Vadot	};
136*f126890aSEmmanuel Vadot	gpio@1 {
137*f126890aSEmmanuel Vadot		ngpios = <64>;
138*f126890aSEmmanuel Vadot	};
139*f126890aSEmmanuel Vadot};
140*f126890aSEmmanuel Vadot
141*f126890aSEmmanuel Vadot&switch {
142*f126890aSEmmanuel Vadot	status = "okay";
143*f126890aSEmmanuel Vadot};
144*f126890aSEmmanuel Vadot
145*f126890aSEmmanuel Vadot&watchdog {
146*f126890aSEmmanuel Vadot	status = "okay";
147*f126890aSEmmanuel Vadot};
148