[PATCH v3 0/8] Support Trusted Foundations firmware on Tegra30

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello,

All consumer-grade Tegra30 devices, like Nexus 7 tablet; Ouya console and
others, use Trusted Foundations firmware that doesn't allow CPU to access
secure registers directly from the Linux kernel, these accesses shall be
done via the firmware calls. This patch-series adds a full-featured support
of the Trusted Foundations firmware that opens the door for supporting of
various Tegra30-based devices in the upstream Linux kernel.

Changelog:

v3:	- Implemented suspend-resume support.

	- Reworked arm/firmware/trusted_foundations.c a tad. Now cache
	  is getting properly initialized, cache enabling / disabling is
	  supported.

v2:
	- The "Don't apply CPU erratas in insecure mode" patch got some
	  cleanup, in particular resolved the messiness in
	  __tegra_cpu_reset_handler_data.

	- Added a comment to tf_cache_write_sec(), justifying the warning
	  message.

Dmitry Osipenko (8):
  ARM: trusted_foundations: Implement L2 cache initialization callback
  ARM: trusted_foundations: Make prepare_idle call to take mode argument
  ARM: trusted_foundations: Provide information about whether firmware
    is registered
  ARM: tegra: Setup L2 cache using Trusted Foundations firmware
  ARM: tegra: Don't apply CPU erratas in insecure mode
  ARM: tegra: Always boot CPU in ARM-mode
  ARM: tegra: Support L2 cache maintenance done via firmware
  ARM: tegra: Add firmware calls required for suspend-resume

 arch/arm/firmware/trusted_foundations.c    | 80 +++++++++++++++++++++-
 arch/arm/include/asm/firmware.h            |  2 +-
 arch/arm/include/asm/trusted_foundations.h | 13 ++++
 arch/arm/mach-tegra/cpuidle-tegra114.c     |  3 +-
 arch/arm/mach-tegra/pm.c                   | 43 ++++++++++++
 arch/arm/mach-tegra/reset-handler.S        | 66 ++++++++++++++----
 arch/arm/mach-tegra/reset.c                |  3 +
 arch/arm/mach-tegra/reset.h                |  9 ++-
 arch/arm/mach-tegra/sleep-tegra20.S        |  4 ++
 arch/arm/mach-tegra/sleep.S                |  4 ++
 arch/arm/mach-tegra/tegra.c                | 10 +++
 11 files changed, 216 insertions(+), 21 deletions(-)

-- 
2.18.0




[Index of Archives]     [ARM Kernel]     [Linux ARM]     [Linux ARM MSM]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux