18956e96cSClément Léger# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 28956e96cSClément Léger%YAML 1.2 38956e96cSClément Léger--- 48956e96cSClément Léger$id: http://devicetree.org/schemas/net/dsa/renesas,rzn1-a5psw.yaml# 58956e96cSClément Léger$schema: http://devicetree.org/meta-schemas/core.yaml# 68956e96cSClément Léger 78956e96cSClément Légertitle: Renesas RZ/N1 Advanced 5 ports ethernet switch 88956e96cSClément Léger 98956e96cSClément Légermaintainers: 108956e96cSClément Léger - Clément Léger <clement.leger@bootlin.com> 118956e96cSClément Léger 128956e96cSClément Légerdescription: | 138956e96cSClément Léger The advanced 5 ports switch is present on the Renesas RZ/N1 SoC family and 148956e96cSClément Léger handles 4 ports + 1 CPU management port. 158956e96cSClément Léger 168956e96cSClément LégerallOf: 173cec368aSColin Foster - $ref: dsa.yaml#/$defs/ethernet-ports 188956e96cSClément Léger 198956e96cSClément Légerproperties: 208956e96cSClément Léger compatible: 218956e96cSClément Léger items: 228956e96cSClément Léger - enum: 238956e96cSClément Léger - renesas,r9a06g032-a5psw 248956e96cSClément Léger - const: renesas,rzn1-a5psw 258956e96cSClément Léger 268956e96cSClément Léger reg: 278956e96cSClément Léger maxItems: 1 288956e96cSClément Léger 29326569ccSClément Léger interrupts: 30326569ccSClément Léger items: 31326569ccSClément Léger - description: Device Level Ring (DLR) interrupt 32326569ccSClément Léger - description: Switch interrupt 33326569ccSClément Léger - description: Parallel Redundancy Protocol (PRP) interrupt 34326569ccSClément Léger - description: Integrated HUB module interrupt 35326569ccSClément Léger - description: Receive Pattern Match interrupt 36326569ccSClément Léger 37326569ccSClément Léger interrupt-names: 38326569ccSClément Léger items: 39326569ccSClément Léger - const: dlr 40326569ccSClément Léger - const: switch 41326569ccSClément Léger - const: prp 42326569ccSClément Léger - const: hub 43326569ccSClément Léger - const: ptrn 44326569ccSClément Léger 458956e96cSClément Léger power-domains: 468956e96cSClément Léger maxItems: 1 478956e96cSClément Léger 488956e96cSClément Léger mdio: 498956e96cSClément Léger $ref: /schemas/net/mdio.yaml# 508956e96cSClément Léger unevaluatedProperties: false 518956e96cSClément Léger 528956e96cSClément Léger clocks: 538956e96cSClément Léger items: 548956e96cSClément Léger - description: AHB clock used for the switch register interface 558956e96cSClément Léger - description: Switch system clock 568956e96cSClément Léger 578956e96cSClément Léger clock-names: 588956e96cSClément Léger items: 598956e96cSClément Léger - const: hclk 608956e96cSClément Léger - const: clk 618956e96cSClément Léger 628956e96cSClément Léger ethernet-ports: 638956e96cSClément Léger type: object 64*659fd097SRob Herring additionalProperties: true 658956e96cSClément Léger patternProperties: 668956e96cSClément Léger "^(ethernet-)?port@[0-4]$": 678956e96cSClément Léger type: object 68*659fd097SRob Herring additionalProperties: true 698956e96cSClément Léger properties: 708956e96cSClément Léger pcs-handle: 7176025ee5SSean Anderson maxItems: 1 728956e96cSClément Léger description: 738956e96cSClément Léger phandle pointing to a PCS sub-node compatible with 748956e96cSClément Léger renesas,rzn1-miic.yaml# 758956e96cSClément Léger 768956e96cSClément LégerunevaluatedProperties: false 778956e96cSClément Léger 788956e96cSClément Légerrequired: 798956e96cSClément Léger - compatible 808956e96cSClément Léger - reg 818956e96cSClément Léger - clocks 828956e96cSClément Léger - clock-names 838956e96cSClément Léger - power-domains 848956e96cSClément Léger 858956e96cSClément Légerexamples: 868956e96cSClément Léger - | 878956e96cSClément Léger #include <dt-bindings/gpio/gpio.h> 888956e96cSClément Léger #include <dt-bindings/clock/r9a06g032-sysctrl.h> 89326569ccSClément Léger #include <dt-bindings/interrupt-controller/arm-gic.h> 908956e96cSClément Léger 918956e96cSClément Léger switch@44050000 { 928956e96cSClément Léger compatible = "renesas,r9a06g032-a5psw", "renesas,rzn1-a5psw"; 938956e96cSClément Léger reg = <0x44050000 0x10000>; 948956e96cSClément Léger clocks = <&sysctrl R9A06G032_HCLK_SWITCH>, <&sysctrl R9A06G032_CLK_SWITCH>; 958956e96cSClément Léger clock-names = "hclk", "clk"; 968956e96cSClément Léger power-domains = <&sysctrl>; 97326569ccSClément Léger interrupts = <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>, 98326569ccSClément Léger <GIC_SPI 42 IRQ_TYPE_LEVEL_HIGH>, 99326569ccSClément Léger <GIC_SPI 43 IRQ_TYPE_LEVEL_HIGH>, 100326569ccSClément Léger <GIC_SPI 44 IRQ_TYPE_LEVEL_HIGH>, 101326569ccSClément Léger <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>; 102326569ccSClément Léger interrupt-names = "dlr", "switch", "prp", "hub", "ptrn"; 1038956e96cSClément Léger 1048956e96cSClément Léger dsa,member = <0 0>; 1058956e96cSClément Léger 1068956e96cSClément Léger ethernet-ports { 1078956e96cSClément Léger #address-cells = <1>; 1088956e96cSClément Léger #size-cells = <0>; 1098956e96cSClément Léger 1108956e96cSClément Léger port@0 { 1118956e96cSClément Léger reg = <0>; 1128956e96cSClément Léger label = "lan0"; 1138956e96cSClément Léger phy-handle = <&switch0phy3>; 1148956e96cSClément Léger pcs-handle = <&mii_conv4>; 1158956e96cSClément Léger }; 1168956e96cSClément Léger 1178956e96cSClément Léger port@1 { 1188956e96cSClément Léger reg = <1>; 1198956e96cSClément Léger label = "lan1"; 1208956e96cSClément Léger phy-handle = <&switch0phy1>; 1218956e96cSClément Léger pcs-handle = <&mii_conv3>; 1228956e96cSClément Léger }; 1238956e96cSClément Léger 1248956e96cSClément Léger port@4 { 1258956e96cSClément Léger reg = <4>; 1268956e96cSClément Léger ethernet = <&gmac2>; 127f3c8168fSVladimir Oltean phy-mode = "internal"; 128f3c8168fSVladimir Oltean 1298956e96cSClément Léger fixed-link { 1308956e96cSClément Léger speed = <1000>; 1318956e96cSClément Léger full-duplex; 1328956e96cSClément Léger }; 1338956e96cSClément Léger }; 1348956e96cSClément Léger }; 1358956e96cSClément Léger 1368956e96cSClément Léger mdio { 1378956e96cSClément Léger #address-cells = <1>; 1388956e96cSClément Léger #size-cells = <0>; 1398956e96cSClément Léger 1408956e96cSClément Léger reset-gpios = <&gpio0a 2 GPIO_ACTIVE_HIGH>; 1418956e96cSClément Léger reset-delay-us = <15>; 1428956e96cSClément Léger clock-frequency = <2500000>; 1438956e96cSClément Léger 1448956e96cSClément Léger switch0phy1: ethernet-phy@1{ 1458956e96cSClément Léger reg = <1>; 1468956e96cSClément Léger }; 1478956e96cSClément Léger 1488956e96cSClément Léger switch0phy3: ethernet-phy@3{ 1498956e96cSClément Léger reg = <3>; 1508956e96cSClément Léger }; 1518956e96cSClément Léger }; 1528956e96cSClément Léger }; 153