Message ID | 20230425034010.3789376-2-quic_bjorande@quicinc.com |
---|---|
State | Superseded |
Headers | show |
Series | phy: qcom-qmp-combo: Support orientation switching | expand |
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 <quic_bjorande@quicinc.com> > --- > .../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 >
On Tue, Apr 25, 2023 at 4:40 AM Bjorn Andersson <quic_bjorande@quicinc.com> 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 <quic_bjorande@quicinc.com> > --- > .../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
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 > <quic_bjorande@quicinc.com> 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 <quic_bjorande@quicinc.com> > > --- > > .../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
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.
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 >> <quic_bjorande@quicinc.com> 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 <quic_bjorande@quicinc.com> >>> --- >>> .../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
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 > > > <quic_bjorande@quicinc.com> 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 <quic_bjorande@quicinc.com> > > > > --- > > > > .../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 >
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>; + }; + }; + }; };
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 <quic_bjorande@quicinc.com> --- .../phy/qcom,sc8280xp-qmp-usb43dp-phy.yaml | 51 +++++++++++++++++++ 1 file changed, 51 insertions(+)