linux/drivers/pinctrl/sunxi
Andre Przywara eaf84ff673 pinctrl: sunxi: a523: Remove unneeded IRQ remuxing flag
The Allwinner A10 and H3 SoCs cannot read the state of a GPIO line when
that line is muxed for IRQ triggering (muxval 6), but only if it's
explicitly muxed for GPIO input (muxval 0). Other SoCs do not show this
behaviour, so we added a optional workaround, triggered by a quirk bit,
which triggers remuxing the pin when it's configured for IRQ, while we
need to read its value.

For some reasons this quirk flag was copied over to newer SoCs, even
though they don't show this behaviour, and the GPIO data register
reflects the true GPIO state even with a pin muxed to IRQ trigger.

Remove the unneeded quirk from the A523 family, where it's definitely
not needed (confirmed by experiments), and where it actually breaks,
because the workaround is not compatible with the newer generation
pinctrl IP used in that chip.

Together with a DT change this fixes GPIO IRQ operation on the A523
family of SoCs, as for instance used for the SD card detection.

Signed-off-by: Andre Przywara <andre.przywara@arm.com>
Fixes: b8a51e95b3 ("pinctrl: sunxi: Add support for the secondary A523 GPIO ports")
Reviewed-by: Jernej Skrabec <jernej.skrabec@gmail.com>
Acked-by: Chen-Yu Tsai <wens@kernel.org>
Signed-off-by: Linus Walleij <linusw@kernel.org>
2026-06-11 13:47:52 +02:00
..
Kconfig pinctrl: sunxi: Add support for the secondary A523 GPIO ports 2025-03-13 14:48:57 +01:00
Makefile pinctrl: sunxi: Add support for the secondary A523 GPIO ports 2025-03-13 14:48:57 +01:00
pinctrl-sun4i-a10.c pinctrl: sunxi: refactor pinctrl variants into flags 2025-03-13 14:48:55 +01:00
pinctrl-sun5i.c pinctrl: sunxi: refactor pinctrl variants into flags 2025-03-13 14:48:55 +01:00
pinctrl-sun6i-a31-r.c pinctrl: Explicitly include correct DT includes 2023-07-20 21:41:24 +02:00
pinctrl-sun6i-a31.c pinctrl: sunxi: refactor pinctrl variants into flags 2025-03-13 14:48:55 +01:00
pinctrl-sun8i-a23-r.c pinctrl: Explicitly include correct DT includes 2023-07-20 21:41:24 +02:00
pinctrl-sun8i-a23.c pinctrl: Explicitly include correct DT includes 2023-07-20 21:41:24 +02:00
pinctrl-sun8i-a33.c pinctrl: Explicitly include correct DT includes 2023-07-20 21:41:24 +02:00
pinctrl-sun8i-a83t-r.c pinctrl: Explicitly include correct DT includes 2023-07-20 21:41:24 +02:00
pinctrl-sun8i-a83t.c pinctrl: Explicitly include correct DT includes 2023-07-20 21:41:24 +02:00
pinctrl-sun8i-h3-r.c pinctrl: Explicitly include correct DT includes 2023-07-20 21:41:24 +02:00
pinctrl-sun8i-h3.c pinctrl: Explicitly include correct DT includes 2023-07-20 21:41:24 +02:00
pinctrl-sun8i-v3s.c pinctrl: sunxi: v3s: Fix wrong comment about UART2 pinmux 2025-07-04 10:00:35 +02:00
pinctrl-sun9i-a80-r.c pinctrl: sunxi: sun9i-a80-r: drop driver owner assignment 2024-04-04 13:39:47 +02:00
pinctrl-sun9i-a80.c pinctrl: Explicitly include correct DT includes 2023-07-20 21:41:24 +02:00
pinctrl-sun20i-d1.c pinctrl: sunxi: refactor pinctrl variants into flags 2025-03-13 14:48:55 +01:00
pinctrl-sun50i-a64-r.c pinctrl: Explicitly include correct DT includes 2023-07-20 21:41:24 +02:00
pinctrl-sun50i-a64.c pinctrl: Explicitly include correct DT includes 2023-07-20 21:41:24 +02:00
pinctrl-sun50i-a100-r.c pinctrl: Explicitly include correct DT includes 2023-07-20 21:41:24 +02:00
pinctrl-sun50i-a100.c pinctrl: sunxi: add missed lvds pins for a100/a133 2025-01-13 15:29:23 +01:00
pinctrl-sun50i-h5.c pinctrl: Explicitly include correct DT includes 2023-07-20 21:41:24 +02:00
pinctrl-sun50i-h6-r.c pinctrl: Explicitly include correct DT includes 2023-07-20 21:41:24 +02:00
pinctrl-sun50i-h6.c pinctrl: Explicitly include correct DT includes 2023-07-20 21:41:24 +02:00
pinctrl-sun50i-h616-r.c pinctrl: Explicitly include correct DT includes 2023-07-20 21:41:24 +02:00
pinctrl-sun50i-h616.c pinctrl: sunxi: h616: add extra gpio banks 2023-09-25 15:26:33 +02:00
pinctrl-sun55i-a523-r.c pinctrl: sunxi: a523: Remove unneeded IRQ remuxing flag 2026-06-11 13:47:52 +02:00
pinctrl-sun55i-a523.c pinctrl: sunxi: a523: Remove unneeded IRQ remuxing flag 2026-06-11 13:47:52 +02:00
pinctrl-suniv-f1c100s.c pinctrl: Explicitly include correct DT includes 2023-07-20 21:41:24 +02:00
pinctrl-sunxi-dt.c pinctrl: Simplify printks with pOF format 2025-09-12 14:19:31 +02:00
pinctrl-sunxi.c pinctrl: sunxi: fix regulator leak in sunxi_pmx_request() error path 2026-05-05 11:25:46 +02:00
pinctrl-sunxi.h pinctrl: sunxi: fix gpiochip_lock_as_irq() failure when pinmux is unknown 2026-03-23 14:23:09 +01:00