diff options
author | Lars-Peter Clausen <lars@metafoo.de> | 2023-03-12 09:03:12 -0700 |
---|---|---|
committer | Guenter Roeck <linux@roeck-us.net> | 2023-03-12 14:05:40 -0700 |
commit | 8d655e65237643c48ada2c131b83679bf1105373 (patch) | |
tree | 2a757ac3ba75bfaff1de7532d4dca5d20073eaca /drivers/usb/cdns3/cdns3-debug.h | |
parent | c93f5e2ab53243b17febabb9422a697017d3d49a (diff) |
hwmon: (ucd90320) Add minimum delay between bus accesses
When probing the ucd90320 access to some of the registers randomly fails.
Sometimes it NACKs a transfer, sometimes it returns just random data and
the PEC check fails.
Experimentation shows that this seems to be triggered by a register access
directly back to back with a previous register write. Experimentation also
shows that inserting a small delay after register writes makes the issue go
away.
Use a similar solution to what the max15301 driver does to solve the same
problem. Create a custom set of bus read and write functions that make sure
that the delay is added.
Fixes: a470f11c5ba2 ("hwmon: (pmbus/ucd9000) Add support for UCD90320 Power Sequencer")
Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Link: https://lore.kernel.org/r/20230312160312.2227405-1-lars@metafoo.de
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
Diffstat (limited to 'drivers/usb/cdns3/cdns3-debug.h')
0 files changed, 0 insertions, 0 deletions