mirror of
https://github.com/raspberrypi/linux.git
synced 2025-12-06 01:49:46 +00:00
The logic to drive the data line high to implement a strong pullup assumed that the pin was already an output - setting a value does not change an input. See: https://github.com/raspberrypi/firmware/issues/1143 Signed-off-by: Phil Elwell <phil@raspberrypi.org> drivers: w1-gpio: add flag to force read-polling while delaying On Pi 5, the link to RP1 will bounce in and out of L1 depending on inactivity timers at both the RC and EP end. Unfortunately for bitbashing 1-wire, this means that on an otherwise idle Pi 5 many of the reads/writes to GPIO registers are delayed by up to 8us which causes mis-sampling of read data and trashes write bits. By issuing dummy reads at a rate greater than the link inactivity timeout while spinning on a delay, PCIe stays in L0 which does not incur additional latency. Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com> drivers: w1-gpio: Fixup uninitialised variable use in w1_gpio_probe Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>