[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <Ylg83Ub7wuElT+Bu@robh.at.kernel.org>
Date: Thu, 14 Apr 2022 10:25:17 -0500
From: Rob Herring <robh@...nel.org>
To: Krzysztof Kozlowski <krzysztof.kozlowski@...aro.org>
Cc: Andy Gross <agross@...nel.org>,
Bjorn Andersson <bjorn.andersson@...aro.org>,
Michael Turquette <mturquette@...libre.com>,
Stephen Boyd <sboyd@...nel.org>,
Krzysztof Kozlowski <krzysztof.kozlowski+dt@...aro.org>,
Viresh Kumar <vireshk@...nel.org>, Nishanth Menon <nm@...com>,
Alim Akhtar <alim.akhtar@...sung.com>,
Avri Altman <avri.altman@....com>,
"James E.J. Bottomley" <jejb@...ux.ibm.com>,
"Martin K. Petersen" <martin.petersen@...cle.com>,
"Rafael J. Wysocki" <rafael@...nel.org>,
Taniya Das <tdas@...eaurora.org>,
linux-arm-msm@...r.kernel.org, linux-clk@...r.kernel.org,
devicetree@...r.kernel.org, linux-kernel@...r.kernel.org,
linux-pm@...r.kernel.org, linux-scsi@...r.kernel.org
Subject: Re: [RFC PATCH v2 3/6] dt-bindings: ufs: common: add OPP table
On Mon, Apr 11, 2022 at 05:43:44PM +0200, Krzysztof Kozlowski wrote:
> 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@...aro.org>
>
> ---
>
> Not adding Rob's review tag because patch changed significantly.
> ---
> .../devicetree/bindings/ufs/ufs-common.yaml | 34 +++++++++++++++++--
> 1 file changed, 31 insertions(+), 3 deletions(-)
>
> diff --git a/Documentation/devicetree/bindings/ufs/ufs-common.yaml b/Documentation/devicetree/bindings/ufs/ufs-common.yaml
> index 47a4e9e1a775..d7d2c8a136bb 100644
> --- a/Documentation/devicetree/bindings/ufs/ufs-common.yaml
> +++ b/Documentation/devicetree/bindings/ufs/ufs-common.yaml
> @@ -20,11 +20,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 +88,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
You could also express this as:
oneOf:
- required: [ freq-table-hz ]
- required: [ operating-points-v2 ]
- not:
required: [ freq-table-hz, operating-points-v2 ]
> +
> additionalProperties: true
> --
> 2.32.0
>
>
Powered by blists - more mailing lists