| * Broadcom Starfighter 2 integrated swich |
| |
| Required properties: |
| |
| - compatible: should be "brcm,bcm7445-switch-v4.0" or "brcm,bcm7278-switch-v4.0" |
| - reg: addresses and length of the register sets for the device, must be 6 |
| pairs of register addresses and lengths |
| - interrupts: interrupts for the devices, must be two interrupts |
| - #address-cells: must be 1, see dsa/dsa.txt |
| - #size-cells: must be 0, see dsa/dsa.txt |
| |
| Deprecated binding required properties: |
| |
| - dsa,mii-bus: phandle to the MDIO bus controller, see dsa/dsa.txt |
| - dsa,ethernet: phandle to the CPU network interface controller, see dsa/dsa.txt |
| - #address-cells: must be 2, see dsa/dsa.txt |
| |
| Subnodes: |
| |
| The integrated switch subnode should be specified according to the binding |
| described in dsa/dsa.txt. |
| |
| Optional properties: |
| |
| - reg-names: litteral names for the device base register addresses, when present |
| must be: "core", "reg", "intrl2_0", "intrl2_1", "fcb", "acb" |
| |
| - interrupt-names: litternal names for the device interrupt lines, when present |
| must be: "switch_0" and "switch_1" |
| |
| - brcm,num-gphy: specify the maximum number of integrated gigabit PHYs in the |
| switch |
| |
| - brcm,num-rgmii-ports: specify the maximum number of RGMII interfaces supported |
| by the switch |
| |
| - brcm,fcb-pause-override: boolean property, if present indicates that the switch |
| supports Failover Control Block pause override capability |
| |
| - brcm,acb-packets-inflight: boolean property, if present indicates that the switch |
| Admission Control Block supports reporting the number of packets in-flight in a |
| switch queue |
| |
| Port subnodes: |
| |
| Optional properties: |
| |
| - brcm,use-bcm-hdr: boolean property, if present, indicates that the switch |
| port has Broadcom tags enabled (per-packet metadata) |
| |
| Example: |
| |
| switch_top@f0b00000 { |
| compatible = "simple-bus"; |
| #size-cells = <1>; |
| #address-cells = <1>; |
| ranges = <0 0xf0b00000 0x40804>; |
| |
| ethernet_switch@0 { |
| compatible = "brcm,bcm7445-switch-v4.0"; |
| #size-cells = <0>; |
| #address-cells = <1>; |
| reg = <0x0 0x40000 |
| 0x40000 0x110 |
| 0x40340 0x30 |
| 0x40380 0x30 |
| 0x40400 0x34 |
| 0x40600 0x208>; |
| reg-names = "core", "reg", intrl2_0", "intrl2_1", |
| "fcb, "acb"; |
| interrupts = <0 0x18 0 |
| 0 0x19 0>; |
| brcm,num-gphy = <1>; |
| brcm,num-rgmii-ports = <2>; |
| brcm,fcb-pause-override; |
| brcm,acb-packets-inflight; |
| |
| ports { |
| #address-cells = <1>; |
| #size-cells = <0>; |
| |
| port@0 { |
| label = "gphy"; |
| reg = <0>; |
| }; |
| }; |
| }; |
| }; |
| |
| Example using the old DSA DeviceTree binding: |
| |
| switch_top@f0b00000 { |
| compatible = "simple-bus"; |
| #size-cells = <1>; |
| #address-cells = <1>; |
| ranges = <0 0xf0b00000 0x40804>; |
| |
| ethernet_switch@0 { |
| compatible = "brcm,bcm7445-switch-v4.0"; |
| #size-cells = <0>; |
| #address-cells = <2>; |
| reg = <0x0 0x40000 |
| 0x40000 0x110 |
| 0x40340 0x30 |
| 0x40380 0x30 |
| 0x40400 0x34 |
| 0x40600 0x208>; |
| interrupts = <0 0x18 0 |
| 0 0x19 0>; |
| brcm,num-gphy = <1>; |
| brcm,num-rgmii-ports = <2>; |
| brcm,fcb-pause-override; |
| brcm,acb-packets-inflight; |
| |
| ... |
| switch@0 { |
| reg = <0 0>; |
| #size-cells = <0>; |
| #address-cells <1>; |
| |
| port@0 { |
| label = "gphy"; |
| reg = <0>; |
| brcm,use-bcm-hdr; |
| }; |
| ... |
| }; |
| }; |
| }; |