# SPDX-License-Identifier: GPL-2.0-only
#
# RMI4 configuration
#
config RMI4_CORE
	tristate "Synaptics RMI4 bus support"
	select IRQ_DOMAIN
	help
	  Say Y here if you want to support the Synaptics RMI4 bus.  This is
	  required for all RMI4 device support.

	  If unsure, say Y.

if RMI4_CORE

config RMI4_I2C
	tristate "RMI4 I2C Support"
	depends on I2C
	help
	  Say Y here if you want to support RMI4 devices connected to an I2C
	  bus.

	  If unsure, say Y.

config RMI4_SPI
	tristate "RMI4 SPI Support"
	depends on SPI
	help
	  Say Y here if you want to support RMI4 devices connected to a SPI
	  bus.

	  If unsure, say N.

config RMI4_SMB
	tristate "RMI4 SMB Support"
	depends on I2C
	help
	  Say Y here if you want to support RMI4 devices connected to an SMB
	  bus.

	  If unsure, say N.

	  To compile this driver as a module, choose M here: the module will be
	  called rmi_smbus.

config RMI4_F03
	bool "RMI4 Function 03 (PS2 Guest)"
	depends on RMI4_CORE
	help
	  Say Y here if you want to add support for RMI4 function 03.

	  Function 03 provides PS2 guest support for RMI4 devices. This
	  includes support for TrackPoints on TouchPads.

config RMI4_F03_SERIO
	tristate
	depends on RMI4_CORE
	depends on RMI4_F03
	default RMI4_CORE
	select SERIO

config RMI4_2D_SENSOR
	bool

config RMI4_F11
	bool "RMI4 Function 11 (2D pointing)"
	select RMI4_2D_SENSOR
	help
	  Say Y here if you want to add support for RMI4 function 11.

	  Function 11 provides 2D multifinger pointing for touchscreens and
	  touchpads. For sensors that support relative pointing, F11 also
	  provides mouse input.

config RMI4_F12
	bool "RMI4 Function 12 (2D pointing)"
	select RMI4_2D_SENSOR
	help
	  Say Y here if you want to add support for RMI4 function 12.

	  Function 12 provides 2D multifinger pointing for touchscreens and
	  touchpads. For sensors that support relative pointing, F12 also
	  provides mouse input.

config RMI4_F30
	bool "RMI4 Function 30 (GPIO LED)"
	help
	  Say Y here if you want to add support for RMI4 function 30.

	  Function 30 provides GPIO and LED support for RMI4 devices. This
	  includes support for buttons on TouchPads and ClickPads.

config RMI4_F34
	bool "RMI4 Function 34 (Device reflash)"
	select FW_LOADER
	help
	  Say Y here if you want to add support for RMI4 function 34.

	  Function 34 provides support for upgrading the firmware on the RMI4
	  device via the firmware loader interface. This is triggered using a
	  sysfs attribute.

config RMI4_F3A
	bool "RMI4 Function 3A (GPIO)"
	help
	  Say Y here if you want to add support for RMI4 function 3A.

	  Function 3A provides GPIO support for RMI4 devices. This includes
	  support for buttons on TouchPads and ClickPads.

config RMI4_F54
	bool "RMI4 Function 54 (Analog diagnostics)"
	depends on VIDEO_DEV=y || (RMI4_CORE=m && VIDEO_DEV=m)
	select VIDEOBUF2_VMALLOC
	select RMI4_F55
	help
	  Say Y here if you want to add support for RMI4 function 54

	  Function 54 provides access to various diagnostic features in certain
	  RMI4 touch sensors.

config RMI4_F55
	bool "RMI4 Function 55 (Sensor tuning)"
	help
	  Say Y here if you want to add support for RMI4 function 55

	  Function 55 provides access to the RMI4 touch sensor tuning
	  mechanism.

endif # RMI_CORE