RE: [PATCH 2/2] dt-bindings: devfreq: Document L2 Krait CPU Cache devfreq driver

From: ansuelsmth
Date: Mon Sep 28 2020 - 15:05:33 EST




> -----Original Message-----
> From: Rob Herring <robh@xxxxxxxxxx>
> Sent: Monday, September 28, 2020 8:09 PM
> To: Ansuel Smith <ansuelsmth@xxxxxxxxx>
> Cc: MyungJoo Ham <myungjoo.ham@xxxxxxxxxxx>; Kyungmin Park
> <kyungmin.park@xxxxxxxxxxx>; Chanwoo Choi
> <cw00.choi@xxxxxxxxxxx>; linux-pm@xxxxxxxxxxxxxxx;
> devicetree@xxxxxxxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx
> Subject: Re: [PATCH 2/2] dt-bindings: devfreq: Document L2 Krait CPU
> Cache devfreq driver
>
> On Sun, Sep 27, 2020 at 06:05:13PM +0200, Ansuel Smith wrote:
> > Document dedicated L2 Krait CPU Cache devfreq scaling driver.
> >
> > Signed-off-by: Ansuel Smith <ansuelsmth@xxxxxxxxx>
> > ---
> > .../bindings/devfreq/krait-cache-devfreq.yaml | 77
> +++++++++++++++++++
> > 1 file changed, 77 insertions(+)
> > create mode 100644 Documentation/devicetree/bindings/devfreq/krait-
> cache-devfreq.yaml
> >
> > diff --git a/Documentation/devicetree/bindings/devfreq/krait-cache-
> devfreq.yaml b/Documentation/devicetree/bindings/devfreq/krait-cache-
> devfreq.yaml
> > new file mode 100644
> > index 000000000000..099ed978e022
> > --- /dev/null
> > +++ b/Documentation/devicetree/bindings/devfreq/krait-cache-
> devfreq.yaml
> > @@ -0,0 +1,77 @@
> > +# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
> > +%YAML 1.2
> > +---
> > +$id: http://devicetree.org/schemas/cpufreq/krait-cache-devfreq.yaml#
> > +$schema: http://devicetree.org/meta-schemas/core.yaml#
> > +
> > +title: DEVFREQ driver for Krait L2 Cpu Cache Frequency Scaling
>
> Bindings are for h/w devices, not collections of properties for some
> driver. Define a binding for L2 cache and add on to it what you need.
>

Should I still document it in the devfreq directory or somewhere else?

> > +
> > +maintainers:
> > + - Ansuel Smith <ansuelsmth@xxxxxxxxx>
> > +
> > +description: |
> > + This Scale the Krait CPU L2 Cache Frequency and optionally voltage
> > + when the Cpu Frequency is changed (using the cpufreq notifier).
> > +
> > + Cache is scaled with the max frequency across all core and the cache
> > + frequency will scale based on the configured threshold in the dts.
> > +
> > + The cache thresholds can be set to 3+ frequency bin, idle, nominal
and
> > + high.
> > +
> > +properties:
> > + compatible:
> > + const: qcom,krait-cache
> > +
> > + clocks:
> > + $ref: "/schemas/types.yaml#/definitions/phandle"
>
> 'clocks' already has a type defined. You just need how many and what
> each entry is.
>
> > + description: Phandle to the L2 CPU clock
> > +
> > + clock-names:
> > + const: "l2"
> > +
> > + voltage-tolerance:
> > + description: Same voltage tolerance of the Krait CPU
>
> Needs a vendor prefix and unit suffix.
>
> > +
> > + l2-cpufreq:
> > + description: |
> > + Threshold used by the driver to scale the L2 cache.
> > + If the max CPU Frequency is more than the set frequency,
> > + the driver will transition to the next frequency bin.
> > + Value is in kHz
> > + $ref: /schemas/types.yaml#/definitions/uint32-array
> > + minItems: 3
> > + items:
> > + - description: idle
> > + - description: nominal
> > + - description: high
> > +
> > + l2-supply:
> > + $ref: "/schemas/types.yaml#/definitions/phandle"
> > + description: Phandle to the L2 regulator supply.
> > +
> > + opp-table: true
> > +
> > +required:
> > + - compatible
> > + - clocks
> > + - clock-names
> > + - voltage-tolerance
> > + - l2-cpufreq
> > +
> > +examples:
> > + - |
> > + qcom-krait-cache {
> > + compatible = "qcom,krait-cache";
> > + clocks = <&kraitcc 4>;
> > + clock-names = "l2";
> > + l2-cpufreq = <384000 600000 1200000>;
> > + l2-supply = <&smb208_s1a>;
> > +
> > + operating-points = <
>
> Not documented and generally deprecated.
>

Ok will change to v2.

> > + /* kHz uV */
> > + 384000 1100000
> > + 1000000 1100000
> > + 1200000 1150000
> > + >;
> > + };
> > --
> > 2.27.0
> >