1. 14 Mar, 2019 1 commit
    • Heiko Stuebner's avatar
      rockchip: add an fdt parsing stub for platform param · 7029e806
      Heiko Stuebner authored
      
      
      The Rockchip ATF platform can be entered from both Coreboot and U-Boot.
      While Coreboot does submit the list of linked parameter structs as
      platform param, upstream u-boot actually always provides a pointer
      to a devicetree as parameter.
      This results in current ATF not running at all when started from U-Boot.
      
      To fix this, add a stub that checks if the parameter is a fdt so we
      can at least boot and not get stuck. Later on we can extend this with
      actual parsing of information from the devicetree.
      Signed-off-by: default avatarHeiko Stuebner <heiko@sntech.de>
      Cc: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
      7029e806
  2. 07 Dec, 2018 1 commit
    • 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
  3. 25 Oct, 2018 1 commit
  4. 28 Sep, 2018 1 commit
    • Antonio Nino Diaz's avatar
      rockchip: Migrate to new interfaces · 2d6f1f01
      Antonio Nino Diaz authored
      
      
      - Migrate to new GIC interfaces.
      - Migrate to bl31_early_platform_setup2().
      - Use bl31_warm_entrypoint() instead of psci_entrypoint().
      - Use PLAT_VIRT_ADDR_SPACE_SIZE and PLAT_PHY_ADDR_SPACE_SIZE.
      - Update Makefile paths.
      - Remove references to removed build options.
      - Use private definition of bl31_params_t.
      
      Change-Id: I860341594b5c868b2fcaa59d23957ee718472ef1
      Signed-off-by: default avatarAntonio Nino Diaz <antonio.ninodiaz@arm.com>
      2d6f1f01
  5. 15 May, 2018 1 commit
    • Lin Huang's avatar
      rockchip/rk3399: Split M0 binary into two · ff4735cf
      Lin Huang authored
      
      
      All the m0 code run in SRAM before, but we need to watch PMU_POWER_ST
      when SOC enter into FSM, and SRAM will shutdown during this time, so
      this code need run in PMUSRAM. But PMUSRAM only 8K space, we can not
      put all the m0 binary into PMUSRAM, Split the M0 binary into two, dram
      part still run in SRAM, and suspend part run in PMUSRAM.
      
      Change-Id: Ie08bdf3e2b8838f12b9297fe60ab0aad219684b1
      Signed-off-by: default avatarLin Huang <hl@rock-chips.com>
      ff4735cf
  6. 24 Jan, 2018 1 commit
  7. 19 Jan, 2018 2 commits
    • 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
  8. 30 Nov, 2017 1 commit
    • David Cunado's avatar
      Do not enable SVE on pre-v8.2 platforms · 3872fc2d
      David Cunado authored
      
      
      Pre-v8.2 platforms such as the Juno platform does not have
      the Scalable Vector Extensions implemented and so the build
      option ENABLE_SVE is set to zero.
      
      This has a minor performance improvement with no functional
      impact.
      
      Change-Id: Ib072735db7a0247406f8b60e325b7e28b1e04ad1
      Signed-off-by: default avatarDavid Cunado <david.cunado@arm.com>
      3872fc2d
  9. 06 Nov, 2017 1 commit
  10. 28 Jun, 2017 1 commit
    • Caesar Wang's avatar
      rockchip: enable A53's erratum 855873 for rk3399 · dea1e8ee
      Caesar Wang authored
      
      
      For rk3399, the L2ACTLR[14] is 0 by default, as ACE CCI-500 doesn't
      support WriteEvict. and you will hit the condition L2ACTLR[3] with 0,
      as the Evict transactions should propagate to CCI-500 since it has
      snoop filters.
      
      Maybe this erratum applies to all Cortex-A53 cores so far, especially
      if RK3399's A53 is a r0p4. we should enable it to avoid data corruption,
      
      Change-Id: Ib86933f1fc84f8919c8e43dac41af60fd0c3ce2f
      Signed-off-by: default avatarCaesar Wang <wxt@rock-chips.com>
      dea1e8ee
  11. 26 Jun, 2017 1 commit
  12. 08 Jun, 2017 1 commit
  13. 03 May, 2017 1 commit
  14. 20 Mar, 2017 1 commit
  15. 24 Feb, 2017 3 commits
  16. 03 Nov, 2016 1 commit
    • Julius Werner's avatar
      rockchip: Clean up parent directory creation for M0 · e77ade28
      Julius Werner authored
      
      
      The dependencies in the M0 Makefile are not correctly laid out, which
      may lead to errors with make -j if the binary target gets evaluated
      before the target that creates the directory. In addition, the M0
      Makefile just calls mkdir without using the platform-independent macros
      from the main ARM TF build system. This patch fixes those issues,
      removes some unused (and broken) M0 build targets and merges the two M0
      output directories into one (since there's no real point splitting it up
      and it creates more hassle).
      
      Change-Id: Ia5002479cf9c57fea7aefa8ca88e373df3a51f61
      Signed-off-by: default avatarJulius Werner <jwerner@chromium.org>
      e77ade28
  17. 26 Oct, 2016 2 commits
  18. 24 Oct, 2016 2 commits
  19. 25 Aug, 2016 1 commit
    • Caesar Wang's avatar
      rockchip: rk3399: add dram driver · fe877779
      Caesar Wang authored
      add dram driver, and kernel can through sip function talk to bl31 to
      do ddr frequency scaling. and ddr auto powerdown.
      
      Change-Id: I0d0f2869aed95e336c6e23ba96a9310985c84840
      fe877779
  20. 11 Aug, 2016 1 commit
    • Caesar Wang's avatar
      rockchip: update to handle PWMs for rk3399 · 5d3b1067
      Caesar Wang authored
      This patch updates some things for rk3399, as following:
      
      1) Add the new file to handle the pwm. (e.g. the pwm regulator)
      Make sure that good deal with the pwm related things.
      Also, remove some pwm setting for pmu.c.
      
      2) Set the plls slow mode and bypass in suspend, and restore them.
      
      Change-Id: I112806700bf433c87763aac23d22fa7e6a7f5264
      5d3b1067
  21. 09 Aug, 2016 1 commit
  22. 19 Jul, 2016 1 commit
    • Soby Mathew's avatar
      Include `plat_psci_common.c` from the new location · bb2162f1
      Soby Mathew authored
      The `plat_psci_common.c` was moved to the new location `plat/common`
      and a stub file was retained at previous location for compatibility. This
      patch modifies the platform makefiles to include the file from the new
      location.
      
      Change-Id: Iabddeeb824e9a5d72d176d7c644735966c8c0699
      bb2162f1
  23. 18 Jul, 2016 1 commit
    • Caesar Wang's avatar
      rockchip: support plat SIP runtime service · 1760db68
      Caesar Wang authored
      Software executing in the normal world and in the trusted world at
      exception levels lower than EL3 will request runtime services using the
      SMC instruction.
      
      See the documentation here:
      https://github.com/ARM-software/arm-trusted-firmware/blob/master/docs/
      rt-svc-writers-guide.md
      
      This to be implemented as an EL3 Runtime Service in rockchip BL31
      platform port, using the "SiP Service Call" range as specified in the
      SMC Calling Convention.
      This doesn't support any SMC yet, we will support it in later.
      
      Change-Id: I0a638dd0b653c28b08f79d89f77ed7c69864017d
      1760db68
  24. 27 May, 2016 2 commits
    • Caesar Wang's avatar
      rockchip: add reset or power off gpio configuration for rk3399 · 68ff45f4
      Caesar Wang authored
      We add plat parameter structs to support BL2 to pass variable-length,
      variable-type parameters to BL31. The parameters are structured as a
      link list. During bl31 setup time, we travse the list to process each
      parameter. throuth this way, we can get the reset or power off gpio
      parameter, and do hardware control in BL31. This structure also can
      pass other parameter to BL31 in future.
      68ff45f4
    • Caesar Wang's avatar
      rockchip: support rk3399 gpio driver · 9901dcf6
      Caesar Wang authored
      There are 5 groups of GPIO (GPIO0~GPIO4), totally have 122 GPIOs
      on rk3399 platform.
      The pull direction(pullup or pulldown) for all of GPIOs are
      software-programmable.
      At the moment, we add the gpio basic driver since reset or power off
      the devices from gpio configuration for BL31.
      9901dcf6
  25. 20 May, 2016 1 commit
  26. 13 Apr, 2016 1 commit
    • Soby Mathew's avatar
      Migrate platform ports to the new xlat_tables library · 3e4b8fdc
      Soby Mathew authored
      This patch modifies the upstream platform port makefiles to use the new
      xlat_tables library files. This patch also makes mmap region setup common
      between AArch64 and AArch32 for FVP platform port. The file `fvp_common.c`
      is moved from the `plat/arm/board/fvp/aarch64` folder to the parent folder
      as it is not specific to AArch64.
      
      Change-Id: Id2e9aac45e46227b6f83cccfd1e915404018ea0b
      3e4b8fdc
  27. 05 Apr, 2016 1 commit
    • Tony Xie's avatar
      Support for Rockchip's family SoCs · 6fba6e04
      Tony Xie authored
      
      
      This patch adds to support the RK3368 and RK3399 SoCs.
      
      RK3368/RK3399 is one of the Rockchip family SoCs, which is an
      multi-cores ARM SoCs.
      
      This patch adds support to boot the Trusted Firmware on RK3368/RK3399
      SoCs, and adds support to boot secondary CPUs, enter/exit core
      power states for all CPUs in the slow/fast clusters.
      
      This is the initial version for rockchip SoCs.(RK3368/RK3399 and next SoCs)
      * Support arm gicv2 & gicv3.
      * Boot up multi-cores CPU.
      * Add generic CPU helper functions.
      * Support suspend/resume.
      * Add system_off & system_reset implementation.
      * Add delay timer platform implementation.
      * Support the new porting interface for the PSCI implementation.
      
      Change-Id: I704bb3532d65e8c70dbd99b512c5e6e440ea6f43
      Signed-off-by: default avatarTony Xie <tony.xie@rock-chips.com>
      Signed-off-by: default avatarCaesar Wang <wxt@rock-chips.com>
      Signed-off-by: default avatarShengfei xu <xsf@rock-chips.com>
      6fba6e04