zephyr/drivers/input
Fabio Baltieri 01be4aff40 input: gpio_qdec: add power management support
Add power management support to the gpio-qdec driver.

This is a bit complicated by the fact that the driver has two modes of
operation and the interrupt, timer and idle work ineract with each
other.

The suspend sequence is:
- set the suspended bit (inhibits the poll timer so that it does not
  resubmit the idle work)
- cancel the idle work (so that it does not schedule and re-set the
  interrupt or timers)
- disable interrupts (if used)
- stop the sampling timer
- disconnect the pins

The resume sequence is more or less the opposite.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2024-02-02 12:43:12 +01:00
..
CMakeLists.txt drivers: input: add an analog-axis driver 2024-01-10 15:05:35 +01:00
input_analog_axis.c drivers: input: add an analog-axis driver 2024-01-10 15:05:35 +01:00
input_analog_axis_settings.c drivers: input: add an analog-axis driver 2024-01-10 15:05:35 +01:00
input_cap1203.c drivers: gpio: use gpio_is_ready_dt helper function 2023-08-28 08:48:35 -05:00
input_cst816s.c input: cst816s: simplify the reset code 2023-11-06 08:50:33 +00:00
input_esp32_touch_sensor.c driver: input: espressif touch_sensor 2023-12-11 18:31:38 +01:00
input_ft5336.c input: ft5336: add suspend and resume support 2023-12-15 11:32:56 +00:00
input_gpio_kbd_matrix.c input: gpio_kbd_matrix: use edge-to-active interrupt 2023-12-18 12:25:19 +01:00
input_gpio_keys.c input: gpio_keys: implement polling mode support 2024-01-10 18:21:49 +00:00
input_gpio_qdec.c input: gpio_qdec: add power management support 2024-02-02 12:43:12 +01:00
input_gt911.c posix: Fix name collision with __bswap 2024-01-10 18:13:44 +00:00
input_ite_it8xxx2_kbd.c input: gpio_kbd_matrix: define a type for the row data 2023-11-22 09:52:39 +01:00
input_kbd_matrix.c input: kbd_matrix: fail gracefully if changing an undefined key mask 2024-01-04 18:40:10 +00:00
input_npcx_kbd.c input: npcx_kbd: setup the interrupt to falling edge only 2023-12-20 18:07:43 +00:00
input_sdl_touch.c input SDL: Split in top and bottom 2023-07-06 16:04:15 +02:00
input_sdl_touch_bottom.c input SDL: Split in top and bottom 2023-07-06 16:04:15 +02:00
input_sdl_touch_bottom.h input SDL: Split in top and bottom 2023-07-06 16:04:15 +02:00
input_stmpe811.c drivers: input: add driver for stmpe811 i2c touch controller 2023-09-22 09:29:56 +02:00
input_xpt2046.c drivers: input: add few missing gpio_add_callback return check 2023-07-19 09:18:38 +00:00
Kconfig drivers: input: add an analog-axis driver 2024-01-10 15:05:35 +01:00
Kconfig.analog_axis drivers: input: add an analog-axis driver 2024-01-10 15:05:35 +01:00
Kconfig.cap1203 input: convert cap1203 from kscan 2023-07-25 11:25:51 +02:00
Kconfig.cst816s input: convert cst816s from kscan 2023-07-18 08:55:26 -05:00
Kconfig.esp32 driver: input: espressif touch_sensor 2023-12-11 18:31:38 +01:00
Kconfig.evdev drivers: input: depend on multithreading on drivers using a thread 2024-01-09 11:27:44 +00:00
Kconfig.ft5336 drivers: input: ft5336: Add support for reset GPIO and FT3267 IC 2023-07-25 09:08:59 +02:00
Kconfig.gpio_kbd_matrix input: add a gpio based keyboard matrix driver 2023-11-15 11:41:25 +01:00
Kconfig.gpio_keys drivers: input: drop the zephyr,gpio-keys binding 2023-08-07 11:26:26 +02:00
Kconfig.gpio_qdec input: add a gpio qdec input driver 2023-06-22 10:46:15 +02:00
Kconfig.gt911 input: convert gt911 from kscan 2023-07-13 14:24:50 +00:00
Kconfig.it8xxx2 drivers: input: depend on multithreading on drivers using a thread 2024-01-09 11:27:44 +00:00
Kconfig.kbd_matrix drivers: input: depend on multithreading on drivers using a thread 2024-01-09 11:27:44 +00:00
Kconfig.npcx drivers: input: depend on multithreading on drivers using a thread 2024-01-09 11:27:44 +00:00
Kconfig.sdl input: convert the kscan_sdl driver from kscan to input 2023-04-11 09:34:23 +02:00
Kconfig.stmpe811 drivers: input: add driver for stmpe811 i2c touch controller 2023-09-22 09:29:56 +02:00
Kconfig.xpt2046 input: convert xpt2046 from kscan 2023-06-27 12:17:06 +00:00
linux_evdev.c input: use K_KERNEL_STACK_SIZEOF to set the thread stack size 2023-12-23 09:59:28 +00:00
linux_evdev_bottom.c input: add a linux-evdev device 2023-12-18 12:23:59 +01:00
linux_evdev_bottom.h input: add a linux-evdev device 2023-12-18 12:23:59 +01:00