[PATCH 0/9] cpufreq: tegra194: add Tegra264 support
From: Sumit Gupta
Date: Wed Nov 04 2026 - 15:11:49 EST
This series adds cpufreq support for Tegra264, which joins the SoCs
already supported by the tegra194-cpufreq driver.
Tegra264 keeps the existing model, where BPMP provides the NDIV limits.
The driver derives the current frequency from the core clock and
reference counters.
The main differences are:
- Frequency read: through system registers, as on Tegra194, but from
the 64-bit architected AMU counters. The reference counter ticks at
the system counter rate (CNTFRQ).
- Frequency request: through MMIO, as on Tegra234. The driver writes
NDIV to a core_freq_req register in the CCPLEX register space. Each
register controls a cluster-clock unit shared by two single-CPU
clusters, so both CPUs form one cpufreq policy.
The patches fall into four groups:
- Fix (patch 1): read each CPU's MPIDR from a CPU-hotplug callback
instead of at probe. A CPU that is offline at probe then also gets
valid cluster and core IDs.
- Preparation (patches 2 to 5): cleanups, mostly of the counter code,
to make room for a 64-bit counter and for an MMIO mapping without
ACTMON counters.
- Improvement (patches 6 and 7): group CPUs by the generic
"performance-domains" property, which cluster-based grouping cannot
express on Tegra264. Device trees without it keep the existing
grouping.
- Tegra264 support (patches 8 and 9): the driver support, followed by
the device tree changes it relies on.
Patch 9 depends on "arm64: tegra: Fix address translation on Tegra264"
from Thierry's series [1]. Without it, the ccplex@30000000 node does not
translate to the CCPLEX registers.
Sumit Gupta (9):
cpufreq: tegra194: move MPIDR read to CPU hotplug callback
cpufreq: tegra194: remove duplicate counter sampling loops
cpufreq: tegra194: add tegra_counter_delta helper
cpufreq: tegra194: add per-SoC counter mask
cpufreq: tegra194: split MMIO mapping from ACTMON offset
dt-bindings: arm: nvidia: Document the Tegra264 CCPLEX cluster
cpufreq: tegra194: derive frequency domain from device tree
cpufreq: tegra194: Add support for Tegra264
arm64: tegra: Add CCPLEX cluster node for Tegra264
.../tegra/nvidia,tegra-ccplex-cluster.yaml | 27 +-
arch/arm64/boot/dts/nvidia/tegra264.dtsi | 21 +
drivers/cpufreq/Kconfig.arm | 4 +-
drivers/cpufreq/tegra194-cpufreq.c | 422 +++++++++++++-----
4 files changed, 357 insertions(+), 117 deletions(-)
[1] https://lore.kernel.org/linux-tegra/20261030141101.845044-1-thierry.reding@xxxxxxxxxx/
--
2.34.1