[PATCH 1/3] dt-bindings: extcon: ptn5150: Describe the USB connector

Marek Vasut marex at denx.de
Sat Jan 13 14:06:25 PST 2024


On 12/12/23 12:27, Fabio Estevam wrote:
> From: Fabio Estevam <festevam at denx.de>
> 
> PTN5150 supports USB Type-C connector, so improve the bindings by
> allowing to describe the connector like it is done on nxp,ptn5110.yaml.
> 
> Signed-off-by: Fabio Estevam <festevam at denx.de>
> ---
>   Documentation/devicetree/bindings/extcon/extcon-ptn5150.yaml | 5 +++++
>   1 file changed, 5 insertions(+)
> 
> diff --git a/Documentation/devicetree/bindings/extcon/extcon-ptn5150.yaml b/Documentation/devicetree/bindings/extcon/extcon-ptn5150.yaml
> index d5cfa32ea52d..3837da7416e9 100644
> --- a/Documentation/devicetree/bindings/extcon/extcon-ptn5150.yaml
> +++ b/Documentation/devicetree/bindings/extcon/extcon-ptn5150.yaml
> @@ -37,6 +37,11 @@ properties:
>         GPIO pin (output) used to control VBUS. If skipped, no such control
>         takes place.
>   
> +  connector:
> +    type: object
> +    $ref: /schemas/connector/usb-connector.yaml#
> +    unevaluatedProperties: false
> +

If I read drivers/usb/roles/class.c usb_role_switch_get() implementation 
right, that function is doing an OF graph look up and expects a port {} 
subnode for that purpose. The drivers/extcon/extcon-ptn5150.c 
ptn5150_i2c_probe() calls usb_role_switch_get(), so I would expect the 
ptn5150 DT node should contain a port {} subnode, not a connector subnode.

I think that's what should be done here -- update this PTN5150 binding 
document and describe the port {} subnode. The two DT patches are not 
needed and are in fact wrong ; at least the PDK3 one breaks PDK3 USB-C 
operation as the usb_role_switch_get() look up fails in the PTN5150 
driver with that DT patch applied.



More information about the linux-arm-kernel mailing list