11f976f69SVadim Pasternak# SPDX-License-Identifier: GPL-2.0
21f976f69SVadim Pasternak#
31f976f69SVadim Pasternak# Platform support for Mellanox hardware
41f976f69SVadim Pasternak#
51f976f69SVadim Pasternak
61f976f69SVadim Pasternakmenuconfig MELLANOX_PLATFORM
71f976f69SVadim Pasternak	bool "Platform support for Mellanox hardware"
81357dfd7SLiming Sun	depends on X86 || ARM || ARM64 || COMPILE_TEST
9a7f7f624SMasahiro Yamada	help
101f976f69SVadim Pasternak	  Say Y here to get to see options for platform support for
111f976f69SVadim Pasternak	  Mellanox systems. This option alone does not add any kernel code.
121f976f69SVadim Pasternak
131f976f69SVadim Pasternak	  If you say N, all options in this submenu will be skipped and disabled.
141f976f69SVadim Pasternak
151f976f69SVadim Pasternakif MELLANOX_PLATFORM
161f976f69SVadim Pasternak
171f976f69SVadim Pasternakconfig MLXREG_HOTPLUG
181f976f69SVadim Pasternak	tristate "Mellanox platform hotplug driver support"
19c6acad68SVadim Pasternak	depends on REGMAP
201f976f69SVadim Pasternak	depends on HWMON
211f976f69SVadim Pasternak	depends on I2C
22a7f7f624SMasahiro Yamada	help
231f976f69SVadim Pasternak	  This driver handles hot-plug events for the power suppliers, power
241f976f69SVadim Pasternak	  cables and fans on the wide range Mellanox IB and Ethernet systems.
251f976f69SVadim Pasternak
265ec4a8acSVadim Pasternakconfig MLXREG_IO
275ec4a8acSVadim Pasternak	tristate "Mellanox platform register access driver support"
285ec4a8acSVadim Pasternak	depends on REGMAP
295ec4a8acSVadim Pasternak	depends on HWMON
305ec4a8acSVadim Pasternak	help
315ec4a8acSVadim Pasternak	  This driver allows access to Mellanox programmable device register
325ec4a8acSVadim Pasternak	  space through sysfs interface. The sets of registers for sysfs access
335ec4a8acSVadim Pasternak	  are defined per system type bases and include the registers related
345ec4a8acSVadim Pasternak	  to system resets operation, system reset causes monitoring and some
355ec4a8acSVadim Pasternak	  kinds of mux selection.
365ec4a8acSVadim Pasternak
3762f9529bSVadim Pasternakconfig MLXREG_LC
3862f9529bSVadim Pasternak	tristate "Mellanox line card platform driver support"
3962f9529bSVadim Pasternak	depends on REGMAP
4062f9529bSVadim Pasternak	depends on HWMON
4162f9529bSVadim Pasternak	depends on I2C
4262f9529bSVadim Pasternak	help
4362f9529bSVadim Pasternak	  This driver provides support for the Mellanox MSN4800-XX line cards,
4462f9529bSVadim Pasternak	  which are the part of MSN4800 Ethernet modular switch systems
4562f9529bSVadim Pasternak	  providing a high performance switching solution for Enterprise Data
4662f9529bSVadim Pasternak	  Centers (EDC) for building Ethernet based clusters, High-Performance
4762f9529bSVadim Pasternak	  Computing (HPC) and embedded environments.
4862f9529bSVadim Pasternak
491357dfd7SLiming Sunconfig MLXBF_TMFIFO
501357dfd7SLiming Sun	tristate "Mellanox BlueField SoC TmFifo platform driver"
511357dfd7SLiming Sun	depends on ARM64
521357dfd7SLiming Sun	depends on ACPI
531357dfd7SLiming Sun	depends on VIRTIO_CONSOLE && VIRTIO_NET
541357dfd7SLiming Sun	help
551357dfd7SLiming Sun	  Say y here to enable TmFifo support. The TmFifo driver provides
561357dfd7SLiming Sun	  platform driver support for the TmFifo which supports console
571357dfd7SLiming Sun	  and networking based on the virtio framework.
581357dfd7SLiming Sun
5979e29cb8SLiming Sunconfig MLXBF_BOOTCTL
6079e29cb8SLiming Sun	tristate "Mellanox BlueField Firmware Boot Control driver"
6179e29cb8SLiming Sun	depends on ARM64
6279e29cb8SLiming Sun	depends on ACPI
6379e29cb8SLiming Sun	help
6479e29cb8SLiming Sun	  The Mellanox BlueField firmware implements functionality to
6579e29cb8SLiming Sun	  request swapping the primary and alternate eMMC boot partition,
6679e29cb8SLiming Sun	  and to set up a watchdog that can undo that swap if the system
6779e29cb8SLiming Sun	  does not boot up correctly. This driver provides sysfs access
6879e29cb8SLiming Sun	  to the userspace tools, to be used in conjunction with the eMMC
6979e29cb8SLiming Sun	  device driver to do necessary initial swap of the boot partition.
7079e29cb8SLiming Sun
711a218d31SShravan Kumar Ramaniconfig MLXBF_PMC
721a218d31SShravan Kumar Ramani	tristate "Mellanox BlueField Performance Monitoring Counters driver"
731a218d31SShravan Kumar Ramani	depends on ARM64
741a218d31SShravan Kumar Ramani	depends on HWMON
751a218d31SShravan Kumar Ramani	depends on ACPI
761a218d31SShravan Kumar Ramani	help
771a218d31SShravan Kumar Ramani	  Say y here to enable PMC support. The PMC driver provides access
781a218d31SShravan Kumar Ramani	  to performance monitoring counters within various blocks in the
791a218d31SShravan Kumar Ramani	  Mellanox BlueField SoC via a sysfs interface.
801a218d31SShravan Kumar Ramani
81662f2482SMichael Shychconfig NVSW_SN2201
82662f2482SMichael Shych	tristate "Nvidia SN2201 platform driver support"
83662f2482SMichael Shych	depends on REGMAP
84662f2482SMichael Shych	depends on HWMON
85662f2482SMichael Shych	depends on I2C
86662f2482SMichael Shych	depends on REGMAP_I2C
87662f2482SMichael Shych	help
88*a4c934d7SGeert Uytterhoeven	  This driver provides support for the Nvidia SN2201 platform.
89662f2482SMichael Shych	  The SN2201 is a highly integrated for one rack unit system with
90662f2482SMichael Shych	  L3 management switches. It has 48 x 1Gbps RJ45 + 4 x 100G QSFP28
91662f2482SMichael Shych	  ports in a compact 1RU form factor. The system also including a
92662f2482SMichael Shych	  serial port (RS-232 interface), an OOB port (1G/100M MDI interface)
93662f2482SMichael Shych	  and USB ports for management functions.
94662f2482SMichael Shych	  The processor used on SN2201 is Intel Atom®Processor C Series,
95662f2482SMichael Shych	  C3338R which is one of the Denverton product families.
96662f2482SMichael Shych	  System equipped with Nvidia®Spectrum-1 32x100GbE Ethernet switch.
97662f2482SMichael Shych
981f976f69SVadim Pasternakendif # MELLANOX_PLATFORM
99