Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 84ce3da1 authored by David S. Miller's avatar David S. Miller
Browse files

Merge branch 'QCA8K'



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: default avatarDavid S. Miller <davem@davemloft.net>
parents 1d7b47a3 6b93fb46
Loading
Loading
Loading
Loading
+89 −0
Original line number Diff line number Diff line
* 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 −0
Original line number Diff line number Diff line
@@ -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 −0
Original line number Diff line number Diff line
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