1. 01 Aug, 2019 1 commit
    • Julius Werner's avatar
      Switch AARCH32/AARCH64 to __aarch64__ · 402b3cf8
      Julius Werner authored
      
      
      NOTE: AARCH32/AARCH64 macros are now deprecated in favor of __aarch64__.
      
      All common C compilers pre-define the same macros to signal which
      architecture the code is being compiled for: __arm__ for AArch32 (or
      earlier versions) and __aarch64__ for AArch64. There's no need for TF-A
      to define its own custom macros for this. In order to unify code with
      the export headers (which use __aarch64__ to avoid another dependency),
      let's deprecate the AARCH32 and AARCH64 macros and switch the code base
      over to the pre-defined standard macro. (Since it is somewhat
      unintuitive that __arm__ only means AArch32, let's standardize on only
      using __aarch64__.)
      
      Change-Id: Ic77de4b052297d77f38fc95f95f65a8ee70cf200
      Signed-off-by: default avatarJulius Werner <jwerner@chromium.org>
      402b3cf8
  2. 12 Jul, 2019 1 commit
  3. 28 Jun, 2019 1 commit
  4. 12 Apr, 2019 1 commit
    • Ambroise Vincent's avatar
      Mbed TLS: Remove weak heap implementation · 2374ab17
      Ambroise Vincent authored
      
      
      The implementation of the heap function plat_get_mbedtls_heap() becomes
      mandatory for platforms supporting TRUSTED_BOARD_BOOT.
      
      The shared Mbed TLS heap default weak function implementation is
      converted to a helper function get_mbedtls_heap_helper() which can be
      used by the platforms for their own function implementation.
      
      Change-Id: Ic8f2994e25e3d9fcd371a21ac459fdcafe07433e
      Signed-off-by: default avatarAmbroise Vincent <ambroise.vincent@arm.com>
      2374ab17
  5. 10 Apr, 2019 1 commit
    • Wei Yu's avatar
      hikey960: Fix race condition between hotplug and idles · 7d76df7d
      Wei Yu authored
      
      
      From the hotplug testing on Hikey960, in some case cores fail to become
      online in the system. When some cores are hotplugged off, if other
      cores in the same cluster enter into CPU idle states at the meantime,
      the cluster will be powered off. This introduces the state machine
      malfunction in the power controller, thus when hotplug on the core
      afterwards, it fails to boot up the core because the power controller
      thinks the cluster is powered on.
      
      This patch is to avoid race condition between hotplug and idles by
      preventing cluster power off when some of cores in the cluster are
      hotplugged off, if all cores in the same cluster are hotplugged off,
      the cluster can be powered off.
      
      Change-Id: Ib2feeb093357c70409a3536cb4f9da9b504fdcbe
      Signed-off-by: default avatarWei Yu <yuwei3@hisilicon.com>
      Signed-off-by: default avatarLeo Yan <leo.yan@linaro.org>
      7d76df7d
  6. 11 Feb, 2019 1 commit
    • Ryan Grachek's avatar
      hikey960: enable IOMCU DMAC · c8ab47d4
      Ryan Grachek authored
      
      
      There exists a third DMA controller on the hi3660
      SoC called the IOMCU DMAC. This controller is used by
      peripherals like SPI2 and UART3. Initialize channels 4-7
      as non-secure, while 0-3 remain reserved and secure.
      Signed-off-by: default avatarRyan Grachek <ryan@edited.us>
      c8ab47d4
  7. 01 Feb, 2019 2 commits
  8. 31 Jan, 2019 1 commit
  9. 15 Jan, 2019 1 commit
  10. 10 Jan, 2019 2 commits
  11. 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
  12. 10 Dec, 2018 1 commit
  13. 29 Nov, 2018 1 commit
  14. 08 Nov, 2018 2 commits
  15. 01 Nov, 2018 1 commit
  16. 25 Oct, 2018 1 commit
    • Antonio Nino Diaz's avatar
      Add plat_crash_console_flush to platforms without it · 9c675b37
      Antonio Nino Diaz authored
      
      
      Even though at this point plat_crash_console_flush is optional, it will
      stop being optional in a following patch.
      
      The console driver of warp7 doesn't support flush, so the implementation
      is a placeholder.
      
      TI had ``plat_crash_console_init`` and ``plat_crash_console_putc``, but
      they weren't global so they weren't actually used. Also, they were
      calling the wrong functions.
      
      imx8_helpers.S only has placeholders for all of the functions.
      
      Change-Id: I8d17bbf37c7dad74e134c61ceb92acb9af497718
      Signed-off-by: default avatarAntonio Nino Diaz <antonio.ninodiaz@arm.com>
      9c675b37
  17. 28 Sep, 2018 1 commit
  18. 26 Sep, 2018 1 commit
    • Haojian Zhuang's avatar
      hikey960: fix build issue for clang · 492a504c
      Haojian Zhuang authored
      
      
      plat/hisilicon/hikey960/include/plat_macros.S:19:55: error: unexpected token in
      '.asciz' directive
       .asciz "gicd_ispendr regs (Offsets 0x200 - 0x278)\n" " Offset:\t\t\tvalue\n"
                                                            ^
      Makefile:720: recipe for target 'build/hikey960/debug/bl1/cortex_a53.o' failed
      make: *** [build/hikey960/debug/bl1/cortex_a53.o] Error 1
      
      Merge the two lines into one.
      Signed-off-by: default avatarHaojian Zhuang <haojian.zhuang@linaro.org>
      492a504c
  19. 09 Sep, 2018 1 commit
  20. 27 Jul, 2018 1 commit
  21. 20 Jul, 2018 1 commit
  22. 28 Mar, 2018 1 commit
  23. 27 Mar, 2018 1 commit
    • Joel Hutton's avatar
      Clean usage of void pointers to access symbols · 9f85f9e3
      Joel Hutton authored
      
      
      Void pointers have been used to access linker symbols, by declaring an
      extern pointer, then taking the address of it. This limits symbols
      values to aligned pointer values. To remove this restriction an
      IMPORT_SYM macro has been introduced, which declares it as a char
      pointer and casts it to the required type.
      
      Change-Id: I89877fc3b13ed311817bb8ba79d4872b89bfd3b0
      Signed-off-by: default avatarJoel Hutton <Joel.Hutton@Arm.com>
      9f85f9e3
  24. 26 Mar, 2018 1 commit
  25. 06 Mar, 2018 1 commit
    • Haojian Zhuang's avatar
      hikey960: fix build issue with CLANG · 056b3d49
      Haojian Zhuang authored
      
      
      plat/hisilicon/hikey960/drivers/pwrc/hisi_pwrc.c:290:20:
      error: unused function 'hisi_pdc_set_intmask' [-Werror,-Wunused-function]
      static inline void hisi_pdc_set_intmask(void *pdc_base_addr,
                         ^
      1 error generated.
      Makefile:605: recipe for target 'build/hikey960/release/bl31/hisi_pwrc.o' failed
      make: *** [build/hikey960/release/bl31/hisi_pwrc.o] Error 1
      Signed-off-by: default avatarHaojian Zhuang <haojian.zhuang@linaro.org>
      056b3d49
  26. 05 Mar, 2018 6 commits
  27. 27 Feb, 2018 1 commit
  28. 17 Feb, 2018 1 commit
  29. 07 Feb, 2018 1 commit
  30. 01 Feb, 2018 2 commits
  31. 22 Jan, 2018 1 commit
    • Leo Yan's avatar
      Hikey960: Enable invalid FIQ handling · b79f7ed0
      Leo Yan authored
      
      
      When some interrupts are configured as group 0 in GICv2, these
      interrupts trigger FIQ signal; this results in the Linux kernel panic
      by reporting log: "Bad mode in FIQ handler detected on CPU0, code
      0x00000000 -- Unknown/Uncategorized".  Unfortunately from kernel side it
      has no permission to read the GIC register for group 0 interrupts so we
      have no chance to get to know which interrupt is configured as secure
      interrupt and cause the kernel panic.
      
      For upper reason, this commit enables FIQ exception handling for
      SPD_none case.  If the system has not enabled SPD the FIQ interrupt is
      trapped into EL3 and the FIQ handler can report the interrupt number so
      we can easily narrow down which FIQ introduce unexpected interrupt.
      After enable SPD we can rely on SPD interrupt route model to handle FIQ.
      Signed-off-by: default avatarLeo Yan <leo.yan@linaro.org>
      b79f7ed0