18c2ecf20Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0
28c2ecf20Sopenharmony_ci#
38c2ecf20Sopenharmony_ci# Platform support for Mellanox hardware
48c2ecf20Sopenharmony_ci#
58c2ecf20Sopenharmony_ci
68c2ecf20Sopenharmony_cimenuconfig MELLANOX_PLATFORM
78c2ecf20Sopenharmony_ci	bool "Platform support for Mellanox hardware"
88c2ecf20Sopenharmony_ci	depends on X86 || ARM || ARM64 || COMPILE_TEST
98c2ecf20Sopenharmony_ci	help
108c2ecf20Sopenharmony_ci	  Say Y here to get to see options for platform support for
118c2ecf20Sopenharmony_ci	  Mellanox systems. This option alone does not add any kernel code.
128c2ecf20Sopenharmony_ci
138c2ecf20Sopenharmony_ci	  If you say N, all options in this submenu will be skipped and disabled.
148c2ecf20Sopenharmony_ci
158c2ecf20Sopenharmony_ciif MELLANOX_PLATFORM
168c2ecf20Sopenharmony_ci
178c2ecf20Sopenharmony_ciconfig MLXREG_HOTPLUG
188c2ecf20Sopenharmony_ci	tristate "Mellanox platform hotplug driver support"
198c2ecf20Sopenharmony_ci	depends on REGMAP
208c2ecf20Sopenharmony_ci	depends on HWMON
218c2ecf20Sopenharmony_ci	depends on I2C
228c2ecf20Sopenharmony_ci	help
238c2ecf20Sopenharmony_ci	  This driver handles hot-plug events for the power suppliers, power
248c2ecf20Sopenharmony_ci	  cables and fans on the wide range Mellanox IB and Ethernet systems.
258c2ecf20Sopenharmony_ci
268c2ecf20Sopenharmony_ciconfig MLXREG_IO
278c2ecf20Sopenharmony_ci	tristate "Mellanox platform register access driver support"
288c2ecf20Sopenharmony_ci	depends on REGMAP
298c2ecf20Sopenharmony_ci	depends on HWMON
308c2ecf20Sopenharmony_ci	help
318c2ecf20Sopenharmony_ci	  This driver allows access to Mellanox programmable device register
328c2ecf20Sopenharmony_ci	  space through sysfs interface. The sets of registers for sysfs access
338c2ecf20Sopenharmony_ci	  are defined per system type bases and include the registers related
348c2ecf20Sopenharmony_ci	  to system resets operation, system reset causes monitoring and some
358c2ecf20Sopenharmony_ci	  kinds of mux selection.
368c2ecf20Sopenharmony_ci
378c2ecf20Sopenharmony_ciconfig MLXBF_TMFIFO
388c2ecf20Sopenharmony_ci	tristate "Mellanox BlueField SoC TmFifo platform driver"
398c2ecf20Sopenharmony_ci	depends on ARM64
408c2ecf20Sopenharmony_ci	depends on ACPI
418c2ecf20Sopenharmony_ci	depends on VIRTIO_CONSOLE && VIRTIO_NET
428c2ecf20Sopenharmony_ci	help
438c2ecf20Sopenharmony_ci	  Say y here to enable TmFifo support. The TmFifo driver provides
448c2ecf20Sopenharmony_ci	  platform driver support for the TmFifo which supports console
458c2ecf20Sopenharmony_ci	  and networking based on the virtio framework.
468c2ecf20Sopenharmony_ci
478c2ecf20Sopenharmony_ciconfig MLXBF_BOOTCTL
488c2ecf20Sopenharmony_ci	tristate "Mellanox BlueField Firmware Boot Control driver"
498c2ecf20Sopenharmony_ci	depends on ARM64
508c2ecf20Sopenharmony_ci	depends on ACPI
518c2ecf20Sopenharmony_ci	depends on NET
528c2ecf20Sopenharmony_ci	help
538c2ecf20Sopenharmony_ci	  The Mellanox BlueField firmware implements functionality to
548c2ecf20Sopenharmony_ci	  request swapping the primary and alternate eMMC boot partition,
558c2ecf20Sopenharmony_ci	  and to set up a watchdog that can undo that swap if the system
568c2ecf20Sopenharmony_ci	  does not boot up correctly. This driver provides sysfs access
578c2ecf20Sopenharmony_ci	  to the userspace tools, to be used in conjunction with the eMMC
588c2ecf20Sopenharmony_ci	  device driver to do necessary initial swap of the boot partition.
598c2ecf20Sopenharmony_ci
608c2ecf20Sopenharmony_ciendif # MELLANOX_PLATFORM
61