Re: [PATCH v4 04/18] dt-bindings: phy: qcom,sc7180-qmp-usb3-dp-phy: Add port as an optional

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 21/03/2023 20:49, Rob Herring wrote:
On Sun, Mar 19, 2023 at 12:45:13PM +0100, Krzysztof Kozlowski wrote:
On 18/03/2023 13:18, Bryan O'Donoghue wrote:
port is required to instantiate a remote-endpoint which can receive
orientation-switch messages from a Type-C mux.

Signed-off-by: Bryan O'Donoghue <bryan.odonoghue@xxxxxxxxxx>
---
  .../bindings/phy/qcom,sc7180-qmp-usb3-dp-phy.yaml           | 6 ++++++
  1 file changed, 6 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 52886cdb0e506..1c887e34b1223 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,12 @@ properties:
      description: Flag the port as possible handler of orientation switching
      type: boolean
+ port:
+    $ref: /schemas/graph.yaml#/properties/port
+    description:
+      A port node to link the PHY to a TypeC controller for the purpose of
+      handling altmode muxing and orientation switching.

Please extend the example as well.

Don't you have there two ports? USB and DP?

Or 3: USB, DP, and connector.

Please make sure this all aligns with what Bjorn and I discussed
recently. It was for glink specifically.

Rob

Hmm.

Thanks for mentioning this.

I had erroneously built the orientation endpoint into the connector during development and was just carrying that in my patches.

This

&pm8150b_typec {
        status = "okay";
        port {
                usb3_role: endpoint {
                        remote-endpoint = <&dwc3_drd_switch>;
                };
        };

        connector {
                compatible = "usb-c-connector";

                power-role = "source";
                data-role = "dual";
                self-powered;

                source-pdos = <PDO_FIXED(5000, 3000,
                                         PDO_FIXED_DUAL_ROLE |
                                         PDO_FIXED_USB_COMM |
                                         PDO_FIXED_DATA_SWAP)>;

                ports {
                        #address-cells = <1>;
                        #size-cells = <0>;

                        port@0 {
                                reg = <0>;
                                pmic_tcpm_ss_mux: endpoint {
                                        remote-endpoint = <&qmp_ss_mux>;
                                };
                        };
                };
        };
};


Should be this

&pm8150b_typec {
        status = "okay";
        ports {
                #address-cells = <1>;
                #size-cells = <0>;

                port@0 {
                        reg = <0>;
                        pmic_tcpm_ss_mux: endpoint {
                                remote-endpoint = <&qmp_ss_mux>;
                        };
                };

                port@1 {
                        usb3_role: endpoint {
                                remote-endpoint = <&dwc3_drd_switch>;
                        };
                };
        };

        connector {
                compatible = "usb-c-connector";

                power-role = "source";
                data-role = "dual";
                self-powered;

                source-pdos = <PDO_FIXED(5000, 3000,
                                         PDO_FIXED_DUAL_ROLE |
                                         PDO_FIXED_USB_COMM |
                                         PDO_FIXED_DATA_SWAP)>;
        };
};

---
bod



[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]


  Powered by Linux