xref: /openbmc/linux/Documentation/devicetree/bindings/net/dsa/microchip,ksz.yaml (revision c900529f3d9161bfde5cca0754f83b4d3c3e0220)
14f36d977SChristian Eggers# SPDX-License-Identifier: GPL-2.0-only
24f36d977SChristian Eggers%YAML 1.2
34f36d977SChristian Eggers---
44f36d977SChristian Eggers$id: http://devicetree.org/schemas/net/dsa/microchip,ksz.yaml#
54f36d977SChristian Eggers$schema: http://devicetree.org/meta-schemas/core.yaml#
64f36d977SChristian Eggers
74f36d977SChristian Eggerstitle: Microchip KSZ Series Ethernet switches
84f36d977SChristian Eggers
94f36d977SChristian Eggersmaintainers:
104f36d977SChristian Eggers  - Marek Vasut <marex@denx.de>
114f36d977SChristian Eggers  - Woojung Huh <Woojung.Huh@microchip.com>
124f36d977SChristian Eggers
134f36d977SChristian EggersallOf:
143cec368aSColin Foster  - $ref: dsa.yaml#/$defs/ethernet-ports
15bbba69efSRob Herring  - $ref: /schemas/spi/spi-peripheral-props.yaml#
164f36d977SChristian Eggers
174f36d977SChristian Eggersproperties:
184f36d977SChristian Eggers  # See Documentation/devicetree/bindings/net/dsa/dsa.yaml for a list of additional
194f36d977SChristian Eggers  # required and optional properties.
204f36d977SChristian Eggers  compatible:
214f36d977SChristian Eggers    enum:
224f36d977SChristian Eggers      - microchip,ksz8765
234f36d977SChristian Eggers      - microchip,ksz8794
244f36d977SChristian Eggers      - microchip,ksz8795
2561df0e7bSMichael Grzeschik      - microchip,ksz8863
2661df0e7bSMichael Grzeschik      - microchip,ksz8873
274f36d977SChristian Eggers      - microchip,ksz9477
284f36d977SChristian Eggers      - microchip,ksz9897
294f36d977SChristian Eggers      - microchip,ksz9896
304f36d977SChristian Eggers      - microchip,ksz9567
314f36d977SChristian Eggers      - microchip,ksz8565
324f36d977SChristian Eggers      - microchip,ksz9893
334f36d977SChristian Eggers      - microchip,ksz9563
344f36d977SChristian Eggers      - microchip,ksz8563
354f36d977SChristian Eggers
364f36d977SChristian Eggers  reset-gpios:
374f36d977SChristian Eggers    description:
384f36d977SChristian Eggers      Should be a gpio specifier for a reset line.
394f36d977SChristian Eggers    maxItems: 1
404f36d977SChristian Eggers
414f36d977SChristian Eggers  microchip,synclko-125:
424f36d977SChristian Eggers    $ref: /schemas/types.yaml#/definitions/flag
434f36d977SChristian Eggers    description:
444f36d977SChristian Eggers      Set if the output SYNCLKO frequency should be set to 125MHz instead of 25MHz.
454f36d977SChristian Eggers
46eccfecfeSRobert Hancock  microchip,synclko-disable:
47eccfecfeSRobert Hancock    $ref: /schemas/types.yaml#/definitions/flag
48eccfecfeSRobert Hancock    description:
49eccfecfeSRobert Hancock      Set if the output SYNCLKO clock should be disabled. Do not mix with
50eccfecfeSRobert Hancock      microchip,synclko-125.
51eccfecfeSRobert Hancock
52*6d08cb01SLeonard Göhrs  interrupts:
53*6d08cb01SLeonard Göhrs    maxItems: 1
54*6d08cb01SLeonard Göhrs
554f36d977SChristian Eggersrequired:
564f36d977SChristian Eggers  - compatible
574f36d977SChristian Eggers  - reg
584f36d977SChristian Eggers
594f36d977SChristian EggersunevaluatedProperties: false
604f36d977SChristian Eggers
614f36d977SChristian Eggersexamples:
624f36d977SChristian Eggers  - |
634f36d977SChristian Eggers    #include <dt-bindings/gpio/gpio.h>
644f36d977SChristian Eggers
654f36d977SChristian Eggers    // Ethernet switch connected via SPI to the host, CPU port wired to eth0:
664f36d977SChristian Eggers    eth0 {
674f36d977SChristian Eggers        fixed-link {
684f36d977SChristian Eggers            speed = <1000>;
694f36d977SChristian Eggers            full-duplex;
704f36d977SChristian Eggers        };
714f36d977SChristian Eggers    };
724f36d977SChristian Eggers
7320a72af1SRob Herring    spi {
744f36d977SChristian Eggers        #address-cells = <1>;
754f36d977SChristian Eggers        #size-cells = <0>;
764f36d977SChristian Eggers
774f36d977SChristian Eggers        pinctrl-0 = <&pinctrl_spi_ksz>;
784f36d977SChristian Eggers        cs-gpios = <&pioC 25 0>;
794f36d977SChristian Eggers        id = <1>;
804f36d977SChristian Eggers
814f36d977SChristian Eggers        ksz9477: switch@0 {
824f36d977SChristian Eggers            compatible = "microchip,ksz9477";
834f36d977SChristian Eggers            reg = <0>;
844f36d977SChristian Eggers            reset-gpios = <&gpio5 0 GPIO_ACTIVE_LOW>;
854f36d977SChristian Eggers
864f36d977SChristian Eggers            spi-max-frequency = <44000000>;
874f36d977SChristian Eggers
884f36d977SChristian Eggers            ethernet-ports {
894f36d977SChristian Eggers                #address-cells = <1>;
904f36d977SChristian Eggers                #size-cells = <0>;
914f36d977SChristian Eggers                port@0 {
924f36d977SChristian Eggers                    reg = <0>;
934f36d977SChristian Eggers                    label = "lan1";
944f36d977SChristian Eggers                };
954f36d977SChristian Eggers                port@1 {
964f36d977SChristian Eggers                    reg = <1>;
974f36d977SChristian Eggers                    label = "lan2";
984f36d977SChristian Eggers                };
994f36d977SChristian Eggers                port@2 {
1004f36d977SChristian Eggers                    reg = <2>;
1014f36d977SChristian Eggers                    label = "lan3";
1024f36d977SChristian Eggers                };
1034f36d977SChristian Eggers                port@3 {
1044f36d977SChristian Eggers                    reg = <3>;
1054f36d977SChristian Eggers                    label = "lan4";
1064f36d977SChristian Eggers                };
1074f36d977SChristian Eggers                port@4 {
1084f36d977SChristian Eggers                    reg = <4>;
1094f36d977SChristian Eggers                    label = "lan5";
1104f36d977SChristian Eggers                };
1114f36d977SChristian Eggers                port@5 {
1124f36d977SChristian Eggers                    reg = <5>;
1134f36d977SChristian Eggers                    ethernet = <&eth0>;
1142401bd95SVladimir Oltean                    phy-mode = "rgmii";
1152401bd95SVladimir Oltean
1164f36d977SChristian Eggers                    fixed-link {
1174f36d977SChristian Eggers                        speed = <1000>;
1184f36d977SChristian Eggers                        full-duplex;
1194f36d977SChristian Eggers                    };
1204f36d977SChristian Eggers                };
1214f36d977SChristian Eggers            };
1224f36d977SChristian Eggers        };
1234f36d977SChristian Eggers
1244f36d977SChristian Eggers        ksz8565: switch@1 {
1254f36d977SChristian Eggers            compatible = "microchip,ksz8565";
1264f36d977SChristian Eggers            reg = <1>;
1274f36d977SChristian Eggers
1284f36d977SChristian Eggers            spi-max-frequency = <44000000>;
1294f36d977SChristian Eggers
1304f36d977SChristian Eggers            ethernet-ports {
1314f36d977SChristian Eggers                #address-cells = <1>;
1324f36d977SChristian Eggers                #size-cells = <0>;
1334f36d977SChristian Eggers                port@0 {
1344f36d977SChristian Eggers                    reg = <0>;
1354f36d977SChristian Eggers                    label = "lan1";
1364f36d977SChristian Eggers                };
1374f36d977SChristian Eggers                port@1 {
1384f36d977SChristian Eggers                    reg = <1>;
1394f36d977SChristian Eggers                    label = "lan2";
1404f36d977SChristian Eggers                };
1414f36d977SChristian Eggers                port@2 {
1424f36d977SChristian Eggers                    reg = <2>;
1434f36d977SChristian Eggers                    label = "lan3";
1444f36d977SChristian Eggers                };
1454f36d977SChristian Eggers                port@3 {
1464f36d977SChristian Eggers                    reg = <3>;
1474f36d977SChristian Eggers                    label = "lan4";
1484f36d977SChristian Eggers                };
1494f36d977SChristian Eggers                port@6 {
1504f36d977SChristian Eggers                    reg = <6>;
1514f36d977SChristian Eggers                    ethernet = <&eth0>;
1522401bd95SVladimir Oltean                    phy-mode = "rgmii";
1532401bd95SVladimir Oltean
1544f36d977SChristian Eggers                    fixed-link {
1554f36d977SChristian Eggers                        speed = <1000>;
1564f36d977SChristian Eggers                        full-duplex;
1574f36d977SChristian Eggers                    };
1584f36d977SChristian Eggers                };
1594f36d977SChristian Eggers            };
1604f36d977SChristian Eggers        };
1614f36d977SChristian Eggers    };
1624f36d977SChristian Eggers...
163