Message ID | 20230515133643.3621656-5-bryan.odonoghue@linaro.org (mailing list archive) |
---|---|
State | Not Applicable |
Headers | show |
Series | Add Qualcomm PMIC TPCM support | expand |
On Mon, May 15, 2023 at 02:36:36PM +0100, Bryan O'Donoghue wrote: > Add a ports declaration which is optional containing two port@ > declarations. > > port@0 to receive an orientation-switch message from the Type-C port or > redriver > > port@1 to subsequently transmit the orientation-switch on once the PHY has > finished doing its orientation turn-around. > > If ports is declared the input port port@0 is mandatory but the output > port@1 is optional. > > Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> > Signed-off-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org> > --- > .../phy/qcom,sc7180-qmp-usb3-dp-phy.yaml | 38 +++++++++++++++++++ > 1 file changed, 38 insertions(+) > > diff --git a/Documentation/devicetree/bindings/phy/qcom,sc7180-qmp-usb3-dp-phy.yaml b/Documentation/devicetree/bindings/phy/qcom,sc7180-qmp-usb3-dp-phy.yaml > index d307343388888..c370b9cd58c2e 100644 > --- a/Documentation/devicetree/bindings/phy/qcom,sc7180-qmp-usb3-dp-phy.yaml > +++ b/Documentation/devicetree/bindings/phy/qcom,sc7180-qmp-usb3-dp-phy.yaml > @@ -65,6 +65,25 @@ properties: > description: Flag the port as possible handler of orientation switching > type: boolean > > + ports: > + $ref: /schemas/graph.yaml#/properties/ports > + description: OF graph bindings that model incoming orientation-switch and > + outgoing orientation-switch messages. An example of an incoming > + orientation-switch message might come form a Type-C connector or a USB > + redriver. An example of an output would be a DisplayPort controller. Orientation switching is just one of the uses of this graph, and each port is both input and output of different signals (orientation switch, altmode switch, hot plug signals, signal path). How about aligning this version of the QMP binding with the proposed binding for 8280xp here: https://lore.kernel.org/linux-arm-msm/20230515032743.400170-2-quic_bjorande@quicinc.com/ Perhaps we could put some of this in a separate yaml and include that? Regards, Bjorn > + > + properties: > + port@0: > + $ref: /schemas/graph.yaml#/properties/port > + description: Type-C mux orientation-switch input. > + > + port@1: > + $ref: /schemas/graph.yaml#/properties/port > + description: PHY orientation-switch output. > + > + required: > + - port@0 > + > resets: > items: > - description: reset of phy block. > @@ -279,4 +298,23 @@ examples: > #clock-cells = <1>; > #phy-cells = <0>; > }; > + > + ports { > + #address-cells = <1>; > + #size-cells = <0>; > + > + port@0 { > + reg = <0>; > + qmpphy_typec_mux_in: endpoint { > + remote-endpoint = <&pmic_typec_mux_out>; > + }; > + }; > + > + port@1 { > + reg = <1>; > + qmpphy_typec_mux_out: endpoint { > + remote-endpoint = <&dp_typec_mux_in>; > + }; > + }; > + }; > }; > -- > 2.39.2 >
On 15/05/2023 20:59, Bjorn Andersson wrote:
> Perhaps we could put some of this in a separate yaml and include that?
Ok sure.
---
bod
On 15/05/2023 22:59, Bjorn Andersson wrote: > On Mon, May 15, 2023 at 02:36:36PM +0100, Bryan O'Donoghue wrote: >> Add a ports declaration which is optional containing two port@ >> declarations. >> >> port@0 to receive an orientation-switch message from the Type-C port or >> redriver >> >> port@1 to subsequently transmit the orientation-switch on once the PHY has >> finished doing its orientation turn-around. >> >> If ports is declared the input port port@0 is mandatory but the output >> port@1 is optional. >> >> Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> >> Signed-off-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org> >> --- >> .../phy/qcom,sc7180-qmp-usb3-dp-phy.yaml | 38 +++++++++++++++++++ >> 1 file changed, 38 insertions(+) >> >> diff --git a/Documentation/devicetree/bindings/phy/qcom,sc7180-qmp-usb3-dp-phy.yaml b/Documentation/devicetree/bindings/phy/qcom,sc7180-qmp-usb3-dp-phy.yaml >> index d307343388888..c370b9cd58c2e 100644 >> --- a/Documentation/devicetree/bindings/phy/qcom,sc7180-qmp-usb3-dp-phy.yaml >> +++ b/Documentation/devicetree/bindings/phy/qcom,sc7180-qmp-usb3-dp-phy.yaml >> @@ -65,6 +65,25 @@ properties: >> description: Flag the port as possible handler of orientation switching >> type: boolean >> >> + ports: >> + $ref: /schemas/graph.yaml#/properties/ports >> + description: OF graph bindings that model incoming orientation-switch and >> + outgoing orientation-switch messages. An example of an incoming >> + orientation-switch message might come form a Type-C connector or a USB >> + redriver. An example of an output would be a DisplayPort controller. > > Orientation switching is just one of the uses of this graph, and each > port is both input and output of different signals (orientation switch, > altmode switch, hot plug signals, signal path). > > > How about aligning this version of the QMP binding with the proposed > binding for 8280xp here: > https://lore.kernel.org/linux-arm-msm/20230515032743.400170-2-quic_bjorande@quicinc.com/ > > Perhaps we could put some of this in a separate yaml and include that? We are slowly moving towards removal of sc7180-qmp-usb3-dp-phy.yaml. Once that is done, this extra include file becomes included from a single source. So I'd suggest putting necessary properties into the main schema even if that looks like duplication.
diff --git a/Documentation/devicetree/bindings/phy/qcom,sc7180-qmp-usb3-dp-phy.yaml b/Documentation/devicetree/bindings/phy/qcom,sc7180-qmp-usb3-dp-phy.yaml index d307343388888..c370b9cd58c2e 100644 --- a/Documentation/devicetree/bindings/phy/qcom,sc7180-qmp-usb3-dp-phy.yaml +++ b/Documentation/devicetree/bindings/phy/qcom,sc7180-qmp-usb3-dp-phy.yaml @@ -65,6 +65,25 @@ properties: description: Flag the port as possible handler of orientation switching type: boolean + ports: + $ref: /schemas/graph.yaml#/properties/ports + description: OF graph bindings that model incoming orientation-switch and + outgoing orientation-switch messages. An example of an incoming + orientation-switch message might come form a Type-C connector or a USB + redriver. An example of an output would be a DisplayPort controller. + + properties: + port@0: + $ref: /schemas/graph.yaml#/properties/port + description: Type-C mux orientation-switch input. + + port@1: + $ref: /schemas/graph.yaml#/properties/port + description: PHY orientation-switch output. + + required: + - port@0 + resets: items: - description: reset of phy block. @@ -279,4 +298,23 @@ examples: #clock-cells = <1>; #phy-cells = <0>; }; + + ports { + #address-cells = <1>; + #size-cells = <0>; + + port@0 { + reg = <0>; + qmpphy_typec_mux_in: endpoint { + remote-endpoint = <&pmic_typec_mux_out>; + }; + }; + + port@1 { + reg = <1>; + qmpphy_typec_mux_out: endpoint { + remote-endpoint = <&dp_typec_mux_in>; + }; + }; + }; };