Re: [PATCH v4 09/18] dt-bindings: usb: Add Qualcomm PMIC TCPM YAML schema

Krzysztof Kozlowski
2023-03-19T15:10:16Z

On 19/03/2023 15:59, Bryan O'Donoghue wrote:
> On 19/03/2023 11:58, Krzysztof Kozlowski wrote:
>>> +
>>> +maintainers:
>>> + - Bryan O'Donoghue<bryan.odonoghue@linaro.org>
>>> +
>>> +description: |
>>> + Qualcomm PMIC Virtual Type-C Port Manager Driver
>>> + A virtual device which manages Qualcomm PMIC provided Type-C port and
>>> + Power Delivery in one place.
>> OK, so it looks like bindings for driver, so a no-go. Unless there is
>> such device as "manager", this does not look like hardware description.
>>
>>> +
>>> +properties:
>>> + compatible:
>>> + const: qcom,pmic-virt-tcpm
>>> +
>>> + connector:
>>> + type: object
>>> + $ref: /schemas/connector/usb-connector.yaml#
>>> + unevaluatedProperties: false
>>> +
>>> + port:
>>> + $ref: /schemas/graph.yaml#/properties/port
>>> + description:
>>> + Contains a port which consumes data-role switching messages.
>>> +
>>> + qcom,pmic-typec:
>>> + $ref: /schemas/types.yaml#/definitions/phandle
>>> + description:
>>> + A phandle to the typec port hardware driver.
>>> +
>>> + qcom,pmic-pdphy:
>>> + $ref: /schemas/types.yaml#/definitions/phandle
>> Having typec and phy as phandles - not children - also suggests this is
>> some software construct, not hardware description.
>
> So probably I didn't interpret Rob's comment correctly here.

He proposed to merge it with other node:
"probably merged with
one of the nodes these phandles point to."

"Why can't most of this binding be part of"

I don't see how you implemented his comments. Actually, nothing improved
here in this regard - you still have these phandles.

>
> For a pure software device - a virtual device - there should be no dts
> representation at all - not even at the firmware{}, chosen{}, rpm{}

By software we interpret here HLOS, so Linux. Firmware is FW, thus not
software in that context. rpm{} is some firmware on some processor.

You wrote here bindings/nodes for a Linux driver.

> level, it wouldn't be possible/acceptable to have a tcpm {} with a
> compat pointing to the two phandles I have here ?

What is tcpm? Linux driver? Then not. You cannot have device nodes for a
Linux driver.

Best regards,
Krzysztof