1*5def4c47SEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2*5def4c47SEmmanuel Vadot%YAML 1.2 3*5def4c47SEmmanuel Vadot--- 4*5def4c47SEmmanuel Vadot$id: http://devicetree.org/schemas/net/dsa/brcm,b53.yaml# 5*5def4c47SEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml# 6*5def4c47SEmmanuel Vadot 7*5def4c47SEmmanuel Vadottitle: Broadcom BCM53xx Ethernet switches 8*5def4c47SEmmanuel Vadot 9*5def4c47SEmmanuel VadotallOf: 10*5def4c47SEmmanuel Vadot - $ref: dsa.yaml# 11*5def4c47SEmmanuel Vadot 12*5def4c47SEmmanuel Vadotmaintainers: 13*5def4c47SEmmanuel Vadot - Florian Fainelli <f.fainelli@gmail.com> 14*5def4c47SEmmanuel Vadot 15*5def4c47SEmmanuel Vadotdescription: 16*5def4c47SEmmanuel Vadot Broadcom BCM53xx Ethernet switches 17*5def4c47SEmmanuel Vadot 18*5def4c47SEmmanuel Vadotproperties: 19*5def4c47SEmmanuel Vadot compatible: 20*5def4c47SEmmanuel Vadot oneOf: 21*5def4c47SEmmanuel Vadot - const: brcm,bcm5325 22*5def4c47SEmmanuel Vadot - const: brcm,bcm53115 23*5def4c47SEmmanuel Vadot - const: brcm,bcm53125 24*5def4c47SEmmanuel Vadot - const: brcm,bcm53128 25*5def4c47SEmmanuel Vadot - const: brcm,bcm5365 26*5def4c47SEmmanuel Vadot - const: brcm,bcm5395 27*5def4c47SEmmanuel Vadot - const: brcm,bcm5389 28*5def4c47SEmmanuel Vadot - const: brcm,bcm5397 29*5def4c47SEmmanuel Vadot - const: brcm,bcm5398 30*5def4c47SEmmanuel Vadot - items: 31*5def4c47SEmmanuel Vadot - const: brcm,bcm11360-srab 32*5def4c47SEmmanuel Vadot - const: brcm,cygnus-srab 33*5def4c47SEmmanuel Vadot - items: 34*5def4c47SEmmanuel Vadot - enum: 35*5def4c47SEmmanuel Vadot - brcm,bcm53010-srab 36*5def4c47SEmmanuel Vadot - brcm,bcm53011-srab 37*5def4c47SEmmanuel Vadot - brcm,bcm53012-srab 38*5def4c47SEmmanuel Vadot - brcm,bcm53018-srab 39*5def4c47SEmmanuel Vadot - brcm,bcm53019-srab 40*5def4c47SEmmanuel Vadot - const: brcm,bcm5301x-srab 41*5def4c47SEmmanuel Vadot - items: 42*5def4c47SEmmanuel Vadot - enum: 43*5def4c47SEmmanuel Vadot - brcm,bcm11404-srab 44*5def4c47SEmmanuel Vadot - brcm,bcm11407-srab 45*5def4c47SEmmanuel Vadot - brcm,bcm11409-srab 46*5def4c47SEmmanuel Vadot - brcm,bcm58310-srab 47*5def4c47SEmmanuel Vadot - brcm,bcm58311-srab 48*5def4c47SEmmanuel Vadot - brcm,bcm58313-srab 49*5def4c47SEmmanuel Vadot - const: brcm,omega-srab 50*5def4c47SEmmanuel Vadot - items: 51*5def4c47SEmmanuel Vadot - enum: 52*5def4c47SEmmanuel Vadot - brcm,bcm58522-srab 53*5def4c47SEmmanuel Vadot - brcm,bcm58523-srab 54*5def4c47SEmmanuel Vadot - brcm,bcm58525-srab 55*5def4c47SEmmanuel Vadot - brcm,bcm58622-srab 56*5def4c47SEmmanuel Vadot - brcm,bcm58623-srab 57*5def4c47SEmmanuel Vadot - brcm,bcm58625-srab 58*5def4c47SEmmanuel Vadot - brcm,bcm88312-srab 59*5def4c47SEmmanuel Vadot - const: brcm,nsp-srab 60*5def4c47SEmmanuel Vadot - items: 61*5def4c47SEmmanuel Vadot - enum: 62*5def4c47SEmmanuel Vadot - brcm,bcm3384-switch 63*5def4c47SEmmanuel Vadot - brcm,bcm6328-switch 64*5def4c47SEmmanuel Vadot - brcm,bcm6368-switch 65*5def4c47SEmmanuel Vadot - const: brcm,bcm63xx-switch 66*5def4c47SEmmanuel Vadot 67*5def4c47SEmmanuel Vadotrequired: 68*5def4c47SEmmanuel Vadot - compatible 69*5def4c47SEmmanuel Vadot - reg 70*5def4c47SEmmanuel Vadot 71*5def4c47SEmmanuel Vadot# BCM585xx/586xx/88312 SoCs 72*5def4c47SEmmanuel Vadotif: 73*5def4c47SEmmanuel Vadot properties: 74*5def4c47SEmmanuel Vadot compatible: 75*5def4c47SEmmanuel Vadot contains: 76*5def4c47SEmmanuel Vadot enum: 77*5def4c47SEmmanuel Vadot - brcm,bcm58522-srab 78*5def4c47SEmmanuel Vadot - brcm,bcm58523-srab 79*5def4c47SEmmanuel Vadot - brcm,bcm58525-srab 80*5def4c47SEmmanuel Vadot - brcm,bcm58622-srab 81*5def4c47SEmmanuel Vadot - brcm,bcm58623-srab 82*5def4c47SEmmanuel Vadot - brcm,bcm58625-srab 83*5def4c47SEmmanuel Vadot - brcm,bcm88312-srab 84*5def4c47SEmmanuel Vadotthen: 85*5def4c47SEmmanuel Vadot properties: 86*5def4c47SEmmanuel Vadot reg: 87*5def4c47SEmmanuel Vadot minItems: 3 88*5def4c47SEmmanuel Vadot maxItems: 3 89*5def4c47SEmmanuel Vadot reg-names: 90*5def4c47SEmmanuel Vadot items: 91*5def4c47SEmmanuel Vadot - const: srab 92*5def4c47SEmmanuel Vadot - const: mux_config 93*5def4c47SEmmanuel Vadot - const: sgmii_config 94*5def4c47SEmmanuel Vadot interrupts: 95*5def4c47SEmmanuel Vadot minItems: 13 96*5def4c47SEmmanuel Vadot maxItems: 13 97*5def4c47SEmmanuel Vadot interrupt-names: 98*5def4c47SEmmanuel Vadot items: 99*5def4c47SEmmanuel Vadot - const: link_state_p0 100*5def4c47SEmmanuel Vadot - const: link_state_p1 101*5def4c47SEmmanuel Vadot - const: link_state_p2 102*5def4c47SEmmanuel Vadot - const: link_state_p3 103*5def4c47SEmmanuel Vadot - const: link_state_p4 104*5def4c47SEmmanuel Vadot - const: link_state_p5 105*5def4c47SEmmanuel Vadot - const: link_state_p7 106*5def4c47SEmmanuel Vadot - const: link_state_p8 107*5def4c47SEmmanuel Vadot - const: phy 108*5def4c47SEmmanuel Vadot - const: ts 109*5def4c47SEmmanuel Vadot - const: imp_sleep_timer_p5 110*5def4c47SEmmanuel Vadot - const: imp_sleep_timer_p7 111*5def4c47SEmmanuel Vadot - const: imp_sleep_timer_p8 112*5def4c47SEmmanuel Vadot required: 113*5def4c47SEmmanuel Vadot - interrupts 114*5def4c47SEmmanuel Vadotelse: 115*5def4c47SEmmanuel Vadot properties: 116*5def4c47SEmmanuel Vadot reg: 117*5def4c47SEmmanuel Vadot maxItems: 1 118*5def4c47SEmmanuel Vadot 119*5def4c47SEmmanuel VadotunevaluatedProperties: false 120*5def4c47SEmmanuel Vadot 121*5def4c47SEmmanuel Vadotexamples: 122*5def4c47SEmmanuel Vadot - | 123*5def4c47SEmmanuel Vadot mdio { 124*5def4c47SEmmanuel Vadot #address-cells = <1>; 125*5def4c47SEmmanuel Vadot #size-cells = <0>; 126*5def4c47SEmmanuel Vadot 127*5def4c47SEmmanuel Vadot ethernet-switch@1e { 128*5def4c47SEmmanuel Vadot compatible = "brcm,bcm53125"; 129*5def4c47SEmmanuel Vadot reg = <30>; 130*5def4c47SEmmanuel Vadot 131*5def4c47SEmmanuel Vadot ethernet-ports { 132*5def4c47SEmmanuel Vadot #address-cells = <1>; 133*5def4c47SEmmanuel Vadot #size-cells = <0>; 134*5def4c47SEmmanuel Vadot 135*5def4c47SEmmanuel Vadot port@0 { 136*5def4c47SEmmanuel Vadot reg = <0>; 137*5def4c47SEmmanuel Vadot label = "lan1"; 138*5def4c47SEmmanuel Vadot }; 139*5def4c47SEmmanuel Vadot 140*5def4c47SEmmanuel Vadot port@1 { 141*5def4c47SEmmanuel Vadot reg = <1>; 142*5def4c47SEmmanuel Vadot label = "lan2"; 143*5def4c47SEmmanuel Vadot }; 144*5def4c47SEmmanuel Vadot 145*5def4c47SEmmanuel Vadot port@5 { 146*5def4c47SEmmanuel Vadot reg = <5>; 147*5def4c47SEmmanuel Vadot label = "cable-modem"; 148*5def4c47SEmmanuel Vadot phy-mode = "rgmii-txid"; 149*5def4c47SEmmanuel Vadot fixed-link { 150*5def4c47SEmmanuel Vadot speed = <1000>; 151*5def4c47SEmmanuel Vadot full-duplex; 152*5def4c47SEmmanuel Vadot }; 153*5def4c47SEmmanuel Vadot }; 154*5def4c47SEmmanuel Vadot 155*5def4c47SEmmanuel Vadot port@8 { 156*5def4c47SEmmanuel Vadot reg = <8>; 157*5def4c47SEmmanuel Vadot label = "cpu"; 158*5def4c47SEmmanuel Vadot phy-mode = "rgmii-txid"; 159*5def4c47SEmmanuel Vadot ethernet = <ð0>; 160*5def4c47SEmmanuel Vadot fixed-link { 161*5def4c47SEmmanuel Vadot speed = <1000>; 162*5def4c47SEmmanuel Vadot full-duplex; 163*5def4c47SEmmanuel Vadot }; 164*5def4c47SEmmanuel Vadot }; 165*5def4c47SEmmanuel Vadot }; 166*5def4c47SEmmanuel Vadot }; 167*5def4c47SEmmanuel Vadot }; 168*5def4c47SEmmanuel Vadot - | 169*5def4c47SEmmanuel Vadot #include <dt-bindings/interrupt-controller/arm-gic.h> 170*5def4c47SEmmanuel Vadot #include <dt-bindings/interrupt-controller/irq.h> 171*5def4c47SEmmanuel Vadot 172*5def4c47SEmmanuel Vadot axi { 173*5def4c47SEmmanuel Vadot #address-cells = <1>; 174*5def4c47SEmmanuel Vadot #size-cells = <1>; 175*5def4c47SEmmanuel Vadot 176*5def4c47SEmmanuel Vadot switch@36000 { 177*5def4c47SEmmanuel Vadot compatible = "brcm,bcm58623-srab", "brcm,nsp-srab"; 178*5def4c47SEmmanuel Vadot reg = <0x36000 0x1000>, 179*5def4c47SEmmanuel Vadot <0x3f308 0x8>, 180*5def4c47SEmmanuel Vadot <0x3f410 0xc>; 181*5def4c47SEmmanuel Vadot reg-names = "srab", "mux_config", "sgmii_config"; 182*5def4c47SEmmanuel Vadot interrupts = <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>, 183*5def4c47SEmmanuel Vadot <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>, 184*5def4c47SEmmanuel Vadot <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>, 185*5def4c47SEmmanuel Vadot <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>, 186*5def4c47SEmmanuel Vadot <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>, 187*5def4c47SEmmanuel Vadot <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>, 188*5def4c47SEmmanuel Vadot <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>, 189*5def4c47SEmmanuel Vadot <GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH>, 190*5def4c47SEmmanuel Vadot <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>, 191*5def4c47SEmmanuel Vadot <GIC_SPI 104 IRQ_TYPE_LEVEL_HIGH>, 192*5def4c47SEmmanuel Vadot <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>, 193*5def4c47SEmmanuel Vadot <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>, 194*5def4c47SEmmanuel Vadot <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>; 195*5def4c47SEmmanuel Vadot interrupt-names = "link_state_p0", 196*5def4c47SEmmanuel Vadot "link_state_p1", 197*5def4c47SEmmanuel Vadot "link_state_p2", 198*5def4c47SEmmanuel Vadot "link_state_p3", 199*5def4c47SEmmanuel Vadot "link_state_p4", 200*5def4c47SEmmanuel Vadot "link_state_p5", 201*5def4c47SEmmanuel Vadot "link_state_p7", 202*5def4c47SEmmanuel Vadot "link_state_p8", 203*5def4c47SEmmanuel Vadot "phy", 204*5def4c47SEmmanuel Vadot "ts", 205*5def4c47SEmmanuel Vadot "imp_sleep_timer_p5", 206*5def4c47SEmmanuel Vadot "imp_sleep_timer_p7", 207*5def4c47SEmmanuel Vadot "imp_sleep_timer_p8"; 208*5def4c47SEmmanuel Vadot 209*5def4c47SEmmanuel Vadot ethernet-ports { 210*5def4c47SEmmanuel Vadot #address-cells = <1>; 211*5def4c47SEmmanuel Vadot #size-cells = <0>; 212*5def4c47SEmmanuel Vadot 213*5def4c47SEmmanuel Vadot port@0 { 214*5def4c47SEmmanuel Vadot label = "port0"; 215*5def4c47SEmmanuel Vadot reg = <0>; 216*5def4c47SEmmanuel Vadot }; 217*5def4c47SEmmanuel Vadot 218*5def4c47SEmmanuel Vadot port@1 { 219*5def4c47SEmmanuel Vadot label = "port1"; 220*5def4c47SEmmanuel Vadot reg = <1>; 221*5def4c47SEmmanuel Vadot }; 222*5def4c47SEmmanuel Vadot 223*5def4c47SEmmanuel Vadot port@2 { 224*5def4c47SEmmanuel Vadot label = "port2"; 225*5def4c47SEmmanuel Vadot reg = <2>; 226*5def4c47SEmmanuel Vadot }; 227*5def4c47SEmmanuel Vadot 228*5def4c47SEmmanuel Vadot port@3 { 229*5def4c47SEmmanuel Vadot label = "port3"; 230*5def4c47SEmmanuel Vadot reg = <3>; 231*5def4c47SEmmanuel Vadot }; 232*5def4c47SEmmanuel Vadot 233*5def4c47SEmmanuel Vadot port@4 { 234*5def4c47SEmmanuel Vadot label = "port4"; 235*5def4c47SEmmanuel Vadot reg = <4>; 236*5def4c47SEmmanuel Vadot }; 237*5def4c47SEmmanuel Vadot 238*5def4c47SEmmanuel Vadot port@8 { 239*5def4c47SEmmanuel Vadot ethernet = <&amac2>; 240*5def4c47SEmmanuel Vadot label = "cpu"; 241*5def4c47SEmmanuel Vadot reg = <8>; 242*5def4c47SEmmanuel Vadot fixed-link { 243*5def4c47SEmmanuel Vadot speed = <1000>; 244*5def4c47SEmmanuel Vadot full-duplex; 245*5def4c47SEmmanuel Vadot }; 246*5def4c47SEmmanuel Vadot }; 247*5def4c47SEmmanuel Vadot }; 248*5def4c47SEmmanuel Vadot }; 249*5def4c47SEmmanuel Vadot }; 250