diff mbox series

[2/3] dt-bindings: opp: opp-v2-kryo-cpu: add opp-microvolt nvmem based

Message ID 20230121000146.7809-2-ansuelsmth@gmail.com
State New
Headers show
Series [1/3] dt-bindings: cpufreq: qcom-cpufreq-nvmem: make cpr bindings optional | expand

Commit Message

Christian Marangi Jan. 21, 2023, 12:01 a.m. UTC
The operating-points-v2-kryo-cpu driver supports defining multiple
opp-microvolt based on the blown efuses in the soc. It consist of 3
values that are parsed: speedbin, psv and version. They are all
appended to the opp-microvolt name and selected by the nvmem driver and
loaded dynamically at runtime.

Example:

opp-microvolt-speed0-pvs0-v0 = <1050000 997500 1102500>;
opp-microvolt-speed0-pvs1-v0 = <975000 926250 1023750>;
opp-microvolt-speed0-pvs2-v0 = <925000 878750 971250>;
opp-microvolt-speed0-pvs3-v0 = <850000 807500 892500>;

Add support for this and reject these special binding if we don't have a
nvmem-cell to read data from.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
---
 .../devicetree/bindings/opp/opp-v2-kryo-cpu.yaml | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)
diff mbox series

Patch

diff --git a/Documentation/devicetree/bindings/opp/opp-v2-kryo-cpu.yaml b/Documentation/devicetree/bindings/opp/opp-v2-kryo-cpu.yaml
index b4947b326773..cea932339faf 100644
--- a/Documentation/devicetree/bindings/opp/opp-v2-kryo-cpu.yaml
+++ b/Documentation/devicetree/bindings/opp/opp-v2-kryo-cpu.yaml
@@ -61,6 +61,17 @@  patternProperties:
 
       required-opps: true
 
+    patternProperties:
+      '^opp-microvolt-speed[0-9]-pvs[0-9]-v[0-9]$':
+        description: |
+          Assign a microvolt value to the opp hz based on the efuses value from
+          speedbin, pvs and version value read from the provided nvmem cell.
+        minItems: 1
+        maxItems: 8   # Should be enough regulators
+        items:
+          minItems: 1
+          maxItems: 3
+
     required:
       - opp-hz
 
@@ -75,6 +86,11 @@  then:
     '^opp-?[0-9]+$':
       required:
         - opp-supported-hw
+else:
+  patternProperties:
+    '^opp-?[0-9]+$':
+      patternProperties:
+        '^opp-microvolt-speed[0-9]-pvs[0-9]-v[0-9]$': false
 
 additionalProperties: false