Re: [PATCH v5 2/4] dt-bindings: opp: opp-v2-kryo-cpu: Document named opp-microvolt property

Dmitry Baryshkov
2023-10-02T19:08:02Z

On Sat, 30 Sept 2023 at 13:22, Robert Marko <robimarko@gmail.com> wrote:
>
> From: Christian Marangi <ansuelsmth@gmail.com>
>
> Document named opp-microvolt property for opp-v2-kryo-cpu schema.
> This property is used to declare multiple voltage ranges selected on the
> different values read from efuses. The selection is done based on the
> speed pvs values and the named opp-microvolt property is selected by the
> qcom-cpufreq-nvmem driver.
>
> Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
> Signed-off-by: Robert Marko <robimarko@gmail.com>
> ---
> Changes v5:
> * Fix typo in opp items
>
> Changes v4:
> * Address comments from Rob (meaning of pvs, drop of
> driver specific info, drop of legacy single voltage OPP,
> better specify max regulators supported)
>
> .../bindings/opp/opp-v2-kryo-cpu.yaml | 39 +++++++++++++++++++
> 1 file changed, 39 insertions(+)
>
> diff --git a/Documentation/devicetree/bindings/opp/opp-v2-kryo-cpu.yaml b/Documentation/devicetree/bindings/opp/opp-v2-kryo-cpu.yaml
> index 27ea7eca73e5..8d2a47e9a854 100644
> --- a/Documentation/devicetree/bindings/opp/opp-v2-kryo-cpu.yaml
> +++ b/Documentation/devicetree/bindings/opp/opp-v2-kryo-cpu.yaml
> @@ -65,6 +65,12 @@ patternProperties:
> 5: MSM8996SG, speedbin 1
> 6: MSM8996SG, speedbin 2
> 7-31: unused
> +
> + Bitmap for IPQ806X SoC:
> + 0: IPQ8062
> + 1: IPQ8064/IPQ8066/IPQ8068
> + 2: IPQ8065/IPQ8069
> + 3-31: unused
> enum: [0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7,
> 0x9, 0xd, 0xe, 0xf,
> 0x10, 0x20, 0x30, 0x70]
> @@ -73,6 +79,23 @@ patternProperties:
>
> required-opps: true
>
> + patternProperties:
> + '^opp-microvolt-speed[0-9]+-pvs[0-9]+$':
> + description: |
> + Named opp-microvolt property following the same generic
> + binding for named opp-microvolt.
> +
> + The correct voltage range is selected based on the values
> + in the efuse for the speed and the pvs (power variable
> + scaling).

I suppose that simple 'true' schema should be enough since this is
already mostly described in opp/opp-v2-base.yaml

> + minItems: 1
> + maxItems: 4 # Up to 4 regulators: Core, Mem, Dig and HFPLL
> + items:
> + items:
> + - description: nominal voltage
> + - description: minimum voltage
> + - description: maximum voltage
> +
> required:
> - opp-hz
>
> @@ -258,6 +281,22 @@ examples:
> };
> };
>
> + /* Dummy opp table to give example for named opp-microvolt */
> + opp-table-2 {
> + compatible = "operating-points-v2-kryo-cpu";
> + nvmem-cells = <&speedbin_efuse>;
> +
> + opp-384000000 {
> + opp-hz = /bits/ 64 <384000000>;
> + opp-microvolt-speed0-pvs0 = <1000000 950000 1050000>;
> + opp-microvolt-speed0-pvs1 = <925000 878750 971250>;
> + opp-microvolt-speed0-pvs2 = <875000 831250 918750>;
> + opp-microvolt-speed0-pvs3 = <800000 760000 840000>;
> + opp-supported-hw = <0x7>;
> + clock-latency-ns = <100000>;
> + };
> + };
> +
> smem {
> compatible = "qcom,smem";
> memory-region = <&smem_mem>;
> --
> 2.41.0
>

--
With best wishes
Dmitry