Re: [PATCH 1/4] dt-bindings: usb: typec-tcpci: add tcpci compatible binding

From: Marco Felsch
Date: Tue Feb 06 2024 - 10:09:57 EST


On 24-02-06, Krzysztof Kozlowski wrote:
> On 05/02/2024 17:43, Marco Felsch wrote:
> > This binding descripes the generic TCPCI specification [1]. So add the
>
> Typo: describes.

Argh.

> No, this binding describes PTN5110, not generic TCPCI. This is not
> accurate commit description.

This binding is currently missued if another TCPCI conform chip is used
which requires no special handling. I could have dropped this commit
since the 'tcpci' is already present at i2c-device-id level.

>
> > generic binding support since which can be used if an different TCPC is
> > used compatible which is compatible to [1].
>
> Sorry, cannot parse it. Please run it through native speaker, Google
> grammar check, ChatGPT or some other way.

Argh.. you're right, sorry. I will rephrase it.

> > [1] https://www.usb.org/sites/default/files/documents/usb-port_controller_specification_rev2.0_v1.0_0.pdf
> >
> > Signed-off-by: Marco Felsch <m.felsch@xxxxxxxxxxxxxx>
> > ---
> > Documentation/devicetree/bindings/usb/nxp,ptn5110.yaml | 4 +++-
> > 1 file changed, 3 insertions(+), 1 deletion(-)
> >
> > diff --git a/Documentation/devicetree/bindings/usb/nxp,ptn5110.yaml b/Documentation/devicetree/bindings/usb/nxp,ptn5110.yaml
> > index eaedb4cc6b6c..7bd7bbbac9e0 100644
> > --- a/Documentation/devicetree/bindings/usb/nxp,ptn5110.yaml
> > +++ b/Documentation/devicetree/bindings/usb/nxp,ptn5110.yaml
> > @@ -11,7 +11,9 @@ maintainers:
> >
> > properties:
> > compatible:
> > - const: nxp,ptn5110
> > + enum:
> > + - nxp,ptn5110
> > + - tcpci
>
> I don't think this is correct. First, this is binding for NXP chip, so
> why generic implementation should be here? I would expect it in its own
> dedicated binding.

The nxp,ptn5110 device was the first driver which implements an TCPCI
conform driver. The driver already support the tcpci binding for i2c-id
devices as I mentioned above. IMHO this whole binding (file) should be
converted and the nxp,ptn5110 compatible should be marked as deprecated.

> Second, we rarely want generic compatibles. Care to share more details?

As said above this particular NXP chip is an TCPCI conform chip. There
is nothing special about it. There are other vendors like OnSemi (in my
case) which implement also an TCPCI conform chip. The (Linux) driver
already binds to the generic tcpci compatible if the i2c-core falls back
to the i2c-device id. It's even more confusing that the i2c-id supports
only the generic binding the of-compatible support only the specifc one.

> Are all details expected to follow spec, without need of quirks?

Please see above, I hope this helps.

Regards,
Marco

>
> Best regards,
> Krzysztof
>
>