[PATCH v5 0/3] Rework TPS25990 direct conversions and add TPS1689 support

From: Stoyan Bogdanov

Date: Mon Jul 27 2026 - 21:59:10 EST


This series reworks the TPS25990 PMBus driver and adds TPS1689 support.
Both devices share most internal functionality, differing mainly in
supported voltage and current operating ranges.

Link to v4 at [2]

v5:
- Simplify implementation and remove calculations from the driver, as
they are not needed and were implemented incorrectly. Thanks Guenter
for taking the time to explain.
- Drop pmbus API changes, as they are not actually needed.
- Add conditioning to separate TPS1689 and TPS25990 by chip_id in
tps25990_read_word_data() and tps25990_write_word_data() for
PMBUS_VIN_OV_FAULT_LIMIT and PMBUS_IIN_OC_FAULT_LIMIT. The TPS1689
value is not 4-bit, so it does not need adjusting. Keep the current
adjustment logic only for TPS25990.

Link to V4 at [2]

v5:
- Simplify implementaion and remove calculatinos from driver as not needed
and being implemented in wrong manner. Thanks Gunter for explaination.
- Drop pmbus api changes, as they are not actually needed.
- Add conditioning to separate TPS1689 and TPS25990 by chip_id in
tps25990_read_word_data and tps25990_write_word_data.
TPS1689 value is on 4bit so it does not need adjusting. Keep only
current implementaion for TPS25990

Link to V3 at [1]

v4:
- Fix non-devicetree support as reported by Guenter Roeck
- Rework direct conversion handling to use exported PMBus core helpers
instead of driver-local implementations
- Update dt-bindings commit message and ti,tps25990.yaml
- Clarify commit messages to better reflect the final implementation
- Add and export direct conversion helpers from pmbus_core
- Eliminate duplicated conversion code in the driver

V3:
- Fix error detected from kernel test bot regarding division

Tests:
- Test builds for x86_64, arm64, i386
- Retest driver on arm64
- Validate driver direct conversion functions manualy


V2:
- Fix error detected from kernel test bot
- Add Acked-by to dt-bindings commit
- Drop "support" from dt-bindings commit subject

[1] https://lore.kernel.org/all/20260217081203.1792025-1-sbogdanov@xxxxxxxxxxxx/
[2] https://lore.kernel.org/all/20260522082349.2749970-1-sbogdanov@xxxxxxxxxxxx/

Stoyan Bogdanov (3):
hwmon: (pmbus/tps25990): Rework driver for multi-device support
dt-bindings: hwmon: pmbus/tps25990: Add TPS1689
hwmon: (pmbus/tps25990): Add TPS1689 support

.../bindings/hwmon/pmbus/ti,tps25990.yaml | 8 +-
Documentation/hwmon/tps25990.rst | 15 +-
drivers/hwmon/pmbus/tps25990.c | 219 ++++++++++++------
3 files changed, 166 insertions(+), 76 deletions(-)

--
2.43.0