mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-08-25 18:30:06 +00:00
i2c: mlxbf: I2C SMBus driver for Mellanox BlueField SoC
Add BlueField I2C driver to offer master and slave support for Mellanox BlueField SoCs. The driver implements an SMBus adapter and interfaces to multiple busses that can be probed using both ACPI and Device Tree infrastructures. The driver supports several SMBus operations to transfer data back and forth from/to various I2C devices. It is mainly intended to be consumed by userspace tools and utilities, such as i2c-tools and decode-dimms to collect memory module information. On the other hand, the driver has a slave function to support, among others, an IPMB interface that requires both master and slave functions to handle transfers between the BlueField SoC and a board management controllers (e.g., BMC). Signed-off-by: Khalil Blaiech <kblaiech@mellanox.com> Reviewed-by: Vadim Pasternak <vadimp@mellanox.com> Signed-off-by: Wolfram Sang <wsa@kernel.org>
This commit is contained in:
parent
d9becc53b3
commit
b5b5b32081
4 changed files with 2526 additions and 0 deletions
|
@ -11071,6 +11071,12 @@ W: http://www.melfas.com
|
||||||
F: Documentation/devicetree/bindings/input/touchscreen/melfas_mip4.txt
|
F: Documentation/devicetree/bindings/input/touchscreen/melfas_mip4.txt
|
||||||
F: drivers/input/touchscreen/melfas_mip4.c
|
F: drivers/input/touchscreen/melfas_mip4.c
|
||||||
|
|
||||||
|
MELLANOX BLUEFIELD I2C DRIVER
|
||||||
|
M: Khalil Blaiech <kblaiech@mellanox.com>
|
||||||
|
L: linux-i2c@vger.kernel.org
|
||||||
|
S: Supported
|
||||||
|
F: drivers/i2c/busses/i2c-mlxbf.c
|
||||||
|
|
||||||
MELLANOX ETHERNET DRIVER (mlx4_en)
|
MELLANOX ETHERNET DRIVER (mlx4_en)
|
||||||
M: Tariq Toukan <tariqt@nvidia.com>
|
M: Tariq Toukan <tariqt@nvidia.com>
|
||||||
L: netdev@vger.kernel.org
|
L: netdev@vger.kernel.org
|
||||||
|
|
|
@ -730,6 +730,19 @@ config I2C_LPC2K
|
||||||
This driver can also be built as a module. If so, the module
|
This driver can also be built as a module. If so, the module
|
||||||
will be called i2c-lpc2k.
|
will be called i2c-lpc2k.
|
||||||
|
|
||||||
|
config I2C_MLXBF
|
||||||
|
tristate "Mellanox BlueField I2C controller"
|
||||||
|
depends on ARM64
|
||||||
|
help
|
||||||
|
Enabling this option will add I2C SMBus support for Mellanox BlueField
|
||||||
|
system.
|
||||||
|
|
||||||
|
This driver can also be built as a module. If so, the module will be
|
||||||
|
called i2c-mlxbf.
|
||||||
|
|
||||||
|
This driver implements an I2C SMBus host controller and enables both
|
||||||
|
master and slave functions.
|
||||||
|
|
||||||
config I2C_MESON
|
config I2C_MESON
|
||||||
tristate "Amlogic Meson I2C controller"
|
tristate "Amlogic Meson I2C controller"
|
||||||
depends on ARCH_MESON || COMPILE_TEST
|
depends on ARCH_MESON || COMPILE_TEST
|
||||||
|
|
|
@ -140,6 +140,7 @@ obj-$(CONFIG_I2C_BRCMSTB) += i2c-brcmstb.o
|
||||||
obj-$(CONFIG_I2C_CROS_EC_TUNNEL) += i2c-cros-ec-tunnel.o
|
obj-$(CONFIG_I2C_CROS_EC_TUNNEL) += i2c-cros-ec-tunnel.o
|
||||||
obj-$(CONFIG_I2C_ELEKTOR) += i2c-elektor.o
|
obj-$(CONFIG_I2C_ELEKTOR) += i2c-elektor.o
|
||||||
obj-$(CONFIG_I2C_ICY) += i2c-icy.o
|
obj-$(CONFIG_I2C_ICY) += i2c-icy.o
|
||||||
|
obj-$(CONFIG_I2C_MLXBF) += i2c-mlxbf.o
|
||||||
obj-$(CONFIG_I2C_MLXCPLD) += i2c-mlxcpld.o
|
obj-$(CONFIG_I2C_MLXCPLD) += i2c-mlxcpld.o
|
||||||
obj-$(CONFIG_I2C_OPAL) += i2c-opal.o
|
obj-$(CONFIG_I2C_OPAL) += i2c-opal.o
|
||||||
obj-$(CONFIG_I2C_PCA_ISA) += i2c-pca-isa.o
|
obj-$(CONFIG_I2C_PCA_ISA) += i2c-pca-isa.o
|
||||||
|
|
2506
drivers/i2c/busses/i2c-mlxbf.c
Normal file
2506
drivers/i2c/busses/i2c-mlxbf.c
Normal file
File diff suppressed because it is too large
Load diff
Loading…
Reference in a new issue