1. 02 Mar, 2020 1 commit
    • Leo Yan's avatar
      hikey960: Enable system power off callback · cfde1870
      Leo Yan authored
      
      
      On Hikey960 if outputs GPIO176 low level, it can tell PMIC to power off
      the whole board.  To avoid resetting the board and stay off, it also
      requires the SW2201's three switches 1/2/3 need to be all set to 0.
      
      Since current code doesn't contain complete GPIO modules and misses to
      support GPIO176.  This patch adds all known GPIO modules and initialize
      GPIO in BL31, and adds system power off callback to use GPIO176 for PMIC
      power off operation.
      
      Change-Id: Ia88859b8b7c87c061420ef75f0de3e2768667bb0
      Signed-off-by: default avatarLeo Yan <leo.yan@linaro.org>
      cfde1870
  2. 24 Jan, 2020 1 commit
  3. 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
  4. 12 Jul, 2019 1 commit
  5. 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
  6. 10 Jan, 2019 1 commit
  7. 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
  8. 10 Dec, 2018 1 commit
  9. 29 Nov, 2018 1 commit
  10. 08 Nov, 2018 1 commit
    • Antonio Nino Diaz's avatar
      Standardise header guards across codebase · c3cf06f1
      Antonio Nino Diaz authored
      
      
      All identifiers, regardless of use, that start with two underscores are
      reserved. This means they can't be used in header guards.
      
      The style that this project is now to use the full name of the file in
      capital letters followed by 'H'. For example, for a file called
      "uart_example.h", the header guard is UART_EXAMPLE_H.
      
      The exceptions are files that are imported from other projects:
      
      - CryptoCell driver
      - dt-bindings folders
      - zlib headers
      
      Change-Id: I50561bf6c88b491ec440d0c8385c74650f3c106e
      Signed-off-by: default avatarAntonio Nino Diaz <antonio.ninodiaz@arm.com>
      c3cf06f1
  11. 28 Sep, 2018 1 commit
  12. 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
  13. 09 Sep, 2018 1 commit
  14. 27 Jul, 2018 1 commit
  15. 20 Jul, 2018 1 commit
  16. 05 Mar, 2018 2 commits
  17. 27 Feb, 2018 1 commit
  18. 16 Jan, 2018 1 commit
    • Leo Yan's avatar
      Revert "Hikey960: Change to use recommended power state id format" · e1b27425
      Leo Yan authored
      This reverts commit fdae60b6.
      
      The commit fdae60b6
      
       changed the
      parameter encoding for the hikey960.  However that implies a DT change
      in the kernel side.  After submitting the DT change for upstreaming,
      the backward compatibility issue and the interface change raise some
      concerns from the Linux community about the issues related to kernel <->
      ATF alignment.  There is no way to detect a mis-alignment of those
      without a deep knowledge of the ATF and the kernel.  Furthermore, the
      failing calls to PSCI in the idle path (because of bad parameters), will
      lead to busy looping, implying: thermal issues and extra energy
      consumption.
      
      In regard of the Linux community concerns, the potential issues when the
      ATF and the kernel are not aligned, it is preferable to revert the
      commit.
      
      Cc: Vincent Guittot <vincent.guittot@linaro.org>
      Cc: Haojian Zhuang <haojian.zhuang@linaro.org>
      Cc: Kevin Wang <jean.wangtao@linaro.org>
      Co-authored-by: default avatarDaniel Lezcano <daniel.lezcano@linaro.org>
      Signed-off-by: default avatarLeo Yan <leo.yan@linaro.org>
      e1b27425
  19. 09 Jan, 2018 1 commit
  20. 06 Dec, 2017 1 commit
    • Leo Yan's avatar
      Hikey960: Change to use recommended power state id format · fdae60b6
      Leo Yan authored
      
      
      ARM Power State Coordination Interface (ARM DEN 0022D) chapter
      6.5 "Recommended StateID Encoding" defines the state ID which can be
      used by platforms. The recommended power states can be presented by
      below values; and it divides into three fields, every field has 4 bits
      to present power states corresponding to core level, cluster level and
      system level.
      
        0: Run
        1: Standby
        2: Retention
        3: Powerdown
      
      This commit changes to use upper recommended power states definition on
      Hikey960; and changes the power state validate function to check the
      power state passed from kernel side.
      Signed-off-by: default avatarLeo Yan <leo.yan@linaro.org>
      fdae60b6
  21. 01 Nov, 2017 1 commit
  22. 13 Sep, 2017 1 commit
  23. 01 Sep, 2017 2 commits
  24. 14 Jul, 2017 1 commit
  25. 12 Jul, 2017 1 commit
  26. 07 Jun, 2017 2 commits