Commit 19e13e13 authored by Asmaa Mnebhi's avatar Asmaa Mnebhi Committed by Wolfram Sang
Browse files

i2c: mlxbf: support BlueField-3 SoC



BlueField-3 SoC has the same I2C IP logic as previous
BlueField-1 and 2 SoCs but it has different registers' addresses.
This is an effort to keep this driver generic across all
BlueField generations.
This patch breaks down the "smbus" resource into 3 separate
resources to enable us to use common registers' offsets for all
BlueField SoCs:
struct mlxbf_i2c_resource *timer;
struct mlxbf_i2c_resource *mst;
struct mlxbf_i2c_resource *slv;

Of course, all offsets had to be adjusted accordingly, and we took
this chance to reorganize the macros depending on the register block
they target.

There are only 2 registers' offsets that do not fit within this
schema so their offsets are passed as SoC-specific parameters:
smbus_master_rs_bytes_off
smbus_master_fsm_off

Reviewed-by: default avatarKhalil Blaiech <kblaiech@nvidia.com>
Signed-off-by: default avatarAsmaa Mnebhi <asmaa@nvidia.com>
Signed-off-by: default avatarWolfram Sang <wsa@kernel.org>
parent 58b92424
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -12984,6 +12984,7 @@ F: drivers/input/touchscreen/melfas_mip4.c
MELLANOX BLUEFIELD I2C DRIVER
M:	Khalil Blaiech <kblaiech@nvidia.com>
M:	Asmaa Mnebhi <asmaa@nvidia.com>
L:	linux-i2c@vger.kernel.org
S:	Supported
F:	Documentation/devicetree/bindings/i2c/mellanox,i2c-mlxbf.yaml
+284 −171

File changed.

Preview size limit exceeded, changes collapsed.