18926d94eSPrasanna Vengateshan# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 28926d94eSPrasanna Vengateshan%YAML 1.2 38926d94eSPrasanna Vengateshan--- 48926d94eSPrasanna Vengateshan$id: http://devicetree.org/schemas/net/dsa/microchip,lan937x.yaml# 58926d94eSPrasanna Vengateshan$schema: http://devicetree.org/meta-schemas/core.yaml# 68926d94eSPrasanna Vengateshan 79fa3ad1aSKrzysztof Kozlowskititle: LAN937x Ethernet Switch Series 88926d94eSPrasanna Vengateshan 98926d94eSPrasanna Vengateshanmaintainers: 108926d94eSPrasanna Vengateshan - UNGLinuxDriver@microchip.com 118926d94eSPrasanna Vengateshan 128926d94eSPrasanna VengateshanallOf: 13*3cec368aSColin Foster - $ref: dsa.yaml#/$defs/ethernet-ports 148926d94eSPrasanna Vengateshan 158926d94eSPrasanna Vengateshanproperties: 168926d94eSPrasanna Vengateshan compatible: 178926d94eSPrasanna Vengateshan enum: 188926d94eSPrasanna Vengateshan - microchip,lan9370 198926d94eSPrasanna Vengateshan - microchip,lan9371 208926d94eSPrasanna Vengateshan - microchip,lan9372 218926d94eSPrasanna Vengateshan - microchip,lan9373 228926d94eSPrasanna Vengateshan - microchip,lan9374 238926d94eSPrasanna Vengateshan 248926d94eSPrasanna Vengateshan reg: 258926d94eSPrasanna Vengateshan maxItems: 1 268926d94eSPrasanna Vengateshan 278926d94eSPrasanna Vengateshan spi-max-frequency: 288926d94eSPrasanna Vengateshan maximum: 50000000 298926d94eSPrasanna Vengateshan 308926d94eSPrasanna Vengateshan reset-gpios: 318926d94eSPrasanna Vengateshan description: Optional gpio specifier for a reset line 328926d94eSPrasanna Vengateshan maxItems: 1 338926d94eSPrasanna Vengateshan 348926d94eSPrasanna Vengateshan mdio: 358926d94eSPrasanna Vengateshan $ref: /schemas/net/mdio.yaml# 368926d94eSPrasanna Vengateshan unevaluatedProperties: false 378926d94eSPrasanna Vengateshan 388926d94eSPrasanna VengateshanpatternProperties: 398926d94eSPrasanna Vengateshan "^(ethernet-)?ports$": 408926d94eSPrasanna Vengateshan patternProperties: 418926d94eSPrasanna Vengateshan "^(ethernet-)?port@[0-9]+$": 428926d94eSPrasanna Vengateshan allOf: 438926d94eSPrasanna Vengateshan - if: 448926d94eSPrasanna Vengateshan properties: 458926d94eSPrasanna Vengateshan phy-mode: 468926d94eSPrasanna Vengateshan contains: 478926d94eSPrasanna Vengateshan enum: 488926d94eSPrasanna Vengateshan - rgmii 498926d94eSPrasanna Vengateshan - rgmii-id 508926d94eSPrasanna Vengateshan - rgmii-txid 518926d94eSPrasanna Vengateshan - rgmii-rxid 528926d94eSPrasanna Vengateshan then: 538926d94eSPrasanna Vengateshan properties: 548926d94eSPrasanna Vengateshan rx-internal-delay-ps: 558926d94eSPrasanna Vengateshan enum: [0, 2000] 568926d94eSPrasanna Vengateshan default: 0 578926d94eSPrasanna Vengateshan tx-internal-delay-ps: 588926d94eSPrasanna Vengateshan enum: [0, 2000] 598926d94eSPrasanna Vengateshan default: 0 608926d94eSPrasanna Vengateshan 618926d94eSPrasanna Vengateshanrequired: 628926d94eSPrasanna Vengateshan - compatible 638926d94eSPrasanna Vengateshan - reg 648926d94eSPrasanna Vengateshan 658926d94eSPrasanna VengateshanunevaluatedProperties: false 668926d94eSPrasanna Vengateshan 678926d94eSPrasanna Vengateshanexamples: 688926d94eSPrasanna Vengateshan - | 698926d94eSPrasanna Vengateshan #include <dt-bindings/gpio/gpio.h> 708926d94eSPrasanna Vengateshan 718926d94eSPrasanna Vengateshan macb0 { 728926d94eSPrasanna Vengateshan #address-cells = <1>; 738926d94eSPrasanna Vengateshan #size-cells = <0>; 748926d94eSPrasanna Vengateshan 758926d94eSPrasanna Vengateshan fixed-link { 768926d94eSPrasanna Vengateshan speed = <1000>; 778926d94eSPrasanna Vengateshan full-duplex; 788926d94eSPrasanna Vengateshan }; 798926d94eSPrasanna Vengateshan }; 808926d94eSPrasanna Vengateshan 818926d94eSPrasanna Vengateshan spi { 828926d94eSPrasanna Vengateshan #address-cells = <1>; 838926d94eSPrasanna Vengateshan #size-cells = <0>; 848926d94eSPrasanna Vengateshan 858926d94eSPrasanna Vengateshan lan9374: switch@0 { 868926d94eSPrasanna Vengateshan compatible = "microchip,lan9374"; 878926d94eSPrasanna Vengateshan reg = <0>; 888926d94eSPrasanna Vengateshan spi-max-frequency = <44000000>; 898926d94eSPrasanna Vengateshan 908926d94eSPrasanna Vengateshan ethernet-ports { 918926d94eSPrasanna Vengateshan #address-cells = <1>; 928926d94eSPrasanna Vengateshan #size-cells = <0>; 938926d94eSPrasanna Vengateshan 948926d94eSPrasanna Vengateshan port@0 { 958926d94eSPrasanna Vengateshan reg = <0>; 968926d94eSPrasanna Vengateshan label = "lan1"; 978926d94eSPrasanna Vengateshan phy-mode = "internal"; 988926d94eSPrasanna Vengateshan phy-handle = <&t1phy0>; 998926d94eSPrasanna Vengateshan }; 1008926d94eSPrasanna Vengateshan 1018926d94eSPrasanna Vengateshan port@1 { 1028926d94eSPrasanna Vengateshan reg = <1>; 1038926d94eSPrasanna Vengateshan label = "lan2"; 1048926d94eSPrasanna Vengateshan phy-mode = "internal"; 1058926d94eSPrasanna Vengateshan phy-handle = <&t1phy1>; 1068926d94eSPrasanna Vengateshan }; 1078926d94eSPrasanna Vengateshan 1088926d94eSPrasanna Vengateshan port@2 { 1098926d94eSPrasanna Vengateshan reg = <2>; 1108926d94eSPrasanna Vengateshan label = "lan4"; 1118926d94eSPrasanna Vengateshan phy-mode = "internal"; 1128926d94eSPrasanna Vengateshan phy-handle = <&t1phy2>; 1138926d94eSPrasanna Vengateshan }; 1148926d94eSPrasanna Vengateshan 1158926d94eSPrasanna Vengateshan port@3 { 1168926d94eSPrasanna Vengateshan reg = <3>; 1178926d94eSPrasanna Vengateshan label = "lan6"; 1188926d94eSPrasanna Vengateshan phy-mode = "internal"; 1198926d94eSPrasanna Vengateshan phy-handle = <&t1phy3>; 1208926d94eSPrasanna Vengateshan }; 1218926d94eSPrasanna Vengateshan 1228926d94eSPrasanna Vengateshan port@4 { 1238926d94eSPrasanna Vengateshan reg = <4>; 1248926d94eSPrasanna Vengateshan phy-mode = "rgmii"; 1258926d94eSPrasanna Vengateshan tx-internal-delay-ps = <2000>; 1268926d94eSPrasanna Vengateshan rx-internal-delay-ps = <2000>; 1278926d94eSPrasanna Vengateshan ethernet = <&macb0>; 1288926d94eSPrasanna Vengateshan 1298926d94eSPrasanna Vengateshan fixed-link { 1308926d94eSPrasanna Vengateshan speed = <1000>; 1318926d94eSPrasanna Vengateshan full-duplex; 1328926d94eSPrasanna Vengateshan }; 1338926d94eSPrasanna Vengateshan }; 1348926d94eSPrasanna Vengateshan 1358926d94eSPrasanna Vengateshan port@5 { 1368926d94eSPrasanna Vengateshan reg = <5>; 1378926d94eSPrasanna Vengateshan label = "lan7"; 1388926d94eSPrasanna Vengateshan phy-mode = "rgmii"; 1398926d94eSPrasanna Vengateshan tx-internal-delay-ps = <2000>; 1408926d94eSPrasanna Vengateshan rx-internal-delay-ps = <2000>; 1418926d94eSPrasanna Vengateshan 1428926d94eSPrasanna Vengateshan fixed-link { 1438926d94eSPrasanna Vengateshan speed = <1000>; 1448926d94eSPrasanna Vengateshan full-duplex; 1458926d94eSPrasanna Vengateshan }; 1468926d94eSPrasanna Vengateshan }; 1478926d94eSPrasanna Vengateshan 1488926d94eSPrasanna Vengateshan port@6 { 1498926d94eSPrasanna Vengateshan reg = <6>; 1508926d94eSPrasanna Vengateshan label = "lan5"; 1518926d94eSPrasanna Vengateshan phy-mode = "internal"; 1528926d94eSPrasanna Vengateshan phy-handle = <&t1phy6>; 1538926d94eSPrasanna Vengateshan }; 1548926d94eSPrasanna Vengateshan 1558926d94eSPrasanna Vengateshan port@7 { 1568926d94eSPrasanna Vengateshan reg = <7>; 1578926d94eSPrasanna Vengateshan label = "lan3"; 1588926d94eSPrasanna Vengateshan phy-mode = "internal"; 1598926d94eSPrasanna Vengateshan phy-handle = <&t1phy7>; 1608926d94eSPrasanna Vengateshan }; 1618926d94eSPrasanna Vengateshan }; 1628926d94eSPrasanna Vengateshan 1638926d94eSPrasanna Vengateshan mdio { 1648926d94eSPrasanna Vengateshan #address-cells = <1>; 1658926d94eSPrasanna Vengateshan #size-cells = <0>; 1668926d94eSPrasanna Vengateshan 1678926d94eSPrasanna Vengateshan t1phy0: ethernet-phy@0{ 1688926d94eSPrasanna Vengateshan reg = <0x0>; 1698926d94eSPrasanna Vengateshan }; 1708926d94eSPrasanna Vengateshan 1718926d94eSPrasanna Vengateshan t1phy1: ethernet-phy@1{ 1728926d94eSPrasanna Vengateshan reg = <0x1>; 1738926d94eSPrasanna Vengateshan }; 1748926d94eSPrasanna Vengateshan 1758926d94eSPrasanna Vengateshan t1phy2: ethernet-phy@2{ 1768926d94eSPrasanna Vengateshan reg = <0x2>; 1778926d94eSPrasanna Vengateshan }; 1788926d94eSPrasanna Vengateshan 1798926d94eSPrasanna Vengateshan t1phy3: ethernet-phy@3{ 1808926d94eSPrasanna Vengateshan reg = <0x3>; 1818926d94eSPrasanna Vengateshan }; 1828926d94eSPrasanna Vengateshan 1838926d94eSPrasanna Vengateshan t1phy6: ethernet-phy@6{ 1848926d94eSPrasanna Vengateshan reg = <0x6>; 1858926d94eSPrasanna Vengateshan }; 1868926d94eSPrasanna Vengateshan 1878926d94eSPrasanna Vengateshan t1phy7: ethernet-phy@7{ 1888926d94eSPrasanna Vengateshan reg = <0x7>; 1898926d94eSPrasanna Vengateshan }; 1908926d94eSPrasanna Vengateshan }; 1918926d94eSPrasanna Vengateshan }; 1928926d94eSPrasanna Vengateshan }; 193