Message ID | 20240326174632.209745-2-krzysztof.kozlowski@linaro.org (mailing list archive) |
---|---|
State | Not Applicable |
Headers | show |
Series | [1/3] dt-bindings: ufs: qcom: document SC8180X UFS | expand |
On Tue, Mar 26, 2024 at 06:46:31PM +0100, Krzysztof Kozlowski wrote: > Document already upstreamed and used Qualcomm SC7180 UFS host controller > to fix dtbs_check warnings like: > > sc7180-idp.dtb: ufshc@1d84000: compatible:0: 'qcom,sc7180-ufshc' is not one of ... > sc7180-idp.dtb: ufshc@1d84000: clocks: [[39, 99], [39, 7], [39, 98], [39, 107], [36, 0], [39, 106], [39, 105]] is too short > sc7180-idp.dtb: ufshc@1d84000: clock-names: ['core_clk', 'bus_aggr_clk', 'iface_clk', 'core_clk_unipro', ...] is too short > > Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> > --- > .../devicetree/bindings/ufs/qcom,ufs.yaml | 34 ++++++++++++++++--- > 1 file changed, 30 insertions(+), 4 deletions(-) > > diff --git a/Documentation/devicetree/bindings/ufs/qcom,ufs.yaml b/Documentation/devicetree/bindings/ufs/qcom,ufs.yaml > index 1ab3d16917ac..7e6d442545ad 100644 > --- a/Documentation/devicetree/bindings/ufs/qcom,ufs.yaml > +++ b/Documentation/devicetree/bindings/ufs/qcom,ufs.yaml > @@ -27,6 +27,7 @@ properties: > - qcom,msm8996-ufshc > - qcom,msm8998-ufshc > - qcom,sa8775p-ufshc > + - qcom,sc7180-ufshc > - qcom,sc7280-ufshc > - qcom,sc8180x-ufshc > - qcom,sc8280xp-ufshc > @@ -43,11 +44,11 @@ properties: > - const: jedec,ufs-2.0 > > clocks: > - minItems: 8 > + minItems: 7 > maxItems: 11 > > clock-names: > - minItems: 8 > + minItems: 7 > maxItems: 11 > > dma-coherent: true > @@ -113,6 +114,31 @@ required: > allOf: > - $ref: ufs-common.yaml > > + - if: > + properties: > + compatible: > + contains: > + enum: > + - qcom,sc7180-ufshc > + then: > + properties: > + clocks: > + minItems: 7 > + maxItems: 7 > + clock-names: > + items: > + - const: core_clk > + - const: bus_aggr_clk > + - const: iface_clk > + - const: core_clk_unipro > + - const: ref_clk > + - const: tx_lane0_sync_clk > + - const: rx_lane0_sync_clk > + reg: > + maxItems: 1 > + reg-names: > + maxItems: 1 > + > - if: > properties: > compatible: > @@ -250,7 +276,7 @@ allOf: > reg: > maxItems: 1 > clocks: > - minItems: 8 > + minItems: 7 > maxItems: 8 > else: > properties: > @@ -258,7 +284,7 @@ allOf: > minItems: 1 > maxItems: 2 > clocks: > - minItems: 8 > + minItems: 7 I'm getting confused by the clock requirements for qcom,ice. Why does specifying the qcom,ice phandle require these clocks? These are the UFSHC clocks and already defined above. - Mani > maxItems: 11 > > unevaluatedProperties: false > -- > 2.34.1 >
On 28/03/2024 04:59, Manivannan Sadhasivam wrote: >> - if: >> properties: >> compatible: >> @@ -250,7 +276,7 @@ allOf: >> reg: >> maxItems: 1 >> clocks: >> - minItems: 8 >> + minItems: 7 >> maxItems: 8 >> else: >> properties: >> @@ -258,7 +284,7 @@ allOf: >> minItems: 1 >> maxItems: 2 >> clocks: >> - minItems: 8 >> + minItems: 7 > > I'm getting confused by the clock requirements for qcom,ice. Why does specifying > the qcom,ice phandle require these clocks? These are the UFSHC clocks and > already defined above. I am also confused, but I did not change that logic. I don't think that it is anyway useful, but that separate topic from this patch. Best regards, Krzysztof
diff --git a/Documentation/devicetree/bindings/ufs/qcom,ufs.yaml b/Documentation/devicetree/bindings/ufs/qcom,ufs.yaml index 1ab3d16917ac..7e6d442545ad 100644 --- a/Documentation/devicetree/bindings/ufs/qcom,ufs.yaml +++ b/Documentation/devicetree/bindings/ufs/qcom,ufs.yaml @@ -27,6 +27,7 @@ properties: - qcom,msm8996-ufshc - qcom,msm8998-ufshc - qcom,sa8775p-ufshc + - qcom,sc7180-ufshc - qcom,sc7280-ufshc - qcom,sc8180x-ufshc - qcom,sc8280xp-ufshc @@ -43,11 +44,11 @@ properties: - const: jedec,ufs-2.0 clocks: - minItems: 8 + minItems: 7 maxItems: 11 clock-names: - minItems: 8 + minItems: 7 maxItems: 11 dma-coherent: true @@ -113,6 +114,31 @@ required: allOf: - $ref: ufs-common.yaml + - if: + properties: + compatible: + contains: + enum: + - qcom,sc7180-ufshc + then: + properties: + clocks: + minItems: 7 + maxItems: 7 + clock-names: + items: + - const: core_clk + - const: bus_aggr_clk + - const: iface_clk + - const: core_clk_unipro + - const: ref_clk + - const: tx_lane0_sync_clk + - const: rx_lane0_sync_clk + reg: + maxItems: 1 + reg-names: + maxItems: 1 + - if: properties: compatible: @@ -250,7 +276,7 @@ allOf: reg: maxItems: 1 clocks: - minItems: 8 + minItems: 7 maxItems: 8 else: properties: @@ -258,7 +284,7 @@ allOf: minItems: 1 maxItems: 2 clocks: - minItems: 8 + minItems: 7 maxItems: 11 unevaluatedProperties: false
Document already upstreamed and used Qualcomm SC7180 UFS host controller to fix dtbs_check warnings like: sc7180-idp.dtb: ufshc@1d84000: compatible:0: 'qcom,sc7180-ufshc' is not one of ... sc7180-idp.dtb: ufshc@1d84000: clocks: [[39, 99], [39, 7], [39, 98], [39, 107], [36, 0], [39, 106], [39, 105]] is too short sc7180-idp.dtb: ufshc@1d84000: clock-names: ['core_clk', 'bus_aggr_clk', 'iface_clk', 'core_clk_unipro', ...] is too short Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> --- .../devicetree/bindings/ufs/qcom,ufs.yaml | 34 ++++++++++++++++--- 1 file changed, 30 insertions(+), 4 deletions(-)