1. 18 Sep, 2019 2 commits
  2. 01 Aug, 2019 2 commits
    • 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
    • Julius Werner's avatar
      Replace __ASSEMBLY__ with compiler-builtin __ASSEMBLER__ · d5dfdeb6
      Julius Werner authored
      
      
      NOTE: __ASSEMBLY__ macro is now deprecated in favor of __ASSEMBLER__.
      
      All common C compilers predefine a macro called __ASSEMBLER__ when
      preprocessing a .S file. There is no reason for TF-A to define it's own
      __ASSEMBLY__ macro for this purpose instead. To unify code with the
      export headers (which use __ASSEMBLER__ to avoid one extra dependency),
      let's deprecate __ASSEMBLY__ and switch the code base over to the
      predefined standard.
      
      Change-Id: Id7d0ec8cf330195da80499c68562b65cb5ab7417
      Signed-off-by: default avatarJulius Werner <jwerner@chromium.org>
      d5dfdeb6
  3. 24 Jul, 2019 1 commit
    • Julius Werner's avatar
      Use explicit-width data types in AAPCS parameter structs · 9352be88
      Julius Werner authored
      
      
      It's not a good idea to use u_register_t for the members of
      aapcs64_params_t and aapcs32_params_t, since the width of that type
      always depends on the current execution environment. This would cause
      problems if e.g. we used this structure to set up the entry point of an
      AArch32 program from within an AArch64 program. (It doesn't seem like
      any code is doing that today, but it's probably still a good idea to
      write this defensively. Also, it helps with my next patch.)
      
      Change-Id: I12c04a85611f2b6702589f3362bea3e6a7c9f776
      Signed-off-by: default avatarJulius Werner <jwerner@chromium.org>
      9352be88
  4. 12 Jul, 2019 1 commit
  5. 28 Jun, 2019 1 commit
  6. 26 Apr, 2019 1 commit
  7. 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
  8. 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
  9. 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
  10. 01 Feb, 2019 2 commits
  11. 31 Jan, 2019 1 commit
  12. 15 Jan, 2019 1 commit
  13. 10 Jan, 2019 2 commits
  14. 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
  15. 10 Dec, 2018 1 commit
  16. 29 Nov, 2018 1 commit
  17. 26 Nov, 2018 1 commit
    • Haojian Zhuang's avatar
      hikey: remove delay after eMMC initialized · b79de2dc
      Haojian Zhuang authored
      
      
      commit 386b14bf64124ebf0368eab33ef07603e0c3138a
      Author: Haojian Zhuang <haojian.zhuang@linaro.org>
      Date:   Wed Nov 21 09:19:49 2018 +0800
      
          mmc: poll eMMC status after EXT_CSD command
      
          EXT_CSD command needs to access data from eMMC device. Add the
          operation of polling eMMC device status. Make sure the command is
          finished.
      Signed-off-by: default avatarHaojian Zhuang <haojian.zhuang@linaro.org>
      
      A hacked delay time can't fit each eMMC device. Since the above commit
      enables the polling operation, remove the hacked delay time now.
      Signed-off-by: default avatarHaojian Zhuang <haojian.zhuang@linaro.org>
      b79de2dc
  18. 15 Nov, 2018 1 commit
  19. 08 Nov, 2018 4 commits
  20. 01 Nov, 2018 1 commit
  21. 31 Oct, 2018 1 commit
  22. 30 Oct, 2018 1 commit
  23. 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
  24. 10 Oct, 2018 1 commit
  25. 28 Sep, 2018 3 commits
  26. 27 Sep, 2018 1 commit
    • Shawn Guo's avatar
      poplar: fix build error with POPLAR_RECOVERY=1 · d5ed2946
      Shawn Guo authored
      Commit eba1b6b3
      
       ("plat/poplar: migrate to mmc framework") defines
      variable 'info' without !POPLAR_RECOVERY protection, and hence causes
      the following unused variable error with POPLAR_RECOVERY=1 build.
      
      plat/hisilicon/poplar/bl1_plat_setup.c: In function ‘bl1_platform_setup’:
      plat/hisilicon/poplar/bl1_plat_setup.c:95:25: error: unused variable ‘info’ [-Werror=unused-variable]
        struct mmc_device_info info;
                               ^~~~
      
      The patches fixes the build error with POPLAR_RECOVERY=1.
      Signed-off-by: default avatarShawn Guo <shawn.guo@linaro.org>
      d5ed2946
  27. 26 Sep, 2018 2 commits
    • 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
    • Haojian Zhuang's avatar
      hikey: fix build issue for clang · 00a64624
      Haojian Zhuang authored
      
      
      plat/hisilicon/hikey/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/hikey/debug/bl1/cortex_a53.o' failed
      make: *** [build/hikey/debug/bl1/cortex_a53.o] Error 1
      
      Merge two lines into one line.
      Signed-off-by: default avatarHaojian Zhuang <haojian.zhuang@linaro.org>
      00a64624
  28. 09 Sep, 2018 1 commit
  29. 22 Aug, 2018 2 commits