162306a36Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0 262306a36Sopenharmony_ci# 362306a36Sopenharmony_ci# Platform support for Mellanox hardware 462306a36Sopenharmony_ci# 562306a36Sopenharmony_ci 662306a36Sopenharmony_cimenuconfig MELLANOX_PLATFORM 762306a36Sopenharmony_ci bool "Platform support for Mellanox hardware" 862306a36Sopenharmony_ci depends on X86 || ARM || ARM64 || COMPILE_TEST 962306a36Sopenharmony_ci help 1062306a36Sopenharmony_ci Say Y here to get to see options for platform support for 1162306a36Sopenharmony_ci Mellanox systems. This option alone does not add any kernel code. 1262306a36Sopenharmony_ci 1362306a36Sopenharmony_ci If you say N, all options in this submenu will be skipped and disabled. 1462306a36Sopenharmony_ci 1562306a36Sopenharmony_ciif MELLANOX_PLATFORM 1662306a36Sopenharmony_ci 1762306a36Sopenharmony_ciconfig MLXREG_HOTPLUG 1862306a36Sopenharmony_ci tristate "Mellanox platform hotplug driver support" 1962306a36Sopenharmony_ci depends on HWMON 2062306a36Sopenharmony_ci depends on I2C 2162306a36Sopenharmony_ci select REGMAP 2262306a36Sopenharmony_ci help 2362306a36Sopenharmony_ci This driver handles hot-plug events for the power suppliers, power 2462306a36Sopenharmony_ci cables and fans on the wide range Mellanox IB and Ethernet systems. 2562306a36Sopenharmony_ci 2662306a36Sopenharmony_ciconfig MLXREG_IO 2762306a36Sopenharmony_ci tristate "Mellanox platform register access driver support" 2862306a36Sopenharmony_ci depends on HWMON 2962306a36Sopenharmony_ci select REGMAP 3062306a36Sopenharmony_ci help 3162306a36Sopenharmony_ci This driver allows access to Mellanox programmable device register 3262306a36Sopenharmony_ci space through sysfs interface. The sets of registers for sysfs access 3362306a36Sopenharmony_ci are defined per system type bases and include the registers related 3462306a36Sopenharmony_ci to system resets operation, system reset causes monitoring and some 3562306a36Sopenharmony_ci kinds of mux selection. 3662306a36Sopenharmony_ci 3762306a36Sopenharmony_ciconfig MLXREG_LC 3862306a36Sopenharmony_ci tristate "Mellanox line card platform driver support" 3962306a36Sopenharmony_ci depends on HWMON 4062306a36Sopenharmony_ci depends on I2C 4162306a36Sopenharmony_ci select REGMAP 4262306a36Sopenharmony_ci help 4362306a36Sopenharmony_ci This driver provides support for the Mellanox MSN4800-XX line cards, 4462306a36Sopenharmony_ci which are the part of MSN4800 Ethernet modular switch systems 4562306a36Sopenharmony_ci providing a high performance switching solution for Enterprise Data 4662306a36Sopenharmony_ci Centers (EDC) for building Ethernet based clusters, High-Performance 4762306a36Sopenharmony_ci Computing (HPC) and embedded environments. 4862306a36Sopenharmony_ci 4962306a36Sopenharmony_ciconfig MLXBF_TMFIFO 5062306a36Sopenharmony_ci tristate "Mellanox BlueField SoC TmFifo platform driver" 5162306a36Sopenharmony_ci depends on ARM64 5262306a36Sopenharmony_ci depends on ACPI 5362306a36Sopenharmony_ci depends on VIRTIO_CONSOLE && VIRTIO_NET 5462306a36Sopenharmony_ci help 5562306a36Sopenharmony_ci Say y here to enable TmFifo support. The TmFifo driver provides 5662306a36Sopenharmony_ci platform driver support for the TmFifo which supports console 5762306a36Sopenharmony_ci and networking based on the virtio framework. 5862306a36Sopenharmony_ci 5962306a36Sopenharmony_ciconfig MLXBF_BOOTCTL 6062306a36Sopenharmony_ci tristate "Mellanox BlueField Firmware Boot Control driver" 6162306a36Sopenharmony_ci depends on ARM64 6262306a36Sopenharmony_ci depends on ACPI 6362306a36Sopenharmony_ci depends on NET 6462306a36Sopenharmony_ci help 6562306a36Sopenharmony_ci The Mellanox BlueField firmware implements functionality to 6662306a36Sopenharmony_ci request swapping the primary and alternate eMMC boot partition, 6762306a36Sopenharmony_ci and to set up a watchdog that can undo that swap if the system 6862306a36Sopenharmony_ci does not boot up correctly. This driver provides sysfs access 6962306a36Sopenharmony_ci to the userspace tools, to be used in conjunction with the eMMC 7062306a36Sopenharmony_ci device driver to do necessary initial swap of the boot partition. 7162306a36Sopenharmony_ci 7262306a36Sopenharmony_ciconfig MLXBF_PMC 7362306a36Sopenharmony_ci tristate "Mellanox BlueField Performance Monitoring Counters driver" 7462306a36Sopenharmony_ci depends on ARM64 7562306a36Sopenharmony_ci depends on HWMON 7662306a36Sopenharmony_ci depends on ACPI 7762306a36Sopenharmony_ci help 7862306a36Sopenharmony_ci Say y here to enable PMC support. The PMC driver provides access 7962306a36Sopenharmony_ci to performance monitoring counters within various blocks in the 8062306a36Sopenharmony_ci Mellanox BlueField SoC via a sysfs interface. 8162306a36Sopenharmony_ci 8262306a36Sopenharmony_ciconfig NVSW_SN2201 8362306a36Sopenharmony_ci tristate "Nvidia SN2201 platform driver support" 8462306a36Sopenharmony_ci depends on HWMON && I2C 8562306a36Sopenharmony_ci depends on ACPI || COMPILE_TEST 8662306a36Sopenharmony_ci select REGMAP_I2C 8762306a36Sopenharmony_ci help 8862306a36Sopenharmony_ci This driver provides support for the Nvidia SN2201 platform. 8962306a36Sopenharmony_ci The SN2201 is a highly integrated for one rack unit system with 9062306a36Sopenharmony_ci L3 management switches. It has 48 x 1Gbps RJ45 + 4 x 100G QSFP28 9162306a36Sopenharmony_ci ports in a compact 1RU form factor. The system also including a 9262306a36Sopenharmony_ci serial port (RS-232 interface), an OOB port (1G/100M MDI interface) 9362306a36Sopenharmony_ci and USB ports for management functions. 9462306a36Sopenharmony_ci The processor used on SN2201 is Intel Atom®Processor C Series, 9562306a36Sopenharmony_ci C3338R which is one of the Denverton product families. 9662306a36Sopenharmony_ci System equipped with Nvidia®Spectrum-1 32x100GbE Ethernet switch. 9762306a36Sopenharmony_ci 9862306a36Sopenharmony_ciendif # MELLANOX_PLATFORM 99