1. 20 Aug, 2015 1 commit
    • Juan Castillo's avatar
      TBB: abort boot if BL3-2 cannot be authenticated · fedbc049
      Juan Castillo authored
      BL3-2 image (Secure Payload) is optional. If the image cannot be
      loaded a warning message is printed and the boot process continues.
      According to the TBBR document, this behaviour should not apply in
      case of an authentication error, where the boot process should be
      aborted.
      
      This patch modifies the load_auth_image() function to distinguish
      between a load error and an authentication error. The caller uses
      the return value to abort the boot process or continue.
      
      In case of authentication error, the memory region used to store
      the image is wiped clean.
      
      Change-Id: I534391d526d514b2a85981c3dda00de67e0e7992
      fedbc049
  2. 11 Aug, 2015 2 commits
  3. 05 Aug, 2015 2 commits
  4. 04 Aug, 2015 4 commits
  5. 01 Aug, 2015 1 commit
  6. 31 Jul, 2015 2 commits
  7. 28 Jul, 2015 1 commit
  8. 27 Jul, 2015 1 commit
    • Varun Wadekar's avatar
      Tegra210: enable WRAP to INCR burst type conversions · 42ca2d86
      Varun Wadekar authored
      
      
      The Memory Select Switch Controller routes any CPU transactions to
      the appropriate slave depending on the transaction address. During
      system suspend, it loses all config settings and hence the CPU has
      to restore them during resume.
      
      This patch restores the controller's settings for enabling WRAP to
      INCR burst type conversions on the master ports, for any incoming
      requests from the AXI slave ports.
      
      Tested by performing multiple system suspend cycles.
      Signed-off-by: default avatarVarun Wadekar <vwadekar@nvidia.com>
      42ca2d86
  9. 24 Jul, 2015 8 commits
    • danh-arm's avatar
      Merge pull request #342 from vwadekar/tlkd-delete-need-bl32-v1 · fcee3b00
      danh-arm authored
      tlkd: delete 'NEED_BL32' build variable
      fcee3b00
    • Varun Wadekar's avatar
      tlkd: delete 'NEED_BL32' build variable · 458c3c13
      Varun Wadekar authored
      
      
      Remove the 'NEED_BL32' flag from the makefile. TLK compiles using a
      completely different build system and is present on the device as a
      binary blob. The NEED_BL32 flag does not influence the TLK load/boot
      sequence at all. Moreover, it expects that TLK binary be present on
      the host before we can compile BL31 support for Tegra.
      
      This patch removes the flag from the makefile and thus decouples both
      the build systems.
      
      Tested by booting TLK without the NEED_BL32 flag.
      Signed-off-by: default avatarVarun Wadekar <vwadekar@nvidia.com>
      458c3c13
    • danh-arm's avatar
      Merge pull request #341 from vwadekar/tegra-denver-plat-support-v3 · 7d4479a3
      danh-arm authored
      Tegra denver plat support v3
      7d4479a3
    • Varun Wadekar's avatar
      Tegra: modify 'BUILD_PLAT' to point to soc specific build dirs · 1f95e28c
      Varun Wadekar authored
      
      
      This patch modifies the 'BUILD_PLAT' makefile variable to point to the soc
      specific build directory in order to allow each Tegra soc to have its own
      build directory. This way we can keep the build outputs separate and can
      keep multiple soc specific builds alive at the same time.
      Signed-off-by: default avatarVarun Wadekar <vwadekar@nvidia.com>
      1f95e28c
    • Varun Wadekar's avatar
      Tegra: Support for Tegra's T132 platforms · e7d4caa2
      Varun Wadekar authored
      
      
      This patch implements support for T132 (Denver CPU) based Tegra
      platforms.
      
      The following features have been added:
      
      * SiP calls to switch T132 CPU's AARCH mode
      * Complete PSCI support, including 'System Suspend'
      * Platform specific MMIO settings
      * Locking of CPU vector registers
      Signed-off-by: default avatarVarun Wadekar <vwadekar@nvidia.com>
      e7d4caa2
    • Varun Wadekar's avatar
      Add "Project Denver" CPU support · 3a8c55f6
      Varun Wadekar authored
      
      
      Denver is NVIDIA's own custom-designed, 64-bit, dual-core CPU which is
      fully ARMv8 architecture compatible.  Each of the two Denver cores
      implements a 7-way superscalar microarchitecture (up to 7 concurrent
      micro-ops can be executed per clock), and includes a 128KB 4-way L1
      instruction cache, a 64KB 4-way L1 data cache, and a 2MB 16-way L2
      cache, which services both cores.
      
      Denver implements an innovative process called Dynamic Code Optimization,
      which optimizes frequently used software routines at runtime into dense,
      highly tuned microcode-equivalent routines. These are stored in a
      dedicated, 128MB main-memory-based optimization cache. After being read
      into the instruction cache, the optimized micro-ops are executed,
      re-fetched and executed from the instruction cache as long as needed and
      capacity allows.
      
      Effectively, this reduces the need to re-optimize the software routines.
      Instead of using hardware to extract the instruction-level parallelism
      (ILP) inherent in the code, Denver extracts the ILP once via software
      techniques, and then executes those routines repeatedly, thus amortizing
      the cost of ILP extraction over the many execution instances.
      
      Denver also features new low latency power-state transitions, in addition
      to extensive power-gating and dynamic voltage and clock scaling based on
      workloads.
      Signed-off-by: default avatarVarun Wadekar <vwadekar@nvidia.com>
      3a8c55f6
    • Varun Wadekar's avatar
      Tegra: implement per-SoC validate_power_state() handler · 93eafbca
      Varun Wadekar authored
      
      
      The validate_power_state() handler checks the power_state for a valid afflvl
      and state id. Although the afflvl check is common, the state ids are implementation
      defined.
      
      This patch moves the handler to the tegra/soc folder to allow each SoC to validate
      the power_state for supported parameters.
      Signed-off-by: default avatarVarun Wadekar <vwadekar@nvidia.com>
      93eafbca
    • Varun Wadekar's avatar
      Tegra: T210: include CPU files from SoC's platform.mk · fb11a62f
      Varun Wadekar authored
      
      
      This patch moves the inclusion of CPU code (A53, A57) to T210's
      makefile. This way we can reduce code size for Tegra platforms by
      including only the required CPU files.
      Signed-off-by: default avatarVarun Wadekar <vwadekar@nvidia.com>
      fb11a62f
  10. 17 Jul, 2015 12 commits
  11. 16 Jul, 2015 2 commits
    • Juan Castillo's avatar
      Fix bug in semihosting write function · 31833aff
      Juan Castillo authored
      The return value from the SYS_WRITE semihosting operation is 0 if
      the call is successful or the number of bytes not written, if there
      is an error. The implementation of the write function in the
      semihosting driver treats the return value as the number of bytes
      written, which is wrong. This patch fixes it.
      
      Change-Id: Id39dac3d17b5eac557408b8995abe90924c85b85
      31833aff
    • Juan Castillo's avatar
      TBB: rework cert_create tool to follow a data driven approach · 55e291a4
      Juan Castillo authored
      This patch reworks the certificate generation tool to follow a data
      driven approach. The user may specify at build time the certificates,
      keys and extensions defined in the CoT, register them using the
      appropiate macros and the tool will take care of creating the
      certificates corresponding to the CoT specified.
      
      Change-Id: I29950b39343c3e1b71718fce0e77dcf2a9a0be2f
      55e291a4
  12. 15 Jul, 2015 1 commit
    • Sandrine Bailleux's avatar
      Update user guide to use Linaro releases · 640af0ee
      Sandrine Bailleux authored
      Linaro produce monthly software releases for the Juno and AEMv8-FVP
      platforms. These provide an integrated set of software components
      that have been tested together on these platforms.
      
      From now on, it is recommend that Trusted Firmware developers use the
      Linaro releases (currently 15.06) as a baseline for the dependent
      software components: normal world firmware, Linux kernel and device
      tree, file system as well as any additional micro-controller firmware
      required by the platform.
      
      This patch updates the user guide to document this new process. It
      changes the instructions to get the source code of the full software
      stack (including Trusted Firmware) and updates the dependency build
      instructions to make use of the build scripts that the Linaro releases
      provide.
      
      Change-Id: Ia8bd043f4b74f1e1b10ef0d12cc8a56ed3c92b6e
      640af0ee
  13. 09 Jul, 2015 1 commit
    • Juan Castillo's avatar
      Use uintptr_t as base address type in ARM driver APIs · 02462972
      Juan Castillo authored
      This patch changes the type of the base address parameter in the
      ARM device driver APIs to uintptr_t (GIC, CCI, TZC400, PL011). The
      uintptr_t type allows coverage of the whole memory space and to
      perform arithmetic operations on the addresses. ARM platform code
      has also been updated to use uintptr_t as GIC base address in the
      configuration.
      
      Fixes ARM-software/tf-issues#214
      
      Change-Id: I1b87daedadcc8b63e8f113477979675e07d788f1
      02462972
  14. 07 Jul, 2015 1 commit
  15. 06 Jul, 2015 1 commit