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
91f976f69SVadim Pasternak	---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
221f976f69SVadim Pasternak	---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
371357dfd7SLiming Sunconfig MLXBF_TMFIFO
381357dfd7SLiming Sun	tristate "Mellanox BlueField SoC TmFifo platform driver"
391357dfd7SLiming Sun	depends on ARM64
401357dfd7SLiming Sun	depends on ACPI
411357dfd7SLiming Sun	depends on VIRTIO_CONSOLE && VIRTIO_NET
421357dfd7SLiming Sun	help
431357dfd7SLiming Sun	  Say y here to enable TmFifo support. The TmFifo driver provides
441357dfd7SLiming Sun          platform driver support for the TmFifo which supports console
451357dfd7SLiming Sun          and networking based on the virtio framework.
461357dfd7SLiming Sun
4779e29cb8SLiming Sunconfig MLXBF_BOOTCTL
4879e29cb8SLiming Sun	tristate "Mellanox BlueField Firmware Boot Control driver"
4979e29cb8SLiming Sun	depends on ARM64
5079e29cb8SLiming Sun	depends on ACPI
5179e29cb8SLiming Sun	help
5279e29cb8SLiming Sun          The Mellanox BlueField firmware implements functionality to
5379e29cb8SLiming Sun          request swapping the primary and alternate eMMC boot partition,
5479e29cb8SLiming Sun          and to set up a watchdog that can undo that swap if the system
5579e29cb8SLiming Sun          does not boot up correctly. This driver provides sysfs access
5679e29cb8SLiming Sun          to the userspace tools, to be used in conjunction with the eMMC
5779e29cb8SLiming Sun          device driver to do necessary initial swap of the boot partition.
5879e29cb8SLiming Sun
591f976f69SVadim Pasternakendif # MELLANOX_PLATFORM
60