aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJohn Crispin <john@openwrt.org>2016-02-12 08:31:49 +0000
committerJohn Crispin <john@openwrt.org>2016-02-12 08:31:49 +0000
commit290534c7afa49004c02a3128a7bafa185dcd2452 (patch)
treecbe4ca4c3ebf202db8d0f8e34d42908a3776222d
parenta231a9afd391a0b38c2ce610fce67065c2240a06 (diff)
downloadupstream-290534c7afa49004c02a3128a7bafa185dcd2452.tar.gz
upstream-290534c7afa49004c02a3128a7bafa185dcd2452.tar.bz2
upstream-290534c7afa49004c02a3128a7bafa185dcd2452.zip
kernel: add dsa driver support
The Linux Distributed Switch Architecture drivers provide richer support than the swconfig driver API in that each switch port gets its own interface which allows protocols such as STP, LLDP, 802.1x etc. Signed-off-by: Tim Harvey <tharvey@gateworks.com> Signed-off-by: Pushpal Sidhu <psidhu@gateworks.com> SVN-Revision: 48713
-rw-r--r--package/kernel/linux/modules/dsa.mk136
1 files changed, 136 insertions, 0 deletions
diff --git a/package/kernel/linux/modules/dsa.mk b/package/kernel/linux/modules/dsa.mk
new file mode 100644
index 0000000000..0696d754d5
--- /dev/null
+++ b/package/kernel/linux/modules/dsa.mk
@@ -0,0 +1,136 @@
+#
+# Copyright (C) 2015 OpenWrt.org
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+
+#
+# DSA core
+#
+
+DSA_MENU:=DSA Support
+
+define KernelPackage/dsa
+ SUBMENU:=$(DSA_MENU)
+ TITLE:=DSA support
+ KCONFIG:=\
+ CONFIG_NET_DSA \
+ CONFIG_NET_SWITCHDEV=y \
+ CONFIG_NET_DSA_HWMON=n
+ FILES:=$(LINUX_DIR)/net/dsa/dsa_core.ko
+ AUTOLOAD:=$(call AutoLoad,34,dsa_core)
+endef
+
+define KernelPackage/dsa/description
+ Kernel module for DSA support.
+endef
+
+$(eval $(call KernelPackage,dsa))
+
+
+define AddDepends/dsa
+ SUBMENU:=$(DSA_MENU)
+ DEPENDS+=kmod-dsa $(1)
+endef
+
+
+#
+# Switch drivers
+#
+
+define KernelPackage/dsa-mv88e6060
+ TITLE:=Marvell 88E6060 ethernet switch chip support
+ KCONFIG:=\
+ CONFIG_NET_DSA_MV88E6060 \
+ CONFIG_NET_DSA_TAG_TRAILER=y
+ FILES:=$(LINUX_DIR)/drivers/net/dsa/mv88e6060.ko
+ AUTOLOAD:=$(call AutoLoad,34,mv88e6060)
+ $(call AddDepends/dsa)
+endef
+
+define KernelPackage/dsa-mv88e6060/description
+ This enables support for the Marvell 88E6060 ethernet switch chips.
+endef
+
+$(eval $(call KernelPackage,dsa-mv88e6060))
+
+
+define KernelPackage/dsa-mv88e6xxx
+ TITLE:=Marvell 88E6XXX switch support
+ KCONFIG:=CONFIG_NET_DSA_MV88E6XXX
+ FILES:=$(LINUX_DIR)/drivers/net/dsa/mv88e6xxx_drv.ko
+ AUTOLOAD:=$(call AutoLoad,34,mv88e6xxx_drv)
+ $(call AddDepends/dsa)
+endef
+
+define KernelPackage/dsa-mv88e6xxx/description
+ This enables support for the Marvell 88E6XXX ethernet switch chips.
+endef
+
+$(eval $(call KernelPackage,dsa-mv88e6xxx))
+
+define AddDepends/dsa-mv88e6xxx
+ SUBMENU:=$(DSA_MENU)
+ DEPENDS+=kmod-dsa kmod-dsa-mv88e6xxx $(1)
+endef
+
+
+define KernelPackage/dsa-mv88e6131
+ TITLE:=Marvell 88E6085/6095/6095F/6131 switch support
+ KCONFIG:=\
+ CONFIG_NET_DSA_MV88E6131 \
+ CONFIG_NET_DSA_TAG_DSA=y
+ $(call AddDepends/dsa-mv88e6xxx)
+endef
+
+define KernelPackage/dsa-mv88e6131/description
+ This enables support for the Marvell 88E6085/6095/6095F/6131 ethernet switch chips.
+endef
+
+$(eval $(call KernelPackage,dsa-mv88e6131))
+
+
+define KernelPackage/dsa-mv88e6123
+ TITLE:=Marvell 88E6123/6161/6165 switch support
+ KCONFIG:=\
+ CONFIG_NET_DSA_MV88E6123_61_65 \
+ CONFIG_NET_DSA_TAG_EDSA=y
+ $(call AddDepends/dsa-mv88e6xxx)
+endef
+
+define KernelPackage/dsa-mv88e6123/description
+ This enables support for the Marvell 88E6123/6161/6165 ethernet switch chips.
+endef
+
+$(eval $(call KernelPackage,dsa-mv88e6123))
+
+
+define KernelPackage/dsa-mv88e6171
+ TITLE:=Marvell 88E6171/6172 switch support
+ KCONFIG:=\
+ CONFIG_NET_DSA_MV88E6131 \
+ CONFIG_NET_DSA_TAG_DSA=y
+ $(call AddDepends/dsa-mv88e6xxx)
+endef
+
+define KernelPackage/dsa-mv88e6171/description
+ This enables support for the Marvell 88E6171/6172 ethernet switch chips.
+endef
+
+$(eval $(call KernelPackage,dsa-mv88e6171))
+
+
+define KernelPackage/dsa-mv88e6352
+ TITLE:=Marvell 88E6176/88E6352 switch support
+ KCONFIG:=\
+ CONFIG_NET_DSA_MV88E6352 \
+ CONFIG_NET_DSA_TAG_DSA=y
+ $(call AddDepends/dsa-mv88e6xxx)
+endef
+
+define KernelPackage/dsa-mv88e6352/description
+ This enables support for the Marvell 88E6176/88E6352 ethernet switch chips.
+endef
+
+$(eval $(call KernelPackage,dsa-mv88e6352))