1. 18 Jan, 2019 5 commits
    • Anthony Zhou's avatar
      Tegra: fix defects flagged by MISRA Rule 10.3 · aa64c5fb
      Anthony Zhou authored
      
      
      MISRA Rule 10.3, the value of an expression shall not be assigned to
      an object with a narrower essential type or of a different essential
      type category.
      
      The essential type of a enum member is anonymous enum, the enum member
      should be casted to the right type when using it.
      
      Both UL and ULL suffix equal to uint64_t constant in compiler
      aarch64-linux-gnu-gcc, to avoid confusing, only keep U and ULL suffix
      in platform code. So in some case, cast a constant to uint32_t is
      necessary.
      
      Change-Id: I1aae8cba81ef47481736e7f95f53570de7013187
      Signed-off-by: default avatarAnthony Zhou <anzhou@nvidia.com>
      aa64c5fb
    • Harvey Hsieh's avatar
      Tegra210: save TZSRAM context from the "_wfi" handler · e680a397
      Harvey Hsieh authored
      
      
      This patch saves the TZSRAM context and takes the SoC into System Suspend
      from the "_wfi" handler. This helps us save the entire CPU context from
      the TZSRAM, before entering System Suspend. In the previous implementation
      we missed saving some part of the state machine context leading to an assert
      on System Suspend exit.
      
      Change-Id: I4895a8b4a5e3c3e983c245746ea388e42da8229c
      Signed-off-by: default avatarHarvey Hsieh <hhsieh@nvidia.com>
      e680a397
    • Samuel Payne's avatar
      Tegra210: se: enable entropy/SE clocks before system suspend · 99359f1d
      Samuel Payne authored
      
      
      This patch enables clocks to the SE and Entropy block and gets them
      out of reset, before starting the context save operation.
      
      Change-Id: Ic196be8fb833dfd04c0e8d460c07058429999613
      Signed-off-by: default avatarSamuel Payne <spayne@nvidia.com>
      99359f1d
    • Samuel Payne's avatar
      Tegra210: se: disable SMMU before suspending SE block · 86d0a52b
      Samuel Payne authored
      
      
      This patch disables SMMU hardware before suspending the SE
      block, for the context save operation to complete. The NS
      word will re-enable SMMU when we exit System Suspend.
      
      Change-Id: I4d5cd982ea6780db5c38b124550d847e3928c60d
      Signed-off-by: default avatarSamuel Payne <spayne@nvidia.com>
      86d0a52b
    • Samuel Payne's avatar
      Tegra210: SE: remove logic to enable atomic save/restore · 76a7cd33
      Samuel Payne authored
      
      
      This patch removes the logic to set the bit that enables atomic context
      save/restore when we enter System suspend. The bootrom enables this bit
      during cold boot and exit from System Suspend, so we can remove this
      setting from the driver.
      
      Change-Id: Id4e08d5048155c970f5e31d9c9dd676c07182ade
      Signed-off-by: default avatarSamuel Payne <spayne@nvidia.com>
      76a7cd33
  2. 16 Jan, 2019 7 commits
  3. 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
  4. 18 Dec, 2018 1 commit
  5. 17 Feb, 2018 1 commit
    • Andreas Färber's avatar
      tegra: Fix mmap_region_t struct mismatch · 28db3e96
      Andreas Färber authored
      Commit fdb1964c
      
       ("xlat: Introduce
      MAP_REGION2() macro") added a granularity field to mmap_region_t.
      
      Tegra platforms were using the v2 xlat_tables implementation in
      common/tegra_common.mk, but v1 xlat_tables.h headers in soc/*/plat_setup.c
      where arrays are being defined. This caused the next physical address to
      be read as granularity, causing EINVAL error and triggering an assert.
      
      Consistently use xlat_tables_v2.h header to avoid this.
      
      Fixes ARM-software/tf-issues#548.
      Signed-off-by: default avatarAndreas Färber <afaerber@suse.de>
      28db3e96
  6. 14 Jul, 2017 1 commit
  7. 14 Jun, 2017 1 commit
  8. 03 May, 2017 1 commit
  9. 01 May, 2017 2 commits
  10. 20 Mar, 2017 1 commit
  11. 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
  12. 02 Mar, 2017 3 commits
  13. 28 Feb, 2017 1 commit
    • 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
  14. 23 Feb, 2017 3 commits
  15. 22 Feb, 2017 6 commits
  16. 20 May, 2016 1 commit
  17. 21 Apr, 2016 1 commit
    • Yatharth Kochar's avatar
      Move `plat_get_syscnt_freq()` to arm_common.c · c073fda1
      Yatharth Kochar authored
      This patch moves the definition for `plat_get_syscnt_freq()`
      from arm_bl31_setup.c to arm_common.c. This could be useful
      in case a delay timer needs to be installed based on the
      generic timer in other BLs.
      This patch also modifies the return type for this function
      from `uint64_t` to `unsigned long long` within ARM and other
      platform files.
      
      Change-Id: Iccdfa811948e660d4fdcaae60ad1d700e4eda80d
      c073fda1
  18. 04 Dec, 2015 1 commit
  19. 10 Nov, 2015 1 commit
  20. 24 Aug, 2015 1 commit
    • Varun Wadekar's avatar
      Tegra210: wait for 512 timer ticks before retention entry · b42192bc
      Varun Wadekar authored
      
      
      This patch programs the CPUECTLR_EL1 and L2ECTLR_EL1 registers,
      so that the core waits for 512 generic timer CNTVALUEB ticks before
      entering retention state, after executing a WFI instruction.
      
      This functionality is configurable and can be enabled for platforms
      by setting the newly defined 'ENABLE_L2_DYNAMIC_RETENTION' and
      'ENABLE_CPU_DYNAMIC_RETENTION' flag.
      Signed-off-by: default avatarVarun Wadekar <vwadekar@nvidia.com>
      b42192bc