Skip to content

Commit f0f8e9e

Browse files
committed
Merge tag 'cpufreq-arm-updates-6.3' of git://git.kernel.org/pub/scm/linux/kernel/git/vireshk/pm
Pull cpufreq ARM updates for 6.3 from Viresh Kumar: "- Enable thermal cooling for Tegra194 (Yi-Wei Wang). - Register module device table and add missing compatibles for cpufreq-qcom-hw (Nícolas F. R. A. Prado, Abel Vesa and Luca Weiss). - Various dt binding updates for qcom-cpufreq-nvmem and opp-v2-kryo-cpu (Christian Marangi)." * tag 'cpufreq-arm-updates-6.3' of git://git.kernel.org/pub/scm/linux/kernel/git/vireshk/pm: dt-bindings: opp: opp-v2-kryo-cpu: enlarge opp-supported-hw maximum dt-bindings: cpufreq: qcom-cpufreq-nvmem: make cpr bindings optional dt-bindings: cpufreq: qcom-cpufreq-nvmem: specify supported opp tables dt-bindings: cpufreq: cpufreq-qcom-hw: Add SM8550 compatible dt-bindings: cpufreq: cpufreq-qcom-hw: Add missing compatibles cpufreq: mediatek-hw: Register to module device table cpufreq: tegra194: Enable CPUFREQ thermal cooling
2 parents 3500e22 + ba38f3c commit f0f8e9e

File tree

5 files changed

+77
-29
lines changed

5 files changed

+77
-29
lines changed

Documentation/devicetree/bindings/cpufreq/cpufreq-qcom-hw.yaml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,8 +26,13 @@ properties:
2626
items:
2727
- enum:
2828
- qcom,qdu1000-cpufreq-epss
29+
- qcom,sc7280-cpufreq-epss
30+
- qcom,sc8280xp-cpufreq-epss
2931
- qcom,sm6375-cpufreq-epss
3032
- qcom,sm8250-cpufreq-epss
33+
- qcom,sm8350-cpufreq-epss
34+
- qcom,sm8450-cpufreq-epss
35+
- qcom,sm8550-cpufreq-epss
3136
- const: qcom,cpufreq-epss
3237

3338
reg:

Documentation/devicetree/bindings/cpufreq/qcom-cpufreq-nvmem.yaml

Lines changed: 56 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,9 @@ description: |
1717
on the CPU OPP in use. The CPUFreq driver sets the CPR power domain level
1818
according to the required OPPs defined in the CPU OPP tables.
1919
20+
For old implementation efuses are parsed to select the correct opp table and
21+
voltage and CPR is not supported/used.
22+
2023
select:
2124
properties:
2225
compatible:
@@ -33,37 +36,65 @@ select:
3336
required:
3437
- compatible
3538

36-
properties:
37-
cpus:
38-
type: object
39-
40-
patternProperties:
41-
'^cpu@[0-9a-f]+$':
42-
type: object
43-
44-
properties:
45-
power-domains:
46-
maxItems: 1
47-
48-
power-domain-names:
49-
items:
50-
- const: cpr
51-
52-
required:
53-
- power-domains
54-
- power-domain-names
55-
5639
patternProperties:
5740
'^opp-table(-[a-z0-9]+)?$':
58-
if:
41+
allOf:
42+
- if:
43+
properties:
44+
compatible:
45+
const: operating-points-v2-kryo-cpu
46+
then:
47+
$ref: /schemas/opp/opp-v2-kryo-cpu.yaml#
48+
49+
- if:
50+
properties:
51+
compatible:
52+
const: operating-points-v2-qcom-level
53+
then:
54+
$ref: /schemas/opp/opp-v2-qcom-level.yaml#
55+
56+
unevaluatedProperties: false
57+
58+
allOf:
59+
- if:
5960
properties:
6061
compatible:
61-
const: operating-points-v2-kryo-cpu
62+
contains:
63+
enum:
64+
- qcom,qcs404
65+
6266
then:
67+
properties:
68+
cpus:
69+
type: object
70+
71+
patternProperties:
72+
'^cpu@[0-9a-f]+$':
73+
type: object
74+
75+
properties:
76+
power-domains:
77+
maxItems: 1
78+
79+
power-domain-names:
80+
items:
81+
- const: cpr
82+
83+
required:
84+
- power-domains
85+
- power-domain-names
86+
6387
patternProperties:
64-
'^opp-?[0-9]+$':
65-
required:
66-
- required-opps
88+
'^opp-table(-[a-z0-9]+)?$':
89+
if:
90+
properties:
91+
compatible:
92+
const: operating-points-v2-kryo-cpu
93+
then:
94+
patternProperties:
95+
'^opp-?[0-9]+$':
96+
required:
97+
- required-opps
6798

6899
additionalProperties: true
69100

Documentation/devicetree/bindings/opp/opp-v2-kryo-cpu.yaml

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -50,12 +50,22 @@ patternProperties:
5050
opp-supported-hw:
5151
description: |
5252
A single 32 bit bitmap value, representing compatible HW.
53-
Bitmap:
53+
Bitmap for MSM8996 format:
5454
0: MSM8996, speedbin 0
5555
1: MSM8996, speedbin 1
5656
2: MSM8996, speedbin 2
57-
3-31: unused
58-
maximum: 0x7
57+
3: MSM8996, speedbin 3
58+
4-31: unused
59+
60+
Bitmap for MSM8996SG format (speedbin shifted of 4 left):
61+
0-3: unused
62+
4: MSM8996SG, speedbin 0
63+
5: MSM8996SG, speedbin 1
64+
6: MSM8996SG, speedbin 2
65+
7-31: unused
66+
enum: [0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7,
67+
0x9, 0xd, 0xe, 0xf,
68+
0x10, 0x20, 0x30, 0x70]
5969

6070
clock-latency-ns: true
6171

drivers/cpufreq/mediatek-cpufreq-hw.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -326,6 +326,7 @@ static const struct of_device_id mtk_cpufreq_hw_match[] = {
326326
{ .compatible = "mediatek,cpufreq-hw", .data = &cpufreq_mtk_offsets },
327327
{}
328328
};
329+
MODULE_DEVICE_TABLE(of, mtk_cpufreq_hw_match);
329330

330331
static struct platform_driver mtk_cpufreq_hw_driver = {
331332
.probe = mtk_cpufreq_hw_driver_probe,

drivers/cpufreq/tegra194-cpufreq.c

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -411,7 +411,8 @@ static int tegra194_cpufreq_set_target(struct cpufreq_policy *policy,
411411

412412
static struct cpufreq_driver tegra194_cpufreq_driver = {
413413
.name = "tegra194",
414-
.flags = CPUFREQ_CONST_LOOPS | CPUFREQ_NEED_INITIAL_FREQ_CHECK,
414+
.flags = CPUFREQ_CONST_LOOPS | CPUFREQ_NEED_INITIAL_FREQ_CHECK |
415+
CPUFREQ_IS_COOLING_DEV,
415416
.verify = cpufreq_generic_frequency_table_verify,
416417
.target_index = tegra194_cpufreq_set_target,
417418
.get = tegra194_get_speed,

0 commit comments

Comments
 (0)