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:
parent
a87c811ec9
commit
d4023b3c1b
34 changed files with 416 additions and 211 deletions
|
@ -14,6 +14,7 @@
|
|||
#include <device.h>
|
||||
#include <soc.h>
|
||||
#include <drivers/gpio.h>
|
||||
#include <dt-bindings/gpio/andestech-atcgpio100.h>
|
||||
#include <sys/util.h>
|
||||
#include <sys/sys_io.h>
|
||||
|
||||
|
@ -140,7 +141,7 @@ static int gpio_atcgpio100_config(const struct device *port,
|
|||
key = k_spin_lock(&data->lock);
|
||||
|
||||
/* Set de-bounce */
|
||||
if (flags & GPIO_INT_DEBOUNCE) {
|
||||
if (flags & ATCGPIO100_GPIO_DEBOUNCE) {
|
||||
/* Default settings: Filter out pulses which are
|
||||
* less than 4 de-bounce clock period
|
||||
*/
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue