1. 07 Dec, 2018 3 commits
    • Julius Werner's avatar
      drivers/console: Link console framework code by default · 985ee0b7
      Julius Werner authored
      
      
      This patch makes the build system link the console framework code by
      default, like it already does with other common libraries (e.g. cache
      helpers). This should not make a difference in practice since TF is
      linked with --gc-sections, so the linker will garbage collect all
      functions and data that are not referenced by any other code. Thus, if a
      platform doesn't want to include console code for size reasons and
      doesn't make any references to console functions, the code will not be
      included in the final binary.
      
      To avoid compatibility issues with older platform ports, only make this
      change for the MULTI_CONSOLE_API.
      
      Change-Id: I153a9dbe680d57aadb860d1c829759ba701130d3
      Signed-off-by: default avatarJulius Werner <jwerner@chromium.org>
      985ee0b7
    • Julius Werner's avatar
      plat/common/crash_console_helpers.S: Fix MULTI_CONSOLE_API support · 63c52d00
      Julius Werner authored
      Crash reporting via the default consoles registered by MULTI_CONSOLE_API
      has been broken since commit d35cc347
      
       (Console: Use callee-saved
      registers), which was introduced to allow console drivers written in C.
      It's not really possible with the current crash reporting framework to
      support console drivers in C, however we should make sure that the
      existing assembly drivers that do support crash reporting continue to
      work through the MULTI_CONSOLE_API.
      
      This patch fixes the problem by creating custom console_putc() and
      console_flush() implementations for the crash reporting case that do not
      use the stack. Platforms that want to use this feature will have to link
      plat/common/aarch64/crash_console_helpers.S explicitly.
      
      Also update the documentation to better reflect the new reality (of this
      being an option rather than the expected default for most platforms).
      
      Change-Id: Id0c761e5e2fddaf25c277bc7b8ab603946ca73cb
      Signed-off-by: default avatarJulius Werner <jwerner@chromium.org>
      63c52d00
    • Julius Werner's avatar
      plat/common: Remove duplication of plat_crash_console functions/stubs · b2f7c9dd
      Julius Werner authored
      Commit e74afb65 (Deprecate weak crash console functions) deprecated the
      default inclusion of weak definitions for plat_crash_console functions
      in plat/common/aarch64/platform_helpers.S. The code was later copied out
      to plat/common/aarch64/crash_console_helpers.S so platforms can link it
      explicitly if they want to. However, since deprecation does not mean
      removal, the same code is also still duplicated in platform_helpers.S.
      
      The duplicated code contains both empty stubs for the !MULTI_CONSOLE_API
      case, and a real implementation that used to work but was broken by
      commit d35cc347
      
       (Console: Use callee-saved registers) for
      MULTI_CONSOLE_API. It's not great to have both of these duplicated in
      two files, so this patch splits them up: in platform_helpers.S we'll
      only keep the empty stubs (guarded by !ERROR_DEPRECATED), which should
      not regress functionality since the MULTI_CONSOLE_API implementation was
      already broken anyway. In crash_console_helpers.S, we'll only keep the
      MULTI_CONSOLE_API version, which is enough both as an implementation in
      itself and as a sample for how to reimplement these functions in a
      platform-specific file.
      
      Change-Id: I83d95a90ab6aac597dc2ea2f2797ac2c8ed075d4
      Signed-off-by: default avatarJulius Werner <jwerner@chromium.org>
      b2f7c9dd
  2. 06 Dec, 2018 12 commits
  3. 05 Dec, 2018 2 commits
    • Chandni Cherukuri's avatar
      plat/arm/sgi: Use NT_FW_CONFIG instead of HW_CONFIG · 77ab969a
      Chandni Cherukuri authored
      
      
      With the two new APIs 'plat_arm_sgi_get_platform_id' and
      'plat_arm_sgi_get_config_id' that are available now, BL31 need not
      depend on hw_config device tree to identify the platform. In addition
      to this, the existing hardware description in hw_config can be limited
      to use by BL33 and not by the operating system.
      
      So the hardware description from hw_config dts can be moved into
      nt_fw_config dts and the use of hw_config dts can be removed.
      
      Change-Id: I873b7e1e72823d3ec5d253a848e85ae724f09e49
      Signed-off-by: default avatarChandni Cherukuri <chandni.cherukuri@arm.com>
      77ab969a
    • Bai Ping's avatar
      plat: imx: Add i.MX8MQ basic support · 81136819
      Bai Ping authored
      
      
      i.MX8MQ is new SOC of NXP's i.MX8M family based on
      A53. It can provide industry-leading audio, voice
      and video processing for applications that scale
      from consumer home audio to industrial building
      automation and mobile computers
      
      this patchset add the basic supoort to boot up
      the 4 X A53. more feature will be added later.
      Signed-off-by: default avatarBai Ping <ping.bai@nxp.com>
      81136819
  4. 04 Dec, 2018 10 commits
  5. 03 Dec, 2018 1 commit
    • Chandni Cherukuri's avatar
      plat/arm/sgi: Use platform specific functions to get platform ids · 699223a2
      Chandni Cherukuri authored
      
      
      Add two new functions 'plat_arm_sgi_get_platform_id' and
      'plat_arm_sgi_get_config_id' which will be implemented by all the
      SGI platforms. These functions can be used to determine the part
      number and configuration id of the SGI platforms.
      
      In BL2, these functions are used to populate the 'system-id' node.
      In BL31, these functions are used to populate the 'sgi_plat_info_t'
      structure with the part number and configuration id of the platform.
      
      Change-Id: I3bacda933527724a3b4074ad4ed5b53a81ea4689
      Signed-off-by: default avatarChandni Cherukuri <chandni.cherukuri@arm.com>
      699223a2
  6. 29 Nov, 2018 2 commits
  7. 27 Nov, 2018 3 commits
  8. 26 Nov, 2018 2 commits
    • Antonio Nino Diaz's avatar
      Synchronise arch.h and arch_helpers.h with TF-A-Tests · 932b3ae2
      Antonio Nino Diaz authored
      
      
      The headers forked at some point in the past and have diverged a lot. In
      order to make it easier to share code between TF-A-Tests and TF-A, this
      patch synchronises most of the definitions in the mentioned headers.
      
      This is not a complete sync, it has to be followed by more cleanup.
      
      This patch also removes the read helpers for the AArch32 instructions
      ats1cpr and ats1hr (they are write-only).
      
      Change-Id: Id13ecd7aeb83bd2318cd47156d71a42f1c9f6ba2
      Signed-off-by: default avatarAntonio Nino Diaz <antonio.ninodiaz@arm.com>
      932b3ae2
    • 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
  9. 23 Nov, 2018 1 commit
    • Sathees Balya's avatar
      juno: Add romlib support · afa5cfea
      Sathees Balya authored
      
      
      This patch adds support to build a combined BL1
      and ROMLIB binary file with the right page
      alignment in Juno. When USE_ROMLIB=1 is set for
      Juno, it generates the combined file
      bl1_romlib.bin which needs to be used instead of
      bl1.bin
      
      Change-Id: I407efbe48d3e522fa6ef855538a9587193cb1919
      Signed-off-by: default avatarSathees Balya <sathees.balya@arm.com>
      afa5cfea
  10. 21 Nov, 2018 1 commit
  11. 20 Nov, 2018 1 commit
  12. 19 Nov, 2018 1 commit
    • Pete Batard's avatar
      rpi3: add RPI3_USE_UEFI_MAP build option · 4dcf1fad
      Pete Batard authored
      
      
      The default Raspberry Pi 3 memory mapping for ATF is geared towards
      the use of uboot + Linux. This creates issues when trying to use
      ATF with an UEFI payload and Windows on ARM64.
      
      We therefore introduce new build option RPI3_USE_UEFI_MAP, that
      enables the build process to use an alternate memory mapping that
      is compatible with UEFI + Windows (as well as UEFI + Linux).
      
      Fixes ARM-software/tf-issues#649
      Signed-off-by: default avatarPete Batard <pete@akeo.ie>
      4dcf1fad
  13. 15 Nov, 2018 1 commit