net: dsa: b53: Add support for Broadcom RoboSwitch
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>
This commit is contained in:

committed by
David S. Miller

parent
409a5f27ed
commit
967dd82ffc
88
Documentation/devicetree/bindings/net/dsa/b53.txt
Normal file
88
Documentation/devicetree/bindings/net/dsa/b53.txt
Normal file
@@ -0,0 +1,88 @@
|
||||
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>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
Reference in New Issue
Block a user