162306a36Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0-only
262306a36Sopenharmony_ci#
362306a36Sopenharmony_ci# RMI4 configuration
462306a36Sopenharmony_ci#
562306a36Sopenharmony_ciconfig RMI4_CORE
662306a36Sopenharmony_ci	tristate "Synaptics RMI4 bus support"
762306a36Sopenharmony_ci	select IRQ_DOMAIN
862306a36Sopenharmony_ci	help
962306a36Sopenharmony_ci	  Say Y here if you want to support the Synaptics RMI4 bus.  This is
1062306a36Sopenharmony_ci	  required for all RMI4 device support.
1162306a36Sopenharmony_ci
1262306a36Sopenharmony_ci	  If unsure, say Y.
1362306a36Sopenharmony_ci
1462306a36Sopenharmony_ciif RMI4_CORE
1562306a36Sopenharmony_ci
1662306a36Sopenharmony_ciconfig RMI4_I2C
1762306a36Sopenharmony_ci	tristate "RMI4 I2C Support"
1862306a36Sopenharmony_ci	depends on I2C
1962306a36Sopenharmony_ci	help
2062306a36Sopenharmony_ci	  Say Y here if you want to support RMI4 devices connected to an I2C
2162306a36Sopenharmony_ci	  bus.
2262306a36Sopenharmony_ci
2362306a36Sopenharmony_ci	  If unsure, say Y.
2462306a36Sopenharmony_ci
2562306a36Sopenharmony_ciconfig RMI4_SPI
2662306a36Sopenharmony_ci	tristate "RMI4 SPI Support"
2762306a36Sopenharmony_ci	depends on SPI
2862306a36Sopenharmony_ci	help
2962306a36Sopenharmony_ci	  Say Y here if you want to support RMI4 devices connected to a SPI
3062306a36Sopenharmony_ci	  bus.
3162306a36Sopenharmony_ci
3262306a36Sopenharmony_ci	  If unsure, say N.
3362306a36Sopenharmony_ci
3462306a36Sopenharmony_ciconfig RMI4_SMB
3562306a36Sopenharmony_ci	tristate "RMI4 SMB Support"
3662306a36Sopenharmony_ci	depends on I2C
3762306a36Sopenharmony_ci	help
3862306a36Sopenharmony_ci	  Say Y here if you want to support RMI4 devices connected to an SMB
3962306a36Sopenharmony_ci	  bus.
4062306a36Sopenharmony_ci
4162306a36Sopenharmony_ci	  If unsure, say N.
4262306a36Sopenharmony_ci
4362306a36Sopenharmony_ci	  To compile this driver as a module, choose M here: the module will be
4462306a36Sopenharmony_ci	  called rmi_smbus.
4562306a36Sopenharmony_ci
4662306a36Sopenharmony_ciconfig RMI4_F03
4762306a36Sopenharmony_ci	bool "RMI4 Function 03 (PS2 Guest)"
4862306a36Sopenharmony_ci	depends on RMI4_CORE
4962306a36Sopenharmony_ci	help
5062306a36Sopenharmony_ci	  Say Y here if you want to add support for RMI4 function 03.
5162306a36Sopenharmony_ci
5262306a36Sopenharmony_ci	  Function 03 provides PS2 guest support for RMI4 devices. This
5362306a36Sopenharmony_ci	  includes support for TrackPoints on TouchPads.
5462306a36Sopenharmony_ci
5562306a36Sopenharmony_ciconfig RMI4_F03_SERIO
5662306a36Sopenharmony_ci	tristate
5762306a36Sopenharmony_ci	depends on RMI4_CORE
5862306a36Sopenharmony_ci	depends on RMI4_F03
5962306a36Sopenharmony_ci	default RMI4_CORE
6062306a36Sopenharmony_ci	select SERIO
6162306a36Sopenharmony_ci
6262306a36Sopenharmony_ciconfig RMI4_2D_SENSOR
6362306a36Sopenharmony_ci	bool
6462306a36Sopenharmony_ci
6562306a36Sopenharmony_ciconfig RMI4_F11
6662306a36Sopenharmony_ci	bool "RMI4 Function 11 (2D pointing)"
6762306a36Sopenharmony_ci	select RMI4_2D_SENSOR
6862306a36Sopenharmony_ci	help
6962306a36Sopenharmony_ci	  Say Y here if you want to add support for RMI4 function 11.
7062306a36Sopenharmony_ci
7162306a36Sopenharmony_ci	  Function 11 provides 2D multifinger pointing for touchscreens and
7262306a36Sopenharmony_ci	  touchpads. For sensors that support relative pointing, F11 also
7362306a36Sopenharmony_ci	  provides mouse input.
7462306a36Sopenharmony_ci
7562306a36Sopenharmony_ciconfig RMI4_F12
7662306a36Sopenharmony_ci	bool "RMI4 Function 12 (2D pointing)"
7762306a36Sopenharmony_ci	select RMI4_2D_SENSOR
7862306a36Sopenharmony_ci	help
7962306a36Sopenharmony_ci	  Say Y here if you want to add support for RMI4 function 12.
8062306a36Sopenharmony_ci
8162306a36Sopenharmony_ci	  Function 12 provides 2D multifinger pointing for touchscreens and
8262306a36Sopenharmony_ci	  touchpads. For sensors that support relative pointing, F12 also
8362306a36Sopenharmony_ci	  provides mouse input.
8462306a36Sopenharmony_ci
8562306a36Sopenharmony_ciconfig RMI4_F30
8662306a36Sopenharmony_ci	bool "RMI4 Function 30 (GPIO LED)"
8762306a36Sopenharmony_ci	help
8862306a36Sopenharmony_ci	  Say Y here if you want to add support for RMI4 function 30.
8962306a36Sopenharmony_ci
9062306a36Sopenharmony_ci	  Function 30 provides GPIO and LED support for RMI4 devices. This
9162306a36Sopenharmony_ci	  includes support for buttons on TouchPads and ClickPads.
9262306a36Sopenharmony_ci
9362306a36Sopenharmony_ciconfig RMI4_F34
9462306a36Sopenharmony_ci	bool "RMI4 Function 34 (Device reflash)"
9562306a36Sopenharmony_ci	select FW_LOADER
9662306a36Sopenharmony_ci	help
9762306a36Sopenharmony_ci	  Say Y here if you want to add support for RMI4 function 34.
9862306a36Sopenharmony_ci
9962306a36Sopenharmony_ci	  Function 34 provides support for upgrading the firmware on the RMI4
10062306a36Sopenharmony_ci	  device via the firmware loader interface. This is triggered using a
10162306a36Sopenharmony_ci	  sysfs attribute.
10262306a36Sopenharmony_ci
10362306a36Sopenharmony_ciconfig RMI4_F3A
10462306a36Sopenharmony_ci	bool "RMI4 Function 3A (GPIO)"
10562306a36Sopenharmony_ci	help
10662306a36Sopenharmony_ci	  Say Y here if you want to add support for RMI4 function 3A.
10762306a36Sopenharmony_ci
10862306a36Sopenharmony_ci	  Function 3A provides GPIO support for RMI4 devices. This includes
10962306a36Sopenharmony_ci	  support for buttons on TouchPads and ClickPads.
11062306a36Sopenharmony_ci
11162306a36Sopenharmony_ciconfig RMI4_F54
11262306a36Sopenharmony_ci	bool "RMI4 Function 54 (Analog diagnostics)"
11362306a36Sopenharmony_ci	depends on VIDEO_DEV=y || (RMI4_CORE=m && VIDEO_DEV=m)
11462306a36Sopenharmony_ci	select VIDEOBUF2_VMALLOC
11562306a36Sopenharmony_ci	select RMI4_F55
11662306a36Sopenharmony_ci	help
11762306a36Sopenharmony_ci	  Say Y here if you want to add support for RMI4 function 54
11862306a36Sopenharmony_ci
11962306a36Sopenharmony_ci	  Function 54 provides access to various diagnostic features in certain
12062306a36Sopenharmony_ci	  RMI4 touch sensors.
12162306a36Sopenharmony_ci
12262306a36Sopenharmony_ciconfig RMI4_F55
12362306a36Sopenharmony_ci	bool "RMI4 Function 55 (Sensor tuning)"
12462306a36Sopenharmony_ci	help
12562306a36Sopenharmony_ci	  Say Y here if you want to add support for RMI4 function 55
12662306a36Sopenharmony_ci
12762306a36Sopenharmony_ci	  Function 55 provides access to the RMI4 touch sensor tuning
12862306a36Sopenharmony_ci	  mechanism.
12962306a36Sopenharmony_ci
13062306a36Sopenharmony_ciendif # RMI_CORE
131