mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-28 11:18:45 +07:00
64ff2aef91
Parse the "brcm,use-bcm-hdr" boolean property during ports identification to fill a bitmask of ports that should have Broadcom tags enabled. This is needed in some configurations where per-packet metadata can be exchanged using Broadcom tags between the switch and an on-chip acceleration device. Signed-off-by: Florian Fainelli <f.fainelli@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
130 lines
3.1 KiB
Plaintext
130 lines
3.1 KiB
Plaintext
* 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;
|
|
};
|
|
...
|
|
};
|
|
};
|
|
};
|