Re: [PATCH v2 3/3] hwmon: (pmbus/tps53679) Add support for TPS536C7

From: Guenter Roeck

Date: Wed Sep 16 2026 - 11:50:44 EST


On Tue, Sep 15, 2026 at 04:48:46PM +0000, Pradhan, Sanman wrote:
> From: Sanman Pradhan <psanman@xxxxxxxxxxx>
>
> TPS536C7 is a dual-channel D-CAP+ step-down controller whose channels are
> distributed across a configurable number of phases (N+M, up to 12 total).
> Whether channel B (PMBus page 1) exists depends on the phase configuration
> register, so the page count is derived at probe time.
>
> Factor the TPS53676 phase-map parsing into a shared helper and reuse it
> for TPS536C7. Only aggregate per-channel telemetry is exposed: leave
> info->phases[] unset so the PMBus core never programs the PHASE selector
> on every read (and because TPS536C7 can place up to 12 phases on channel
> A, exceeding PMBUS_PHASES). Report VOUT in linear format like TPS53676.
>
> Since the core never programs PHASE, set it to 0xff on each populated
> page so READ_IOUT reports the aggregate channel current, and verify it
> (PHASE can be write-protected). Fail identification if aggregate
> selection cannot be established, since otherwise a single phase current
> could be reported as the channel total.
>
> A configuration with no channel-A phase is rejected with -EOPNOTSUPP:
> the PMBus core models pages as the contiguous range 0..pages-1 and
> cannot represent a channel-A-absent topology.
>
> On the tested TPS536C7 (device ID 54 49 53 6c 70 00, CAPABILITY 0xd0),
> block reads of IC_DEVICE_ID and USER_DATA_03 return -EBADMSG with PEC
> enabled, while retrying those two reads without PEC returns the expected
> 6- and 24-byte payloads. Standard byte/word telemetry keeps using PEC,
> so only those two identification reads fall back to no-PEC.
>
> Co-developed-by: Senthil Muniyappan <smuniyappan@xxxxxxxxxxx>
> Co-developed-by: Vaibhav Agarwal <avaibhav@xxxxxxxxxxx>
> Signed-off-by: Sanman Pradhan <psanman@xxxxxxxxxxx>

Applied.

Thanks,
Guenter