Skip to content

Commit b5b5b32

Browse files
kblaiechwsakernel
authored andcommitted
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>
1 parent d9becc5 commit b5b5b32

File tree

4 files changed

+2526
-0
lines changed

4 files changed

+2526
-0
lines changed

MAINTAINERS

+6
Original file line numberDiff line numberDiff line change
@@ -11071,6 +11071,12 @@ W: http://www.melfas.com
1107111071
F: Documentation/devicetree/bindings/input/touchscreen/melfas_mip4.txt
1107211072
F: drivers/input/touchscreen/melfas_mip4.c
1107311073

11074+
MELLANOX BLUEFIELD I2C DRIVER
11075+
M: Khalil Blaiech <kblaiech@mellanox.com>
11076+
L: linux-i2c@vger.kernel.org
11077+
S: Supported
11078+
F: drivers/i2c/busses/i2c-mlxbf.c
11079+
1107411080
MELLANOX ETHERNET DRIVER (mlx4_en)
1107511081
M: Tariq Toukan <tariqt@nvidia.com>
1107611082
L: netdev@vger.kernel.org

drivers/i2c/busses/Kconfig

+13
Original file line numberDiff line numberDiff line change
@@ -730,6 +730,19 @@ config I2C_LPC2K
730730
This driver can also be built as a module. If so, the module
731731
will be called i2c-lpc2k.
732732

733+
config I2C_MLXBF
734+
tristate "Mellanox BlueField I2C controller"
735+
depends on ARM64
736+
help
737+
Enabling this option will add I2C SMBus support for Mellanox BlueField
738+
system.
739+
740+
This driver can also be built as a module. If so, the module will be
741+
called i2c-mlxbf.
742+
743+
This driver implements an I2C SMBus host controller and enables both
744+
master and slave functions.
745+
733746
config I2C_MESON
734747
tristate "Amlogic Meson I2C controller"
735748
depends on ARCH_MESON || COMPILE_TEST

drivers/i2c/busses/Makefile

+1
Original file line numberDiff line numberDiff line change
@@ -140,6 +140,7 @@ obj-$(CONFIG_I2C_BRCMSTB) += i2c-brcmstb.o
140140
obj-$(CONFIG_I2C_CROS_EC_TUNNEL) += i2c-cros-ec-tunnel.o
141141
obj-$(CONFIG_I2C_ELEKTOR) += i2c-elektor.o
142142
obj-$(CONFIG_I2C_ICY) += i2c-icy.o
143+
obj-$(CONFIG_I2C_MLXBF) += i2c-mlxbf.o
143144
obj-$(CONFIG_I2C_MLXCPLD) += i2c-mlxcpld.o
144145
obj-$(CONFIG_I2C_OPAL) += i2c-opal.o
145146
obj-$(CONFIG_I2C_PCA_ISA) += i2c-pca-isa.o

0 commit comments

Comments
 (0)