Path: blob/master/Documentation/devicetree/bindings/cpufreq/qcom-cpufreq-nvmem.yaml
26308 views
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)1%YAML 1.22---3$id: http://devicetree.org/schemas/cpufreq/qcom-cpufreq-nvmem.yaml#4$schema: http://devicetree.org/meta-schemas/core.yaml#56title: Qualcomm Technologies, Inc. NVMEM CPUFreq78maintainers:9- Ilia Lin <ilia.lin@kernel.org>1011description: |12In certain Qualcomm Technologies, Inc. SoCs such as QCS404, The CPU supply13voltage is dynamically configured by Core Power Reduction (CPR) depending on14current CPU frequency and efuse values.15CPR provides a power domain with multiple levels that are selected depending16on the CPU OPP in use. The CPUFreq driver sets the CPR power domain level17according to the required OPPs defined in the CPU OPP tables.1819For old implementation efuses are parsed to select the correct opp table and20voltage and CPR is not supported/used.2122select:23properties:24compatible:25contains:26enum:27- qcom,apq806428- qcom,apq809629- qcom,ipq533230- qcom,ipq601831- qcom,ipq806432- qcom,ipq807433- qcom,ipq957434- qcom,msm890935- qcom,msm893936- qcom,msm896037- qcom,msm897438- qcom,msm899639- qcom,qcs40440required:41- compatible4243patternProperties:44'^opp-table(-[a-z0-9]+)?$':45allOf:46- if:47properties:48compatible:49enum:50- operating-points-v2-krait-cpu51- operating-points-v2-kryo-cpu52then:53$ref: /schemas/opp/opp-v2-kryo-cpu.yaml#5455- if:56properties:57compatible:58const: operating-points-v2-qcom-level59then:60$ref: /schemas/opp/opp-v2-qcom-level.yaml#6162unevaluatedProperties: false6364allOf:65- if:66properties:67compatible:68contains:69enum:70- qcom,qcs4047172then:73properties:74cpus:75type: object7677patternProperties:78'^cpu@[0-9a-f]+$':79type: object8081properties:82power-domains:83maxItems: 18485power-domain-names:86items:87- const: cpr8889required:90- power-domains91- power-domain-names9293patternProperties:94'^opp-table(-[a-z0-9]+)?$':95if:96properties:97compatible:98const: operating-points-v2-kryo-cpu99then:100patternProperties:101'^opp-?[0-9]+$':102required:103- required-opps104105additionalProperties: true106107examples:108- |109/ {110model = "Qualcomm Technologies, Inc. QCS404 EVB 1000";111compatible = "qcom,qcs404-evb-1000", "qcom,qcs404-evb", "qcom,qcs404";112#address-cells = <2>;113#size-cells = <2>;114115cpus {116#address-cells = <1>;117#size-cells = <0>;118119CPU0: cpu@100 {120device_type = "cpu";121compatible = "arm,cortex-a53";122reg = <0x100>;123enable-method = "psci";124cpu-idle-states = <&CPU_SLEEP_0>;125next-level-cache = <&L2_0>;126#cooling-cells = <2>;127clocks = <&apcs_glb>;128operating-points-v2 = <&cpu_opp_table>;129power-domains = <&cpr>;130power-domain-names = "cpr";131};132133CPU1: cpu@101 {134device_type = "cpu";135compatible = "arm,cortex-a53";136reg = <0x101>;137enable-method = "psci";138cpu-idle-states = <&CPU_SLEEP_0>;139next-level-cache = <&L2_0>;140#cooling-cells = <2>;141clocks = <&apcs_glb>;142operating-points-v2 = <&cpu_opp_table>;143power-domains = <&cpr>;144power-domain-names = "cpr";145};146147CPU2: cpu@102 {148device_type = "cpu";149compatible = "arm,cortex-a53";150reg = <0x102>;151enable-method = "psci";152cpu-idle-states = <&CPU_SLEEP_0>;153next-level-cache = <&L2_0>;154#cooling-cells = <2>;155clocks = <&apcs_glb>;156operating-points-v2 = <&cpu_opp_table>;157power-domains = <&cpr>;158power-domain-names = "cpr";159};160161CPU3: cpu@103 {162device_type = "cpu";163compatible = "arm,cortex-a53";164reg = <0x103>;165enable-method = "psci";166cpu-idle-states = <&CPU_SLEEP_0>;167next-level-cache = <&L2_0>;168#cooling-cells = <2>;169clocks = <&apcs_glb>;170operating-points-v2 = <&cpu_opp_table>;171power-domains = <&cpr>;172power-domain-names = "cpr";173};174};175176cpu_opp_table: opp-table-cpu {177compatible = "operating-points-v2-kryo-cpu";178opp-shared;179180opp-1094400000 {181opp-hz = /bits/ 64 <1094400000>;182required-opps = <&cpr_opp1>;183};184opp-1248000000 {185opp-hz = /bits/ 64 <1248000000>;186required-opps = <&cpr_opp2>;187};188opp-1401600000 {189opp-hz = /bits/ 64 <1401600000>;190required-opps = <&cpr_opp3>;191};192};193194cpr_opp_table: opp-table-cpr {195compatible = "operating-points-v2-qcom-level";196197cpr_opp1: opp1 {198opp-level = <1>;199qcom,opp-fuse-level = <1>;200};201cpr_opp2: opp2 {202opp-level = <2>;203qcom,opp-fuse-level = <2>;204};205cpr_opp3: opp3 {206opp-level = <3>;207qcom,opp-fuse-level = <3>;208};209};210};211212213