aboutsummaryrefslogtreecommitdiff
path: root/package
diff options
context:
space:
mode:
authorTil Kaiser <til.kaiser@gmx.de>2023-09-15 12:03:07 +0200
committerDavid Bauer <mail@david-bauer.net>2023-10-31 21:12:15 +0100
commit76713f4b8247e9f0a9631a7b25c476cf8b0ca0a6 (patch)
tree60aba66d8cba667a1d6913927b4796ae1950a045 /package
parentd522ccecb28f941aadcaf7a50cd6daa861f468a7 (diff)
packages: add needed packages for Mellanox Spectrum Switches
Add needed kernel and firmware packages for Mellanox Spectrum SN2000 Series Switches. Signed-off-by: Til Kaiser <til.kaiser@gmx.de>
Diffstat (limited to 'package')
-rw-r--r--package/firmware/linux-firmware/mellanox.mk9
-rw-r--r--package/kernel/linux/modules/hwmon.mk17
-rw-r--r--package/kernel/linux/modules/leds.mk16
-rw-r--r--package/kernel/linux/modules/lib.mk26
-rw-r--r--package/kernel/linux/modules/netdevices.mk115
5 files changed, 182 insertions, 1 deletions
diff --git a/package/firmware/linux-firmware/mellanox.mk b/package/firmware/linux-firmware/mellanox.mk
new file mode 100644
index 0000000000..039c7deb10
--- /dev/null
+++ b/package/firmware/linux-firmware/mellanox.mk
@@ -0,0 +1,9 @@
+Package/mlxsw_spectrum-firmware = $(call Package/firmware-default,Mellanox Spectrum firmware)
+define Package/mlxsw_spectrum-firmware/install
+ $(INSTALL_DIR) $(1)/lib/firmware/mellanox
+ $(CP) \
+ $(PKG_BUILD_DIR)/mellanox/mlxsw_spectrum-*.mfa2 \
+ $(1)/lib/firmware/mellanox
+endef
+
+$(eval $(call BuildPackage,mlxsw_spectrum-firmware))
diff --git a/package/kernel/linux/modules/hwmon.mk b/package/kernel/linux/modules/hwmon.mk
index 092bdf2b10..8638d50823 100644
--- a/package/kernel/linux/modules/hwmon.mk
+++ b/package/kernel/linux/modules/hwmon.mk
@@ -77,6 +77,23 @@ endef
$(eval $(call KernelPackage,hwmon-adt7475))
+define KernelPackage/hwmon-coretemp
+ TITLE:=Intel Core/Core2/Atom temperature sensor
+ KCONFIG:=CONFIG_SENSORS_CORETEMP
+ FILES:=$(LINUX_DIR)/drivers/hwmon/coretemp.ko
+ AUTOLOAD:=$(call AutoProbe,coretemp)
+ $(call AddDepends/hwmon,)
+endef
+
+define KernelPackage/hwmon-coretemp/description
+ Kernel module for Intel Core/Core2/Atom temperature monitoring support.
+ Most of the family 6 CPUs are supported.
+ Check Documentation/hwmon/coretemp.rst for details.
+endef
+
+$(eval $(call KernelPackage,hwmon-coretemp))
+
+
define KernelPackage/hwmon-dme1737
TITLE:=SMSC DME1737 and compatible monitoring support
KCONFIG:=CONFIG_SENSORS_DME1737
diff --git a/package/kernel/linux/modules/leds.mk b/package/kernel/linux/modules/leds.mk
index fcf9c987e8..24af1b7f61 100644
--- a/package/kernel/linux/modules/leds.mk
+++ b/package/kernel/linux/modules/leds.mk
@@ -147,6 +147,22 @@ endef
$(eval $(call KernelPackage,leds-apu))
+define KernelPackage/leds-mlxcpld
+ SUBMENU:=$(LEDS_MENU)
+ TITLE:=LED support for the Mellanox boards
+ FILES:=$(LINUX_DIR)/drivers/leds/leds-mlxcpld.ko
+ KCONFIG:=CONFIG_LEDS_MLXCPLD
+ AUTOLOAD:=$(call AutoProbe,leds-mlxcpld)
+endef
+
+define KernelPackage/leds-mlxcpld/description
+ This option enables support for the LEDs on the Mellanox
+ boards.
+endef
+
+$(eval $(call KernelPackage,leds-mlxcpld))
+
+
define KernelPackage/leds-pca955x
SUBMENU:=$(LEDS_MENU)
TITLE:=LED driver for PCA955x I2C chips
diff --git a/package/kernel/linux/modules/lib.mk b/package/kernel/linux/modules/lib.mk
index c7d32d7317..8d67a3187a 100644
--- a/package/kernel/linux/modules/lib.mk
+++ b/package/kernel/linux/modules/lib.mk
@@ -318,3 +318,29 @@ define KernelPackage/oid-registry
endef
$(eval $(call KernelPackage,oid-registry))
+
+
+define KernelPackage/lib-objagg
+ SUBMENU:=$(LIB_MENU)
+ TITLE:=objagg support
+ FILES:=$(LINUX_DIR)/lib/objagg.ko
+ KCONFIG:= \
+ CONFIG_OBJAGG \
+ CONFIG_TEST_OBJAGG=n
+ AUTOLOAD:=$(call AutoProbe,objagg)
+endef
+
+$(eval $(call KernelPackage,lib-objagg))
+
+
+define KernelPackage/lib-parman
+ SUBMENU:=$(LIB_MENU)
+ TITLE:=parman support
+ FILES:=$(LINUX_DIR)/lib/parman.ko
+ KCONFIG:= \
+ CONFIG_PARMAN \
+ CONFIG_TEST_PARMAN=n
+ AUTOLOAD:=$(call AutoProbe,parman)
+endef
+
+$(eval $(call KernelPackage,lib-parman))
diff --git a/package/kernel/linux/modules/netdevices.mk b/package/kernel/linux/modules/netdevices.mk
index 9057ec5615..74ea07e261 100644
--- a/package/kernel/linux/modules/netdevices.mk
+++ b/package/kernel/linux/modules/netdevices.mk
@@ -1343,7 +1343,7 @@ $(eval $(call KernelPackage,mlx4-core))
define KernelPackage/mlx5-core
SUBMENU:=$(NETWORK_DEVICES_MENU)
TITLE:=Mellanox ConnectX(R) mlx5 core Network Driver
- DEPENDS:=@PCI_SUPPORT +kmod-ptp
+ DEPENDS:=@PCI_SUPPORT +kmod-ptp +kmod-mlxfw
FILES:=$(LINUX_DIR)/drivers/net/ethernet/mellanox/mlx5/core/mlx5_core.ko
KCONFIG:= CONFIG_MLX5_CORE \
CONFIG_MLX5_CORE_EN=y \
@@ -1372,6 +1372,119 @@ endef
$(eval $(call KernelPackage,mlx5-core))
+define KernelPackage/mlxfw
+ SUBMENU:=$(NETWORK_DEVICES_MENU)
+ TITLE:=Mellanox Technologies firmware flash module
+ FILES:=$(LINUX_DIR)/drivers/net/ethernet/mellanox/mlxfw/mlxfw.ko
+ KCONFIG:=CONFIG_MLXFW
+ AUTOLOAD:=$(call AutoProbe,mlxfw)
+endef
+
+define KernelPackage/mlxfw/description
+ This driver supports Mellanox Technologies Firmware
+ flashing common logic.
+endef
+
+$(eval $(call KernelPackage,mlxfw))
+
+
+define KernelPackage/mlxsw-core
+ SUBMENU:=$(NETWORK_DEVICES_MENU)
+ TITLE:=Mellanox Technologies Switch ASICs support
+ DEPENDS:=+kmod-mlxfw +kmod-hwmon-core
+ FILES:=$(LINUX_DIR)/drivers/net/ethernet/mellanox/mlxsw/mlxsw_core.ko
+ KCONFIG:= \
+ CONFIG_MLXSW_CORE \
+ CONFIG_MLXSW_CORE_HWMON=y \
+ CONFIG_MLXSW_CORE_THERMAL=y
+ AUTOLOAD:=$(call AutoProbe,mlxsw_core)
+endef
+
+define KernelPackage/mlxsw-core/description
+ This driver supports Mellanox Technologies Switch ASICs family.
+endef
+
+$(eval $(call KernelPackage,mlxsw-core))
+
+
+define KernelPackage/mlxsw-i2c
+ SUBMENU:=$(NETWORK_DEVICES_MENU)
+ TITLE:=I2C bus implementation for Mellanox Technologies Switch ASICs
+ DEPENDS:=+kmod-mlxsw-core +kmod-i2c-core
+ FILES:=$(LINUX_DIR)/drivers/net/ethernet/mellanox/mlxsw/mlxsw_i2c.ko
+ KCONFIG:=CONFIG_MLXSW_I2C
+ AUTOLOAD:=$(call AutoProbe,mlxsw_i2c)
+endef
+
+define KernelPackage/mlxsw-i2c/description
+ This is I2C bus implementation for Mellanox Technologies Switch ASICs.
+endef
+
+$(eval $(call KernelPackage,mlxsw-i2c))
+
+
+define KernelPackage/mlxsw-minimal
+ SUBMENU:=$(NETWORK_DEVICES_MENU)
+ TITLE:=Mellanox Technologies minimal I2C support
+ DEPENDS:=+kmod-mlxsw-core +kmod-mlxsw-i2c
+ FILES:=$(LINUX_DIR)/drivers/net/ethernet/mellanox/mlxsw/mlxsw_minimal.ko
+ KCONFIG:=CONFIG_MLXSW_MINIMAL
+ AUTOLOAD:=$(call AutoProbe,mlxsw_minimal)
+endef
+
+define KernelPackage/mlxsw-minimal/description
+ This driver supports I2C access for Mellanox Technologies Switch
+ ASICs.
+endef
+
+$(eval $(call KernelPackage,mlxsw-minimal))
+
+
+define KernelPackage/mlxsw-pci
+ SUBMENU:=$(NETWORK_DEVICES_MENU)
+ TITLE:=PCI bus implementation for Mellanox Technologies Switch ASICs
+ DEPENDS:=@PCI_SUPPORT +kmod-mlxsw-core
+ FILES:=$(LINUX_DIR)/drivers/net/ethernet/mellanox/mlxsw/mlxsw_pci.ko
+ KCONFIG:=CONFIG_MLXSW_PCI
+ AUTOLOAD:=$(call AutoProbe,mlxsw_pci)
+endef
+
+define KernelPackage/mlxsw-pci/description
+ This is PCI bus implementation for Mellanox Technologies Switch ASICs.
+endef
+
+$(eval $(call KernelPackage,mlxsw-pci))
+
+
+define KernelPackage/mlxsw-spectrum
+ SUBMENU:=$(NETWORK_DEVICES_MENU)
+ TITLE:=Mellanox Technologies Spectrum family support
+ DEPENDS:= \
+ +kmod-mlxsw-core +kmod-mlxsw-pci +kmod-lib-objagg +kmod-lib-parman \
+ +kmod-ip6-tunnel +kmod-ptp +kmod-sched-act-sample +kmod-vxlan
+ FILES:=$(LINUX_DIR)/drivers/net/ethernet/mellanox/mlxsw/mlxsw_spectrum.ko
+ KCONFIG:= \
+ CONFIG_MLXSW_SPECTRUM \
+ CONFIG_NET_SWITCHDEV=y \
+ CONFIG_MLXSW_SPECTRUM_DCB=y \
+ CONFIG_DCB=y \
+ CONFIG_AMD_XGBE_DCB=n \
+ CONFIG_IXGBE_DCB=n \
+ CONFIG_I40E_DCB=n \
+ CONFIG_QLCNIC_DCB=n \
+ CONFIG_FSL_DPAA2_ETH_DCB=n \
+ CONFIG_FSL_DPAA2_SWITCH=n
+ AUTOLOAD:=$(call AutoProbe,mlxsw_spectrum)
+endef
+
+define KernelPackage/mlxsw-spectrum/description
+ This driver supports Mellanox Technologies
+ Spectrum/Spectrum-2/Spectrum-3/Spectrum-4 Ethernet Switch ASICs.
+endef
+
+$(eval $(call KernelPackage,mlxsw-spectrum))
+
+
define KernelPackage/net-selftests
SUBMENU:=$(NETWORK_DEVICES_MENU)
DEPENDS:=+kmod-libphy