Message ID | 20231011122543.11922-2-manivannan.sadhasivam@linaro.org (mailing list archive) |
---|---|
State | Superseded, archived |
Headers | show |
Series | UFS: Add OPP support | expand |
On 11/10/2023 14:25, Manivannan Sadhasivam wrote: > From: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> > > Except scaling UFS and bus clocks, it's necessary to scale also the > voltages of regulators or power domain performance state levels. Adding > Operating Performance Points table allows to adjust power domain > performance state, depending on the UFS clock speed. > > OPPv2 deprecates previous property limited to clock scaling: > freq-table-hz. > > Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> > Reviewed-by: Rob Herring <robh@kernel.org> > Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org> > --- > .../devicetree/bindings/ufs/ufs-common.yaml | 35 +++++++++++++++++-- > 1 file changed, 32 insertions(+), 3 deletions(-) > > diff --git a/Documentation/devicetree/bindings/ufs/ufs-common.yaml b/Documentation/devicetree/bindings/ufs/ufs-common.yaml > index bbaee4f5f7b2..1cb022cdc349 100644 > --- a/Documentation/devicetree/bindings/ufs/ufs-common.yaml > +++ b/Documentation/devicetree/bindings/ufs/ufs-common.yaml > @@ -6,6 +6,7 @@ $schema: http://devicetree.org/meta-schemas/core.yaml# > > title: Common properties for Universal Flash Storage (UFS) Host Controllers > > + Drop blank line. > maintainers: > - Alim Akhtar <alim.akhtar@samsung.com> > - Avri Altman <avri.altman@wdc.com> > @@ -20,11 +21,24 @@ properties: > items: > - description: Minimum frequency for given clock in Hz > - description: Maximum frequency for given clock in Hz > + deprecated: true > description: | > + Preferred is operating-points-v2. > + > Array of <min max> operating frequencies in Hz stored in the same order > - as the clocks property. If this property is not defined or a value in the > - array is "0" then it is assumed that the frequency is set by the parent > - clock or a fixed rate clock source. > + as the clocks property. If either this property or operating-points-v2 is > + not defined or a value in the array is "0" then it is assumed that the > + frequency is set by the parent clock or a fixed rate clock source. > + > + operating-points-v2: > + description: > + Preferred over freq-table-hz. > + If present, each OPP must contain array of frequencies stored in the same > + order for each clock. If clock frequency in the array is "0" then it is > + assumed that the frequency is set by the parent clock or a fixed rate > + clock source. > + > + opp-table: true opp-table: type: object Best regards, Krzysztof
diff --git a/Documentation/devicetree/bindings/ufs/ufs-common.yaml b/Documentation/devicetree/bindings/ufs/ufs-common.yaml index bbaee4f5f7b2..1cb022cdc349 100644 --- a/Documentation/devicetree/bindings/ufs/ufs-common.yaml +++ b/Documentation/devicetree/bindings/ufs/ufs-common.yaml @@ -6,6 +6,7 @@ $schema: http://devicetree.org/meta-schemas/core.yaml# title: Common properties for Universal Flash Storage (UFS) Host Controllers + maintainers: - Alim Akhtar <alim.akhtar@samsung.com> - Avri Altman <avri.altman@wdc.com> @@ -20,11 +21,24 @@ properties: items: - description: Minimum frequency for given clock in Hz - description: Maximum frequency for given clock in Hz + deprecated: true description: | + Preferred is operating-points-v2. + Array of <min max> operating frequencies in Hz stored in the same order - as the clocks property. If this property is not defined or a value in the - array is "0" then it is assumed that the frequency is set by the parent - clock or a fixed rate clock source. + as the clocks property. If either this property or operating-points-v2 is + not defined or a value in the array is "0" then it is assumed that the + frequency is set by the parent clock or a fixed rate clock source. + + operating-points-v2: + description: + Preferred over freq-table-hz. + If present, each OPP must contain array of frequencies stored in the same + order for each clock. If clock frequency in the array is "0" then it is + assumed that the frequency is set by the parent clock or a fixed rate + clock source. + + opp-table: true interrupts: maxItems: 1 @@ -75,8 +89,23 @@ properties: dependencies: freq-table-hz: [ clocks ] + operating-points-v2: [ clocks, clock-names ] required: - interrupts +allOf: + - if: + required: + - freq-table-hz + then: + properties: + operating-points-v2: false + - if: + required: + - operating-points-v2 + then: + properties: + freq-table-hz: false + additionalProperties: true