Skip to content

Commit 7c35584

Browse files
committed
Merge tag 'cpufreq-arm-updates-6.7' of git://git.kernel.org/pub/scm/linux/kernel/git/vireshk/pm
Merge ARM cpufreq updates for 6.7 from Viresh Kumar: "- Add support for several Qualcomm SoC versions and other similar changes (Christian Marangi, Dmitry Baryshkov, Luca Weiss, Neil Armstrong, Richard Acayan, Robert Marko, Rohit Agarwal, Stephan Gerhold and Varadarajan Narayanan). - Cleanups to the tegra cpufreq driver (Sumit Gupta). - Use of_property_read_reg() to parse "reg" in pmac32 driver (Rob Herring). - Add support for TI's am62p5 Soc (Bryan Brattlof). - Make ARM_BRCMSTB_AVS_CPUFREQ depends on !ARM_SCMI_CPUFREQ (Florian Fainelli). - Update Kconfig to mention i.MX7 as well (Alexander Stein)." * tag 'cpufreq-arm-updates-6.7' of git://git.kernel.org/pub/scm/linux/kernel/git/vireshk/pm: (25 commits) dt-bindings: cpufreq: qcom-hw: document SM8650 CPUFREQ Hardware cpufreq: arm: Kconfig: Add i.MX7 to supported SoC for ARM_IMX_CPUFREQ_DT cpufreq: qcom-nvmem: add support for IPQ8064 cpufreq: qcom-nvmem: also accept operating-points-v2-krait-cpu cpufreq: qcom-nvmem: drop pvs_ver for format a fuses dt-bindings: cpufreq: qcom-cpufreq-nvmem: Document krait-cpu cpufreq: qcom-nvmem: add support for IPQ6018 dt-bindings: cpufreq: qcom-cpufreq-nvmem: document IPQ6018 cpufreq: qcom-nvmem: Add MSM8909 cpufreq: qcom-nvmem: Simplify driver data allocation dt-bindings: cpufreq: cpufreq-qcom-hw: Add SDX75 compatible cpufreq: ARM_BRCMSTB_AVS_CPUFREQ cannot be used with ARM_SCMI_CPUFREQ cpufreq: ti-cpufreq: Add opp support for am62p5 SoCs cpufreq: dt-platdev: add am62p5 to blocklist cpufreq: tegra194: remove redundant AND with cpu_online_mask cpufreq: tegra194: use refclk delta based loop instead of udelay cpufreq: tegra194: save CPU data to avoid repeated SMP calls dt-bindings: cpufreq: cpufreq-qcom-hw: add SDM670 compatible dt-bindings: cpufreq: qcom-nvmem: Document MSM8909 cpufreq: dt: platdev: Add MSM8909 to blocklist ...
2 parents ea167a7 + 038ef0d commit 7c35584

File tree

8 files changed

+302
-89
lines changed

8 files changed

+302
-89
lines changed

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

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ properties:
2323
- enum:
2424
- qcom,qcm2290-cpufreq-hw
2525
- qcom,sc7180-cpufreq-hw
26+
- qcom,sdm670-cpufreq-hw
2627
- qcom,sdm845-cpufreq-hw
2728
- qcom,sm6115-cpufreq-hw
2829
- qcom,sm6350-cpufreq-hw
@@ -36,11 +37,13 @@ properties:
3637
- qcom,sa8775p-cpufreq-epss
3738
- qcom,sc7280-cpufreq-epss
3839
- qcom,sc8280xp-cpufreq-epss
40+
- qcom,sdx75-cpufreq-epss
3941
- qcom,sm6375-cpufreq-epss
4042
- qcom,sm8250-cpufreq-epss
4143
- qcom,sm8350-cpufreq-epss
4244
- qcom,sm8450-cpufreq-epss
4345
- qcom,sm8550-cpufreq-epss
46+
- qcom,sm8650-cpufreq-epss
4447
- const: qcom,cpufreq-epss
4548

