1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
4 $id: http://devicetree.org/schemas/cpufreq/qcom-cpufreq-nvmem.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
7 title: Qualcomm Technologies, Inc. NVMEM CPUFreq bindings
10 - Ilia Lin <ilia.lin@kernel.org>
13 In certain Qualcomm Technologies, Inc. SoCs such as QCS404, The CPU supply
14 voltage is dynamically configured by Core Power Reduction (CPR) depending on
15 current CPU frequency and efuse values.
16 CPR provides a power domain with multiple levels that are selected depending
17 on the CPU OPP in use. The CPUFreq driver sets the CPR power domain level
18 according to the required OPPs defined in the CPU OPP tables.
50 '^opp-table(-[a-z0-9]+)?$':
54 const: operating-points-v2-kryo-cpu
61 additionalProperties: true
66 model = "Qualcomm Technologies, Inc. QCS404";
67 compatible = "qcom,qcs404";
77 compatible = "arm,cortex-a53";
79 enable-method = "psci";
80 cpu-idle-states = <&CPU_SLEEP_0>;
81 next-level-cache = <&L2_0>;
84 operating-points-v2 = <&cpu_opp_table>;
85 power-domains = <&cpr>;
86 power-domain-names = "cpr";
91 compatible = "arm,cortex-a53";
93 enable-method = "psci";
94 cpu-idle-states = <&CPU_SLEEP_0>;
95 next-level-cache = <&L2_0>;
98 operating-points-v2 = <&cpu_opp_table>;
99 power-domains = <&cpr>;
100 power-domain-names = "cpr";
105 compatible = "arm,cortex-a53";
107 enable-method = "psci";
108 cpu-idle-states = <&CPU_SLEEP_0>;
109 next-level-cache = <&L2_0>;
110 #cooling-cells = <2>;
111 clocks = <&apcs_glb>;
112 operating-points-v2 = <&cpu_opp_table>;
113 power-domains = <&cpr>;
114 power-domain-names = "cpr";
119 compatible = "arm,cortex-a53";
121 enable-method = "psci";
122 cpu-idle-states = <&CPU_SLEEP_0>;
123 next-level-cache = <&L2_0>;
124 #cooling-cells = <2>;
125 clocks = <&apcs_glb>;
126 operating-points-v2 = <&cpu_opp_table>;
127 power-domains = <&cpr>;
128 power-domain-names = "cpr";
132 cpu_opp_table: opp-table-cpu {
133 compatible = "operating-points-v2-kryo-cpu";
137 opp-hz = /bits/ 64 <1094400000>;
138 required-opps = <&cpr_opp1>;
141 opp-hz = /bits/ 64 <1248000000>;
142 required-opps = <&cpr_opp2>;
145 opp-hz = /bits/ 64 <1401600000>;
146 required-opps = <&cpr_opp3>;
150 cpr_opp_table: opp-table-cpr {
151 compatible = "operating-points-v2-qcom-level";
155 qcom,opp-fuse-level = <1>;
159 qcom,opp-fuse-level = <2>;
163 qcom,opp-fuse-level = <3>;