| # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) | |
| %YAML 1.2 | |
| --- | |
| $id: http://devicetree.org/schemas/net/dsa/brcm,b53.yaml# | |
| $schema: http://devicetree.org/meta-schemas/core.yaml# | |
| title: Broadcom BCM53xx Ethernet switches | |
| maintainers: | |
| - Florian Fainelli <f.fainelli@gmail.com> | |
| description: | |
| Broadcom BCM53xx Ethernet switches | |
| properties: | |
| compatible: | |
| oneOf: | |
| - const: brcm,bcm5325 | |
| - const: brcm,bcm53101 | |
| - const: brcm,bcm53115 | |
| - const: brcm,bcm53125 | |
| - const: brcm,bcm53128 | |
| - const: brcm,bcm53134 | |
| - const: brcm,bcm5365 | |
| - const: brcm,bcm5395 | |
| - const: brcm,bcm5389 | |
| - const: brcm,bcm5397 | |
| - const: brcm,bcm5398 | |
| - items: | |
| - const: brcm,bcm11360-srab | |
| - const: brcm,cygnus-srab | |
| - items: | |
| - enum: | |
| - brcm,bcm53010-srab | |
| - brcm,bcm53011-srab | |
| - brcm,bcm53012-srab | |
| - brcm,bcm53018-srab | |
| - brcm,bcm53019-srab | |
| - const: brcm,bcm5301x-srab | |
| - items: | |
| - enum: | |
| - brcm,bcm11404-srab | |
| - brcm,bcm11407-srab | |
| - brcm,bcm11409-srab | |
| - brcm,bcm58310-srab | |
| - brcm,bcm58311-srab | |
| - brcm,bcm58313-srab | |
| - const: brcm,omega-srab | |
| - items: | |
| - enum: | |
| - brcm,bcm58522-srab | |
| - brcm,bcm58523-srab | |
| - brcm,bcm58525-srab | |
| - brcm,bcm58622-srab | |
| - brcm,bcm58623-srab | |
| - brcm,bcm58625-srab | |
| - brcm,bcm88312-srab | |
| - const: brcm,nsp-srab | |
| - items: | |
| - enum: | |
| - brcm,bcm3384-switch | |
| - brcm,bcm6318-switch | |
| - brcm,bcm6328-switch | |
| - brcm,bcm6362-switch | |
| - brcm,bcm6368-switch | |
| - brcm,bcm63268-switch | |
| - const: brcm,bcm63xx-switch | |
| brcm,gpio-ctrl: | |
| description: | |
| A phandle to the syscon node of the bcm63xx gpio controller | |
| which contains phy control registers | |
| $ref: /schemas/types.yaml#/definitions/phandle | |
| required: | |
| - compatible | |
| - reg | |
| allOf: | |
| - $ref: dsa.yaml#/$defs/ethernet-ports | |
| - if: | |
| properties: | |
| compatible: | |
| contains: | |
| enum: | |
| - brcm,bcm5325 | |
| - brcm,bcm53101 | |
| - brcm,bcm53115 | |
| - brcm,bcm53125 | |
| - brcm,bcm53128 | |
| - brcm,bcm5365 | |
| - brcm,bcm5395 | |
| - brcm,bcm5397 | |
| - brcm,bcm5398 | |
| then: | |
| $ref: /schemas/spi/spi-peripheral-props.yaml | |
| # BCM585xx/586xx/88312 SoCs | |
| - if: | |
| properties: | |
| compatible: | |
| contains: | |
| enum: | |
| - brcm,bcm58522-srab | |
| - brcm,bcm58523-srab | |
| - brcm,bcm58525-srab | |
| - brcm,bcm58622-srab | |
| - brcm,bcm58623-srab | |
| - brcm,bcm58625-srab | |
| - brcm,bcm88312-srab | |
| then: | |
| properties: | |
| reg: | |
| minItems: 3 | |
| maxItems: 3 | |
| reg-names: | |
| items: | |
| - const: srab | |
| - const: mux_config | |
| - const: sgmii_config | |
| interrupts: | |
| minItems: 13 | |
| maxItems: 13 | |
| interrupt-names: | |
| items: | |
| - const: link_state_p0 | |
| - const: link_state_p1 | |
| - const: link_state_p2 | |
| - const: link_state_p3 | |
| - const: link_state_p4 | |
| - const: link_state_p5 | |
| - const: link_state_p7 | |
| - const: link_state_p8 | |
| - const: phy | |
| - const: ts | |
| - const: imp_sleep_timer_p5 | |
| - const: imp_sleep_timer_p7 | |
| - const: imp_sleep_timer_p8 | |
| required: | |
| - interrupts | |
| else: | |
| properties: | |
| reg: | |
| maxItems: 1 | |
| unevaluatedProperties: false | |
| examples: | |
| - | | |
| mdio { | |
| #address-cells = <1>; | |
| #size-cells = <0>; | |
| ethernet-switch@1e { | |
| compatible = "brcm,bcm53125"; | |
| reg = <30>; | |
| ethernet-ports { | |
| #address-cells = <1>; | |
| #size-cells = <0>; | |
| port@0 { | |
| reg = <0>; | |
| label = "lan1"; | |
| }; | |
| port@1 { | |
| reg = <1>; | |
| label = "lan2"; | |
| }; | |
| port@5 { | |
| reg = <5>; | |
| label = "cable-modem"; | |
| phy-mode = "rgmii-txid"; | |
| fixed-link { | |
| speed = <1000>; | |
| full-duplex; | |
| }; | |
| }; | |
| port@8 { | |
| reg = <8>; | |
| phy-mode = "rgmii-txid"; | |
| ethernet = <ð0>; | |
| fixed-link { | |
| speed = <1000>; | |
| full-duplex; | |
| }; | |
| }; | |
| }; | |
| }; | |
| }; | |
| - | | |
| #include <dt-bindings/interrupt-controller/arm-gic.h> | |
| #include <dt-bindings/interrupt-controller/irq.h> | |
| axi { | |
| #address-cells = <1>; | |
| #size-cells = <1>; | |
| switch@36000 { | |
| compatible = "brcm,bcm58623-srab", "brcm,nsp-srab"; | |
| reg = <0x36000 0x1000>, | |
| <0x3f308 0x8>, | |
| <0x3f410 0xc>; | |
| reg-names = "srab", "mux_config", "sgmii_config"; | |
| interrupts = <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>, | |
| <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>, | |
| <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>, | |
| <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>, | |
| <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>, | |
| <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>, | |
| <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>, | |
| <GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH>, | |
| <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>, | |
| <GIC_SPI 104 IRQ_TYPE_LEVEL_HIGH>, | |
| <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>, | |
| <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>, | |
| <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>; | |
| interrupt-names = "link_state_p0", | |
| "link_state_p1", | |
| "link_state_p2", | |
| "link_state_p3", | |
| "link_state_p4", | |
| "link_state_p5", | |
| "link_state_p7", | |
| "link_state_p8", | |
| "phy", | |
| "ts", | |
| "imp_sleep_timer_p5", | |
| "imp_sleep_timer_p7", | |
| "imp_sleep_timer_p8"; | |
| ethernet-ports { | |
| #address-cells = <1>; | |
| #size-cells = <0>; | |
| port@0 { | |
| label = "port0"; | |
| reg = <0>; | |
| }; | |
| port@1 { | |
| label = "port1"; | |
| reg = <1>; | |
| }; | |
| port@2 { | |
| label = "port2"; | |
| reg = <2>; | |
| }; | |
| port@3 { | |
| label = "port3"; | |
| reg = <3>; | |
| }; | |
| port@4 { | |
| label = "port4"; | |
| reg = <4>; | |
| }; | |
| port@8 { | |
| ethernet = <&amac2>; | |
| reg = <8>; | |
| phy-mode = "internal"; | |
| fixed-link { | |
| speed = <1000>; | |
| full-duplex; | |
| }; | |
| }; | |
| }; | |
| }; | |
| }; |