2018-01-18 02:21:53 +08:00
|
|
|
# SPDX-License-Identifier: GPL-2.0
|
|
|
|
#
|
|
|
|
# Platform support for Mellanox hardware
|
|
|
|
#
|
|
|
|
|
|
|
|
menuconfig MELLANOX_PLATFORM
|
|
|
|
bool "Platform support for Mellanox hardware"
|
2019-05-03 21:49:08 +08:00
|
|
|
depends on X86 || ARM || ARM64 || COMPILE_TEST
|
2020-06-14 00:50:22 +08:00
|
|
|
help
|
2018-01-18 02:21:53 +08:00
|
|
|
Say Y here to get to see options for platform support for
|
|
|
|
Mellanox systems. This option alone does not add any kernel code.
|
|
|
|
|
|
|
|
If you say N, all options in this submenu will be skipped and disabled.
|
|
|
|
|
|
|
|
if MELLANOX_PLATFORM
|
|
|
|
|
|
|
|
config MLXREG_HOTPLUG
|
|
|
|
tristate "Mellanox platform hotplug driver support"
|
2018-01-23 11:55:11 +08:00
|
|
|
depends on REGMAP
|
2018-01-18 02:21:53 +08:00
|
|
|
depends on HWMON
|
|
|
|
depends on I2C
|
2020-06-14 00:50:22 +08:00
|
|
|
help
|
2018-01-18 02:21:53 +08:00
|
|
|
This driver handles hot-plug events for the power suppliers, power
|
|
|
|
cables and fans on the wide range Mellanox IB and Ethernet systems.
|
|
|
|
|
2018-06-18 00:56:53 +08:00
|
|
|
config MLXREG_IO
|
|
|
|
tristate "Mellanox platform register access driver support"
|
|
|
|
depends on REGMAP
|
|
|
|
depends on HWMON
|
|
|
|
help
|
|
|
|
This driver allows access to Mellanox programmable device register
|
|
|
|
space through sysfs interface. The sets of registers for sysfs access
|
|
|
|
are defined per system type bases and include the registers related
|
|
|
|
to system resets operation, system reset causes monitoring and some
|
|
|
|
kinds of mux selection.
|
|
|
|
|
platform/mellanox: mlxreg-lc: Add initial support for Nvidia line card devices
Provide support for the Nvidia MSN4800-XX line cards for MSN4800
Ethernet modular switch system, providing a high performance switching
solution for Enterprise Data Centers (EDC) for building Ethernet based
clusters, High-Performance Computing (HPC) and embedded environments.
Initial version provides support for line card type MSN4800-C16. This
type of line card is equipped with:
- Lattice CPLD device, used for system and ports control.
- four Nvidia gearbox devices, used for port splitting.
- FPGA device, used for gearboxes management.
- 16x100G QSFP28 ports.
- hotpswap controllers, voltage regulators, analog-to-digital
convertors, nvram devices.
- status LED.
During initialization driver creates:
- line card's I2C tree through "i2c-mux-mlxcpd" driver.
- line card's LED objects through "leds-mlxreg" driver.
- line card's CPLD register space input / output "hwmon" attributes for
line control and monitoring through "mlxreg-io" driver. These
attributes provide CPLD and FPAG versioning, control for upgradable
components burning, NVRAM devices write protection, line card
revision, line card power consuming, line card reset cause
indication, etcetera.
Lattice CPLD device and nvram devices are feeding from auxiliary power
domain and accessible, when line card is powered off. These devices
are connected by line card driver probing routine, invoked after line
card security verification is done by hardware and event lc#n_verified
is received for line card located in slot #n.
Gearboxes, FPGA, hotpswap controllers, voltage regulators,
analog-to-digital convertors are feeding from main power domain. These
devices are connected after power good event "lc#n_powered" is received
for line card located in slot #n.
The driver 'mlxreg-lc' is driven by 'mlxreg-hotplug' driver following
relevant "hotplug" events.
Signed-off-by: Vadim Pasternak <vadimp@nvidia.com>
Reviewed-by: Michael Shych <michaelsh@nvidia.com>
Link: https://lore.kernel.org/r/20211002093238.3771419-8-vadimp@nvidia.com
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
2021-10-02 17:32:36 +08:00
|
|
|
config MLXREG_LC
|
|
|
|
tristate "Mellanox line card platform driver support"
|
|
|
|
depends on REGMAP
|
|
|
|
depends on HWMON
|
|
|
|
depends on I2C
|
|
|
|
help
|
|
|
|
This driver provides support for the Mellanox MSN4800-XX line cards,
|
|
|
|
which are the part of MSN4800 Ethernet modular switch systems
|
|
|
|
providing a high performance switching solution for Enterprise Data
|
|
|
|
Centers (EDC) for building Ethernet based clusters, High-Performance
|
|
|
|
Computing (HPC) and embedded environments.
|
|
|
|
|
2019-05-03 21:49:08 +08:00
|
|
|
config MLXBF_TMFIFO
|
|
|
|
tristate "Mellanox BlueField SoC TmFifo platform driver"
|
|
|
|
depends on ARM64
|
|
|
|
depends on ACPI
|
|
|
|
depends on VIRTIO_CONSOLE && VIRTIO_NET
|
|
|
|
help
|
|
|
|
Say y here to enable TmFifo support. The TmFifo driver provides
|
2019-11-20 21:40:09 +08:00
|
|
|
platform driver support for the TmFifo which supports console
|
|
|
|
and networking based on the virtio framework.
|
2019-05-03 21:49:08 +08:00
|
|
|
|
2019-10-07 23:48:46 +08:00
|
|
|
config MLXBF_BOOTCTL
|
|
|
|
tristate "Mellanox BlueField Firmware Boot Control driver"
|
|
|
|
depends on ARM64
|
|
|
|
depends on ACPI
|
|
|
|
help
|
2019-11-20 21:40:09 +08:00
|
|
|
The Mellanox BlueField firmware implements functionality to
|
|
|
|
request swapping the primary and alternate eMMC boot partition,
|
|
|
|
and to set up a watchdog that can undo that swap if the system
|
|
|
|
does not boot up correctly. This driver provides sysfs access
|
|
|
|
to the userspace tools, to be used in conjunction with the eMMC
|
|
|
|
device driver to do necessary initial swap of the boot partition.
|
2019-10-07 23:48:46 +08:00
|
|
|
|
2020-10-08 20:37:17 +08:00
|
|
|
config MLXBF_PMC
|
|
|
|
tristate "Mellanox BlueField Performance Monitoring Counters driver"
|
|
|
|
depends on ARM64
|
|
|
|
depends on HWMON
|
|
|
|
depends on ACPI
|
|
|
|
help
|
|
|
|
Say y here to enable PMC support. The PMC driver provides access
|
|
|
|
to performance monitoring counters within various blocks in the
|
|
|
|
Mellanox BlueField SoC via a sysfs interface.
|
|
|
|
|
2018-01-18 02:21:53 +08:00
|
|
|
endif # MELLANOX_PLATFORM
|