dt-bindings: cpufreq: qcom-cpufreq-nvmem: make cpr bindings optional
The qcom-cpufreq-nvmem driver supports 2 kind of devices: - pre-cpr that doesn't have power-domains and base everything on nvmem cells and multiple named microvolt bindings. Doesn't need required-opp binding in the opp nodes as they are only used for genpd based devices. - cpr-based that require power-domain in the cpu nodes and use various source to decide the correct voltage and freq Require required-opp binding since they need to be linked to the related opp-level. When the schema was introduced, it was wrongly set to always require these binding but this is not the case for pre-cpr devices. Make the power-domain and the required-opp optional and set them required only for qcs404 based devices. Signed-off-by: Christian Marangi <ansuelsmth@gmail.com> Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
This commit is contained in:
parent
26e27f4e38
commit
389de9c5a6
|
@ -17,6 +17,9 @@ description: |
|
|||
on the CPU OPP in use. The CPUFreq driver sets the CPR power domain level
|
||||
according to the required OPPs defined in the CPU OPP tables.
|
||||
|
||||
For old implementation efuses are parsed to select the correct opp table and
|
||||
voltage and CPR is not supported/used.
|
||||
|
||||
select:
|
||||
properties:
|
||||
compatible:
|
||||
|
@ -33,7 +36,35 @@ select:
|
|||
required:
|
||||
- compatible
|
||||
|
||||
properties:
|
||||
patternProperties:
|
||||
'^opp-table(-[a-z0-9]+)?$':
|
||||
allOf:
|
||||
- if:
|
||||
properties:
|
||||
compatible:
|
||||
const: operating-points-v2-kryo-cpu
|
||||
then:
|
||||
$ref: /schemas/opp/opp-v2-kryo-cpu.yaml#
|
||||
|
||||
- if:
|
||||
properties:
|
||||
compatible:
|
||||
const: operating-points-v2-qcom-level
|
||||
then:
|
||||
$ref: /schemas/opp/opp-v2-qcom-level.yaml#
|
||||
|
||||
unevaluatedProperties: false
|
||||
|
||||
allOf:
|
||||
- if:
|
||||
properties:
|
||||
compatible:
|
||||
contains:
|
||||
enum:
|
||||
- qcom,qcs404
|
||||
|
||||
then:
|
||||
properties:
|
||||
cpus:
|
||||
type: object
|
||||
|
||||
|
@ -53,17 +84,9 @@ properties:
|
|||
- power-domains
|
||||
- power-domain-names
|
||||
|
||||
patternProperties:
|
||||
patternProperties:
|
||||
'^opp-table(-[a-z0-9]+)?$':
|
||||
allOf:
|
||||
- if:
|
||||
properties:
|
||||
compatible:
|
||||
const: operating-points-v2-kryo-cpu
|
||||
then:
|
||||
$ref: /schemas/opp/opp-v2-kryo-cpu.yaml#
|
||||
|
||||
- if:
|
||||
if:
|
||||
properties:
|
||||
compatible:
|
||||
const: operating-points-v2-kryo-cpu
|
||||
|
@ -73,15 +96,6 @@ patternProperties:
|
|||
required:
|
||||
- required-opps
|
||||
|
||||
- if:
|
||||
properties:
|
||||
compatible:
|
||||
const: operating-points-v2-qcom-level
|
||||
then:
|
||||
$ref: /schemas/opp/opp-v2-qcom-level.yaml#
|
||||
|
||||
unevaluatedProperties: false
|
||||
|
||||
additionalProperties: true
|
||||
|
||||
examples:
|
||||
|
|
Loading…
Reference in New Issue