zephyr/dts/bindings/input
Fabio Baltieri 1dd2307b3f input: gpio_qdec: add optical encoder support
Change the gpio_qdec driver to support optical encoders.

Add a property to use for defining an arbitrary number of GPIOs for the
sensing devices (typically infrared LEDs, but could also be the
biasing for the phototransistor), and one for adding a delay between
turning those on and reading the pin status.

The infrared LEDs typically consume a non negligible amount of power, so
there's also a new idle-poll-time-us property that enables two possible
modes of operation:

- if idle-poll-time-us is zero (default) the LEDs are enabled all the
  time and the driver enters polling mode using the GPIO interrupt as
  with mechanical encoders. This is usable for mains powered devices and
  has the lowest overhead on the CPU.

- if idle-poll-time-us is non zero, then the driver polls the encoder
  all the time, turning on the LEDs just before reading the state and
  shutting them off immediately after, but when the encoder is idle it
  switches the polling rate to idle-poll-time-us to save power, and only
  polls at sample-time-us when some movement is detected.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2024-01-23 09:45:57 -05:00
..
analog-axis.yaml drivers: input: add an analog-axis driver 2024-01-10 15:05:35 +01:00
espressif,esp32-touch-sensor.yaml driver: input: espressif touch_sensor 2023-12-11 18:31:38 +01:00
focaltech,ft5336.yaml
goodix,gt911.yaml
gpio-kbd-matrix.yaml input: gpio_kbd_matrix: add poll and scan mode support 2023-12-04 16:40:35 +00:00
gpio-keys.yaml input: gpio_keys: implement polling mode support 2024-01-10 18:21:49 +00:00
gpio-qdec.yaml input: gpio_qdec: add optical encoder support 2024-01-23 09:45:57 -05:00
hynitron,cst816s.yaml bindings: move cst816s and cap1203 to input 2023-10-04 16:05:05 +01:00
input-keymap.yaml input: add a keymap driver 2024-01-19 15:14:25 +00:00
ite,it8xxx2-kbd.yaml input: it8xxx2: use the generic keyboard code 2023-11-16 17:54:00 +01:00
kbd-matrix-common.yaml input: kbd_matrix: add actual-key-mask support 2023-12-06 09:16:45 +00:00
microchip,cap1203.yaml bindings: move cst816s and cap1203 to input 2023-10-04 16:05:05 +01:00
nuvoton,npcx-kbd.yaml input: kbd: make row and col size optional add extra macro 2023-11-15 11:41:25 +01:00
st,stmpe811.yaml
xptek,xpt2046.yaml
zephyr,input-longpress.yaml input: make short-inputs optional 2023-11-23 09:51:57 +00:00
zephyr,input-sdl-touch.yaml
zephyr,lvgl-button-input.yaml
zephyr,lvgl-common-input.yaml
zephyr,lvgl-encoder-input.yaml
zephyr,lvgl-keypad-input.yaml modules: lvgl: input: add zephyr,lvgl-keypad-input device binding 2023-12-06 09:15:50 +00:00
zephyr,lvgl-pointer-input.yaml
zephyr,native-linux-evdev.yaml input: add a linux-evdev device 2023-12-18 12:23:59 +01:00