This series borrows the concept used on Tegra234 to scale EMC based on
CPU frequency and applies it to Tegra186 and Tegra194. Except that the
bpmp on those archs does not support bandwidth manager, so the scaling
iteself is handled similar to how Tegra124 currently works.
Signed-off-by: Aaron Kling <webgeek1234@gmail.com>
---
Changes in v2:
- Use opp scoped free in patch 3
- Cleanup as requested in patch 3
- Move patch 3 to the start of the series to keep subsystems grouped
- Link to v1: https://lore.kernel.org/r/20250831-tegra186-icc-v1-0-607ddc53b507@gmail.com
---
Aaron Kling (8):
cpufreq: tegra186: add OPP support and set bandwidth
dt-bindings: memory: tegra186-mc: Add dummy client IDs for Tegra186
dt-bindings: memory: tegra194-mc: Add dummy client IDs for Tegra194
memory: tegra186-emc: Support non-bpmp icc scaling
memory: tegra186: Support icc scaling
memory: tegra194: Support icc scaling
arm64: tegra: Add CPU OPP tables for Tegra186
arm64: tegra: Add CPU OPP tables for Tegra194
arch/arm64/boot/dts/nvidia/tegra186.dtsi | 317 +++++++++++++++
arch/arm64/boot/dts/nvidia/tegra194.dtsi | 636 +++++++++++++++++++++++++++++++
drivers/cpufreq/tegra186-cpufreq.c | 152 +++++++-
drivers/memory/tegra/tegra186-emc.c | 132 ++++++-
drivers/memory/tegra/tegra186.c | 48 +++
drivers/memory/tegra/tegra194.c | 59 ++-
include/dt-bindings/memory/tegra186-mc.h | 4 +
include/dt-bindings/memory/tegra194-mc.h | 6 +
8 files changed, 1344 insertions(+), 10 deletions(-)
---
base-commit: 1b237f190eb3d36f52dffe07a40b5eb210280e00
change-id: 20250823-tegra186-icc-7299110cd774
prerequisite-change-id: 20250826-tegra186-cpufreq-fixes-7fbff81c68a2:v3
prerequisite-patch-id: 74a2633b412b641f9808306cff9b0a697851d6c8
prerequisite-patch-id: 9c52827317f7abfb93885febb1894b40967bd64c
Best regards,
--
Aaron Kling <webgeek1234@gmail.com>