GPADC Diagnostics and FAQ
- False key events: inspect floating inputs, resistor tolerance, reference-voltage variation, filter thresholds, and voltage spacing between keys.
- No event node: ensure the keypad channel and input dependencies are enabled and check probe errors.
- The value is always zero or full scale: verify pinmux, input range, and channel selection.
- Noisy samples: reduce source impedance, add hardware RC filtering, and use software averaging or debounce.
- Identification fails: ensure U-Boot/OpenSBI and the kernel use the same channel and threshold definitions.
dmesg | grep -i gpadc
cat /proc/bus/input/devices
cat /proc/interrupts | grep -i gpadc
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.