platform: mellanox: Add initial support for PCIe based programming logic device
authorVadim Pasternak <vadimp@nvidia.com>
Tue, 22 Aug 2023 11:34:48 +0000 (11:34 +0000)
committerHans de Goede <hdegoede@redhat.com>
Wed, 23 Aug 2023 15:31:30 +0000 (17:31 +0200)
commit02daa222fbdd6afe52c25e5c2894d53946a4260d
treeae8a82ca397c5faeff20d0a58b5c2052a3bf75af
parentada9ecc33842ec89bb091c0967673c5de3357429
platform: mellanox: Add initial support for PCIe based programming logic device

Extend driver to support logic implemented by FPGA device connected
through PCIe bus.

The motivation two support new generation of Nvidia COME module
equipped with Lattice LFD2NX-40 FPGA device.

In order to support new Nvidia COME module FPGA device driver
initialization flow is modified. In case FPGA device is detected,
system resources are to be mapped to this device, otherwise system
resources are to be mapped same as it has been done before for Lattice
LPC based CPLD.

FPGA device is associated with three PCIe devices:
- PCIe-LPC bridge for main register space access.
- PCIe-I2C bridge for I2C controller access.
- PCIe-JTAG bridge for JTAG access.

Signed-off-by: Vadim Pasternak <vadimp@nvidia.com>
Reviewed-by: Michael Shych <michaelsh@nvidia.com>
Reviewed-by: Hans de Goede <hdegoede@redhat.com>
Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
Link: https://lore.kernel.org/r/20230822113451.13785-14-vadimp@nvidia.com
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
drivers/platform/x86/mlx-platform.c