^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1) # SPDX-License-Identifier: GPL-2.0-only
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2) #
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3) # RMI4 configuration
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4) #
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 5) config RMI4_CORE
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 6) tristate "Synaptics RMI4 bus support"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 7) select IRQ_DOMAIN
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 8) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 9) Say Y here if you want to support the Synaptics RMI4 bus. This is
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 10) required for all RMI4 device support.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 11)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 12) If unsure, say Y.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 13)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 14) if RMI4_CORE
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 15)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 16) config RMI4_I2C
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 17) tristate "RMI4 I2C Support"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 18) depends on I2C
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 19) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 20) Say Y here if you want to support RMI4 devices connected to an I2C
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 21) bus.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 22)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 23) If unsure, say Y.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 24)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 25) config RMI4_SPI
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 26) tristate "RMI4 SPI Support"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 27) depends on SPI
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 28) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 29) Say Y here if you want to support RMI4 devices connected to a SPI
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 30) bus.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 31)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 32) If unsure, say N.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 33)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 34) config RMI4_SMB
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 35) tristate "RMI4 SMB Support"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 36) depends on I2C
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 37) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 38) Say Y here if you want to support RMI4 devices connected to an SMB
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 39) bus.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 40)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 41) If unsure, say N.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 42)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 43) To compile this driver as a module, choose M here: the module will be
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 44) called rmi_smbus.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 45)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 46) config RMI4_F03
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 47) bool "RMI4 Function 03 (PS2 Guest)"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 48) depends on RMI4_CORE
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 49) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 50) Say Y here if you want to add support for RMI4 function 03.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 51)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 52) Function 03 provides PS2 guest support for RMI4 devices. This
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 53) includes support for TrackPoints on TouchPads.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 54)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 55) config RMI4_F03_SERIO
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 56) tristate
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 57) depends on RMI4_CORE
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 58) depends on RMI4_F03
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 59) default RMI4_CORE
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 60) select SERIO
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 61)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 62) config RMI4_2D_SENSOR
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 63) bool
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 64)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 65) config RMI4_F11
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 66) bool "RMI4 Function 11 (2D pointing)"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 67) select RMI4_2D_SENSOR
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 68) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 69) Say Y here if you want to add support for RMI4 function 11.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 70)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 71) Function 11 provides 2D multifinger pointing for touchscreens and
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 72) touchpads. For sensors that support relative pointing, F11 also
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 73) provides mouse input.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 74)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 75) config RMI4_F12
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 76) bool "RMI4 Function 12 (2D pointing)"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 77) select RMI4_2D_SENSOR
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 78) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 79) Say Y here if you want to add support for RMI4 function 12.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 80)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 81) Function 12 provides 2D multifinger pointing for touchscreens and
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 82) touchpads. For sensors that support relative pointing, F12 also
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 83) provides mouse input.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 84)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 85) config RMI4_F30
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 86) bool "RMI4 Function 30 (GPIO LED)"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 87) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 88) Say Y here if you want to add support for RMI4 function 30.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 89)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 90) Function 30 provides GPIO and LED support for RMI4 devices. This
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 91) includes support for buttons on TouchPads and ClickPads.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 92)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 93) config RMI4_F34
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 94) bool "RMI4 Function 34 (Device reflash)"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 95) select FW_LOADER
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 96) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 97) Say Y here if you want to add support for RMI4 function 34.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 98)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 99) Function 34 provides support for upgrading the firmware on the RMI4
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 100) device via the firmware loader interface. This is triggered using a
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 101) sysfs attribute.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 102)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 103) config RMI4_F3A
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 104) bool "RMI4 Function 3A (GPIO)"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 105) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 106) Say Y here if you want to add support for RMI4 function 3A.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 107)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 108) Function 3A provides GPIO support for RMI4 devices. This includes
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 109) support for buttons on TouchPads and ClickPads.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 110)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 111) config RMI4_F54
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 112) bool "RMI4 Function 54 (Analog diagnostics)"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 113) depends on VIDEO_V4L2=y || (RMI4_CORE=m && VIDEO_V4L2=m)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 114) select VIDEOBUF2_VMALLOC
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 115) select RMI4_F55
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 116) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 117) Say Y here if you want to add support for RMI4 function 54
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 118)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 119) Function 54 provides access to various diagnostic features in certain
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 120) RMI4 touch sensors.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 121)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 122) config RMI4_F55
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 123) bool "RMI4 Function 55 (Sensor tuning)"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 124) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 125) Say Y here if you want to add support for RMI4 function 55
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 126)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 127) Function 55 provides access to the RMI4 touch sensor tuning
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 128) mechanism.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 129)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 130) endif # RMI_CORE