2023-04-25 03:41:20

by Bjorn Andersson

[permalink] [raw]
Subject: [PATCH 1/7] dt-bindings: phy: qcom,sc8280xp-qmp-usb43dp: Add ports and orientation-switch

The QMP combo phy can be connected to a TCPM, a USB controller and a
DisplayPort controller for handling USB Type-C orientation switching
and propagating HPD signals.

Extend the binding to allow these connections to be described.

Signed-off-by: Bjorn Andersson <[email protected]>
---
.../phy/qcom,sc8280xp-qmp-usb43dp-phy.yaml | 51 +++++++++++++++++++
1 file changed, 51 insertions(+)

diff --git a/Documentation/devicetree/bindings/phy/qcom,sc8280xp-qmp-usb43dp-phy.yaml b/Documentation/devicetree/bindings/phy/qcom,sc8280xp-qmp-usb43dp-phy.yaml
index 3cd5fc3e8fab..c037ac90ce7f 100644
--- a/Documentation/devicetree/bindings/phy/qcom,sc8280xp-qmp-usb43dp-phy.yaml
+++ b/Documentation/devicetree/bindings/phy/qcom,sc8280xp-qmp-usb43dp-phy.yaml
@@ -60,6 +60,26 @@ properties:
description:
See include/dt-bindings/dt-bindings/phy/phy-qcom-qmp.h

+ orientation-switch:
+ description:
+ Flag the PHY as possible handler of USB Type-C orientation switching
+ type: boolean
+
+ ports:
+ $ref: /schemas/graph.yaml#/properties/ports
+ properties:
+ port@0:
+ $ref: /schemas/graph.yaml#/properties/port
+ description: Output endpoint of the PHY
+
+ port@1:
+ $ref: /schemas/graph.yaml#/$defs/port-base
+ description: Incoming endpoint from the USB controller
+
+ port@2:
+ $ref: /schemas/graph.yaml#/$defs/port-base
+ description: Incoming endpoint from the DisplayPort controller
+
required:
- compatible
- reg
@@ -98,6 +118,37 @@ examples:
vdda-phy-supply = <&vreg_l9d>;
vdda-pll-supply = <&vreg_l4d>;

+ orientation-switch;
+
#clock-cells = <1>;
#phy-cells = <1>;
+
+ ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ port@0 {
+ reg = <0>;
+
+ endpoint {
+ remote-endpoint = <&typec_connector_ss>;
+ };
+ };
+
+ port@1 {
+ reg = <1>;
+
+ endpoint {
+ remote-endpoint = <&dwc3_ss_out>;
+ };
+ };
+
+ port@2 {
+ reg = <2>;
+
+ endpoint {
+ remote-endpoint = <&mdss_dp_out>;
+ };
+ };
+ };
};
--
2.39.2


2023-04-25 19:09:32

by Rob Herring (Arm)

[permalink] [raw]
Subject: Re: [PATCH 1/7] dt-bindings: phy: qcom,sc8280xp-qmp-usb43dp: Add ports and orientation-switch

On Mon, Apr 24, 2023 at 08:40:04PM -0700, Bjorn Andersson wrote:
> The QMP combo phy can be connected to a TCPM, a USB controller and a
> DisplayPort controller for handling USB Type-C orientation switching
> and propagating HPD signals.
>
> Extend the binding to allow these connections to be described.
>
> Signed-off-by: Bjorn Andersson <[email protected]>
> ---
> .../phy/qcom,sc8280xp-qmp-usb43dp-phy.yaml | 51 +++++++++++++++++++
> 1 file changed, 51 insertions(+)
>
> diff --git a/Documentation/devicetree/bindings/phy/qcom,sc8280xp-qmp-usb43dp-phy.yaml b/Documentation/devicetree/bindings/phy/qcom,sc8280xp-qmp-usb43dp-phy.yaml
> index 3cd5fc3e8fab..c037ac90ce7f 100644
> --- a/Documentation/devicetree/bindings/phy/qcom,sc8280xp-qmp-usb43dp-phy.yaml
> +++ b/Documentation/devicetree/bindings/phy/qcom,sc8280xp-qmp-usb43dp-phy.yaml
> @@ -60,6 +60,26 @@ properties:
> description:
> See include/dt-bindings/dt-bindings/phy/phy-qcom-qmp.h
>
> + orientation-switch:
> + description:
> + Flag the PHY as possible handler of USB Type-C orientation switching
> + type: boolean
> +
> + ports:
> + $ref: /schemas/graph.yaml#/properties/ports
> + properties:
> + port@0:
> + $ref: /schemas/graph.yaml#/properties/port
> + description: Output endpoint of the PHY
> +
> + port@1:
> + $ref: /schemas/graph.yaml#/$defs/port-base