4649
reg:
@@ -128,6 +131,7 @@ allOf:
128131
- qcom,qdu1000-cpufreq-epss
129132
- qcom,sc7180-cpufreq-hw
130133
- qcom,sc8280xp-cpufreq-epss
134+
- qcom,sdm670-cpufreq-hw
131135
- qcom,sdm845-cpufreq-hw
132136
- qcom,sm6115-cpufreq-hw
133137
- qcom,sm6350-cpufreq-hw

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

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,8 +27,12 @@ select:
2727
enum:
2828
- qcom,apq8064
2929
- qcom,apq8096
30+
- qcom,ipq5332
31+
- qcom,ipq6018
3032
- qcom,ipq8064
3133
- qcom,ipq8074
34+
- qcom,ipq9574
35+
- qcom,msm8909
3236
- qcom,msm8939
3337
- qcom,msm8960
3438
- qcom,msm8974
@@ -43,7 +47,9 @@ patternProperties:
4347
- if:
4448
properties:
4549
compatible:
46-
const: operating-points-v2-kryo-cpu
50+
enum:
51+
- operating-points-v2-krait-cpu
52+
- operating-points-v2-kryo-cpu
4753
then:
4854
$ref: /schemas/opp/opp-v2-kryo-cpu.yaml#
4955

drivers/cpufreq/Kconfig.arm

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,7 @@ config ARM_VEXPRESS_SPC_CPUFREQ
9090

9191
config ARM_BRCMSTB_AVS_CPUFREQ
9292
tristate "Broadcom STB AVS CPUfreq driver"
93-
depends on ARCH_BRCMSTB || COMPILE_TEST
93+
depends on (ARCH_BRCMSTB && !ARM_SCMI_CPUFREQ) || COMPILE_TEST
9494
default y
9595
help
9696
Some Broadcom STB SoCs use a co-processor running proprietary firmware
@@ -124,8 +124,8 @@ config ARM_IMX_CPUFREQ_DT
124124
tristate "Freescale i.MX8M cpufreq support"
125125
depends on ARCH_MXC && CPUFREQ_DT
126126
help
127-
This adds cpufreq driver support for Freescale i.MX8M series SoCs,
128-
based on cpufreq-dt.
127+
This adds cpufreq driver support for Freescale i.MX7/i.MX8M
128+
series SoCs, based on cpufreq-dt.
129129

130130
If in doubt, say N.
131131

drivers/cpufreq/cpufreq-dt-platdev.c

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -142,9 +142,11 @@ static const struct of_device_id blocklist[] __initconst = {
142142
{ .compatible = "nvidia,tegra234", },
143143

144144
{ .compatible = "qcom,apq8096", },
145+
{ .compatible = "qcom,msm8909", },
145146
{ .compatible = "qcom,msm8996", },
146147
{ .compatible = "qcom,msm8998", },
147148
{ .compatible = "qcom,qcm2290", },
149+
{ .compatible = "qcom,qcm6490", },
148150
{ .compatible = "qcom,qcs404", },
149151
{ .compatible = "qcom,qdu1000", },
150152
{ .compatible = "qcom,sa8155p" },
@@ -176,7 +178,9 @@ static const struct of_device_id blocklist[] __initconst = {
176178
{ .compatible = "ti,omap3", },
177179
{ .compatible = "ti,am625", },
178180
{ .compatible = "ti,am62a7", },
181+
{ .compatible = "ti,am62p5", },
179182

183+
{ .compatible = "qcom,ipq6018", },
180184
{ .compatible = "qcom,ipq8064", },
181185
{ .compatible = "qcom,apq8064", },
182186
{ .compatible = "qcom,msm8974", },

drivers/cpufreq/pmac32-cpufreq.c

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424
#include <linux/device.h>
2525
#include <linux/hardirq.h>
2626
#include <linux/of.h>
27+
#include <linux/of_address.h>
2728

2829
#include <asm/machdep.h>
2930
#include <asm/irq.h>
@@ -378,18 +379,16 @@ static int pmac_cpufreq_cpu_init(struct cpufreq_policy *policy)
378379

379380
static u32 read_gpio(struct device_node *np)
380381
{
381-
const u32 *reg = of_get_property(np, "reg", NULL);
382-
u32 offset;
382+
u64 offset;
383383

384-
if (reg == NULL)
384+
if (of_property_read_reg(np, 0, &offset, NULL) < 0)
385385
return 0;
386386
/* That works for all keylargos but shall be fixed properly
387387
* some day... The problem is that it seems we can't rely
388388
* on the "reg" property of the GPIO nodes, they are either
389389
* relative to the base of KeyLargo or to the base of the
390390
* GPIO space, and the device-tree doesn't help.
391391
*/
392-
offset = *reg;
393392
if (offset < KEYLARGO_GPIO_LEVELS0)
394393
offset += KEYLARGO_GPIO_LEVELS0;
395394
return offset;

0 commit comments

Comments
 (0)