Commit 251be0b5 authored by Rafael J. Wysocki's avatar Rafael J. Wysocki
Browse files

Merge tag 'cpufreq-arm-updates-6.14' of...

Merge tag 'cpufreq-arm-updates-6.14' of ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/vireshk/pm

Merge ARM cpufreq updates for 6.14 from Viresh Kumar:

"- Extended support for more SoCs in apple cpufreq driver (Hector Martin
   and Nick Chan).

 - Add new cpufreq driver for Airoha SoCs (Christian Marangi).

 - Fix using cpufreq-dt as module (Andreas Kemnade).

 - Minor fixes for Sparc, scmi, and Qcom drivers (Ethan Carter Edwards,
   Sibi Sankar and Manivannan Sadhasivam)."

* tag 'cpufreq-arm-updates-6.14' of ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/vireshk/pm:
  cpufreq: airoha: Add EN7581 CPUFreq SMCCC driver
  cpufreq: sparc: change kzalloc to kcalloc
  cpufreq: qcom: Implement clk_ops::determine_rate() for qcom_cpufreq* clocks
  cpufreq: qcom: Fix qcom_cpufreq_hw_recalc_rate() to query LUT if LMh IRQ is not available
  cpufreq: apple-soc: Add Apple A7-A8X SoC cpufreq support
  cpufreq: apple-soc: Set fallback transition latency to APPLE_DVFS_TRANSITION_TIMEOUT
  cpufreq: apple-soc: Increase cluster switch timeout to 400us
  cpufreq: apple-soc: Use 32-bit read for status register
  cpufreq: apple-soc: Allow per-SoC configuration of APPLE_DVFS_CMD_PS1
  cpufreq: apple-soc: Drop setting the PS2 field on M2+
  dt-bindings: cpufreq: apple,cluster-cpufreq: Add A7-A11, T2 compatibles
  dt-bindings: cpufreq: Document support for Airoha EN7581 CPUFreq
  cpufreq: fix using cpufreq-dt as module
  cpufreq: scmi: Register for limit change notifications
parents f994c1cb 84cf9e54
Loading
Loading
Loading
Loading
+55 −0
Original line number Diff line number Diff line
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/cpufreq/airoha,en7581-cpufreq.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Airoha EN7581 CPUFreq

maintainers:
  - Christian Marangi <ansuelsmth@gmail.com>

description: |
  On newer Airoha SoC, CPU Frequency is scaled indirectly with SMC commands
  to ATF.

  A virtual clock is exposed. This virtual clock is a get-only clock and
  is used to expose the current global CPU clock. The frequency info comes
  by the output of the SMC command that reports the clock in MHz.

  The SMC sets the CPU clock by providing an index, this is modelled as
  performance states in a power domain.

  CPUs can't be individually scaled as the CPU frequency is shared across
  all CPUs and is global.

properties:
  compatible:
    const: airoha,en7581-cpufreq

  '#clock-cells':
    const: 0

  '#power-domain-cells':
    const: 0

  operating-points-v2: true

required:
  - compatible
  - '#clock-cells'
  - '#power-domain-cells'
  - operating-points-v2

additionalProperties: false

examples:
  - |
    performance-domain {
        compatible = "airoha,en7581-cpufreq";

        operating-points-v2 = <&cpu_smcc_opp_table>;

        #power-domain-cells = <0>;
        #clock-cells = <0>;
    };
+9 −1
Original line number Diff line number Diff line
@@ -24,9 +24,17 @@ properties:
              - apple,t8112-cluster-cpufreq
          - const: apple,cluster-cpufreq
      - items:
          - const: apple,t6000-cluster-cpufreq
          - enum:
              - apple,s8000-cluster-cpufreq
              - apple,t8010-cluster-cpufreq
              - apple,t8015-cluster-cpufreq
              - apple,t6000-cluster-cpufreq
          - const: apple,t8103-cluster-cpufreq
          - const: apple,cluster-cpufreq
      - items:
          - const: apple,t7000-cluster-cpufreq
          - const: apple,s5l8960x-cluster-cpufreq
      - const: apple,s5l8960x-cluster-cpufreq

  reg:
    maxItems: 1
+1 −1
Original line number Diff line number Diff line
@@ -232,7 +232,7 @@ config CPUFREQ_VIRT
	  If in doubt, say N.

config CPUFREQ_DT_PLATDEV
	tristate "Generic DT based cpufreq platdev driver"
	bool "Generic DT based cpufreq platdev driver"
	depends on OF
	help
	  This adds a generic DT based cpufreq platdev driver for frequency
+8 −0
Original line number Diff line number Diff line
@@ -15,6 +15,14 @@ config ARM_ALLWINNER_SUN50I_CPUFREQ_NVMEM
	  To compile this driver as a module, choose M here: the
	  module will be called sun50i-cpufreq-nvmem.

config ARM_AIROHA_SOC_CPUFREQ
	tristate "Airoha EN7581 SoC CPUFreq support"
	depends on ARCH_AIROHA || COMPILE_TEST
	select PM_OPP
	default ARCH_AIROHA
	help
	  This adds the CPUFreq driver for Airoha EN7581 SoCs.

config ARM_APPLE_SOC_CPUFREQ
	tristate "Apple Silicon SoC CPUFreq support"
	depends on ARCH_APPLE || (COMPILE_TEST && 64BIT)
+1 −0
Original line number Diff line number Diff line
@@ -53,6 +53,7 @@ obj-$(CONFIG_X86_AMD_FREQ_SENSITIVITY) += amd_freq_sensitivity.o

##################################################################################
# ARM SoC drivers
obj-$(CONFIG_ARM_AIROHA_SOC_CPUFREQ)	+= airoha-cpufreq.o
obj-$(CONFIG_ARM_APPLE_SOC_CPUFREQ)	+= apple-soc-cpufreq.o
obj-$(CONFIG_ARM_ARMADA_37XX_CPUFREQ)	+= armada-37xx-cpufreq.o
obj-$(CONFIG_ARM_ARMADA_8K_CPUFREQ)	+= armada-8k-cpufreq.o
Loading