'port-base' means you have extra properties to add. Where are they? It
also needs 'unevaluatedProperties: false'.

> + description: Incoming endpoint from the USB controller
> +
> + port@2:
> + $ref: /schemas/graph.yaml#/$defs/port-base
> + description: Incoming endpoint from the DisplayPort controller
> +
> required:
> - compatible
> - reg
> @@ -98,6 +118,37 @@ examples:
> vdda-phy-supply = <&vreg_l9d>;
> vdda-pll-supply = <&vreg_l4d>;
>
> + orientation-switch;
> +
> #clock-cells = <1>;
> #phy-cells = <1>;
> +
> + ports {
> + #address-cells = <1>;
> + #size-cells = <0>;
> +
> + port@0 {
> + reg = <0>;
> +
> + endpoint {
> + remote-endpoint = <&typec_connector_ss>;
> + };
> + };
> +
> + port@1 {
> + reg = <1>;
> +
> + endpoint {
> + remote-endpoint = <&dwc3_ss_out>;
> + };
> + };
> +
> + port@2 {
> + reg = <2>;
> +
> + endpoint {
> + remote-endpoint = <&mdss_dp_out>;
> + };
> + };
> + };
> };
> --
> 2.39.2
>

2023-04-26 10:26:31

by Bryan O'Donoghue

[permalink] [raw]
Subject: Re: [PATCH 1/7] dt-bindings: phy: qcom,sc8280xp-qmp-usb43dp: Add ports and orientation-switch

On Tue, Apr 25, 2023 at 4:40 AM Bjorn Andersson
<[email protected]> wrote:
>
> The QMP combo phy can be connected to a TCPM, a USB controller and a
> DisplayPort controller for handling USB Type-C orientation switching
> and propagating HPD signals.
>
> Extend the binding to allow these connections to be described.
>
> Signed-off-by: Bjorn Andersson <[email protected]>
> ---
> .../phy/qcom,sc8280xp-qmp-usb43dp-phy.yaml | 51 +++++++++++++++++++
> 1 file changed, 51 insertions(+)
>
> diff --git a/Documentation/devicetree/bindings/phy/qcom,sc8280xp-qmp-usb43dp-phy.yaml b/Documentation/devicetree/bindings/phy/qcom,sc8280xp-qmp-usb43dp-phy.yaml
> index 3cd5fc3e8fab..c037ac90ce7f 100644
> --- a/Documentation/devicetree/bindings/phy/qcom,sc8280xp-qmp-usb43dp-phy.yaml
> +++ b/Documentation/devicetree/bindings/phy/qcom,sc8280xp-qmp-usb43dp-phy.yaml
> @@ -60,6 +60,26 @@ properties:
> description:
> See include/dt-bindings/dt-bindings/phy/phy-qcom-qmp.h
>
> + orientation-switch:
> + description:
> + Flag the PHY as possible handler of USB Type-C orientation switching
> + type: boolean
> +
> + ports:
> + $ref: /schemas/graph.yaml#/properties/ports
> + properties:
> + port@0:
> + $ref: /schemas/graph.yaml#/properties/port
> + description: Output endpoint of the PHY
> +
> + port@1:
> + $ref: /schemas/graph.yaml#/$defs/port-base
> + description: Incoming endpoint from the USB controller

Do you really need this one ?

The controller doesn't process orientation switching.

---
bod

2023-04-27 20:07:17

by Bjorn Andersson

[permalink] [raw]
Subject: Re: [PATCH 1/7] dt-bindings: phy: qcom,sc8280xp-qmp-usb43dp: Add ports and orientation-switch

