1. 30 Jan, 2018 2 commits
  2. 29 Jan, 2018 7 commits
  3. 27 Jan, 2018 1 commit
  4. 26 Jan, 2018 1 commit
  5. 25 Jan, 2018 5 commits
    • Julius Werner's avatar
      delay_timer: Guarantee that delay time can never be undershot · e2aec918
      Julius Werner authored
      
      
      Delay functions like udelay() are often used to ensure that the
      necessary time passed to allow some asynchronous event to finish, such
      as the stabilization delay for a power rail. For these use cases it is
      not very problematic if the delay is slightly longer than requested,
      but it is critical that the delay must never be shorter.
      
      The current udelay() implementation contains two hazards that may cause
      the delay to be slightly shorter than intended: Firstly, the amount of
      ticks to wait is calculated with an integer division, which may cut off
      the last fraction of ticks needed. Secondly, the delay may be short by a
      fraction of a tick because we do not know whether the initial ("start")
      sample of the timer was near the start or near the end of the current
      tick. Thus, if the code intends to wait for one tick, it might read the
      timer value close to the end of the current tick and then read it again
      right after the start of the next tick, concluding that the duration of
      a full tick has passed when it in fact was just a fraction of it.
      
      This patch rounds up the division and always adds one extra tick to
      counteract both problems and ensure that delays will always be larger
      but never smaller than requested.
      
      Change-Id: Ic5fe5f858b5cdf3c0dbf3e488d4d5702d9569433
      Signed-off-by: default avatarJulius Werner <jwerner@chromium.org>
      e2aec918
    • davidcunado-arm's avatar
      Merge pull request #1232 from masahir0y/uniphier · f478253d
      davidcunado-arm authored
      uniphier: migrate to BL2-AT-EL3
      f478253d
    • davidcunado-arm's avatar
      Merge pull request #1234 from SNG-ARM/master · 73ba5d40
      davidcunado-arm authored
      SPM: Declare explicit width based types in secure_partition_boot_info…
      73ba5d40
    • davidcunado-arm's avatar
      Merge pull request #1231 from Leo-Yan/hikey960_enable_fiq_handling · 8253eb57
      davidcunado-arm authored
      Hikey960: Enable invalid FIQ handling
      8253eb57
    • davidcunado-arm's avatar
      Merge pull request #1228 from dp-arm/dp/cve_2017_5715 · d95eb476
      davidcunado-arm authored
      Workarounds for CVE-2017-5715 on A9/A15 and A17 + serial console reporting
      d95eb476
  6. 24 Jan, 2018 7 commits
  7. 23 Jan, 2018 1 commit
    • Steve Capper's avatar
      Correct the Makefile logic for disabling PIE · d1156e0b
      Steve Capper authored
      In the Makefile we use findstring to locate gcc toolchains
      that have PIE enabled by default.
      
      Unfortunately the result of findstring is compared against
      an integer, 1, rather than a non-empty string; the logic to
      disable PIE then doesn't get applied.
      
      This patch fixes the flag test.
      
      Fixes: f7ec31db
      
       ("Disable PIE compilation option")
      Change-Id: I4cd2866974e313d6b408f9681311d78a208ab468
      Signed-off-by: default avatarSteve Capper <steve.capper@arm.com>
      d1156e0b
  8. 22 Jan, 2018 6 commits
  9. 20 Jan, 2018 1 commit
  10. 19 Jan, 2018 9 commits
    • davidcunado-arm's avatar
      Merge pull request #1227 from geesun/qx/emmc_macros · b6df93dd
      davidcunado-arm authored
      emmc: add macros CMD21, BUS_WIDTH_DDR_4 and BUS_WIDTH_DDR_8
      b6df93dd
    • Julius Werner's avatar
      coreboot: Add support for CBMEM console · 1c5f5031
      Julius Werner authored
      
      
      coreboot supports an in-memory console to store firmware logs even when
      no serial console is available. It is widely supported by
      coreboot-compatible bootloaders (including SeaBIOS and GRUB) and can be
      read by the Linux kernel.
      
      This patch allows BL31 to add its own log messages to this console. The
      driver will be registered automatically if coreboot support is compiled
      in and detects the presence of a console buffer in the coreboot tables.
      
      Change-Id: I31254dfa0c2fdeb7454634134b5707b4b4154907
      Signed-off-by: default avatarJulius Werner <jwerner@chromium.org>
      1c5f5031
    • Julius Werner's avatar
      rockchip: Move to MULTI_CONSOLE_API · 890abc33
      Julius Werner authored
      
      
      This patch changes all Rockchip platforms to use the new
      MULTI_CONSOLE_API. The platform-specific plat_crash_console
      implementations are removed so that the platform can use the ones from
      the common platform code instead.
      
      Also change the registers used in plat_crash_print_regs. The existing
      use of x16 and x17 has always been illegal, since those registers are
      reserved for use by the linker as a temporary scratch registers in
      intra-procedure-call veneers and can never be expected to maintain their
      values across a function call.
      
      Change-Id: I8249424150be8d5543ed4af93b56756795a5288f
      Signed-off-by: default avatarJulius Werner <jwerner@chromium.org>
      890abc33
    • Julius Werner's avatar
      rockchip: Use coreboot-supplied serial console on coreboot systems · 3c250b9a
      Julius Werner authored
      
      
      This patch changes all Rockchip platforms to initialize the serial
      console with information supplied by coreboot rather than hardcoded
      base address and divisor values if BL31 is run on top of coreboot.
      Moving the BL2-to-BL31 parameter parsing as early as possible to ensure
      that the console is available for all following code.
      
      Also update the Rockchip platform to use MULTI_CONSOLE_API.
      
      Change-Id: I670d350fa2f8b8133539f91ac14977ab47db60d9
      Signed-off-by: default avatarJulius Werner <jwerner@chromium.org>
      3c250b9a
    • Julius Werner's avatar
      Add platform-independent coreboot support library · 3429c77a
      Julius Werner authored
      
      
      This patch adds the foundation for a platform-independent coreboot
      support library that can be shared by all platforms that boot BL31 from
      coreboot (acting as BL2). It adds code to parse the "coreboot table", a
      data structure that coreboot uses to communicate different kinds of
      information to later-stage firmware and certain OS drivers.
      
      As a first small use case for this information, allow platforms to
      access the serial console configuration used by coreboot, removing the
      need to hardcode base address and divisors and allowing Trusted Firmware
      to benefit from coreboot's user configuration (e.g. which UART to pick
      and which baud rate to use).
      
      Change-Id: I2bfb39cd2609ce6640b844ab68df6c9ae3f28e9e
      Signed-off-by: default avatarJulius Werner <jwerner@chromium.org>
      3429c77a
    • Julius Werner's avatar
      drivers: cadence: cdns: Update CDNS driver to support MULTI_CONSOLE_API · 38ba8e93
      Julius Werner authored
      
      
      This patch updates the Cadence CDNS console driver to support the new
      console API. The driver will continue to support the old API as well by
      checking the MULTI_CONSOLE_API compile-time flag.
      
      Change-Id: I2ef8fb0d6ab72696997db1e0243a533499569d6b
      Signed-off-by: default avatarJulius Werner <jwerner@chromium.org>
      38ba8e93
    • Julius Werner's avatar
      drivers: arm: pl011: Update PL011 driver to support MULTI_CONSOLE_API · 4a0c4571
      Julius Werner authored
      
      
      This patch updates the ARM PL011 console driver to support the new
      console API. The driver will continue to support the old API as well by
      checking the MULTI_CONSOLE_API compile-time flag.
      
      Change-Id: Ic34e4158addbb0c5fae500c9cff899c05a4f4206
      Signed-off-by: default avatarJulius Werner <jwerner@chromium.org>
      4a0c4571
    • Julius Werner's avatar
      drivers: ti: uart: Update 16550 UART driver to support MULTI_CONSOLE_API · 36c42ca1
      Julius Werner authored
      
      
      This patch updates the TI 16550 console driver to support the new
      console API. The driver will continue to support the old API as well by
      checking the MULTI_CONSOLE_API compile-time flag.
      
      Change-Id: I60a44b7ba3c35c74561824c04b8dbe3e3039324c
      Signed-off-by: default avatarJulius Werner <jwerner@chromium.org>
      36c42ca1
    • Julius Werner's avatar
      Add default crash console code to hook up to new console API · 17cd67d2
      Julius Werner authored
      
      
      This patch expands the weak stubs for the plat_crash_console_xxx
      functions in common platform code to use the new console API for crash
      output. This should make crash console output "just work" for most cases
      without the need for the platform to explicitly set up a crash console.
      For cases where the normal console framework doesn't work (e.g. very
      early crashes, before the platform can register any consoles), platforms
      are still able to override the functions just like before.
      
      This feature requires the MULTI_CONSOLE_API compile-time flag to work.
      For builds which don't have it set, this patch has no practical effect.
      
      Change-Id: I80dd161cb43f9db59a0bad2dae33c6560cfac584
      Signed-off-by: default avatarJulius Werner <jwerner@chromium.org>
      17cd67d2