arm: mvebu: turris_omnia: Enable networking via ethernet switch
The Turris Omnia contains the Marvell 88E6176 ethernet switch. Add
config options and device tree to enable the support.
Signed-off-by: Marek Mojík <marek.mojik@nic.cz>
Signed-off-by: Marek Behún <kabel@kernel.org>
diff --git a/arch/arm/dts/armada-385-turris-omnia-u-boot.dtsi b/arch/arm/dts/armada-385-turris-omnia-u-boot.dtsi
index 509d6ca..c63a331 100644
--- a/arch/arm/dts/armada-385-turris-omnia-u-boot.dtsi
+++ b/arch/arm/dts/armada-385-turris-omnia-u-boot.dtsi
@@ -35,6 +35,57 @@
};
};
+&mdio {
+ switch@10 {
+ mdio {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ sw_phy0: ethernet-phy@0 {
+ reg = <0x0>;
+ };
+
+ sw_phy1: ethernet-phy@1 {
+ reg = <0x1>;
+ };
+
+ sw_phy2: ethernet-phy@2 {
+ reg = <0x2>;
+ };
+
+ sw_phy3: ethernet-phy@3 {
+ reg = <0x3>;
+ };
+
+ sw_phy4: ethernet-phy@4 {
+ reg = <0x4>;
+ };
+ };
+ ports {
+ ports@0 {
+ phy-handle = <&sw_phy0>;
+ phy-mode = "internal";
+ };
+ ports@1 {
+ phy-handle = <&sw_phy1>;
+ phy-mode = "internal";
+ };
+ ports@2 {
+ phy-handle = <&sw_phy2>;
+ phy-mode = "internal";
+ };
+ ports@3 {
+ phy-handle = <&sw_phy3>;
+ phy-mode = "internal";
+ };
+ ports@4 {
+ phy-handle = <&sw_phy4>;
+ phy-mode = "internal";
+ };
+ };
+ };
+};
+
#ifdef CONFIG_ENV_IS_IN_SPI_FLASH
&spi0 {
flash@0 {
diff --git a/configs/turris_omnia_defconfig b/configs/turris_omnia_defconfig
index f045dd7..2914840 100644
--- a/configs/turris_omnia_defconfig
+++ b/configs/turris_omnia_defconfig
@@ -95,7 +95,9 @@
CONFIG_SPI_FLASH_MTD=y
CONFIG_PHY_MARVELL=y
CONFIG_PHY_FIXED=y
+CONFIG_DM_DSA=y
CONFIG_PHY_GIGE=y
+CONFIG_MV88E6XXX=y
CONFIG_MVNETA=y
CONFIG_MII=y
CONFIG_MVMDIO=y