Commit 4eb7ae7a authored by Oleksij Rempel's avatar Oleksij Rempel Committed by David S. Miller
Browse files

MIPS: ath79: ar9331: add ar9331-switch node



Add switch node supported by dsa ar9331 driver.

Signed-off-by: default avatarOleksij Rempel <o.rempel@pengutronix.de>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent dba261f3
Loading
Loading
Loading
Loading
+118 −1
Original line number Diff line number Diff line
@@ -126,6 +126,9 @@
			clocks = <&pll ATH79_CLK_AHB>, <&pll ATH79_CLK_AHB>;
			clock-names = "eth", "mdio";

			phy-mode = "mii";
			phy-handle = <&phy_port4>;

			status = "disabled";
		};

@@ -133,15 +136,129 @@
			compatible = "qca,ar9330-eth";
			reg = <0x1a000000 0x200>;
			interrupts = <5>;

			resets = <&rst 13>, <&rst 23>;
			reset-names = "mac", "mdio";
			clocks = <&pll ATH79_CLK_AHB>, <&pll ATH79_CLK_AHB>;
			clock-names = "eth", "mdio";

			phy-mode = "gmii";

			status = "disabled";

			fixed-link {
				speed = <1000>;
				full-duplex;
			};

			mdio {
				#address-cells = <1>;
				#size-cells = <0>;

				switch10: switch@10 {
					#address-cells = <1>;
					#size-cells = <0>;

					compatible = "qca,ar9331-switch";
					reg = <0x10>;
					resets = <&rst 8>;
					reset-names = "switch";

					interrupt-parent = <&miscintc>;
					interrupts = <12>;

					interrupt-controller;
					#interrupt-cells = <1>;

					ports {
						#address-cells = <1>;
						#size-cells = <0>;

						switch_port0: port@0 {
							reg = <0x0>;
							label = "cpu";
							ethernet = <&eth1>;

							phy-mode = "gmii";

							fixed-link {
								speed = <1000>;
								full-duplex;
							};
						};

						switch_port1: port@1 {
							reg = <0x1>;
							phy-handle = <&phy_port0>;
							phy-mode = "internal";

							status = "disabled";
						};

						switch_port2: port@2 {
							reg = <0x2>;
							phy-handle = <&phy_port1>;
							phy-mode = "internal";

							status = "disabled";
						};

						switch_port3: port@3 {
							reg = <0x3>;
							phy-handle = <&phy_port2>;
							phy-mode = "internal";

							status = "disabled";
						};

						switch_port4: port@4 {
							reg = <0x4>;
							phy-handle = <&phy_port3>;
							phy-mode = "internal";

							status = "disabled";
						};
					};

					mdio {
						#address-cells = <1>;
						#size-cells = <0>;

						interrupt-parent = <&switch10>;

						phy_port0: phy@0 {
							reg = <0x0>;
							interrupts = <0>;
							status = "disabled";
						};

						phy_port1: phy@1 {
							reg = <0x1>;
							interrupts = <0>;
							status = "disabled";
						};

						phy_port2: phy@2 {
							reg = <0x2>;
							interrupts = <0>;
							status = "disabled";
						};

						phy_port3: phy@3 {
							reg = <0x3>;
							interrupts = <0>;
							status = "disabled";
						};

						phy_port4: phy@4 {
							reg = <0x4>;
							interrupts = <0>;
							status = "disabled";
						};
					};
				};
			};
		};

		usb: usb@1b000100 {
			compatible = "chipidea,usb2";
			reg = <0x1b000000 0x200>;
+13 −0
Original line number Diff line number Diff line
@@ -84,3 +84,16 @@
&eth1 {
	status = "okay";
};

&switch_port1 {
	label = "lan0";
	status = "okay";
};

&phy_port0 {
	status = "okay";
};

&phy_port4 {
	status = "okay";
};