Skip to content

Commit

Permalink
Merge branch 'QCA8K'
Browse files Browse the repository at this point in the history
John Crispin says:

====================
net-next: dsa: add QCA8K support

This series is based on the AR8xxx series posted by Matthieu Olivari in may
2015. The following changes were made since then

* fixed the nitpicks from the previous review
* updated to latest API
* turned it into an mdio device
* added callbacks for fdb, bridge offloading, stp, eee, port status
* fixed several minor issues to the port setup and arp learning
* changed the namespacing as this driver to qca8k

The driver has so far only been tested on qca8337/N. It should work on other QCA
switches such as the qca8327 with minor changes.
====================

Signed-off-by: David S. Miller <davem@davemloft.net>
  • Loading branch information
David S. Miller committed Sep 16, 2016
2 parents 1d7b47a + 6b93fb4 commit 84ce3da
Show file tree
Hide file tree
Showing 11 changed files with 1,492 additions and 0 deletions.
89 changes: 89 additions & 0 deletions Documentation/devicetree/bindings/net/dsa/qca8k.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,89 @@
* Qualcomm Atheros QCA8xxx switch family

Required properties:

- compatible: should be "qca,qca8337"
- #size-cells: must be 0
- #address-cells: must be 1

Subnodes:

The integrated switch subnode should be specified according to the binding
described in dsa/dsa.txt. As the QCA8K switches do not have a N:N mapping of
port and PHY id, each subnode describing a port needs to have a valid phandle
referencing the internal PHY connected to it. The CPU port of this switch is
always port 0.

Example:


&mdio0 {
phy_port1: phy@0 {
reg = <0>;
};

phy_port2: phy@1 {
reg = <1>;
};

phy_port3: phy@2 {
reg = <2>;
};

phy_port4: phy@3 {
reg = <3>;
};

phy_port5: phy@4 {
reg = <4>;
};

switch0@0 {
compatible = "qca,qca8337";
#address-cells = <1>;
#size-cells = <0>;

reg = <0>;

ports {
#address-cells = <1>;
#size-cells = <0>;
port@0 {
reg = <0>;
label = "cpu";
ethernet = <&gmac1>;
phy-mode = "rgmii";
};

port@1 {
reg = <1>;
label = "lan1";
phy-handle = <&phy_port1>;
};

port@2 {
reg = <2>;
label = "lan2";
phy-handle = <&phy_port2>;
};

port@3 {
reg = <3>;
label = "lan3";
phy-handle = <&phy_port3>;
};

port@4 {
reg = <4>;
label = "lan4";
phy-handle = <&phy_port4>;
};

port@5 {
reg = <5>;
label = "wan";
phy-handle = <&phy_port5>;
};
};
};
};
9 changes: 9 additions & 0 deletions drivers/net/dsa/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -25,4 +25,13 @@ source "drivers/net/dsa/b53/Kconfig"

source "drivers/net/dsa/mv88e6xxx/Kconfig"

config NET_DSA_QCA8K
tristate "Qualcomm Atheros QCA8K Ethernet switch family support"
depends on NET_DSA
select NET_DSA_TAG_QCA
select REGMAP
---help---
This enables support for the Qualcomm Atheros QCA8K Ethernet
switch chips.

endmenu
1 change: 1 addition & 0 deletions drivers/net/dsa/Makefile
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
obj-$(CONFIG_NET_DSA_MV88E6060) += mv88e6060.o
obj-$(CONFIG_NET_DSA_BCM_SF2) += bcm_sf2.o
obj-$(CONFIG_NET_DSA_QCA8K) += qca8k.o

obj-y += b53/
obj-y += mv88e6xxx/
Loading

0 comments on commit 84ce3da

Please sign in to comment.