diff options
author | Michael Walle <mwalle@kernel.org> | 2025-07-01 10:25:31 +0200 |
---|---|---|
committer | Francesco Dolcini <francesco.dolcini@toradex.com> | 2025-07-01 10:34:49 +0200 |
commit | 96cb22e66deeacafd5534dfd65aebd0928de3217 (patch) | |
tree | 4fbd7ff6a38d9af3ed9ed79ca53d9d9d46b21c1d /scripts/gcc-plugins/gcc-generate-rtl-pass.h | |
parent | d3b98676825bb53210379d0fe151ccf177d0a031 (diff) |
arm64: dts: ti: k3-am62p: fix pinctrl settings
It appears that pinctrl-single is misused on this SoC to control both
the mux and the input and output and bias settings. This results in
non-working pinctrl configurations for GPIOs within the device tree.
This is what happens:
(1) During startup the pinctrl settings are applied according to the
device tree. I.e. the pin is configured as output and with
pull-ups enabled.
(2) During startup a device driver requests a GPIO.
(3) pinctrl-single is applying the default GPIO setting according to
the pinctrl-single,gpio-range property.
This would work as expected if the pinctrl-single is only controlling
the function mux, but it also controls the input/output buffer enable,
the pull-up and pull-down settings etc (pinctrl-single,function-mask
covers the entire pad setting instead of just the mux field).
Remove the pinctrl-single,gpio-range property, so that no settings are
applied during a gpio_request() call.
Upstream-Status: Backport [33bab9d84e52188cf73c3573fd7cf3ec0e01d007]
Fixes: d72d73a44c3c ("arm64: dts: ti: k3-am62p: Add gpio-ranges properties")
Signed-off-by: Michael Walle <mwalle@kernel.org>
Link: https://lore.kernel.org/r/20250221091447.595199-1-mwalle@kernel.org
Signed-off-by: Vignesh Raghavendra <vigneshr@ti.com>
Signed-off-by: Francesco Dolcini <francesco.dolcini@toradex.com>
Diffstat (limited to 'scripts/gcc-plugins/gcc-generate-rtl-pass.h')
0 files changed, 0 insertions, 0 deletions