]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
gpio: Support ROHM BD72720 gpios
authorMatti Vaittinen <mazziesaccount@gmail.com>
Mon, 15 Dec 2025 13:20:24 +0000 (15:20 +0200)
committerLee Jones <lee@kernel.org>
Tue, 13 Jan 2026 12:50:08 +0000 (12:50 +0000)
commit6b367741e01430947f66ad863bfc1e57ad42b7bc
tree1de9342dce78e267acf62e2d1901902ca5eb19cc
parentf16a9d76a71df5038fc8e6dae44caa1e5e76b041
gpio: Support ROHM BD72720 gpios

The ROHM BD72720 has 6 pins which may be configured as GPIOs. The
GPIO1 ... GPIO5 and EPDEN pins. The configuration is done to OTP at the
manufacturing, and it can't be read at runtime. The device-tree is
required to tell the software which of the pins are used as GPIOs.

Keep the pin mapping static regardless the OTP. This way the user-space
can always access the BASE+N for GPIO(N+1) (N = 0 to 4), and BASE + 5
for the EPDEN pin. Do this by setting always the number of GPIOs to 6,
and by using the valid-mask to invalidate the pins which aren't configured
as GPIOs.

First two pins can be set to be either input or output by OTP. Direction
can't be changed by software. Rest of the pins can be set as outputs
only. All of the pins support generating interrupts.

Support the Input/Output state getting/setting and the output mode
configuration (open-drain/push-pull).

Signed-off-by: Matti Vaittinen <mazziesaccount@gmail.com>
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Acked-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
Link: https://patch.msgid.link/22e095ca92f0677ca3d3a768ad749629fc3c2006.1765804226.git.mazziesaccount@gmail.com
Signed-off-by: Lee Jones <lee@kernel.org>
drivers/gpio/Kconfig
drivers/gpio/Makefile
drivers/gpio/gpio-bd72720.c [new file with mode: 0644]