1e1c4c543SJohan Hovold# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 2e1c4c543SJohan Hovold%YAML 1.2 3e1c4c543SJohan Hovold--- 4e1c4c543SJohan Hovold$id: http://devicetree.org/schemas/phy/qcom,sc8280xp-qmp-usb43dp-phy.yaml# 5e1c4c543SJohan Hovold$schema: http://devicetree.org/meta-schemas/core.yaml# 6e1c4c543SJohan Hovold 7e1c4c543SJohan Hovoldtitle: Qualcomm QMP USB4-USB3-DP PHY controller (SC8280XP) 8e1c4c543SJohan Hovold 9e1c4c543SJohan Hovoldmaintainers: 10e1c4c543SJohan Hovold - Vinod Koul <vkoul@kernel.org> 11e1c4c543SJohan Hovold 12e1c4c543SJohan Hovolddescription: 13e1c4c543SJohan Hovold The QMP PHY controller supports physical layer functionality for a number of 14e1c4c543SJohan Hovold controllers on Qualcomm chipsets, such as, PCIe, UFS and USB. 15e1c4c543SJohan Hovold 16e1c4c543SJohan Hovoldproperties: 17e1c4c543SJohan Hovold compatible: 18e1c4c543SJohan Hovold enum: 1957a79ce9SDmitry Baryshkov - qcom,sc7180-qmp-usb3-dp-phy 2057a79ce9SDmitry Baryshkov - qcom,sc7280-qmp-usb3-dp-phy 2157a79ce9SDmitry Baryshkov - qcom,sc8180x-qmp-usb3-dp-phy 22e1c4c543SJohan Hovold - qcom,sc8280xp-qmp-usb43dp-phy 2357a79ce9SDmitry Baryshkov - qcom,sdm845-qmp-usb3-dp-phy 245e271455SLuca Weiss - qcom,sm6350-qmp-usb3-dp-phy 2557a79ce9SDmitry Baryshkov - qcom,sm8150-qmp-usb3-dp-phy 2657a79ce9SDmitry Baryshkov - qcom,sm8250-qmp-usb3-dp-phy 27d5011cd5SNeil Armstrong - qcom,sm8350-qmp-usb3-dp-phy 28d5011cd5SNeil Armstrong - qcom,sm8450-qmp-usb3-dp-phy 291c5a654fSAbel Vesa - qcom,sm8550-qmp-usb3-dp-phy 30e1c4c543SJohan Hovold 31e1c4c543SJohan Hovold reg: 32e1c4c543SJohan Hovold maxItems: 1 33e1c4c543SJohan Hovold 34e1c4c543SJohan Hovold clocks: 3557a79ce9SDmitry Baryshkov minItems: 4 3657a79ce9SDmitry Baryshkov maxItems: 5 37e1c4c543SJohan Hovold 38e1c4c543SJohan Hovold clock-names: 3957a79ce9SDmitry Baryshkov minItems: 4 40e1c4c543SJohan Hovold items: 41e1c4c543SJohan Hovold - const: aux 42e1c4c543SJohan Hovold - const: ref 43e1c4c543SJohan Hovold - const: com_aux 44e1c4c543SJohan Hovold - const: usb3_pipe 4557a79ce9SDmitry Baryshkov - const: cfg_ahb 46e1c4c543SJohan Hovold 47e1c4c543SJohan Hovold power-domains: 48e1c4c543SJohan Hovold maxItems: 1 49e1c4c543SJohan Hovold 50e1c4c543SJohan Hovold resets: 51e1c4c543SJohan Hovold maxItems: 2 52e1c4c543SJohan Hovold 53e1c4c543SJohan Hovold reset-names: 54e1c4c543SJohan Hovold items: 55e1c4c543SJohan Hovold - const: phy 56e1c4c543SJohan Hovold - const: common 57e1c4c543SJohan Hovold 58e1c4c543SJohan Hovold vdda-phy-supply: true 59e1c4c543SJohan Hovold 60e1c4c543SJohan Hovold vdda-pll-supply: true 61e1c4c543SJohan Hovold 62e1c4c543SJohan Hovold "#clock-cells": 63e1c4c543SJohan Hovold const: 1 64e1c4c543SJohan Hovold description: 65*b6858131SKrzysztof Kozlowski See include/dt-bindings/phy/phy-qcom-qmp.h 66e1c4c543SJohan Hovold 67e1c4c543SJohan Hovold "#phy-cells": 68e1c4c543SJohan Hovold const: 1 69e1c4c543SJohan Hovold description: 70*b6858131SKrzysztof Kozlowski See include/dt-bindings/phy/phy-qcom-qmp.h 71e1c4c543SJohan Hovold 726c0237dbSBjorn Andersson orientation-switch: 736c0237dbSBjorn Andersson description: 746c0237dbSBjorn Andersson Flag the PHY as possible handler of USB Type-C orientation switching 756c0237dbSBjorn Andersson type: boolean 766c0237dbSBjorn Andersson 776c0237dbSBjorn Andersson ports: 786c0237dbSBjorn Andersson $ref: /schemas/graph.yaml#/properties/ports 796c0237dbSBjorn Andersson properties: 806c0237dbSBjorn Andersson port@0: 816c0237dbSBjorn Andersson $ref: /schemas/graph.yaml#/properties/port 826c0237dbSBjorn Andersson description: Output endpoint of the PHY 836c0237dbSBjorn Andersson 846c0237dbSBjorn Andersson port@1: 856c0237dbSBjorn Andersson $ref: /schemas/graph.yaml#/properties/port 866c0237dbSBjorn Andersson description: Incoming endpoint from the USB controller 876c0237dbSBjorn Andersson 886c0237dbSBjorn Andersson port@2: 896c0237dbSBjorn Andersson $ref: /schemas/graph.yaml#/properties/port 906c0237dbSBjorn Andersson description: Incoming endpoint from the DisplayPort controller 916c0237dbSBjorn Andersson 92e1c4c543SJohan Hovoldrequired: 93e1c4c543SJohan Hovold - compatible 94e1c4c543SJohan Hovold - reg 95e1c4c543SJohan Hovold - clocks 96e1c4c543SJohan Hovold - clock-names 97e1c4c543SJohan Hovold - resets 98e1c4c543SJohan Hovold - reset-names 99e1c4c543SJohan Hovold - vdda-phy-supply 100e1c4c543SJohan Hovold - vdda-pll-supply 101e1c4c543SJohan Hovold - "#clock-cells" 102e1c4c543SJohan Hovold - "#phy-cells" 103e1c4c543SJohan Hovold 10457a79ce9SDmitry BaryshkovallOf: 10557a79ce9SDmitry Baryshkov - if: 10657a79ce9SDmitry Baryshkov properties: 10757a79ce9SDmitry Baryshkov compatible: 10857a79ce9SDmitry Baryshkov enum: 10957a79ce9SDmitry Baryshkov - qcom,sc7180-qmp-usb3-dp-phy 11057a79ce9SDmitry Baryshkov - qcom,sdm845-qmp-usb3-dp-phy 11157a79ce9SDmitry Baryshkov then: 11257a79ce9SDmitry Baryshkov properties: 11357a79ce9SDmitry Baryshkov clocks: 11457a79ce9SDmitry Baryshkov maxItems: 5 11557a79ce9SDmitry Baryshkov clock-names: 11657a79ce9SDmitry Baryshkov maxItems: 5 11757a79ce9SDmitry Baryshkov else: 11857a79ce9SDmitry Baryshkov properties: 11957a79ce9SDmitry Baryshkov clocks: 12057a79ce9SDmitry Baryshkov maxItems: 4 12157a79ce9SDmitry Baryshkov clock-names: 12257a79ce9SDmitry Baryshkov maxItems: 4 12357a79ce9SDmitry Baryshkov 12457a79ce9SDmitry Baryshkov - if: 12557a79ce9SDmitry Baryshkov properties: 12657a79ce9SDmitry Baryshkov compatible: 12757a79ce9SDmitry Baryshkov enum: 12857a79ce9SDmitry Baryshkov - qcom,sc8280xp-qmp-usb43dp-phy 12957a79ce9SDmitry Baryshkov - qcom,sm6350-qmp-usb3-dp-phy 13057a79ce9SDmitry Baryshkov - qcom,sm8550-qmp-usb3-dp-phy 13157a79ce9SDmitry Baryshkov then: 13257a79ce9SDmitry Baryshkov required: 13357a79ce9SDmitry Baryshkov - power-domains 13457a79ce9SDmitry Baryshkov else: 13557a79ce9SDmitry Baryshkov properties: 13657a79ce9SDmitry Baryshkov power-domains: false 13757a79ce9SDmitry Baryshkov 138e1c4c543SJohan HovoldadditionalProperties: false 139e1c4c543SJohan Hovold 140e1c4c543SJohan Hovoldexamples: 141e1c4c543SJohan Hovold - | 142e1c4c543SJohan Hovold #include <dt-bindings/clock/qcom,gcc-sc8280xp.h> 143e1c4c543SJohan Hovold 144e1c4c543SJohan Hovold phy@88eb000 { 145e1c4c543SJohan Hovold compatible = "qcom,sc8280xp-qmp-usb43dp-phy"; 146e1c4c543SJohan Hovold reg = <0x088eb000 0x4000>; 147e1c4c543SJohan Hovold 148e1c4c543SJohan Hovold clocks = <&gcc GCC_USB3_PRIM_PHY_AUX_CLK>, 149e1c4c543SJohan Hovold <&gcc GCC_USB4_EUD_CLKREF_CLK>, 150e1c4c543SJohan Hovold <&gcc GCC_USB3_PRIM_PHY_COM_AUX_CLK>, 151e1c4c543SJohan Hovold <&gcc GCC_USB3_PRIM_PHY_PIPE_CLK>; 152e1c4c543SJohan Hovold clock-names = "aux", "ref", "com_aux", "usb3_pipe"; 153e1c4c543SJohan Hovold 154e1c4c543SJohan Hovold power-domains = <&gcc USB30_PRIM_GDSC>; 155e1c4c543SJohan Hovold 156e1c4c543SJohan Hovold resets = <&gcc GCC_USB3_PHY_PRIM_BCR>, 157e1c4c543SJohan Hovold <&gcc GCC_USB4_DP_PHY_PRIM_BCR>; 158e1c4c543SJohan Hovold reset-names = "phy", "common"; 159e1c4c543SJohan Hovold 160e1c4c543SJohan Hovold vdda-phy-supply = <&vreg_l9d>; 161e1c4c543SJohan Hovold vdda-pll-supply = <&vreg_l4d>; 162e1c4c543SJohan Hovold 1636c0237dbSBjorn Andersson orientation-switch; 1646c0237dbSBjorn Andersson 165e1c4c543SJohan Hovold #clock-cells = <1>; 166e1c4c543SJohan Hovold #phy-cells = <1>; 1676c0237dbSBjorn Andersson 1686c0237dbSBjorn Andersson ports { 1696c0237dbSBjorn Andersson #address-cells = <1>; 1706c0237dbSBjorn Andersson #size-cells = <0>; 1716c0237dbSBjorn Andersson 1726c0237dbSBjorn Andersson port@0 { 1736c0237dbSBjorn Andersson reg = <0>; 1746c0237dbSBjorn Andersson 1756c0237dbSBjorn Andersson endpoint { 1766c0237dbSBjorn Andersson remote-endpoint = <&typec_connector_ss>; 1776c0237dbSBjorn Andersson }; 1786c0237dbSBjorn Andersson }; 1796c0237dbSBjorn Andersson 1806c0237dbSBjorn Andersson port@1 { 1816c0237dbSBjorn Andersson reg = <1>; 1826c0237dbSBjorn Andersson 1836c0237dbSBjorn Andersson endpoint { 1846c0237dbSBjorn Andersson remote-endpoint = <&dwc3_ss_out>; 1856c0237dbSBjorn Andersson }; 1866c0237dbSBjorn Andersson }; 1876c0237dbSBjorn Andersson 1886c0237dbSBjorn Andersson port@2 { 1896c0237dbSBjorn Andersson reg = <2>; 1906c0237dbSBjorn Andersson 1916c0237dbSBjorn Andersson endpoint { 1926c0237dbSBjorn Andersson remote-endpoint = <&mdss_dp_out>; 1936c0237dbSBjorn Andersson }; 1946c0237dbSBjorn Andersson }; 1956c0237dbSBjorn Andersson }; 196e1c4c543SJohan Hovold }; 197