@@ -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
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(+)