diff mbox series

[v8,04/11] dt-bindings: phy: qcom,sc7180-qmp-usb3-dp-phy: Add input and output ports

Message ID 20230515133643.3621656-5-bryan.odonoghue@linaro.org
State New
Headers show
Series Add Qualcomm PMIC TPCM support | expand

Commit Message

Bryan O'Donoghue May 15, 2023, 1:36 p.m. UTC
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(+)

Comments

Bryan O'Donoghue May 16, 2023, 10:15 a.m. UTC | #1
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
Dmitry Baryshkov July 18, 2023, 6:09 a.m. UTC | #2
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 mbox series

Patch

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>;
+                };
+            };
+        };
     };