gpio: tps65219: add GPIO support for TPS65219 PMIC
authorJerome Neanne <jneanne@baylibre.com>
Wed, 7 Jun 2023 14:39:31 +0000 (16:39 +0200)
committerBartosz Golaszewski <bartosz.golaszewski@linaro.org>
Tue, 13 Jun 2023 12:49:56 +0000 (14:49 +0200)
commit57e30e00bd5baacdf99450d69981ec9192592e3c
tree703f485e9a4c08fae9aad5a3577f7753eddec226
parentf5691439353783ef114876849c70d2a641e09498
gpio: tps65219: add GPIO support for TPS65219 PMIC

Add support for TPS65219 PMICs GPIO interface.

3 GPIO pins:
- GPIO0 only is IO but input mode reserved for MULTI_DEVICE_ENABLE usage.
- GPIO1 and GPIO2 are Output only and referred as GPO1 and GPO2 in spec.

GPIO0 is statically configured as input or output prior to Linux boot.
it is used for MULTI_DEVICE_ENABLE function.
This setting is statically configured by NVM.
GPIO0 can't be used as a generic GPIO (specification Table 8-34).
It's either a GPO when MULTI_DEVICE_EN=0 or a GPI when MULTI_DEVICE_EN=1.

Datasheet describes specific usage for non standard GPIO.

Datasheet: https://www.ti.com/lit/ds/symlink/tps65219.pdf
Co-developed-by: Jonathan Cormier <jcormier@criticallink.com>
Signed-off-by: Jonathan Cormier <jcormier@criticallink.com>
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Jerome Neanne <jneanne@baylibre.com>
Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com>
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
MAINTAINERS
drivers/gpio/Kconfig
drivers/gpio/Makefile
drivers/gpio/gpio-tps65219.c [new file with mode: 0644]