On Wed, Apr 26, 2023 at 11:21:29AM +0100, Bryan O'Donoghue wrote:
> On Tue, Apr 25, 2023 at 4:40 AM Bjorn Andersson
> <[email protected]> wrote:
> >
> > The QMP combo phy can be connected to a TCPM, a USB controller and a
> > DisplayPort controller for handling USB Type-C orientation switching
> > and propagating HPD signals.
> >
> > Extend the binding to allow these connections to be described.
> >
> > Signed-off-by: Bjorn Andersson <[email protected]>
> > ---
> > .../phy/qcom,sc8280xp-qmp-usb43dp-phy.yaml | 51 +++++++++++++++++++
> > 1 file changed, 51 insertions(+)
> >
> > diff --git a/Documentation/devicetree/bindings/phy/qcom,sc8280xp-qmp-usb43dp-phy.yaml b/Documentation/devicetree/bindings/phy/qcom,sc8280xp-qmp-usb43dp-phy.yaml
> > index 3cd5fc3e8fab..c037ac90ce7f 100644
> > --- a/Documentation/devicetree/bindings/phy/qcom,sc8280xp-qmp-usb43dp-phy.yaml
> > +++ b/Documentation/devicetree/bindings/phy/qcom,sc8280xp-qmp-usb43dp-phy.yaml
> > @@ -60,6 +60,26 @@ properties:
> > description:
> > See include/dt-bindings/dt-bindings/phy/phy-qcom-qmp.h
> >
> > + orientation-switch:
> > + description:
> > + Flag the PHY as possible handler of USB Type-C orientation switching
> > + type: boolean
> > +
> > + ports:
> > + $ref: /schemas/graph.yaml#/properties/ports
> > + properties:
> > + port@0:
> > + $ref: /schemas/graph.yaml#/properties/port
> > + description: Output endpoint of the PHY
> > +
> > + port@1:
> > + $ref: /schemas/graph.yaml#/$defs/port-base
> > + description: Incoming endpoint from the USB controller
>
> Do you really need this one ?
>
> The controller doesn't process orientation switching.
>

I don't have a need for it, as we can deal with role switching by
connecting connector/port@0 to the dwc3.

But if we ever have a need to describe the dwc3 -> QMP -> connector path
in the of_graph I think it would look prettier to have USB input as
port@1 and DP input as port@2...

