mirror of
https://github.com/raspberrypi/linux.git
synced 2025-12-25 19:42:19 +00:00
RP1 exposes GPIOs. Add a pinctrl driver to allow control of those.
Signed-off-by: Phil Elwell <phil@raspberrypi.com>
pinctrl: rp1: Use the correct per-bank GPIO base
The GPIO start for each bank - min_gpio - must be used in the IRQ
handler.
Signed-off-by: Phil Elwell <phil@raspberrypi.com>
pinctrl: rp1: Allow legacy brcm,pins on all banks
Support the use of the brcm,pins property for GPIOs in banks 1 and 2,
but only for inputs and outputs - no other legacy mapping.
Signed-off-by: Phil Elwell <phil@raspberrypi.com>
pinctrl: rp1: Support interrupt CPU affinity
See: https://github.com/raspberrypi/linux/issues/6077
Signed-off-by: Phil Elwell <phil@raspberrypi.com>
pinctrl: rp1: Clear events when setting IRQ type
When setting the interrupt type, it is unlikely that any latched events
are of interest, so clear them.
Signed-off-by: Phil Elwell <phil@raspberrypi.com>
pinctrl: rp1: Add strict_gpiod module parameter
Setting strict_gpiod to Y makes libgpiod and the gpiod utilities behave
as documented, i.e. pins are returned to being GPIO inputs when they are
released.
Signed-off-by: Phil Elwell <phil@raspberrypi.com>
pinctrl: rp1: Use persist_gpio_outputs
Following 8ff05989b4, adopt the same
parameter name but with the opposite default.
Signed-off-by: Phil Elwell <phil@raspberrypi.com>