Linux kernel mirror (for testing)
git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel
os
linux
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,ipq5424-qmp-usb3-phy
20 - qcom,ipq6018-qmp-usb3-phy
21 - qcom,ipq8074-qmp-usb3-phy
22 - qcom,ipq9574-qmp-usb3-phy
23 - qcom,msm8996-qmp-usb3-phy
24 - qcom,qcs8300-qmp-usb3-uni-phy
25 - qcom,qdu1000-qmp-usb3-uni-phy
26 - qcom,sa8775p-qmp-usb3-uni-phy
27 - qcom,sc8180x-qmp-usb3-uni-phy
28 - qcom,sc8280xp-qmp-usb3-uni-phy
29 - qcom,sdm845-qmp-usb3-uni-phy
30 - qcom,sdx55-qmp-usb3-uni-phy
31 - qcom,sdx65-qmp-usb3-uni-phy
32 - qcom,sdx75-qmp-usb3-uni-phy
33 - qcom,sm8150-qmp-usb3-uni-phy
34 - qcom,sm8250-qmp-usb3-uni-phy
35 - qcom,sm8350-qmp-usb3-uni-phy
36 - qcom,x1e80100-qmp-usb3-uni-phy
37
38
39 reg:
40 maxItems: 1
41
42 clocks:
43 minItems: 4
44 maxItems: 5
45
46 clock-names:
47 minItems: 4
48 maxItems: 5
49
50 power-domains:
51 maxItems: 1
52
53 resets:
54 maxItems: 2
55
56 reset-names:
57 items:
58 - const: phy
59 - const: phy_phy
60
61 vdda-phy-supply: true
62
63 vdda-pll-supply: true
64
65 "#clock-cells":
66 const: 0
67
68 clock-output-names:
69 maxItems: 1
70
71 "#phy-cells":
72 const: 0
73
74required:
75 - compatible
76 - reg
77 - clocks
78 - clock-names
79 - resets
80 - reset-names
81 - vdda-phy-supply
82 - vdda-pll-supply
83 - "#clock-cells"
84 - clock-output-names
85 - "#phy-cells"
86
87allOf:
88 - if:
89 properties:
90 compatible:
91 contains:
92 enum:
93 - qcom,ipq5424-qmp-usb3-phy
94 - qcom,ipq6018-qmp-usb3-phy
95 - qcom,ipq8074-qmp-usb3-phy
96 - qcom,ipq9574-qmp-usb3-phy
97 - qcom,msm8996-qmp-usb3-phy
98 - qcom,sdx55-qmp-usb3-uni-phy
99 - qcom,sdx65-qmp-usb3-uni-phy
100 - qcom,sdx75-qmp-usb3-uni-phy
101 then:
102 properties:
103 clocks:
104 maxItems: 4
105 clock-names:
106 items:
107 - const: aux
108 - const: ref
109 - const: cfg_ahb
110 - const: pipe
111
112 - if:
113 properties:
114 compatible:
115 contains:
116 enum:
117 - qcom,qcs8300-qmp-usb3-uni-phy
118 - qcom,qdu1000-qmp-usb3-uni-phy
119 - qcom,sa8775p-qmp-usb3-uni-phy
120 - qcom,sc8180x-qmp-usb3-uni-phy
121 - qcom,sc8280xp-qmp-usb3-uni-phy
122 - qcom,sm8150-qmp-usb3-uni-phy
123 - qcom,sm8250-qmp-usb3-uni-phy
124 - qcom,sm8350-qmp-usb3-uni-phy
125 - qcom,x1e80100-qmp-usb3-uni-phy
126 then:
127 properties:
128 clocks:
129 maxItems: 4
130 clock-names:
131 items:
132 - const: aux
133 - const: ref
134 - const: com_aux
135 - const: pipe
136
137 - if:
138 properties:
139 compatible:
140 contains:
141 enum:
142 - qcom,sdm845-qmp-usb3-uni-phy
143 then:
144 properties:
145 clocks:
146 maxItems: 5
147 clock-names:
148 items:
149 - const: aux
150 - const: cfg_ahb
151 - const: ref
152 - const: com_aux
153 - const: pipe
154
155 - if:
156 properties:
157 compatible:
158 contains:
159 enum:
160 - qcom,sa8775p-qmp-usb3-uni-phy
161 - qcom,sc8180x-qmp-usb3-uni-phy
162 - qcom,sc8280xp-qmp-usb3-uni-phy
163 - qcom,x1e80100-qmp-usb3-uni-phy
164 then:
165 required:
166 - power-domains
167
168additionalProperties: false
169
170examples:
171 - |
172 #include <dt-bindings/clock/qcom,gcc-sc8280xp.h>
173 #include <dt-bindings/clock/qcom,rpmh.h>
174
175 phy@88ef000 {
176 compatible = "qcom,sc8280xp-qmp-usb3-uni-phy";
177 reg = <0x088ef000 0x2000>;
178
179 clocks = <&gcc GCC_USB3_MP_PHY_AUX_CLK>,
180 <&gcc GCC_USB3_MP0_CLKREF_CLK>,
181 <&gcc GCC_USB3_MP_PHY_COM_AUX_CLK>,
182 <&gcc GCC_USB3_MP_PHY_PIPE_0_CLK>;
183 clock-names = "aux", "ref", "com_aux", "pipe";
184
185 power-domains = <&gcc USB30_MP_GDSC>;
186
187 resets = <&gcc GCC_USB3_UNIPHY_MP0_BCR>,
188 <&gcc GCC_USB3UNIPHY_PHY_MP0_BCR>;
189 reset-names = "phy", "phy_phy";
190
191 vdda-phy-supply = <&vreg_l3a>;
192 vdda-pll-supply = <&vreg_l5a>;
193
194 #clock-cells = <0>;
195 clock-output-names = "usb2_phy0_pipe_clk";
196
197 #phy-cells = <0>;
198 };