Do you have a concern with keeping it around in the DT (the
implementation doesn't need to care)?

Regards,
Bjorn

2023-05-03 20:46:43

by Bryan O'Donoghue

[permalink] [raw]
Subject: Re: [PATCH 1/7] dt-bindings: phy: qcom,sc8280xp-qmp-usb43dp: Add ports and orientation-switch

On 27/04/2023 20:52, Bjorn Andersson wrote:
> Do you have a concern with keeping it around in the DT (the
> implementation doesn't need to care)?

Nope, its fine with me.

2023-05-04 14:17:07

by Neil Armstrong

[permalink] [raw]
Subject: Re: [PATCH 1/7] dt-bindings: phy: qcom,sc8280xp-qmp-usb43dp: Add ports and orientation-switch

On 27/04/2023 21:52, Bjorn Andersson wrote:
> On Wed, Apr 26, 2023 at 11:21:29AM +0100, Bryan O'Donoghue wrote:
>> On Tue, Apr 25, 2023 at 4:40 AM Bjorn Andersson
>> <[email protected]> wrote:
>>>
>>> The QMP combo phy can be connected to a TCPM, a USB controller and a
>>> DisplayPort controller for handling USB Type-C orientation switching
>>> and propagating HPD signals.
>>>
>>> Extend the binding to allow these connections to be described.
>>>
>>> Signed-off-by: Bjorn Andersson <[email protected]>
>>> ---
>>> .../phy/qcom,sc8280xp-qmp-usb43dp-phy.yaml | 51 +++++++++++++++++++
>>> 1 file changed, 51 insertions(+)
>>>
>>> diff --git a/Documentation/devicetree/bindings/phy/qcom,sc8280xp-qmp-usb43dp-phy.yaml b/Documentation/devicetree/bindings/phy/qcom,sc8280xp-qmp-usb43dp-phy.yaml
>>> index 3cd5fc3e8fab..c037ac90ce7f 100644
>>> --- a/Documentation/devicetree/bindings/phy/qcom,sc8280xp-qmp-usb43dp-phy.yaml
>>> +++ b/Documentation/devicetree/bindings/phy/qcom,sc8280xp-qmp-usb43dp-phy.yaml
>>> @@ -60,6 +60,26 @@ properties:
>>> description:
>>> See include/dt-bindings/dt-bindings/phy/phy-qcom-qmp.h
>>>
>>> + orientation-switch:
>>> + description:
>>> + Flag the PHY as possible handler of USB Type-C orientation switching
>>> + type: boolean
>>> +
>>> + ports:
>>> + $ref: /schemas/graph.yaml#/properties/ports
>>> + properties:
>>> + port@0:
>>> + $ref: /schemas/graph.yaml#/properties/port
>>> + description: Output endpoint of the PHY
>>> +
>>> + port@1:
>>> + $ref: /schemas/graph.yaml#/$defs/port-base
>>> + description: Incoming endpoint from the USB controller
>>
>> Do you really need this one ?
>>
>> The controller doesn't process orientation switching.
>>
>
> I don't have a need for it, as we can deal with role switching by
> connecting connector/port@0 to the dwc3.
>
> But if we ever have a need to describe the dwc3 -> QMP -> connector path
> in the of_graph I think it would look prettier to have USB input as
> port@1 and DP input as port@2...

I think it would be great to have port@1 for USB SS and port@2 for DP,
otherwise we need to add 2 endpoints as I sent in
https://lore.kernel.org/all/20230503-topic-sm8450-graphics-dp-next-v1-1-d1ee9397f2a6@linaro.org/
since we split USB HS and SS streams on SM8[345]50 platforms.

>
> Do you have a concern with keeping it around in the DT (the
> implementation doesn't need to care)?
>
> Regards,
> Bjorn

2023-05-04 15:01:19

by Bjorn Andersson

[permalink] [raw]
Subject: Re: [PATCH 1/7] dt-bindings: phy: qcom,sc8280xp-qmp-usb43dp: Add ports and orientation-switch

On Thu, May 04, 2023 at 03:50:53PM +0200, Neil Armstrong wrote:
> On 27/04/2023 21:52, Bjorn Andersson wrote:
> > On Wed, Apr 26, 2023 at 11:21:29AM +0100, Bryan O'Donoghue wrote:
> > > On Tue, Apr 25, 2023 at 4:40 AM Bjorn Andersson
> > > <[email protected]> wrote:
> > > >
> > > > The QMP combo phy can be connected to a TCPM, a USB controller and a
> > > > DisplayPort controller for handling USB Type-C orientation switching
> > > > and propagating HPD signals.
> > > >
> > > > Extend the binding to allow these connections to be described.
> > > >
> > > > Signed-off-by: Bjorn Andersson <[email protected]>
> > > > ---
> > > > .../phy/qcom,sc8280xp-qmp-usb43dp-phy.yaml | 51 +++++++++++++++++++
> > > > 1 file changed, 51 insertions(+)
> > > >
> > > > diff --git a/Documentation/devicetree/bindings/phy/qcom,sc8280xp-qmp-usb43dp-phy.yaml b/Documentation/devicetree/bindings/phy/qcom,sc8280xp-qmp-usb43dp-phy.yaml
> > > > index 3cd5fc3e8fab..c037ac90ce7f 100644
> > > > --- a/Documentation/devicetree/bindings/phy/qcom,sc8280xp-qmp-usb43dp-phy.yaml
> > > > +++ b/Documentation/devicetree/bindings/phy/qcom,sc8280xp-qmp-usb43dp-phy.yaml
> > > > @@ -60,6 +60,26 @@ properties:
> > > > description:
> > > > See include/dt-bindings/dt-bindings/phy/phy-qcom-qmp.h
> > > >
> > > > + orientation-switch:
> > > > + description:
> > > > + Flag the PHY as possible handler of USB Type-C orientation switching
> > > > + type: boolean
> > > > +
> > > > + ports:
> > > > + $ref: /schemas/graph.yaml#/properties/ports
> > > > + properties:
> > > > + port@0:
> > > > + $ref: /schemas/graph.yaml#/properties/port
> > > > + description: Output endpoint of the PHY
> > > > +
> > > > + port@1:
> > > > + $ref: /schemas/graph.yaml#/$defs/port-base
> > > > + description: Incoming endpoint from the USB controller
> > >
> > > Do you really need this one ?
> > >
> > > The controller doesn't process orientation switching.
> > >
> >
> > I don't have a need for it, as we can deal with role switching by
> > connecting connector/port@0 to the dwc3.
> >
> > But if we ever have a need to describe the dwc3 -> QMP -> connector path
> > in the of_graph I think it would look prettier to have USB input as
> > port@1 and DP input as port@2...
>
> I think it would be great to have port@1 for USB SS and port@2 for DP,
> otherwise we need to add 2 endpoints as I sent in
> https://lore.kernel.org/all/20230503-topic-sm8450-graphics-dp-next-v1-1-d1ee9397f2a6@linaro.org/
> since we split USB HS and SS streams on SM8[345]50 platforms.
>

Right, so let's keep port@1 and port@2 in the binding, and then we can
choose to connect port@1 to DWC3 or not...

Regards,
Bjorn

> >
> > Do you have a concern with keeping it around in the DT (the
> > implementation doesn't need to care)?
> >
> > Regards,
> > Bjorn
>