ARM: tegra: avoid more operations in non-secure world
authorStephen Warren <swarren@nvidia.com>
Tue, 31 Jul 2018 18:39:07 +0000 (12:39 -0600)
committerTom Warren <twarren@nvidia.com>
Tue, 21 Aug 2018 15:41:00 +0000 (08:41 -0700)
commit3d186cf3f3ab5c18ede0f0a4ff85ffe99839bc7b
treeb123c7f2ddc4c08d749cb7bf7c0d3e7c9c10edae
parent0de68cf3f857ad9ad9d9ca86952b8c9df559fec6
ARM: tegra: avoid more operations in non-secure world

A secure monitor that runs before U-Boot, and hence causes U-Boot to run
in non-secure world, must implement a few operations that U-Boot
otherwise implements when running in secure world. Fix U-Boot to skip
these operations when running in non-secure world. In particular:

- The secure monitor must provide the LP0 resume code and own LP0
  configuration in order to maintain security, so must initialize all
  the PMC scratch registers used by the boot ROM during LP0 resume.
  Consequently, U-Boot should not attempt to clear those registers,
  since the register accesses will fail or cause an error.

- The secure monitor owns system security, and so is responsible for
  configuring security-related items such as the VPR.

Signed-off-by: Stephen Warren <swarren@nvidia.com>
Signed-off-by: Tom Warren <twarren@nvidia.com>
arch/arm/mach-tegra/ap.c
arch/arm/mach-tegra/gpu.c