1. 08 Nov, 2018 1 commit
    • Antonio Nino Diaz's avatar
      Standardise header guards across codebase · c3cf06f1
      Antonio Nino Diaz authored
      
      
      All identifiers, regardless of use, that start with two underscores are
      reserved. This means they can't be used in header guards.
      
      The style that this project is now to use the full name of the file in
      capital letters followed by 'H'. For example, for a file called
      "uart_example.h", the header guard is UART_EXAMPLE_H.
      
      The exceptions are files that are imported from other projects:
      
      - CryptoCell driver
      - dt-bindings folders
      - zlib headers
      
      Change-Id: I50561bf6c88b491ec440d0c8385c74650f3c106e
      Signed-off-by: default avatarAntonio Nino Diaz <antonio.ninodiaz@arm.com>
      c3cf06f1
  2. 15 Jun, 2017 2 commits
  3. 03 May, 2017 1 commit
  4. 01 May, 2017 2 commits
  5. 13 Apr, 2017 1 commit
  6. 07 Apr, 2017 3 commits
  7. 05 Apr, 2017 4 commits
  8. 30 Mar, 2017 4 commits
  9. 27 Mar, 2017 1 commit
  10. 23 Mar, 2017 2 commits
    • Varun Wadekar's avatar
      Tegra186: enable support for simulation environment · abd3a91d
      Varun Wadekar authored
      
      
      The Tegra simulation environment has limited capabilities. This patch
      checks the chip's major and minor versions to decide the features to
      enable/disable - MCE firmware version checking is disabled and limited
      Memory Controller settings are enabled
      
      Change-Id: I258a807cc3b83cdff14a9975b4ab4f9d1a9d7dcf
      Signed-off-by: default avatarVarun Wadekar <vwadekar@nvidia.com>
      abd3a91d
    • Varun Wadekar's avatar
      Tegra186: re-configure MSS' client settings · e64ce3ab
      Varun Wadekar authored
      
      
      This patch reprograms MSS to make ROC deal with ordering of
      MC traffic after boot and system suspend exit. This is needed
      as device boots with MSS having all control but POR wants ROC
      to deal with the ordering. Performance is expected to improve
      with ROC but since no one has really tested the performance,
      keep the option configurable for now by introducing a platform
      level makefile variable.
      
      Change-Id: I2e782fea138ccf9d281eb043a6b2c3bb97c839a7
      Signed-off-by: default avatarVarun Wadekar <vwadekar@nvidia.com>
      e64ce3ab
  11. 22 Mar, 2017 1 commit
    • Varun Wadekar's avatar
      Tegra186: implement support for System Suspend · 50402b17
      Varun Wadekar authored
      
      
      This patch adds the chip level support for System Suspend entry
      and exit. As part of the entry sequence we first query the MCE
      firmware to check if it is safe to enter system suspend. Once
      we get a green light, we save hardware block settings and enter
      the power state. As expected, all the hardware settings are
      restored once we exit the power state.
      
      Change-Id: I6d192d7568d6a555eb10efdfd45f6d79c20f74ea
      Signed-off-by: default avatarVarun Wadekar <vwadekar@nvidia.com>
      50402b17
  12. 20 Mar, 2017 6 commits
    • Varun Wadekar's avatar
      Tegra186: register FIQ interrupt sources · 50cd8646
      Varun Wadekar authored
      
      
      This patch registers all the FIQ interrupt sources during platform
      setup. Currently we support AON and TOP watchdog timer interrupts.
      
      Change-Id: Ibccd866f00d6b08b574f765538525f95b49c5549
      Signed-off-by: default avatarVarun Wadekar <vwadekar@nvidia.com>
      50cd8646
    • Varun Wadekar's avatar
      Tegra: memctrl_v2: implement MC txn override WAR · be87d920
      Varun Wadekar authored
      
      
      This patch sets the Memory Controller's TXN_OVERRIDE registers
      for most write clients to CGID_ADR. This ensures ordering is maintained.
      In some cases WAW ordering problems could occur. There are different
      settings for Tegra version A01 v A02.
      
      Original changes by Alex Waterman <alexw@nvidia.com>
      
      Change-Id: I82ea02afa43a24250ed56985757b83e78e71178c
      Signed-off-by: default avatarVarun Wadekar <vwadekar@nvidia.com>
      be87d920
    • Varun Wadekar's avatar
      Tegra186: support for C6/C7 CPU_SUSPEND states · 7afd4637
      Varun Wadekar authored
      
      
      This patch adds support for the C6 and C7 CPU_SUSPEND states. C6 is
      an idle state while C7 is a powerdown state.
      
      The MCE block takes care of the entry/exit to/from these core power
      states and hence we call the corresponding MCE handler to process
      these requests. The NS driver passes the tentative time that the
      core is expected to stay in this state as part of the power_state
      parameter, which we store in a per-cpu array and pass it to the
      MCE block.
      
      Change-Id: I152acb11ab93d91fb866da2129b1795843dfa39b
      Signed-off-by: default avatarVarun Wadekar <vwadekar@nvidia.com>
      7afd4637
    • Varun Wadekar's avatar
      Tegra: memctrl_v2: secure the on-chip TZSRAM memory · d48c0c45
      Varun Wadekar authored
      
      
      This patch programs the Memory controller's control registers
      to disable non-secure accesses to the TZRAM. In case these
      registers are already programmed by the BL2/BL30, then the
      driver just bails out.
      
      Change-Id: Ia1416988050e3d067296373060c717a260499122
      Signed-off-by: default avatarVarun Wadekar <vwadekar@nvidia.com>
      d48c0c45
    • Varun Wadekar's avatar
      Tegra186: support for the latest platform port handlers · b67a7c7c
      Varun Wadekar authored
      
      
      This patch adds support for the newer platform handler functions. Commit
      I6db74b020b141048b6b8c03e1bef7ed8f72fd75b merges the upstream code which
      has already moved all the upstream supported platforms over to these
      handler functions.
      
      Change-Id: I621eff038f3c0dc1b90793edcd4dd7c71b196045
      Signed-off-by: default avatarVarun Wadekar <vwadekar@nvidia.com>
      b67a7c7c
    • 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
  13. 02 Mar, 2017 1 commit
  14. 28 Feb, 2017 2 commits
    • Varun Wadekar's avatar
      Tegra: GIC: differentiate between FIQs targeted towards EL3/S-EL1 · 45eab456
      Varun Wadekar authored
      
      
      This patch modifies the secure IRQ registration process to allow platforms
      to specify the target CPUs as well as the owner of the IRQ. IRQs "owned"
      by the EL3 would return INTR_TYPE_EL3 whereas those owned by the Trusted
      OS would return INTR_TYPE_S_EL1 as a result.
      
      Change-Id: I528f7c8220d0ae0c0f354e78d69e188abb666ef6
      Signed-off-by: default avatarVarun Wadekar <vwadekar@nvidia.com>
      45eab456
    • Varun Wadekar's avatar
      Tegra: GIC: enable FIQ interrupt handling · d3360301
      Varun Wadekar authored
      
      
      Tegra chips support multiple FIQ interrupt sources. These interrupts
      are enabled in the GICD/GICC interfaces by the tegra_gic driver. A
      new FIQ handler would be added in a subsequent change which can be
      registered by the platform code.
      
      This patch adds the GIC programming as part of the tegra_gic_setup()
      which now takes an array of all the FIQ interrupts to be enabled for
      the platform. The Tegra132 and Tegra210 platforms right now do not
      register for any FIQ interrupts themselves, but will definitely use
      this support in the future.
      
      Change-Id: I0ea164be901cd6681167028fea0567399f18d4b8
      Signed-off-by: default avatarVarun Wadekar <vwadekar@nvidia.com>
      d3360301
  15. 23 Feb, 2017 2 commits
    • Varun Wadekar's avatar
      Tegra: define platform power states · 9f9bafa3
      Varun Wadekar authored
      
      
      The platform power states, PLAT_MAX_RET_STATE and PLAT_MAX_OFF_STATE,
      can change on Tegra SoCs and so should be defined per-soc.
      
      This patch moves these macro definitions to individual SoC's tegra_def.h
      files.
      
      Change-Id: Ib9b2752bc4d79cef6f79bee49882d340f71977a2
      Signed-off-by: default avatarVarun Wadekar <vwadekar@nvidia.com>
      9f9bafa3
    • Varun Wadekar's avatar
      Tegra: drivers: memctrl: introduce function to secure on-chip TZRAM · 06b19d58
      Varun Wadekar authored
      
      
      This patch introduces a function to secure the on-chip TZRAM memory. The
      Tegra132 and Tegra210 chips do not have a compelling use case to lock the
      TZRAM. The trusted OS owns the TZRAM aperture on these chips and so it
      can take care of locking the aperture. This might not be true for future
      chips and this patch makes the TZRAM programming flexible.
      
      Change-Id: I3ac9f1de1b792ccd23d4ded274784bbab2ea224a
      Signed-off-by: default avatarVarun Wadekar <vwadekar@nvidia.com>
      06b19d58
  16. 22 Feb, 2017 1 commit
    • Varun Wadekar's avatar
      Tegra: init normal/crash console for platforms · e1084216
      Varun Wadekar authored
      
      
      The BL2 fills in the UART controller ID to be used as the normal as
      well as the crash console on Tegra platforms. The controller ID to
      UART controller base address mapping is handled by each Tegra SoC
      the base addresses might change across Tegra chips.
      
      This patch adds the handler to parse the platform params to get the
      UART ID for the per-soc handlers.
      
      Change-Id: I4d167b20a59aaf52a31e2a8edf94d8d6f89598fa
      Signed-off-by: default avatarVarun Wadekar <vwadekar@nvidia.com>
      e1084216
  17. 04 Dec, 2015 1 commit
  18. 24 Jul, 2015 1 commit
    • 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
  19. 06 Jul, 2015 1 commit
  20. 29 May, 2015 1 commit
    • Varun Wadekar's avatar
      Support for NVIDIA's Tegra T210 SoCs · 08438e24
      Varun Wadekar authored
      
      
      T210 is the latest chip in the Tegra family of SoCs from NVIDIA. It is an
      ARM v8 dual-cluster (A57/A53) SoC, with any one of the clusters being active
      at a given point in time.
      
      This patch adds support to boot the Trusted Firmware on T210 SoCs. The patch
      also adds support to boot secondary CPUs, enter/exit core power states for
      all CPUs in the slow/fast clusters. The support to switch between clusters
      is still not available in this patch and would be available later.
      Signed-off-by: default avatarVarun Wadekar <vwadekar@nvidia.com>
      08438e24
  21. 21 Aug, 2014 1 commit
    • Sandrine Bailleux's avatar
      Juno: Add support for Test Secure-EL1 Payload · edfda10a
      Sandrine Bailleux authored
      This patch implements the TSP on Juno. It executes from on-chip Trusted
      SRAM.
      
      Also, the other bootloader images (i.e. BL1 R/W, BL2 and BL3-1) have
      been moved around. The reason is, although there was enough space
      overall to store the TSP in SRAM, there was no contiguous free chunk
      of SRAM big enough to hold it.
      
      This patch keeps the overall memory layout (i.e. keeping BL1 R/W at
      the bottom, BL2 at the top and BL3-1 in between) but moves the base
      addresses of all the bootloader images in such a way that:
       - memory fragmentation is reduced enough to fit BL3-2 in;
       - new base addresses are suitable for release builds as well as debug
         ones;
       - each image has a few extra kilobytes for future growth.
         BL3-1 and BL3-2 are the images which received the biggest allocations
         since they will most probably grow the most.
      
      This patch also adds instruction synchronization barriers around the code which
      handles the timer interrupt in the TSP. This ensures that the interrupt is not
      acknowledged after or EOIed before it is deactivated at the peripheral.
      
      Change-Id: I1c5b51858700027ee283ac85d18e06863a27c72e
      edfda10a
  22. 14 Aug, 2014 1 commit