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@xxxxxxxxx> --- .../devicetree/bindings/opp/opp-v2-kryo-cpu.yaml | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) 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 -- 2.38.1