1. 19 Mar, 2020 2 commits
    • Varun Wadekar's avatar
      Tegra186: system resume from TZSRAM memory · 2139c9c8
      Varun Wadekar authored
      
      
      TZSRAM loses power during System suspend, so the entire contents
      are copied to TZDRAM before Sysem Suspend entry. The warmboot code
      verifies and restores the contents to TZSRAM during System Resume.
      
      This patch removes the code that sets up CPU vector to point to
      TZSRAM during System Resume as a result. The trampoline code can
      also be completely removed as a result.
      
      Change-Id: I2830eb1db16efef3dfd96c4e3afc41a307588ca1
      Signed-off-by: default avatarVarun Wadekar <vwadekar@nvidia.com>
      2139c9c8
    • Varun Wadekar's avatar
      Tegra186: disable PROGRAMMABLE_RESET_ADDRESS · 8336c94d
      Varun Wadekar authored
      
      
      This patch disables the code to program reset vector for secondary
      CPUs to a different entry point, than cold boot. The cold boot entry
      point has the ability to differentiate between a cold boot and a warm
      boot, that is controlled by the PROGRAMMABLE_RESET_ADDRESS macro. By
      reusing the same entry point, we can lock the CPU reset vector during
      cold boot.
      
      Change-Id: Iad400841d57c139469e1d29b5d467197e11958c4
      Signed-off-by: default avatarVarun Wadekar <vwadekar@nvidia.com>
      8336c94d
  2. 23 Jan, 2019 2 commits
    • Steven Kao's avatar
      Tegra: rename secure scratch register macros · 601a8e54
      Steven Kao authored
      
      
      This patch renames all the secure scratch registers to reflect their
      usage.
      
      This is a list of all the macros being renamed:
      
      - SECURE_SCRATCH_RSV1_* -> SCRATCH_RESET_VECTOR_*
      - SECURE_SCRATCH_RSV6 -> SCRATCH_SECURE_BOOTP_FCFG
      - SECURE_SCRATCH_RSV11_* -> SCRATCH_SMMU_TABLE_ADDR_*
      - SECURE_SCRATCH_RSV53_* -> SCRATCH_BOOT_PARAMS_ADDR_*
      - SECURE_SCRATCH_RSV55_* -> SCRATCH_TZDRAM_ADDR_*
      
      NOTE: Future SoCs will have to define these macros to
            keep the drivers functioning.
      
      Change-Id: Ib3ba40dd32e77b92b47825f19c420e6fdfa8b987
      Signed-off-by: default avatarSteven Kao <skao@nvidia.com>
      601a8e54
    • Varun Wadekar's avatar
      Tegra186: secondary: fix MISRA violations for Rules 8.6, 11.1 · 7191566c
      Varun Wadekar authored
      
      
      This patch fixes the following MISRA violations:
      
      Rule 8.6: Externally-linked object or function has "no" definition(s).
      Rule 11.1: A cast shall not convert a pointer to a function to
      any other type.
      
      Change-Id: Ic1f6fc14c744e54ff782c6987dab9c9430410f5e
      Signed-off-by: default avatarVarun Wadekar <vwadekar@nvidia.com>
      7191566c
  3. 18 Jan, 2019 1 commit
    • Anthony Zhou's avatar
      Tegra186: fix defects flagged by MISRA scan · 9e7a2436
      Anthony Zhou authored
      
      
      Main fixes:
      
      Remove unused type conversion
      
      Fix invalid use of function pointer [Rule 1.3]
      
      Fix variable essential type doesn't match [Rule 10.3]
      
      Voided non c-library functions whose return types are not used
       [Rule 17.7]
      
      Change-Id: I23994c9d4d6a240080933d848d2b03865acaa833
      Signed-off-by: default avatarAnthony Zhou <anzhou@nvidia.com>
      9e7a2436
  4. 16 Jan, 2019 1 commit
    • Anthony Zhou's avatar
      Tegra186: secondary: fix MISRA defects · 592035d0
      Anthony Zhou authored
      
      
      Main fixes:
      
      Added explicit casts (e.g. 0U) to integers in order for them to be
      compatible with whatever operation they're used in [Rule 10.1]
      
      Force operands of an operator to the same type category [Rule 10.4]
      
      Voided non c-library functions whose return types are not used [Rule 17.7]
      
      Change-Id: I758e7ef6d45dd2edf4cd5580e2af15219246e75c
      Signed-off-by: default avatarAnthony Zhou <anzhou@nvidia.com>
      592035d0
  5. 04 Jan, 2019 1 commit
    • Antonio Nino Diaz's avatar
      Sanitise includes across codebase · 09d40e0e
      Antonio Nino Diaz authored
      Enforce full include path for includes. Deprecate old paths.
      
      The following folders inside include/lib have been left unchanged:
      
      - include/lib/cpus/${ARCH}
      - include/lib/el3_runtime/${ARCH}
      
      The reason for this change is that having a global namespace for
      includes isn't a good idea. It defeats one of the advantages of having
      folders and it introduces problems that are sometimes subtle (because
      you may not know the header you are actually including if there are two
      of them).
      
      For example, this patch had to be created because two headers were
      called the same way: e0ea0928 ("Fix gpio includes of mt8173 platform
      to avoid collision."). More recently, this patch has had similar
      problems: 46f9b2c3 ("drivers: add tzc380 support").
      
      This problem was introduced in commit 4ecca339
      
       ("Move include and
      source files to logical locations"). At that time, there weren't too
      many headers so it wasn't a real issue. However, time has shown that
      this creates problems.
      
      Platforms that want to preserve the way they include headers may add the
      removed paths to PLAT_INCLUDES, but this is discouraged.
      
      Change-Id: I39dc53ed98f9e297a5966e723d1936d6ccf2fc8f
      Signed-off-by: default avatarAntonio Nino Diaz <antonio.ninodiaz@arm.com>
      09d40e0e
  6. 22 Aug, 2018 1 commit
  7. 03 May, 2017 1 commit
  8. 05 Apr, 2017 1 commit
  9. 23 Mar, 2017 1 commit
    • Varun Wadekar's avatar
      Tegra186: save/restore BL31 context to/from TZDRAM · 68c7de6f
      Varun Wadekar authored
      
      
      This patch adds support to save the BL31 state to the TZDRAM
      before entering system suspend. The TZRAM loses state during
      system suspend and so we need to copy the entire BL31 code to
      TZDRAM before entering the state.
      
      In order to restore the state on exiting system suspend, a new
      CPU reset handler is implemented which gets copied to TZDRAM
      during boot. TO keep things simple we use this same reset handler
      for booting secondary CPUs too.
      
      Change-Id: I770f799c255d22279b5cdb9b4d587d3a4c54fad7
      Signed-off-by: default avatarVarun Wadekar <vwadekar@nvidia.com>
      68c7de6f
  10. 20 Mar, 2017 2 commits
    • Varun Wadekar's avatar
      Tegra186: power on/off secondary CPUs · b47d97b3
      Varun Wadekar authored
      
      
      This patch add code to power on/off the secondary CPUs on the Tegra186
      chip. The MCE block is the actual hardware that takes care of the
      power on/off sequence. We pass the constructed CPU #, depending on the
      MIDR_IMPL field, to the MCE CPU handlers.
      
      This patch also programs the reset vector addresses to allow the
      CPUs to power on through the monitor and then jump to the linux
      world.
      
      Change-Id: Idc164586cda91c2009d66f3e09bf4464de9662db
      Signed-off-by: default avatarVarun Wadekar <vwadekar@nvidia.com>
      b47d97b3
    • Varun Wadekar's avatar
      Tegra186: platform support for Tegra "T186" SoC · 3cf3183f
      Varun Wadekar authored
      
      
      Tegra186 is the newest SoC in the Tegra family which consists
      of two CPU clusters - Denver and A57. The Denver cluster hosts
      two next gen Denver15 CPUs while the A57 cluster hosts four ARM
      Cortex-A57 CPUs. Unlike previous Tegra generations, all the six
      cores on this SoC would be available to the system at the same
      time and individual clusters can be powered down to conserve
      power.
      
      Change-Id: Id0c9919dbf5186d2938603e0b11e821b5892985e
      Signed-off-by: default avatarWayne Lin <wlin@nvidia.com>
      Signed-off-by: default avatarVarun Wadekar <vwadekar@nvidia.com>
      3cf3183f
  11. 21 Sep, 2016 1 commit
    • Yatharth Kochar's avatar
      AArch32: Add generic changes in BL1 · f3b4914b
      Yatharth Kochar authored
      This patch adds generic changes in BL1 to support AArch32 state.
      New AArch32 specific assembly/C files are introduced and
      some files are moved to AArch32/64 specific folders.
      BL1 for AArch64 is refactored but functionally identical.
      BL1 executes in Secure Monitor mode in AArch32 state.
      
      NOTE: BL1 in AArch32 state ONLY handles BL1_RUN_IMAGE SMC.
      
      Change-Id: I6e2296374c7efbf3cf2aa1a0ce8de0732d8c98a5
      f3b4914b
  12. 12 Sep, 2016 1 commit
    • Leon Chen's avatar
      Support for Mediatek MT6795 SoC · c1ff80b1
      Leon Chen authored
      This patch support single core to boot to Linux kernel
      through Trusted Firmware.
      It also support 32 bit kernel and 64 bit kernel booting.
      c1ff80b1
  13. 12 May, 2016 2 commits
  14. 19 Aug, 2014 1 commit
    • Dan Handley's avatar
      Clarify platform porting interface to TSP · 5a06bb7e
      Dan Handley authored
      * Move TSP platform porting functions to new file:
        include/bl32/tsp/platform_tsp.h.
      
      * Create new TSP_IRQ_SEC_PHY_TIMER definition for use by the generic
        TSP interrupt handling code, instead of depending on the FVP
        specific definition IRQ_SEC_PHY_TIMER.
      
      * Rename TSP platform porting functions from bl32_* to tsp_*, and
        definitions from BL32_* to TSP_*.
      
      * Update generic TSP code to use new platform porting function names
        and definitions.
      
      * Update FVP port accordingly and move all TSP source files to:
        plat/fvp/tsp/.
      
      * Update porting guide with above changes.
      
      Note: THIS CHANGE REQUIRES ALL PLATFORM PORTS OF THE TSP TO
            BE UPDATED
      
      Fixes ARM-software/tf-issues#167
      
      Change-Id: Ic0ff8caf72aebb378d378193d2f017599fc6b78f
      5a06bb7e
  15. 06 May, 2014 1 commit
    • Dan Handley's avatar
      Reduce deep nesting of header files · 97043ac9
      Dan Handley authored
      Reduce the number of header files included from other header
      files as much as possible without splitting the files. Use forward
      declarations where possible. This allows removal of some unnecessary
      "#ifndef __ASSEMBLY__" statements.
      
      Also, review the .c and .S files for which header files really need
      including and reorder the #include statements alphabetically.
      
      Fixes ARM-software/tf-issues#31
      
      Change-Id: Iec92fb976334c77453e010b60bcf56f3be72bd3e
      97043ac9
  16. 17 Jan, 2014 1 commit
  17. 05 Dec, 2013 1 commit
    • Dan Handley's avatar
      Enable third party contributions · ab2d31ed
      Dan Handley authored
      - Add instructions for contributing to ARM Trusted Firmware.
      
      - Update copyright text in all files to acknowledge contributors.
      
      Change-Id: I9311aac81b00c6c167d2f8c889aea403b84450e5
      ab2d31ed
  18. 25 Oct, 2013 1 commit