1. 17 Oct, 2018 1 commit
    • Jorge Ramirez-Ortiz's avatar
      rcar-gen3: initial commit for the rcar-gen3 boards · 7e532c4b
      Jorge Ramirez-Ortiz authored
      Reference code:
      ==============
      
      rar_gen3: IPL and Secure Monitor Rev1.0.22
      https://github.com/renesas-rcar/arm-trusted-firmware [rcar_gen3]
      
      Author: Takuya Sakata <takuya.sakata.wz@bp.renesas.com>
      Date:   Thu Aug 30 21:26:41 2018 +0900
      	Update IPL and Secure Monitor Rev1.0.22
      
      General Information:
      ===================
      
      This port has been tested on the Salvator-X Soc_id r8a7795 revision
      ES1.1 (uses an SPD).
      
      Build Tested:
      -------------
      ATFW_OPT="LSI=H3 RCAR_DRAM_SPLIT=1 RCAR_LOSSY_ENABLE=1"
      MBEDTLS_DIR=$mbedtls
      
      $ make clean bl2 bl31 rcar PLAT=rcar ${ATFW_OPT} SPD=opteed
      
      Other dependencies:
      ------------------
      * mbed_tls:
        git@github.com:ARMmbed/mbedtls.git [devel]
      
        Merge: 68dbc94 f34a4c1
        Author: Simon Butcher <simon.butcher@arm.com>
        Date:   Thu Aug 30 00:57:28 2018 +0100
      
      * optee_os:
        https://github.com/BayLibre/optee_os
      
      
      
        Until it gets merged into OP-TEE, the port requires Renesas' Trusted
        Environment with a modification to support power management.
      
        Author: Jorge Ramirez-Ortiz <jramirez@baylibre.com>
        Date:   Thu Aug 30 16:49:49 2018 +0200
          plat-rcar: cpu-suspend: handle the power level
      Signed-off-by: default avatarJorge Ramirez-Ortiz <jramirez@baylibre.com>
      
      * u-boot:
        The port has beent tested using mainline uboot.
      
        Author: Fabio Estevam <festevam@gmail.com>
        Date:   Tue Sep 4 10:23:12 2018 -0300
      
      *linux:
        The port has beent tested using mainline kernel.
      
        Author: Linus Torvalds <torvalds@linux-foundation.org>
        Date:   Sun Sep 16 11:52:37 2018 -0700
            Linux 4.19-rc4
      
      Overview
      ---------
      
      BOOTROM starts the cpu at EL3; In this port BL2 will therefore be entered
      at this exception level (the Renesas' ATF reference tree [1] resets into
      EL1 before entering BL2 - see its bl2.ld.S)
      
      BL2 initializes DDR (and i2c to talk to the PMIC on some platforms)
      before determining the boot reason (cold or warm).
      
      During suspend all CPUs are switched off and the DDR is put in
      backup mode (some kind of self-refresh mode). This means that BL2 is
      always entered in a cold boot scenario.
      
      Once BL2 boots, it determines the boot reason, writes it to shared
      memory (BOOT_KIND_BASE) together with the BL31 parameters
      (PARAMS_BASE) and jumps to BL31.
      
      To all effects, BL31 is as if it is being entered in reset mode since
      it still needs to initialize the rest of the cores; this is the reason
      behind using direct shared memory access to  BOOT_KIND_BASE and
      PARAMS_BASE instead of using registers to get to those locations (see
      el3_common_macros.S and bl31_entrypoint.S for the RESET_TO_BL31 use
      case).
      
      Depending on the boot reason BL31 initializes the rest of the cores:
      in case of suspend, it uses a MBOX memory region to recover the
      program counters.
      
      [1] https://github.com/renesas-rcar/arm-trusted-firmware
      
      
      Tests
      -----
      
      * cpuidle
        -------
         enable kernel's cpuidle arm_idle driver and boot
      
      * system suspend
        --------------
        $ cat suspend.sh
          #!/bin/bash
          i2cset -f -y 7 0x30 0x20 0x0F
          read -p "Switch off SW23 and press return " foo
          echo mem > /sys/power/state
      
      * cpu hotplug:
        ------------
        $ cat offline.sh
          #!/bin/bash
          nbr=$1
          echo 0 > /sys/devices/system/cpu/cpu$nbr/online
          printf "ONLINE:  " && cat /sys/devices/system/cpu/online
          printf "OFFLINE: " && cat /sys/devices/system/cpu/offline
      
        $ cat online.sh
          #!/bin/bash
          nbr=$1
          echo 1 > /sys/devices/system/cpu/cpu$nbr/online
          printf "ONLINE:  " && cat /sys/devices/system/cpu/online
          printf "OFFLINE: " && cat /sys/devices/system/cpu/offline
      Signed-off-by: default avatarldts <jramirez@baylibre.com>
      7e532c4b
  2. 28 Sep, 2018 1 commit
  3. 04 Sep, 2018 1 commit
  4. 24 Jul, 2018 1 commit
  5. 16 Jul, 2018 5 commits
  6. 13 Jul, 2018 1 commit
  7. 12 Jul, 2018 1 commit
  8. 11 Jul, 2018 1 commit
  9. 05 Jul, 2018 2 commits
  10. 03 Jul, 2018 1 commit
    • Andre Przywara's avatar
      allwinner: Add Allwinner H6 SoC support · bed42a5d
      Andre Przywara authored
      
      
      The H6 is Allwinner's most recent SoC. It shares most peripherals with the
      other ARMv8 Allwinner SoCs (A64/H5), but has a completely different memory
      map.
      
      Introduce a separate platform target, which includes a different header
      file to cater for the address differences. Also add the new build target
      to the documentation.
      
      The new ATF platform name is "sun50i_h6".
      Signed-off-by: default avatarAndre Przywara <andre.przywara@arm.com>
      bed42a5d
  11. 28 Jun, 2018 2 commits
  12. 23 Jun, 2018 1 commit
  13. 21 Jun, 2018 1 commit
  14. 19 Jun, 2018 4 commits
  15. 15 Jun, 2018 1 commit
  16. 13 Jun, 2018 1 commit
  17. 10 Apr, 2018 1 commit
  18. 27 Mar, 2018 1 commit
    • Antonio Nino Diaz's avatar
      rpi3: Use new console APIs · e0f21f62
      Antonio Nino Diaz authored
      
      
      Switch to the new console APIs enabled by setting MULTI_CONSOLE_API=1.
      
      The crash console doesn't use this API, it uses internally the core
      functions of the 16550 console.
      
      `bl31_plat_runtime_setup` is no longer needed. When this platform port
      was introduced, that function used to disable the console. It was needed
      to override that behaviour. The new behaviour is to switch to the
      runtime console. The console is registered for all scopes (boot, crash
      and runtime) in `rpi3_console_init` so it is not needed to override the
      default behaviour anymore.
      
      Update documentation.
      
      Change-Id: If2ee8f91044216183b7ef142e5c05ad6220ae92f
      Signed-off-by: default avatarAntonio Nino Diaz <antonio.ninodiaz@arm.com>
      e0f21f62
  19. 15 Mar, 2018 1 commit
  20. 05 Mar, 2018 2 commits
  21. 29 Jan, 2018 1 commit
  22. 24 Jan, 2018 1 commit
  23. 20 Dec, 2017 1 commit
  24. 06 Dec, 2017 1 commit
  25. 01 Dec, 2017 1 commit
  26. 29 Sep, 2017 1 commit
  27. 01 Sep, 2017 1 commit
  28. 14 Jul, 2017 1 commit
    • Jorge Ramirez-Ortiz's avatar
      Poplar: Initial commit for Poplar E-96Boards · e35d0edb
      Jorge Ramirez-Ortiz authored
      The board features the Hi3798C V200 with an integrated quad-core
      64-bit ARM Cortex A53 processor and high performance Mali T720 GPU,
      making it capable of running any commercial set-top solution based on
      Linux or Android. Its high performance specification also supports a
      premium user experience with up to H.265 HEVC decoding of 4K video at
      60 frames per second.
      
      SOC  Hisilicon Hi3798CV200
      CPU  Quad-core ARM Cortex-A53 64 bit
      DRAM DDR3/3L/4 SDRAM interface, maximum 32-bit data width 2 GB
      USB  Two USB 2.0 ports One USB 3.0 ports
      CONSOLE  USB-micro port for console support
      ETHERNET  1 GBe Ethernet
      PCIE  One PCIe 2.0 interfaces
      JTAG  8-Pin JTAG
      EXPANSION INTERFACE  Linaro 96Boards Low Speed Expansion slot
      DIMENSION Standard 160×120 mm 96Boards Enterprice Edition form factor
      WIFI  802.11AC 2*2 with Bluetooth
      CONNECTORS  One connector for Smart Card One connector for TSI
      
      The platform boot sequence is as follows:
          l-loader --> arm_trusted_firmware --> u-boot
      
      Repositories:
       - https://github.com/Linaro/poplar-l-loader.git
       - https://github.com/Linaro/poplar-u-boot.git
      
      
      
      U-Boot is also upstream in the project's master branch.
      
      Make sure you are using the correct branch on each one of these
      repositories. The definition of "correct" might change over time (at
      this moment in time this would be the "latest" branch).
      
      Build Line:
      make CROSS_COMPILE=aarch64-linux-gnu-  all fip SPD=none DEBUG=1
      PLAT=poplar BL33=/path/to/u-boot.bin
      Signed-off-by: default avatarJorge Ramirez-Ortiz <jorge.ramirez-ortiz@linaro.org>
      Signed-off-by: default avatarLeo Yan <leo.yan@linaro.org>
      Signed-off-by: default avatarAlex Elder <elder@linaro.org>
      Tested-by: default avatarJorge Ramirez-Ortiz <jorge.ramirez-ortiz@linaro.org>
      Tested-by: default avatarLeo Yan <leo.yan@linaro.org>
      Tested-by: default avatarAlex Elder <elder@linaro.org>
      e35d0edb
  29. 12 Jul, 2017 2 commits