drivers: gpio: move non-standard dts flags to be soc specific

Reserve the upper 8 bits of gpio_dt_flags_t for SoC specific flags and
move the non-standard, hardware-specific GPIO devicetree flags (IO
voltage level, drive strength, debounce filter) from the generic
dt-bindings/gpio/gpio.h header to SoC specific dt-bindings headers.

Some of the SoC specific dt-bindings flags take up more bits than
necessary in order to retain backwards compatibility with the deprecated
GPIO flags. The width of these fields can be reduced/optimized once the
deprecated flags are removed.

Remove hardcoded use of GPIO_INT_DEBOUNCE in GPIO client drivers. This
flag can now be set in the devicetree for boards/SoCs with debounce
filter support. The SoC specific debounce flags have had the _INT part
of their name removed since these flag must be passed to
gpio_pin_configure(), not gpio_pin_interrupt_configure().

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
This commit is contained in:
Henrik Brix Andersen 2021-10-27 14:52:31 +02:00 committed by Anas Nashif
commit d4023b3c1b
34 changed files with 416 additions and 211 deletions

View file

@ -369,8 +369,7 @@ void SX127xIoIrqInit(DioIrqHandler **irqHandlers)
k_work_init(&dev_data.dio_work[i], sx127x_dio_work_handle);
gpio_pin_configure_dt(&sx127x_dios[i],
GPIO_INPUT | GPIO_INT_DEBOUNCE);
gpio_pin_configure_dt(&sx127x_dios[i], GPIO_INPUT);
gpio_init_callback(&callbacks[i],
sx127x_irq_callback,