u-boot/include/asm-generic
Patrick Delaunay 477ca57b9a gpio: add support of new GPIO direction flag
This commit manages the new dir flags that can be used in gpio
specifiers to indicate the pull-up or pull-down resistor
configuration for output gpio (GPIO_PULL_UP, GPIO_PULL_DOWN)
or the Open Drain/Open Source configuration for input gpio
(GPIO_OPEN_DRAIN, GPIO_OPEN_SOURCE).

These flags are already supported in Linux kernel in gpio lib.

This patch only parse and save the direction flags in GPIO
descriptor (desc->flags), it prepares the introduction of new ops
to manage them.
The GPIO uclass supports new GPIO flags from device-tree
(GPIO_XXX define in include/dt-bindings/gpio/gpio.h)
and translate them in the dir flags (GPIOD_XXX):
- GPIO_PULL_UP     => GPIOD_PULL_UP
- GPIO_PULL_DOWN   => GPIOD_PULL_DOWN
- GPIO_OPEN_DRAIN  => GPIOD_OPEN_DRAIN
- GPIO_OPEN_SOURCE => GPIOD_OPEN_SOURCE

This patch also adds protection in the check_dir_flags function for
new invalid configuration of the dir flags.

Signed-off-by: Patrick Delaunay <patrick.delaunay@st.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
2020-04-16 23:06:54 -04:00
..
bitops include: Add generic bitops headers 2015-11-05 10:51:57 -05:00
atomic-long.h atomic-long: Fix warnings on arm64 2018-01-28 09:39:05 -05:00
atomic.h Add include/asm-generic/atomic.h 2018-09-25 21:49:18 -04:00
bitsperlong.h linux/bitops.h: GENMASK copy from linux 2015-10-21 09:14:07 -04:00
global_data.h global_data.h: make <asm-generic/global_data.h> self-contained 2020-03-16 12:49:09 -04:00
gpio.h gpio: add support of new GPIO direction flag 2020-04-16 23:06:54 -04:00
int-ll64.h arch: types.h: factor out fixed width typedefs to int-ll64.h 2018-09-10 20:48:16 -04:00
io.h SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
ioctl.h x86: Fix support for booting bzImage 2010-05-06 00:17:01 +02:00
pe.h efi_loader: use predefined constants in crt0_*_efi.S 2019-07-16 22:17:14 +00:00
sections.h Include missing headers for asm-generic/sections.h 2020-01-15 19:50:31 -05:00
signal.h asm-generic/signal.h: import from linux 2010-01-17 20:36:05 -05:00
types.h arch: types.h: factor out fixed width typedefs to int-ll64.h 2018-09-10 20:48:16 -04:00
u-boot.h asm-generic/u-boot.h: make <asm-generic/u-boot.h> self-contained 2020-03-16 16:42:33 -04:00
unaligned.h efi_loader: allow unaligned memory access 2018-06-03 15:27:21 +02:00