forked from torvalds/linux
-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge branch 'pm-opp' into linux-next
* pm-opp: Documentation: EM: Describe new registration method using DT OPP: Add support of "opp-microwatt" for EM registration PM: EM: add macro to set .active_power() callback conditionally OPP: Add "opp-microwatt" supporting code dt-bindings: opp: Add "opp-microwatt" entry in the OPP dt-bindings: power: avs: qcom,cpr: Convert to DT schema arm64: dts: qcom: qcs404: Rename CPU and CPR OPP tables arm64: dts: qcom: msm8996: Rename cluster OPP tables dt-bindings: opp: Convert qcom-nvmem-cpufreq to DT schema dt-bindings: opp: qcom-opp: Convert to DT schema arm64: dts: qcom: msm8996-mtp: Add msm8996 compatible dt-bindings: arm: qcom: Add msm8996 and apq8096 compatibles opp: Expose of-node's name in debugfs
- Loading branch information
Showing
20 changed files
with
851 additions
and
957 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
166 changes: 166 additions & 0 deletions
166
Documentation/devicetree/bindings/cpufreq/qcom-cpufreq-nvmem.yaml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,166 @@ | ||
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) | ||
%YAML 1.2 | ||
--- | ||
$id: http://devicetree.org/schemas/cpufreq/qcom-cpufreq-nvmem.yaml# | ||
$schema: http://devicetree.org/meta-schemas/core.yaml# | ||
|
||
title: Qualcomm Technologies, Inc. NVMEM CPUFreq bindings | ||
|
||
maintainers: | ||
- Ilia Lin <ilia.lin@kernel.org> | ||
|
||
description: | | ||
In certain Qualcomm Technologies, Inc. SoCs such as QCS404, The CPU supply | ||
voltage is dynamically configured by Core Power Reduction (CPR) depending on | ||
current CPU frequency and efuse values. | ||
CPR provides a power domain with multiple levels that are selected depending | ||
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. | ||
select: | ||
properties: | ||
compatible: | ||
contains: | ||
enum: | ||
- qcom,qcs404 | ||
required: | ||
- compatible | ||
|
||
properties: | ||
cpus: | ||
type: object | ||
|
||
patternProperties: | ||
'cpu@[0-9a-f]+': | ||
type: object | ||
|
||
properties: | ||
power-domains: | ||
maxItems: 1 | ||
|
||
power-domain-names: | ||
items: | ||
- const: cpr | ||
|
||
required: | ||
- power-domains | ||
- power-domain-names | ||
|
||
patternProperties: | ||
'^opp-table(-[a-z0-9]+)?$': | ||
if: | ||
properties: | ||
compatible: | ||
const: operating-points-v2-kryo-cpu | ||
then: | ||
patternProperties: | ||
'^opp-?[0-9]+$': | ||
required: | ||
- required-opps | ||
|
||
additionalProperties: true | ||
|
||
examples: | ||
- | | ||
/ { | ||
model = "Qualcomm Technologies, Inc. QCS404"; | ||
compatible = "qcom,qcs404"; | ||
#address-cells = <2>; | ||
#size-cells = <2>; | ||
cpus { | ||
#address-cells = <1>; | ||
#size-cells = <0>; | ||
CPU0: cpu@100 { | ||
device_type = "cpu"; | ||
compatible = "arm,cortex-a53"; | ||
reg = <0x100>; | ||
enable-method = "psci"; | ||
cpu-idle-states = <&CPU_SLEEP_0>; | ||
next-level-cache = <&L2_0>; | ||
#cooling-cells = <2>; | ||
clocks = <&apcs_glb>; | ||
operating-points-v2 = <&cpu_opp_table>; | ||
power-domains = <&cpr>; | ||
power-domain-names = "cpr"; | ||
}; | ||
CPU1: cpu@101 { | ||
device_type = "cpu"; | ||
compatible = "arm,cortex-a53"; | ||
reg = <0x101>; | ||
enable-method = "psci"; | ||
cpu-idle-states = <&CPU_SLEEP_0>; | ||
next-level-cache = <&L2_0>; | ||
#cooling-cells = <2>; | ||
clocks = <&apcs_glb>; | ||
operating-points-v2 = <&cpu_opp_table>; | ||
power-domains = <&cpr>; | ||
power-domain-names = "cpr"; | ||
}; | ||
CPU2: cpu@102 { | ||
device_type = "cpu"; | ||
compatible = "arm,cortex-a53"; | ||
reg = <0x102>; | ||
enable-method = "psci"; | ||
cpu-idle-states = <&CPU_SLEEP_0>; | ||
next-level-cache = <&L2_0>; | ||
#cooling-cells = <2>; | ||
clocks = <&apcs_glb>; | ||
operating-points-v2 = <&cpu_opp_table>; | ||
power-domains = <&cpr>; | ||
power-domain-names = "cpr"; | ||
}; | ||
CPU3: cpu@103 { | ||
device_type = "cpu"; | ||
compatible = "arm,cortex-a53"; | ||
reg = <0x103>; | ||
enable-method = "psci"; | ||
cpu-idle-states = <&CPU_SLEEP_0>; | ||
next-level-cache = <&L2_0>; | ||
#cooling-cells = <2>; | ||
clocks = <&apcs_glb>; | ||
operating-points-v2 = <&cpu_opp_table>; | ||
power-domains = <&cpr>; | ||
power-domain-names = "cpr"; | ||
}; | ||
}; | ||
cpu_opp_table: opp-table-cpu { | ||
compatible = "operating-points-v2-kryo-cpu"; | ||
opp-shared; | ||
opp-1094400000 { | ||
opp-hz = /bits/ 64 <1094400000>; | ||
required-opps = <&cpr_opp1>; | ||
}; | ||
opp-1248000000 { | ||
opp-hz = /bits/ 64 <1248000000>; | ||
required-opps = <&cpr_opp2>; | ||
}; | ||
opp-1401600000 { | ||
opp-hz = /bits/ 64 <1401600000>; | ||
required-opps = <&cpr_opp3>; | ||
}; | ||
}; | ||
cpr_opp_table: opp-table-cpr { | ||
compatible = "operating-points-v2-qcom-level"; | ||
cpr_opp1: opp1 { | ||
opp-level = <1>; | ||
qcom,opp-fuse-level = <1>; | ||
}; | ||
cpr_opp2: opp2 { | ||
opp-level = <2>; | ||
qcom,opp-fuse-level = <2>; | ||
}; | ||
cpr_opp3: opp3 { | ||
opp-level = <3>; | ||
qcom,opp-fuse-level = <3>; | ||
}; | ||
}; | ||
}; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.