mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/netdev/net.git/
synced 2026-04-17 22:23:45 -04:00
This patch adds support for Broadcom's BCM53xx switch family, also known as RoboSwitch. Some of these switches are ubiquituous, found in home routers, Wi-Fi routers, DSL and cable modem gateways and other networking related products. This drivers adds the library driver (b53_common.c) as well as a few bus glue drivers for MDIO, SPI, Switch Register Access Block (SRAB) and memory-mapped I/O into a SoC's address space (Broadcom BCM63xx/33xx). Basic operations are supported to bring the Layer 1/2 up and running, but not much more at this point, subsequent patches add the remaining features. Signed-off-by: Florian Fainelli <f.fainelli@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
89 lines
1.8 KiB
Plaintext
89 lines
1.8 KiB
Plaintext
Broadcom BCM53xx Ethernet switches
|
|
==================================
|
|
|
|
Required properties:
|
|
|
|
- compatible: For external switch chips, compatible string must be exactly one
|
|
of: "brcm,bcm5325"
|
|
"brcm,bcm53115"
|
|
"brcm,bcm53125"
|
|
"brcm,bcm53128"
|
|
"brcm,bcm5365"
|
|
"brcm,bcm5395"
|
|
"brcm,bcm5397"
|
|
"brcm,bcm5398"
|
|
|
|
For the BCM5310x SoCs with an integrated switch, must be one of:
|
|
"brcm,bcm53010-srab"
|
|
"brcm,bcm53011-srab"
|
|
"brcm,bcm53012-srab"
|
|
"brcm,bcm53018-srab"
|
|
"brcm,bcm53019-srab" and the mandatory "brcm,bcm5301x-srab" string
|
|
|
|
For the BCM63xx/33xx SoCs with an integrated switch, must be one of:
|
|
"brcm,bcm3384-switch"
|
|
"brcm,bcm6328-switch"
|
|
"brcm,bcm6368-switch" and the mandatory "brcm,bcm63xx-switch"
|
|
|
|
See Documentation/devicetree/bindings/dsa/dsa.txt for a list of additional
|
|
required and optional properties.
|
|
|
|
Examples:
|
|
|
|
Ethernet switch connected via MDIO to the host, CPU port wired to eth0:
|
|
|
|
eth0: ethernet@10001000 {
|
|
compatible = "brcm,unimac";
|
|
reg = <0x10001000 0x1000>;
|
|
|
|
fixed-link {
|
|
speed = <1000>;
|
|
duplex-full;
|
|
};
|
|
};
|
|
|
|
mdio0: mdio@10000000 {
|
|
compatible = "brcm,unimac-mdio";
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
|
|
switch0: ethernet-switch@30 {
|
|
compatible = "brcm,bcm53125";
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
|
|
ports {
|
|
port0@0 {
|
|
reg = <0>;
|
|
label = "lan1";
|
|
};
|
|
|
|
port1@1 {
|
|
reg = <1>;
|
|
label = "lan2";
|
|
};
|
|
|
|
port5@5 {
|
|
reg = <5>;
|
|
label = "cable-modem";
|
|
fixed-link {
|
|
speed = <1000>;
|
|
duplex-full;
|
|
};
|
|
phy-mode = "rgmii-txid";
|
|
};
|
|
|
|
port8@8 {
|
|
reg = <8>;
|
|
label = "cpu";
|
|
fixed-link {
|
|
speed = <1000>;
|
|
duplex-full;
|
|
};
|
|
phy-mode = "rgmii-txid";
|
|
ethernet = <ð0>;
|
|
};
|
|
};
|
|
};
|
|
};
|