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 = <ð0>; 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 = <ð0>; 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