# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) %YAML 1.2 --- $id: http://devicetree.org/schemas/net/dsa/renesas,rzn1-a5psw.yaml# $schema: http://devicetree.org/meta-schemas/core.yaml# title: Renesas RZ/N1 Advanced 5 ports ethernet switch maintainers: - Clément Léger <clement.leger@bootlin.com> description: | The advanced 5 ports switch is present on the Renesas RZ/N1 SoC family and handles 4 ports + 1 CPU management port. allOf: - $ref: dsa.yaml#/$defs/ethernet-ports properties: compatible: items: - enum: - renesas,r9a06g032-a5psw - const: renesas,rzn1-a5psw reg: maxItems: 1 interrupts: items: - description: Device Level Ring (DLR) interrupt - description: Switch interrupt - description: Parallel Redundancy Protocol (PRP) interrupt - description: Integrated HUB module interrupt - description: Receive Pattern Match interrupt interrupt-names: items: - const: dlr - const: switch - const: prp - const: hub - const: ptrn power-domains: maxItems: 1 mdio: $ref: /schemas/net/mdio.yaml# unevaluatedProperties: false clocks: items: - description: AHB clock used for the switch register interface - description: Switch system clock clock-names: items: - const: hclk - const: clk ethernet-ports: type: object properties: '#address-cells': const: 1 '#size-cells': const: 0 patternProperties: "^(ethernet-)?port@[0-4]$": type: object description: Ethernet switch ports properties: pcs-handle: maxItems: 1 description: phandle pointing to a PCS sub-node compatible with renesas,rzn1-miic.yaml# unevaluatedProperties: false required: - compatible - reg - clocks - clock-names - power-domains examples: - | #include <dt-bindings/gpio/gpio.h> #include <dt-bindings/clock/r9a06g032-sysctrl.h> #include <dt-bindings/interrupt-controller/arm-gic.h> switch@44050000 { compatible = "renesas,r9a06g032-a5psw", "renesas,rzn1-a5psw"; reg = <0x44050000 0x10000>; clocks = <&sysctrl R9A06G032_HCLK_SWITCH>, <&sysctrl R9A06G032_CLK_SWITCH>; clock-names = "hclk", "clk"; power-domains = <&sysctrl>; interrupts = <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>, <GIC_SPI 42 IRQ_TYPE_LEVEL_HIGH>, <GIC_SPI 43 IRQ_TYPE_LEVEL_HIGH>, <GIC_SPI 44 IRQ_TYPE_LEVEL_HIGH>, <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>; interrupt-names = "dlr", "switch", "prp", "hub", "ptrn"; dsa,member = <0 0>; ethernet-ports { #address-cells = <1>; #size-cells = <0>; port@0 { reg = <0>; label = "lan0"; phy-handle = <&switch0phy3>; pcs-handle = <&mii_conv4>; }; port@1 { reg = <1>; label = "lan1"; phy-handle = <&switch0phy1>; pcs-handle = <&mii_conv3>; }; port@4 { reg = <4>; ethernet = <&gmac2>; phy-mode = "internal"; fixed-link { speed = <1000>; full-duplex; }; }; }; mdio { #address-cells = <1>; #size-cells = <0>; reset-gpios = <&gpio0a 2 GPIO_ACTIVE_HIGH>; reset-delay-us = <15>; clock-frequency = <2500000>; switch0phy1: ethernet-phy@1{ reg = <1>; }; switch0phy3: ethernet-phy@3{ reg = <3>; }; }; };