1. 28 Feb, 2017 3 commits
    • 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
    • Varun Wadekar's avatar
      Tegra: handler for per-soc early setup · 5ea0b028
      Varun Wadekar authored
      
      
      This patch adds a weak handler for early platform setup which
      can be overriden by the soc-specific handlers to perform any
      early setup tasks.
      
      Change-Id: I1a7a98d59b2332a3030c6dca5a9b7be977177326
      Signed-off-by: default avatarVarun Wadekar <vwadekar@nvidia.com>
      5ea0b028
    • Varun Wadekar's avatar
      Tegra: relocate code to BL31_BASE during cold boot · 939dcf25
      Varun Wadekar authored
      
      
      This patch adds support to relocate BL3-1 code to BL31_BASE in case
      we cold boot to a different address. This is particularly useful to
      maintain compatibility with legacy BL2 code.
      
      This patch also checks to see if the image base address matches either
      the TZDRAM or TZSRAM base.
      
      Change-Id: I72c96d7f89076701a6ac2537d4c06565c54dab9c
      Signed-off-by: default avatarVarun Wadekar <vwadekar@nvidia.com>
      939dcf25
  2. 23 Feb, 2017 3 commits
    • Varun Wadekar's avatar
      Tegra: memmap BL31's TZDRAM carveout · 260ae46f
      Varun Wadekar authored
      
      
      This patch maps the TZDRAM carveout used by the BL31. In the near
      future BL31 would be running from the TZRAM for security and
      performance reasons. The only downside to this solution is that
      the TZRAM loses its state in System Suspend. So, we map the TZDRAM
      carveout that the BL31 would use to save its state before entering
      System Suspend.
      
      Change-Id: Id5bda7e9864afd270cf86418c703fa61c2cb095f
      Signed-off-by: default avatarVarun Wadekar <vwadekar@nvidia.com>
      260ae46f
    • 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
    • Varun Wadekar's avatar
      Tegra: enable runtime console · 25caa16d
      Varun Wadekar authored
      
      
      This patch enables the runtime console for all Tegra platforms
      before exiting BL31. This would enable debug/error prints to be
      always displayed on the UART console.
      
      Change-Id: Ic48d61d05b0ab07973d6fc2dc6b68733a42a3f63
      Signed-off-by: default avatarVarun Wadekar <vwadekar@nvidia.com>
      25caa16d
  3. 22 Feb, 2017 3 commits
    • 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
    • Varun Wadekar's avatar
      Tegra: add tzdram_base to plat_params_from_bl2 struct · e0d4158c
      Varun Wadekar authored
      
      
      This patch adds another member, tzdram_base, to the plat_params_from_bl2 struct
      in order to store the TZDRAM carveout base address used to load the Trusted OS.
      The monitor programs the memory controller with the TZDRAM base and size in order
      to deny any accesses from the NS world.
      
      Change-Id: If39b8674d548175d7ccb6525c18d196ae8a8506c
      Signed-off-by: default avatarVarun Wadekar <vwadekar@nvidia.com>
      e0d4158c
    • Varun Wadekar's avatar
      Tegra: sanity check members of the "from_bl2" struct · 08cefa98
      Varun Wadekar authored
      
      
      This patch checks that the pointers to BL3-3 and BL3-2 ep_info
      structs are valid before accessing them. Add some INFO prints
      in the BL3-1 setup path for early debugging purposes.
      
      Change-Id: I62b23fa870f1b2fb783c8de69aab819f1749d15a
      Signed-off-by: default avatarVarun Wadekar <vwadekar@nvidia.com>
      08cefa98
  4. 18 Jan, 2017 1 commit
  5. 11 Aug, 2015 1 commit
  6. 31 Jul, 2015 1 commit
  7. 17 Jul, 2015 2 commits
  8. 12 Jun, 2015 1 commit
    • Varun Wadekar's avatar
      Reserve a Video Memory aperture in DRAM memory · 9a964510
      Varun Wadekar authored
      
      
      This patch adds support to reserve a memory carveout region in the
      DRAM on Tegra SoCs. The memory controller provides specific registers
      to specify the aperture's base and size. This aperture can also be
      changed dynamically in order to re-size the memory available for
      DRM video playback. In case of the new aperture not overlapping
      the previous one, the previous aperture has to be cleared before
      setting up the new one. This means we do not "leak" any video data
      to the NS world.
      Signed-off-by: default avatarVarun Wadekar <vwadekar@nvidia.com>
      9a964510
  9. 11 Jun, 2015 1 commit
    • Varun Wadekar's avatar
      Boot Trusted OS' on Tegra SoCs · dc7fdad2
      Varun Wadekar authored
      
      
      This patch adds support to run a Trusted OS during boot time. The
      previous stage bootloader passes the entry point information in
      the 'bl32_ep_info' structure, which is passed over to the SPD.
      
      The build system expects the dispatcher to be passed as an input
      parameter using the 'SPD=<dispatcher>' option. The Tegra docs have
      also been updated with this information.
      Signed-off-by: default avatarVarun Wadekar <vwadekar@nvidia.com>
      dc7fdad2
  10. 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