Skip to content

Commit b0bcec8

Browse files
Mani-Sadhasivamvinodkoul
authored andcommitted
dt-bindings: phy: qmp-ufs: Fix PHY clocks
All QMP UFS PHYs except MSM8996 require 3 clocks: * ref - 19.2MHz reference clock from RPMh * ref_aux - Auxiliary reference clock from GCC * qref - QREF clock from GCC or TCSR (since SM8550) MSM8996 only requires 'ref' and 'qref' clocks. Hence, fix the binding to reflect the actual clock topology. This change obviously breaks the ABI, but it is inevitable since the clock topology needs to be accurately described in the binding. Reviewed-by: Conor Dooley <conor.dooley@microchip.com> Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org> Link: https://lore.kernel.org/r/20240131-ufs-phy-clock-v3-1-58a49d2f4605@linaro.org Signed-off-by: Vinod Koul <vkoul@kernel.org>
1 parent 25ee21f commit b0bcec8

1 file changed

Lines changed: 21 additions & 27 deletions

File tree

Documentation/devicetree/bindings/phy/qcom,sc8280xp-qmp-ufs-phy.yaml

Lines changed: 21 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -39,15 +39,12 @@ properties:
3939
maxItems: 1
4040

4141
clocks:
42-
minItems: 1
42+
minItems: 2
4343
maxItems: 3
4444

4545
clock-names:
46-
minItems: 1
47-
items:
48-
- const: ref
49-
- const: ref_aux
50-
- const: qref
46+
minItems: 2
47+
maxItems: 3
5148

5249
power-domains:
5350
maxItems: 1
@@ -87,23 +84,9 @@ allOf:
8784
compatible:
8885
contains:
8986
enum:
87+
- qcom,msm8998-qmp-ufs-phy
9088
- qcom,sa8775p-qmp-ufs-phy
9189
- qcom,sc7280-qmp-ufs-phy
92-
- qcom,sm8450-qmp-ufs-phy
93-
then:
94-
properties:
95-
clocks:
96-
minItems: 3
97-
clock-names:
98-
minItems: 3
99-
100-
- if:
101-
properties:
102-
compatible:
103-
contains:
104-
enum:
105-
- qcom,msm8998-qmp-ufs-phy
106-
- qcom,sc7180-qmp-ufs-phy
10790
- qcom,sc8180x-qmp-ufs-phy
10891
- qcom,sc8280xp-qmp-ufs-phy
10992
- qcom,sdm845-qmp-ufs-phy
@@ -114,14 +97,19 @@ allOf:
11497
- qcom,sm8150-qmp-ufs-phy
11598
- qcom,sm8250-qmp-ufs-phy
11699
- qcom,sm8350-qmp-ufs-phy
100+
- qcom,sm8450-qmp-ufs-phy
117101
- qcom,sm8550-qmp-ufs-phy
118102
- qcom,sm8650-qmp-ufs-phy
119103
then:
120104
properties:
121105
clocks:
122-
maxItems: 2
106+
minItems: 3
107+
maxItems: 3
123108
clock-names:
124-
maxItems: 2
109+
items:
110+
- const: ref
111+
- const: ref_aux
112+
- const: qref
125113

126114
- if:
127115
properties:
@@ -132,22 +120,28 @@ allOf:
132120
then:
133121
properties:
134122
clocks:
135-
maxItems: 1
123+
minItems: 2
124+
maxItems: 2
136125
clock-names:
137-
maxItems: 1
126+
items:
127+
- const: ref
128+
- const: qref
138129

139130
additionalProperties: false
140131

141132
examples:
142133
- |
143134
#include <dt-bindings/clock/qcom,gcc-sc8280xp.h>
135+
#include <dt-bindings/clock/qcom,rpmh.h>
144136
145137
ufs_mem_phy: phy@1d87000 {
146138
compatible = "qcom,sc8280xp-qmp-ufs-phy";
147139
reg = <0x01d87000 0x1000>;
148140
149-
clocks = <&gcc GCC_UFS_REF_CLKREF_CLK>, <&gcc GCC_UFS_PHY_PHY_AUX_CLK>;
150-
clock-names = "ref", "ref_aux";
141+
clocks = <&rpmhcc RPMH_CXO_CLK>, <&gcc GCC_UFS_PHY_PHY_AUX_CLK>,
142+
<&gcc GCC_UFS_REF_CLKREF_CLK>;
143+
144+
clock-names = "ref", "ref_aux", "qref";
151145
152146
power-domains = <&gcc UFS_PHY_GDSC>;
153147

0 commit comments

Comments
 (0)