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,msm8998-qmp-usb3-phy 24 - qcom,qcm2290-qmp-usb3-phy 25 - qcom,sa8775p-qmp-usb3-uni-phy 26 - qcom,sc8280xp-qmp-usb3-uni-phy 27 - qcom,sdm845-qmp-usb3-uni-phy 28 - qcom,sdx55-qmp-usb3-uni-phy 29 - qcom,sdx65-qmp-usb3-uni-phy 30 - qcom,sdx75-qmp-usb3-uni-phy 31 - qcom,sm6115-qmp-usb3-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,msm8998-qmp-usb3-phy 97 - qcom,sdx55-qmp-usb3-uni-phy 98 - qcom,sdx65-qmp-usb3-uni-phy 99 - qcom,sdx75-qmp-usb3-uni-phy 100 then: 101 properties: 102 clocks: 103 maxItems: 4 104 clock-names: 105 items: 106 - const: aux 107 - const: ref 108 - const: cfg_ahb 109 - const: pipe 110 111 - if: 112 properties: 113 compatible: 114 contains: 115 enum: 116 - qcom,qcm2290-qmp-usb3-phy 117 - qcom,sm6115-qmp-usb3-phy 118 then: 119 properties: 120 clocks: 121 maxItems: 4 122 clock-names: 123 items: 124 - const: cfg_ahb 125 - const: ref 126 - const: com_aux 127 - const: pipe 128 129 - if: 130 properties: 131 compatible: 132 contains: 133 enum: 134 - qcom,sa8775p-qmp-usb3-uni-phy 135 - qcom,sc8280xp-qmp-usb3-uni-phy 136 - qcom,sm8150-qmp-usb3-uni-phy 137 - qcom,sm8250-qmp-usb3-uni-phy 138 - qcom,sm8350-qmp-usb3-uni-phy 139 - qcom,x1e80100-qmp-usb3-uni-phy 140 then: 141 properties: 142 clocks: 143 maxItems: 4 144 clock-names: 145 items: 146 - const: aux 147 - const: ref 148 - const: com_aux 149 - const: pipe 150 151 - if: 152 properties: 153 compatible: 154 contains: 155 enum: 156 - qcom,sdm845-qmp-usb3-uni-phy 157 then: 158 properties: 159 clocks: 160 maxItems: 5 161 clock-names: 162 items: 163 - const: aux 164 - const: cfg_ahb 165 - const: ref 166 - const: com_aux 167 - const: pipe 168 169 - if: 170 properties: 171 compatible: 172 contains: 173 enum: 174 - qcom,sa8775p-qmp-usb3-uni-phy 175 - qcom,sc8280xp-qmp-usb3-uni-phy 176 - qcom,x1e80100-qmp-usb3-uni-phy 177 then: 178 required: 179 - power-domains 180 181additionalProperties: false 182 183examples: 184 - | 185 #include <dt-bindings/clock/qcom,gcc-sc8280xp.h> 186 #include <dt-bindings/clock/qcom,rpmh.h> 187 188 phy@88ef000 { 189 compatible = "qcom,sc8280xp-qmp-usb3-uni-phy"; 190 reg = <0x088ef000 0x2000>; 191 192 clocks = <&gcc GCC_USB3_MP_PHY_AUX_CLK>, 193 <&gcc GCC_USB3_MP0_CLKREF_CLK>, 194 <&gcc GCC_USB3_MP_PHY_COM_AUX_CLK>, 195 <&gcc GCC_USB3_MP_PHY_PIPE_0_CLK>; 196 clock-names = "aux", "ref", "com_aux", "pipe"; 197 198 power-domains = <&gcc USB30_MP_GDSC>; 199 200 resets = <&gcc GCC_USB3_UNIPHY_MP0_BCR>, 201 <&gcc GCC_USB3UNIPHY_PHY_MP0_BCR>; 202 reset-names = "phy", "phy_phy"; 203 204 vdda-phy-supply = <&vreg_l3a>; 205 vdda-pll-supply = <&vreg_l5a>; 206 207 #clock-cells = <0>; 208 clock-output-names = "usb2_phy0_pipe_clk"; 209 210 #phy-cells = <0>; 211 }; 212