xref: /freebsd/sys/contrib/device-tree/Bindings/net/dsa/microchip,ksz.yaml (revision 5def4c47d4bd90b209b9b4a4ba9faec15846d8fd)
1*5def4c47SEmmanuel Vadot# SPDX-License-Identifier: GPL-2.0-only
2*5def4c47SEmmanuel Vadot%YAML 1.2
3*5def4c47SEmmanuel Vadot---
4*5def4c47SEmmanuel Vadot$id: http://devicetree.org/schemas/net/dsa/microchip,ksz.yaml#
5*5def4c47SEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
6*5def4c47SEmmanuel Vadot
7*5def4c47SEmmanuel Vadottitle: Microchip KSZ Series Ethernet switches
8*5def4c47SEmmanuel Vadot
9*5def4c47SEmmanuel Vadotmaintainers:
10*5def4c47SEmmanuel Vadot  - Marek Vasut <marex@denx.de>
11*5def4c47SEmmanuel Vadot  - Woojung Huh <Woojung.Huh@microchip.com>
12*5def4c47SEmmanuel Vadot
13*5def4c47SEmmanuel VadotallOf:
14*5def4c47SEmmanuel Vadot  - $ref: dsa.yaml#
15*5def4c47SEmmanuel Vadot
16*5def4c47SEmmanuel Vadotproperties:
17*5def4c47SEmmanuel Vadot  # See Documentation/devicetree/bindings/net/dsa/dsa.yaml for a list of additional
18*5def4c47SEmmanuel Vadot  # required and optional properties.
19*5def4c47SEmmanuel Vadot  compatible:
20*5def4c47SEmmanuel Vadot    enum:
21*5def4c47SEmmanuel Vadot      - microchip,ksz8765
22*5def4c47SEmmanuel Vadot      - microchip,ksz8794
23*5def4c47SEmmanuel Vadot      - microchip,ksz8795
24*5def4c47SEmmanuel Vadot      - microchip,ksz9477
25*5def4c47SEmmanuel Vadot      - microchip,ksz9897
26*5def4c47SEmmanuel Vadot      - microchip,ksz9896
27*5def4c47SEmmanuel Vadot      - microchip,ksz9567
28*5def4c47SEmmanuel Vadot      - microchip,ksz8565
29*5def4c47SEmmanuel Vadot      - microchip,ksz9893
30*5def4c47SEmmanuel Vadot      - microchip,ksz9563
31*5def4c47SEmmanuel Vadot      - microchip,ksz8563
32*5def4c47SEmmanuel Vadot
33*5def4c47SEmmanuel Vadot  reset-gpios:
34*5def4c47SEmmanuel Vadot    description:
35*5def4c47SEmmanuel Vadot      Should be a gpio specifier for a reset line.
36*5def4c47SEmmanuel Vadot    maxItems: 1
37*5def4c47SEmmanuel Vadot
38*5def4c47SEmmanuel Vadot  microchip,synclko-125:
39*5def4c47SEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/flag
40*5def4c47SEmmanuel Vadot    description:
41*5def4c47SEmmanuel Vadot      Set if the output SYNCLKO frequency should be set to 125MHz instead of 25MHz.
42*5def4c47SEmmanuel Vadot
43*5def4c47SEmmanuel Vadotrequired:
44*5def4c47SEmmanuel Vadot  - compatible
45*5def4c47SEmmanuel Vadot  - reg
46*5def4c47SEmmanuel Vadot
47*5def4c47SEmmanuel VadotunevaluatedProperties: false
48*5def4c47SEmmanuel Vadot
49*5def4c47SEmmanuel Vadotexamples:
50*5def4c47SEmmanuel Vadot  - |
51*5def4c47SEmmanuel Vadot    #include <dt-bindings/gpio/gpio.h>
52*5def4c47SEmmanuel Vadot
53*5def4c47SEmmanuel Vadot    // Ethernet switch connected via SPI to the host, CPU port wired to eth0:
54*5def4c47SEmmanuel Vadot    eth0 {
55*5def4c47SEmmanuel Vadot        fixed-link {
56*5def4c47SEmmanuel Vadot            speed = <1000>;
57*5def4c47SEmmanuel Vadot            full-duplex;
58*5def4c47SEmmanuel Vadot        };
59*5def4c47SEmmanuel Vadot    };
60*5def4c47SEmmanuel Vadot
61*5def4c47SEmmanuel Vadot    spi0 {
62*5def4c47SEmmanuel Vadot        #address-cells = <1>;
63*5def4c47SEmmanuel Vadot        #size-cells = <0>;
64*5def4c47SEmmanuel Vadot
65*5def4c47SEmmanuel Vadot        pinctrl-0 = <&pinctrl_spi_ksz>;
66*5def4c47SEmmanuel Vadot        cs-gpios = <&pioC 25 0>;
67*5def4c47SEmmanuel Vadot        id = <1>;
68*5def4c47SEmmanuel Vadot
69*5def4c47SEmmanuel Vadot        ksz9477: switch@0 {
70*5def4c47SEmmanuel Vadot            compatible = "microchip,ksz9477";
71*5def4c47SEmmanuel Vadot            reg = <0>;
72*5def4c47SEmmanuel Vadot            reset-gpios = <&gpio5 0 GPIO_ACTIVE_LOW>;
73*5def4c47SEmmanuel Vadot
74*5def4c47SEmmanuel Vadot            spi-max-frequency = <44000000>;
75*5def4c47SEmmanuel Vadot
76*5def4c47SEmmanuel Vadot            ethernet-ports {
77*5def4c47SEmmanuel Vadot                #address-cells = <1>;
78*5def4c47SEmmanuel Vadot                #size-cells = <0>;
79*5def4c47SEmmanuel Vadot                port@0 {
80*5def4c47SEmmanuel Vadot                    reg = <0>;
81*5def4c47SEmmanuel Vadot                    label = "lan1";
82*5def4c47SEmmanuel Vadot                };
83*5def4c47SEmmanuel Vadot                port@1 {
84*5def4c47SEmmanuel Vadot                    reg = <1>;
85*5def4c47SEmmanuel Vadot                    label = "lan2";
86*5def4c47SEmmanuel Vadot                };
87*5def4c47SEmmanuel Vadot                port@2 {
88*5def4c47SEmmanuel Vadot                    reg = <2>;
89*5def4c47SEmmanuel Vadot                    label = "lan3";
90*5def4c47SEmmanuel Vadot                };
91*5def4c47SEmmanuel Vadot                port@3 {
92*5def4c47SEmmanuel Vadot                    reg = <3>;
93*5def4c47SEmmanuel Vadot                    label = "lan4";
94*5def4c47SEmmanuel Vadot                };
95*5def4c47SEmmanuel Vadot                port@4 {
96*5def4c47SEmmanuel Vadot                    reg = <4>;
97*5def4c47SEmmanuel Vadot                    label = "lan5";
98*5def4c47SEmmanuel Vadot                };
99*5def4c47SEmmanuel Vadot                port@5 {
100*5def4c47SEmmanuel Vadot                    reg = <5>;
101*5def4c47SEmmanuel Vadot                    label = "cpu";
102*5def4c47SEmmanuel Vadot                    ethernet = <&eth0>;
103*5def4c47SEmmanuel Vadot                    fixed-link {
104*5def4c47SEmmanuel Vadot                        speed = <1000>;
105*5def4c47SEmmanuel Vadot                        full-duplex;
106*5def4c47SEmmanuel Vadot                    };
107*5def4c47SEmmanuel Vadot                };
108*5def4c47SEmmanuel Vadot            };
109*5def4c47SEmmanuel Vadot        };
110*5def4c47SEmmanuel Vadot
111*5def4c47SEmmanuel Vadot        ksz8565: switch@1 {
112*5def4c47SEmmanuel Vadot            compatible = "microchip,ksz8565";
113*5def4c47SEmmanuel Vadot            reg = <1>;
114*5def4c47SEmmanuel Vadot
115*5def4c47SEmmanuel Vadot            spi-max-frequency = <44000000>;
116*5def4c47SEmmanuel Vadot
117*5def4c47SEmmanuel Vadot            ethernet-ports {
118*5def4c47SEmmanuel Vadot                #address-cells = <1>;
119*5def4c47SEmmanuel Vadot                #size-cells = <0>;
120*5def4c47SEmmanuel Vadot                port@0 {
121*5def4c47SEmmanuel Vadot                    reg = <0>;
122*5def4c47SEmmanuel Vadot                    label = "lan1";
123*5def4c47SEmmanuel Vadot                };
124*5def4c47SEmmanuel Vadot                port@1 {
125*5def4c47SEmmanuel Vadot                    reg = <1>;
126*5def4c47SEmmanuel Vadot                    label = "lan2";
127*5def4c47SEmmanuel Vadot                };
128*5def4c47SEmmanuel Vadot                port@2 {
129*5def4c47SEmmanuel Vadot                    reg = <2>;
130*5def4c47SEmmanuel Vadot                    label = "lan3";
131*5def4c47SEmmanuel Vadot                };
132*5def4c47SEmmanuel Vadot                port@3 {
133*5def4c47SEmmanuel Vadot                    reg = <3>;
134*5def4c47SEmmanuel Vadot                    label = "lan4";
135*5def4c47SEmmanuel Vadot                };
136*5def4c47SEmmanuel Vadot                port@6 {
137*5def4c47SEmmanuel Vadot                    reg = <6>;
138*5def4c47SEmmanuel Vadot                    label = "cpu";
139*5def4c47SEmmanuel Vadot                    ethernet = <&eth0>;
140*5def4c47SEmmanuel Vadot                    fixed-link {
141*5def4c47SEmmanuel Vadot                        speed = <1000>;
142*5def4c47SEmmanuel Vadot                        full-duplex;
143*5def4c47SEmmanuel Vadot                    };
144*5def4c47SEmmanuel Vadot                };
145*5def4c47SEmmanuel Vadot            };
146*5def4c47SEmmanuel Vadot        };
147*5def4c47SEmmanuel Vadot    };
148*5def4c47SEmmanuel Vadot...
149