Re: [PATCH v2 1/4] dt-bindings: mfd: Add TI TPS6594 PMIC

From: Krzysztof Kozlowski
Date: Tue Mar 21 2023 - 03:36:25 EST


On 20/03/2023 17:35, Julien Panis wrote:
>
>
> On 3/20/23 16:53, Rob Herring wrote:
>> On Wed, Mar 15, 2023 at 12:07:33PM +0100, Julien Panis wrote:
>>> TPS6594 is a Power Management IC which provides regulators and others
>>> features like GPIOs, RTC, watchdog, ESMs (Error Signal Monitor), and
>>> PFSM (Pre-configurable Finite State Machine) managing the state of the
>>> device.
>>> TPS6594 is the super-set device while TPS6593 and LP8764X are derivatives.
>> As mentioned, the binding needs to be complete. It's missing GPIO at
>> least. RTC and watchdog may or may not need binding changes.
>
> Thank you for your feedback.
>
> About GPIO, do you speak about 'gpio-controller'
> and/or '#gpio-cells' properties ?

Yes.

> For RTC (and for watchdog, once the driver will be
> implemented), our driver do not require any node
> to work. What could make an explicit instantiation
> necessary in DT ?

Properties from RTC schema, e.g. start-year, wakeup etc.
>>> + ti,spmi-controller:
>>> + type: boolean
>>> + description: |
>>> + Identify the primary PMIC on SPMI bus.
>> Perhaps the property name should include 'primary' and 'pmic'.
>> Otherwise, it looks like it is just marked as 'a SPMI controller'.
>
> Including 'primary' and 'pmic' will be more understandable indeed.
> I will change that in v3.
>
>>
>>
>>> + A multi-PMIC synchronization scheme is implemented in the PMIC device
>>> + to synchronize the power state changes with other PMIC devices. This is
>>> + accomplished through a SPMI bus: the primary PMIC is the controller
>>> + device on the SPMI bus, and the secondary PMICs are the target devices
>>> + on the SPMI bus.
>> Is this a TI specific feature?
>
> I don't think so. I will double-check that.
> If not, shall I remove the 'ti,' prefix ?

Somehow reminds me qcom,bus-id, but the wording and code are not exactly
the same. The question here is whether this is generic feature of all
SPMI devices or PMICs, or device specific. If it is generic, then naming
and type should be chosen a bit more carefully and then indeed skip
"ti," prefix.

>
>>
>>> +
>>> + system-power-controller: true
>>> +
>>> + interrupts:
>>> + maxItems: 1
>>> +
>>> + ti,multi-phase-id:
>>> + description: |
>>> + Describes buck multi-phase configuration, if any. For instance, XY id means
>>> + that outputs of buck converters X and Y are combined in multi-phase mode.
>>> + $ref: /schemas/types.yaml#/definitions/uint32
>>> + enum: [12, 34, 123, 1234]
>> coupled regulator stuff doesn't work here?
>
> Coupled regulator stuff works here.
> Is it also necessary to specify some 'allOf' logic here to ensure
> that mutual exclusions described below (for regulators) will be
> applied ?

None of other regulators do it but you could add something.


Best regards,
Krzysztof