1. 22 Mar, 2017 3 commits
    • 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
    • Varun Wadekar's avatar
      Tegra186: memctrl_v2: restore video memory settings · ea96ac17
      Varun Wadekar authored
      
      
      The memory controller loses its settings when the device enters system
      suspend state.
      
      This patch adds a handler to restore the Video Memory settings in the
      memory controller, which would be called after exiting the system suspend
      state.
      
      Change-Id: I1ac12426d7290ac1452983d3c9e05fabbf3327fa
      Signed-off-by: default avatarVarun Wadekar <vwadekar@nvidia.com>
      ea96ac17
    • Varun Wadekar's avatar
      Tegra186: smmu: driver for the smmu hardware block · 4122151f
      Varun Wadekar authored
      
      
      This patch adds a device driver for the SMMU hardware block on
      Tegra186 SoCs. We use the generic ARM SMMU-500 IP block on
      Tegra186. The driver only supports saving the SMMU settings
      before entering system suspend. The MC driver and the NS world
      clients take care of programming their own settings.
      
      Change-Id: Iab5a90310ee10f6bc8745451ce50952ab3de7188
      Signed-off-by: default avatarVarun Wadekar <vwadekar@nvidia.com>
      4122151f
  2. 20 Mar, 2017 27 commits
  3. 08 Mar, 2017 3 commits
    • Antonio Nino Diaz's avatar
      ARM platforms: Enable xlat tables lib v2 · bf75a371
      Antonio Nino Diaz authored
      
      
      Modify ARM common makefile to use version 2 of the translation tables
      library and include the new header in C files.
      
      Simplify header dependencies related to this library to simplify the
      change.
      
      The following table contains information about the size increase in
      bytes for BL1 after applying this patch. The code has been compiled for
      different configurations of FVP in AArch64 mode with compiler GCC 4.9.3
      20150413. The sizes have been calculated with the output of `nm` by
      adding the size of all regions and comparing the total size before and
      after the change. They are sumarized in the table below:
      
                                     text   bss   data  total
              Release                +660   -20    +88   +728
              Debug                  +740   -20   +242   +962
              Debug (LOG_LEVEL=50)  +1120   -20   +317  +1417
      
      Change-Id: I539e307f158ab71e3a8b771640001fc1bf431b29
      Signed-off-by: default avatarAntonio Nino Diaz <antonio.ninodiaz@arm.com>
      bf75a371
    • Antonio Nino Diaz's avatar
      Apply workaround for errata 813419 of Cortex-A57 · ccbec91c
      Antonio Nino Diaz authored
      
      
      TLBI instructions for EL3 won't have the desired effect under specific
      circumstances in Cortex-A57 r0p0. The workaround is to execute DSB and
      TLBI twice each time.
      
      Even though this errata is only needed in r0p0, the current errata
      framework is not prepared to apply run-time workarounds. The current one
      is always applied if compiled in, regardless of the CPU or its revision.
      
      This errata has been enabled for Juno.
      
      The `DSB` instruction used when initializing the translation tables has
      been changed to `DSB ISH` as an optimization and to be consistent with
      the barriers used for the workaround.
      
      Change-Id: Ifc1d70b79cb5e0d87e90d88d376a59385667d338
      Signed-off-by: default avatarAntonio Nino Diaz <antonio.ninodiaz@arm.com>
      ccbec91c
    • Antonio Nino Diaz's avatar
      Simplify translation tables headers dependencies · d50ece03
      Antonio Nino Diaz authored
      
      
      The files affected by this patch don't really depend on `xlat_tables.h`.
      By changing the included file it becomes easier to switch between the
      two versions of the translation tables library.
      
      Change-Id: Idae9171c490e0865cb55883b19eaf942457c4ccc
      Signed-off-by: default avatarAntonio Nino Diaz <antonio.ninodiaz@arm.com>
      d50ece03
  4. 07 Mar, 2017 1 commit
    • Varun Wadekar's avatar
      Tegra210: enable errata for Cortex-A57 and Cortex-A53 CPUs · 1f38d3c9
      Varun Wadekar authored
      
      
      This patch enables the following erratas for the Tegra210 SoC:
      
      * Cortex-A57
      =============
      - A57_DISABLE_NON_TEMPORAL_HINT
      - ERRATA_A57_826974
      - ERRATA_A57_826977
      - ERRATA_A57_828024
      - ERRATA_A57_829520
      - ERRATA_A57_833471
      
      * Cortex-A53
      =============
      - A53_DISABLE_NON_TEMPORAL_HINT
      - ERRATA_A53_826319
      - ERRATA_A53_836870
      
      Tegra210 uses Cortex-A57 revision: r1p1 and Cortex-A53 revision: r0p2.
      Signed-off-by: default avatarVarun Wadekar <vwadekar@nvidia.com>
      1f38d3c9
  5. 03 Mar, 2017 2 commits
  6. 02 Mar, 2017 4 commits