ARM: tegra: Support TZ-only access to PMC
authorThierry Reding <treding@nvidia.com>
Mon, 15 Apr 2019 09:32:25 +0000 (11:32 +0200)
committerTom Warren <twarren@nvidia.com>
Wed, 5 Jun 2019 16:16:34 +0000 (09:16 -0700)
commitf9ec2ec8504aa5d94d5be7f43c743040e549b157
tree7c68e815ecd3606853e85c899917ee3c95e91942
parent147fac6aef043b41a48b3ad87639c6872da298f1
ARM: tegra: Support TZ-only access to PMC

Some devices may restrict access to the PMC to TrustZone software only.
Non-TZ software can detect this and use SMC calls to the firmware that
runs in the TrustZone to perform accesses to PMC registers.

Note that this also fixes reset_cpu() and the enterrcm command on
Tegra186 where they were previously trying to access the PMC at a wrong
physical address.

Based on work by Kalyani Chidambaram <kalyanic@nvidia.com> and Tom
Warren <twarren@nvidia.com>.

Signed-off-by: Thierry Reding <treding@nvidia.com>
Signed-off-by: Tom Warren <twarren@nvidia.com>
arch/arm/include/asm/arch-tegra/pmc.h
arch/arm/include/asm/arch-tegra/tegra.h
arch/arm/mach-tegra/Kconfig
arch/arm/mach-tegra/Makefile
arch/arm/mach-tegra/clock.c
arch/arm/mach-tegra/cmd_enterrcm.c
arch/arm/mach-tegra/cpu.c
arch/arm/mach-tegra/lowlevel_init.S [deleted file]
arch/arm/mach-tegra/pmc.c [new file with mode: 0644]
arch/arm/mach-tegra/powergate.c