GPIO Diagnostics and FAQ
gpio_requestorgpiod_getfails: check whether another device owns the pin.- The level does not change: verify that the pin is not still muxed to UART, PWM, SPI, or another function.
- An interrupt fires continuously: verify polarity, external pulls, signal duration, and debounce settings.
- The level is wrong after suspend: inspect the
defaultandsleepstates and the power domain. - Insufficient drive capability: use a valid
drive-strengthfrom the SoC manual instead of blindly selecting the maximum.
dmesg | grep -Ei 'gpio|pinctrl|irq'
cat /proc/interrupts
mount -t debugfs none /sys/kernel/debug 2>/dev/null || true
cat /sys/kernel/debug/gpio
General diagnostic order
- Schematic and power.
- Node and pinctrl in the final DTB.
- Final
.configand modules. - Probe, clock, reset, and IRQ logs.
- Device node and sysfs/debugfs.
- Minimal functional test.
- Stress, suspend, and abnormal hot-plug tests.
Do not treat the removal of an error log as a fix. Find the first failure and validate its upstream and downstream dependencies.