Commit 6a0c00e5 authored by David S. Miller's avatar David S. Miller
Browse files

Merge branch 'Add-Seville-Ethernet-switch-to-T1040RDB'



Vladimir Oltean says:

===================
Add Seville Ethernet switch to T1040RDB

Seville is a DSA switch that is embedded inside the T1040 SoC, and
supported by the mscc_seville DSA driver inside drivers/net/dsa/ocelot.

This series adds this switch to the SoC's dtsi files and to the T1040RDB
board file.

I would like to send this series through net-next. There is no conflict
with other patches submitted to T1040 device tree. Maybe this could at
least get an ACK from devicetree maintainers.
===================

Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parents 9cd8b6c9 e69eb082
Loading
Loading
Loading
Loading
+107 −0
Original line number Diff line number Diff line
@@ -64,6 +64,40 @@
				phy_sgmii_2: ethernet-phy@3 {
					reg = <0x03>;
				};

				/* VSC8514 QSGMII PHY */
				phy_qsgmii_0: ethernet-phy@4 {
					reg = <0x4>;
				};

				phy_qsgmii_1: ethernet-phy@5 {
					reg = <0x5>;
				};

				phy_qsgmii_2: ethernet-phy@6 {
					reg = <0x6>;
				};

				phy_qsgmii_3: ethernet-phy@7 {
					reg = <0x7>;
				};

				/* VSC8514 QSGMII PHY */
				phy_qsgmii_4: ethernet-phy@8 {
					reg = <0x8>;
				};

				phy_qsgmii_5: ethernet-phy@9 {
					reg = <0x9>;
				};

				phy_qsgmii_6: ethernet-phy@a {
					reg = <0xa>;
				};

				phy_qsgmii_7: ethernet-phy@b {
					reg = <0xb>;
				};
			};
		};
	};
@@ -76,3 +110,76 @@
};

#include "t1040si-post.dtsi"

&seville_switch {
	status = "okay";
};

&seville_port0 {
	managed = "in-band-status";
	phy-handle = <&phy_qsgmii_0>;
	phy-mode = "qsgmii";
	label = "ETH5";
	status = "okay";
};

&seville_port1 {
	managed = "in-band-status";
	phy-handle = <&phy_qsgmii_1>;
	phy-mode = "qsgmii";
	label = "ETH4";
	status = "okay";
};

&seville_port2 {
	managed = "in-band-status";
	phy-handle = <&phy_qsgmii_2>;
	phy-mode = "qsgmii";
	label = "ETH7";
	status = "okay";
};

&seville_port3 {
	managed = "in-band-status";
	phy-handle = <&phy_qsgmii_3>;
	phy-mode = "qsgmii";
	label = "ETH6";
	status = "okay";
};

&seville_port4 {
	managed = "in-band-status";
	phy-handle = <&phy_qsgmii_4>;
	phy-mode = "qsgmii";
	label = "ETH9";
	status = "okay";
};

&seville_port5 {
	managed = "in-band-status";
	phy-handle = <&phy_qsgmii_5>;
	phy-mode = "qsgmii";
	label = "ETH8";
	status = "okay";
};

&seville_port6 {
	managed = "in-band-status";
	phy-handle = <&phy_qsgmii_6>;
	phy-mode = "qsgmii";
	label = "ETH11";
	status = "okay";
};

&seville_port7 {
	managed = "in-band-status";
	phy-handle = <&phy_qsgmii_7>;
	phy-mode = "qsgmii";
	label = "ETH10";
	status = "okay";
};

&seville_port8 {
	ethernet = <&enet0>;
	status = "okay";
};
+78 −0
Original line number Diff line number Diff line
@@ -628,6 +628,84 @@
			status = "disabled";
		};
	};

	seville_switch: ethernet-switch@800000 {
		compatible = "mscc,vsc9953-switch";
		reg = <0x800000 0x290000>;
		interrupts = <26 2 0 0>;
		interrupt-names = "xtr";
		little-endian;
		#address-cells = <1>;
		#size-cells = <0>;
		status = "disabled";

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

			seville_port0: port@0 {
				reg = <0>;
				status = "disabled";
			};

			seville_port1: port@1 {
				reg = <1>;
				status = "disabled";
			};

			seville_port2: port@2 {
				reg = <2>;
				status = "disabled";
			};

			seville_port3: port@3 {
				reg = <3>;
				status = "disabled";
			};

			seville_port4: port@4 {
				reg = <4>;
				status = "disabled";
			};

			seville_port5: port@5 {
				reg = <5>;
				status = "disabled";
			};

			seville_port6: port@6 {
				reg = <6>;
				status = "disabled";
			};

			seville_port7: port@7 {
				reg = <7>;
				status = "disabled";
			};

			seville_port8: port@8 {
				reg = <8>;
				phy-mode = "internal";
				status = "disabled";

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

			seville_port9: port@9 {
				reg = <9>;
				phy-mode = "internal";
				status = "disabled";

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

&qe {