1. 18 Aug, 2020 1 commit
    • David Pu's avatar
      Tegra: common: make plat_psci_ops routines static · 57e92daf
      David Pu authored
      
      
      This patch makes Tegra platform psci ops routines to static. These
      routines are called by PSCI framework and no external linkage is
      necessary. This patch also fixes MISRA C-2012 Rule 8.6 violations.
      
      Change-Id: Idd2381809f76dc0fd578c1c92c0f8eea124f2e88
      Signed-off-by: default avatarDavid Pu <dpu@nvidia.com>
      57e92daf
  2. 09 Aug, 2020 1 commit
  3. 22 Mar, 2020 1 commit
  4. 20 Feb, 2020 1 commit
    • Varun Wadekar's avatar
      Tegra: handler to check support for System Suspend · 5d52aea8
      Varun Wadekar authored
      
      
      Tegra210 SoCs need the sc7entry-fw to enter System Suspend mode,
      but there might be certain boards that do not have this firmware
      blob. To stop the NS world from issuing System suspend entry
      commands on such devices, we ned to disable System Suspend from
      the PSCI "features".
      
      This patch removes the System suspend handler from the Tegra PSCI
      ops, so that the framework will disable support for "System Suspend"
      from the PSCI "features".
      
      Original change by: kalyani chidambaram <kalyanic@nvidia.com>
      
      Change-Id: Ie029f82f55990a8b3a6debb73e95e0e218bfd1f5
      Signed-off-by: default avatarVarun Wadekar <vwadekar@nvidia.com>
      5d52aea8
  5. 31 Jan, 2020 2 commits
  6. 17 Dec, 2019 1 commit
  7. 24 Oct, 2019 1 commit
  8. 15 Aug, 2019 1 commit
  9. 05 Feb, 2019 2 commits
  10. 31 Jan, 2019 1 commit
  11. 18 Jan, 2019 2 commits
    • Anthony Zhou's avatar
      Tegra: common: fix defects flagged by MISRA scan · 4c994002
      Anthony Zhou authored
      
      
      Macro assert(e) request 'e' is a bool type, if useing other
      type, MISRA report a "The Essential Type Model" violation,
      Add a judgement to fix the defects, if 'e' is not bool type.
      
      Remove unused code [Rule 2.5]
      Fix the essential type model violation [Rule 10.6, 10.7]
      Use local parameter to raplace function parameter [Rule 17.8]
      
      Change-Id: Ifce932addbb0a4b063ef6b38349d886c051d81c0
      Signed-off-by: default avatarAnthony Zhou <anzhou@nvidia.com>
      4c994002
    • Anthony Zhou's avatar
      Tegra: pm: fix MISRA defects · b36aea5a
      Anthony Zhou authored
      
      
      Main fixes:
      
      * Use int32_t replace int, use uint32_t replace unsign int
        [Rule 4.6]
      * Add function define to header file [Rule 8.4]
      * Added curly braces ({}) around if statements in order to
        make them compound [Rule 15.6]
      * Voided non c-library functions whose return types are not used
        [Rule 17.7]
      
      Change-Id: Ifa3ba4e75046697cfede885096bee9a30efe6519
      Signed-off-by: default avatarAnthony Zhou <anzhou@nvidia.com>
      b36aea5a
  12. 16 Jan, 2019 1 commit
  13. 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
  14. 31 Jul, 2017 1 commit
  15. 14 Jul, 2017 1 commit
  16. 14 Jun, 2017 1 commit
  17. 03 May, 2017 1 commit
  18. 13 Apr, 2017 1 commit
    • Vignesh Radhakrishnan's avatar
      Tegra: Add support for fake system suspend · a9e0260c
      Vignesh Radhakrishnan authored
      
      
      This patch adds support for fake system suspend (SC7).
      This is a debug mode, to ensure that a different code path is
      executed for cases like pre-silicon development, where a
      full-fledged SC7 is not possible in early stages.
      
      This particular patch ensures that, if fake system suspend is
      enabled (denoted by tegra_fake_system_suspend variable
      having a non-zero value), instead of calling WFI, a request
      for a warm reset is made for starting the SC7 exit procedure.
      
      This ensures that the code path of kernel->ATF and back to
      kernel is executed without depending on other components
      involved in SC7 code path.
      
      Additionally, this patch also adds support for SMC call
      from kernel, enabling fake system suspend mode.
      Signed-off-by: default avatarVignesh Radhakrishnan <vigneshr@nvidia.com>
      Signed-off-by: default avatarVarun Wadekar <vwadekar@nvidia.com>
      a9e0260c
  19. 02 Mar, 2017 3 commits
  20. 28 Feb, 2017 4 commits
    • Varun Wadekar's avatar
      Tegra: per-soc `get_target_pwr_state` handler · a7cd0953
      Varun Wadekar authored
      
      
      This patch implements a per-soc handler to calculate the target
      power state for the cluster/system. A weak implementation of the
      handler is provided for platforms to use by default.
      
      For SoCs with multiple CPU clusters, this handler would provide
      the individual cluster/system state, allowing the PSCI service to
      flush caches during cluster/system power down.
      
      Change-Id: I568cdb42204f9841a8430bd9105bd694f71cf91d
      Signed-off-by: default avatarVarun Wadekar <vwadekar@nvidia.com>
      a7cd0953
    • Varun Wadekar's avatar
      Tegra: restore TZRAM settings on "System Resume" · 207680c6
      Varun Wadekar authored
      
      
      This patch restores the TZRAM fence and the access permissions
      on exiting the "System Suspend" state.
      
      Change-Id: Ie313fca5a861c73f80df9639b01115780fb6e217
      Signed-off-by: default avatarVarun Wadekar <vwadekar@nvidia.com>
      207680c6
    • 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: implement common handler `plat_get_target_pwr_state()` · 2693f1db
      Varun Wadekar authored
      
      
      This patch adds a platform handler to calculate the proper target power
      level at the specified affinity level.
      
      Tegra platforms assign a local state value in order of decreasing depth
      of the power state i.e. for two power states X & Y, if X < Y then X
      represents a shallower power state than Y. As a result, the coordinated
      target local power state for a power domain will be the maximum of the
      requested local power state values.
      
      Change-Id: I67360684b7f5b783fcfdd605b96da5375fa05417
      Signed-off-by: default avatarVarun Wadekar <vwadekar@nvidia.com>
      2693f1db
  21. 23 Feb, 2017 4 commits
  22. 22 Feb, 2017 1 commit
    • 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
  23. 04 Dec, 2015 1 commit
  24. 10 Nov, 2015 1 commit
  25. 24 Jul, 2015 1 commit
  26. 06 Jul, 2015 1 commit
  27. 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