1# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 2%YAML 1.2 3--- 4$id: http://devicetree.org/schemas/phy/qcom,sc8280xp-qmp-usb3-uni-phy.yaml# 5$schema: http://devicetree.org/meta-schemas/core.yaml# 6 7title: Qualcomm QMP PHY controller (USB, SC8280XP) 8 9maintainers: 10 - Vinod Koul <vkoul@kernel.org> 11 12description: 13 The QMP PHY controller supports physical layer functionality for a number of 14 controllers on Qualcomm chipsets, such as, PCIe, UFS, and USB. 15 16properties: 17 compatible: 18 enum: 19 - qcom,ipq6018-qmp-usb3-phy 20 - qcom,ipq8074-qmp-usb3-phy 21 - qcom,ipq9574-qmp-usb3-phy 22 - qcom,msm8996-qmp-usb3-phy 23 - qcom,qcs8300-qmp-usb3-uni-phy 24 - qcom,qdu1000-qmp-usb3-uni-phy 25 - qcom,sa8775p-qmp-usb3-uni-phy 26 - qcom,sc8180x-qmp-usb3-uni-phy 27 - qcom,sc8280xp-qmp-usb3-uni-phy 28 - qcom,sdm845-qmp-usb3-uni-phy 29 - qcom,sdx55-qmp-usb3-uni-phy 30 - qcom,sdx65-qmp-usb3-uni-phy 31 - qcom,sdx75-qmp-usb3-uni-phy 32 - qcom,sm8150-qmp-usb3-uni-phy 33 - qcom,sm8250-qmp-usb3-uni-phy 34 - qcom,sm8350-qmp-usb3-uni-phy 35 - qcom,x1e80100-qmp-usb3-uni-phy 36 37 38 reg: 39 maxItems: 1 40 41 clocks: 42 minItems: 4 43 maxItems: 5 44 45 clock-names: 46 minItems: 4 47 maxItems: 5 48 49 power-domains: 50 maxItems: 1 51 52 resets: 53 maxItems: 2 54 55 reset-names: 56 items: 57 - const: phy 58 - const: phy_phy 59 60 vdda-phy-supply: true 61 62 vdda-pll-supply: true 63 64 "#clock-cells": 65 const: 0 66 67 clock-output-names: 68 maxItems: 1 69 70 "#phy-cells": 71 const: 0 72 73required: 74 - compatible 75 - reg 76 - clocks 77 - clock-names 78 - resets 79 - reset-names 80 - vdda-phy-supply 81 - vdda-pll-supply 82 - "#clock-cells" 83 - clock-output-names 84 - "#phy-cells" 85 86allOf: 87 - if: 88 properties: 89 compatible: 90 contains: 91 enum: 92 - qcom,ipq6018-qmp-usb3-phy 93 - qcom,ipq8074-qmp-usb3-phy 94 - qcom,ipq9574-qmp-usb3-phy 95 - qcom,msm8996-qmp-usb3-phy 96 - qcom,sdx55-qmp-usb3-uni-phy 97 - qcom,sdx65-qmp-usb3-uni-phy 98 - qcom,sdx75-qmp-usb3-uni-phy 99 then: 100 properties: 101 clocks: 102 maxItems: 4 103 clock-names: 104 items: 105 - const: aux 106 - const: ref 107 - const: cfg_ahb 108 - const: pipe 109 110 - if: 111 properties: 112 compatible: 113 contains: 114 enum: 115 - qcom,qcs8300-qmp-usb3-uni-phy 116 - qcom,qdu1000-qmp-usb3-uni-phy 117 - qcom,sa8775p-qmp-usb3-uni-phy 118 - qcom,sc8180x-qmp-usb3-uni-phy 119 - qcom,sc8280xp-qmp-usb3-uni-phy 120 - qcom,sm8150-qmp-usb3-uni-phy 121 - qcom,sm8250-qmp-usb3-uni-phy 122 - qcom,sm8350-qmp-usb3-uni-phy 123 - qcom,x1e80100-qmp-usb3-uni-phy 124 then: 125 properties: 126 clocks: 127 maxItems: 4 128 clock-names: 129 items: 130 - const: aux 131 - const: ref 132 - const: com_aux 133 - const: pipe 134 135 - if: 136 properties: 137 compatible: 138 contains: 139 enum: 140 - qcom,sdm845-qmp-usb3-uni-phy 141 then: 142 properties: 143 clocks: 144 maxItems: 5 145 clock-names: 146 items: 147 - const: aux 148 - const: cfg_ahb 149 - const: ref 150 - const: com_aux 151 - const: pipe 152 153 - if: 154 properties: 155 compatible: 156 contains: 157 enum: 158 - qcom,sa8775p-qmp-usb3-uni-phy 159 - qcom,sc8180x-qmp-usb3-uni-phy 160 - qcom,sc8280xp-qmp-usb3-uni-phy 161 - qcom,x1e80100-qmp-usb3-uni-phy 162 then: 163 required: 164 - power-domains 165 166additionalProperties: false 167 168examples: 169 - | 170 #include <dt-bindings/clock/qcom,gcc-sc8280xp.h> 171 #include <dt-bindings/clock/qcom,rpmh.h> 172 173 phy@88ef000 { 174 compatible = "qcom,sc8280xp-qmp-usb3-uni-phy"; 175 reg = <0x088ef000 0x2000>; 176 177 clocks = <&gcc GCC_USB3_MP_PHY_AUX_CLK>, 178 <&gcc GCC_USB3_MP0_CLKREF_CLK>, 179 <&gcc GCC_USB3_MP_PHY_COM_AUX_CLK>, 180 <&gcc GCC_USB3_MP_PHY_PIPE_0_CLK>; 181 clock-names = "aux", "ref", "com_aux", "pipe"; 182 183 power-domains = <&gcc USB30_MP_GDSC>; 184 185 resets = <&gcc GCC_USB3_UNIPHY_MP0_BCR>, 186 <&gcc GCC_USB3UNIPHY_PHY_MP0_BCR>; 187 reset-names = "phy", "phy_phy"; 188 189 vdda-phy-supply = <&vreg_l3a>; 190 vdda-pll-supply = <&vreg_l5a>; 191 192 #clock-cells = <0>; 193 clock-output-names = "usb2_phy0_pipe_clk"; 194 195 #phy-cells = <0>; 196 }; 197