kernel/modules/other/mlxreg: add new package

This commit adds a new mlxreg package, which allows access
to Mellanox programmable device register space through sysfs
interface for thermal control and hardware management.

It also adds required Mellanox I²C drivers and packages
for the "special" MSN4800 series and SN2201 platform.

Signed-off-by: Til Kaiser <mail@tk154.de>
This commit is contained in:
Til Kaiser
2024-04-28 15:30:54 +02:00
committed by Hauke Mehrtens
parent 0e56bd3eb5
commit 0a861a0c0f
2 changed files with 100 additions and 0 deletions

View File

@@ -169,6 +169,24 @@ endef
$(eval $(call KernelPackage,i2c-i801))
I2C_MLXCPLD_MODULES:= \
CONFIG_I2C_MLXCPLD:drivers/i2c/busses/i2c-mlxcpld
define KernelPackage/i2c-mlxcpld
$(call i2c_defaults,$(I2C_MLXCPLD_MODULES),59)
TITLE:=Mellanox I2C driver
DEPENDS:=@TARGET_x86_64 +kmod-regmap-core
endef
define KernelPackage/i2c-mlxcpld/description
This exposes the Mellanox platform I2C busses
to the linux I2C layer for X86 based systems.
Controller is implemented as CPLD logic.
endef
$(eval $(call KernelPackage,i2c-mlxcpld))
I2C_MUX_MODULES:= \
CONFIG_I2C_MUX:drivers/i2c/i2c-mux
@@ -200,6 +218,24 @@ endef
$(eval $(call KernelPackage,i2c-mux-gpio))
I2C_MUX_MLXCPLD_MODULES:= \
CONFIG_I2C_MUX_MLXCPLD:drivers/i2c/muxes/i2c-mux-mlxcpld
define KernelPackage/i2c-mux-mlxcpld
$(call i2c_defaults,$(I2C_MUX_MLXCPLD_MODULES),51)
TITLE:=Mellanox CPLD based I2C multiplexer
DEPENDS:=+kmod-i2c-mlxcpld +kmod-i2c-mux
endef
define KernelPackage/i2c-mux-mlxcpld/description
This driver provides access to
I2C busses connected through a MUX, which is controlled
by a CPLD register.
endef
$(eval $(call KernelPackage,i2c-mux-mlxcpld))
I2C_MUX_REG_MODULES:= \
CONFIG_I2C_MUX_REG:drivers/i2c/muxes/i2c-mux-reg