1. 28 Feb, 2017 9 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: implement FIQ interrupt handler · 78e2bd10
      Varun Wadekar authored
      
      
      This patch adds a handler for FIQ interrupts triggered when
      the CPU is in the NS world. The handler stores the NS world's
      context along with ELR_EL3/SPSR_EL3.
      
      The NS world driver issues an SMC initially to register it's
      handler. The monitor firmware stores this handler address and
      jumps to it when the FIQ interrupt fires. Upon entry into the
      NS world the driver then issues another SMC to get the CPU
      context when the FIQ fired. This allows the NS world driver to
      determine the CPU state and call stack when the interrupt
      fired. Generally, systems register watchdog interrupts as FIQs
      which are then used to get the CPU state during hangs/crashes.
      
      Change-Id: I733af61a08d1318c75acedbe9569a758744edd0c
      Signed-off-by: default avatarVarun Wadekar <vwadekar@nvidia.com>
      78e2bd10
    • 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
      cpus: denver: remove barrier from denver_enable_dco() · 3eac92d2
      Varun Wadekar authored
      
      
      This patch removes unnecessary `isb` from the enable DCO sequence as
      there is no need to synchronize this operation.
      
      Change-Id: I0191e684bbc7fdba635c3afbc4e4ecd793b6f06f
      Signed-off-by: default avatarVarun Wadekar <vwadekar@nvidia.com>
      3eac92d2
    • 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
    • Varun Wadekar's avatar
      Tegra: include platform_def.h to access UART macros · 11bd24be
      Varun Wadekar authored
      
      
      This patch includes platform_def.h required to access UART macros -
      "TEGRA_BOOT_UART_CLK_IN_HZ" and "TEGRA_CONSOLE_BAUDRATE" from
      tegra_helpers.S.
      
      Change-Id: Ieb63968a48dc299d03e81ddeb1ccc871cf3397a1
      Signed-off-by: default avatarVarun Wadekar <vwadekar@nvidia.com>
      11bd24be
    • Wayne Lin's avatar
      Tegra: allow SiP smc calls from Secure World · 2d05f810
      Wayne Lin authored
      
      
      This patch removes the restriction of allowing SiP calls only from the
      non-secure world. The secure world can issue SiP calls as a result of
      this patch now.
      
      Change-Id: Idd64e893ae8e114bba0196872d3ec544cac150bf
      Signed-off-by: default avatarWayne Lin <wlin@nvidia.com>
      Signed-off-by: default avatarVarun Wadekar <vwadekar@nvidia.com>
      2d05f810
    • 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. 27 Feb, 2017 3 commits
  3. 24 Feb, 2017 28 commits