1. 31 Oct, 2018 1 commit
    • Konstantin Porotchkin's avatar
      plat: marvell: Add support for Armada-37xx SoC platform · 1e66bacb
      Konstantin Porotchkin authored
      
      
      Add supprot for Marvell platforms based on Armada-37xx SoC.
      This includes support for the official Armada-3720 modular
      development board and EspressoBin community board.
      The Armada-37xx SoC contains dual Cortex-A53 Application CPU,
      single secure CPU (Cortex-M3) and the following interfaces:
      - SATA 3.0
      - USB 3.0 and USB 2.0
      - PCIe
      - SDIO (supports boot from eMMC)
      - SPI
      - UART
      - I2c
      - Gigabit Ethernet
      Signed-off-by: default avatarKonstantin Porotchkin <kostap@marvell.com>
      1e66bacb
  2. 22 Oct, 2018 1 commit
  3. 18 Oct, 2018 1 commit
    • Grzegorz Jaszczyk's avatar
      mvebu: cp110: introduce COMPHY porting layer · 42a29337
      Grzegorz Jaszczyk authored
      
      
      Some of COMPHY parameters depends on the hw connection between the SoC
      and the PHY, which can vary on different boards e.g. due to different
      wires length. Define the "porting layer" with some defaults
      parameters. It ease updating static values which needs to be updated due
      to board differences, which are now grouped in one place.
      
      Example porting layer for a8k-db is under:
      plat/marvell/a8k/a80x0/board/phy-porting-layer.h
      
      If for some boards parameters are not defined (missing
      phy-porting-layer.h), the default values are used
      (drivers/marvell/comphy/phy-default-porting-layer.h)
      and the following compilation warning is show:
      "Using default comphy params - you may need to suit them to your board".
      
      The common COMPHY driver code is extracted in order to be shared with
      future COMPHY driver for A3700 SoC platforms
      Signed-off-by: default avatarGrzegorz Jaszczyk <jaz@semihalf.com>
      Signed-off-by: default avatarIgal Liberman <igall@marvell.com>
      Signed-off-by: default avatarKonstantin Porotchkin <kostap@marvell.com>
      42a29337
  4. 17 Oct, 2018 2 commits
    • Jorge Ramirez-Ortiz's avatar
      rcar_gen3: drivers: staging · 6ac2892a
      Jorge Ramirez-Ortiz authored
       - ddr
       - pfc [pin function controller]
       - qos [bandwidth]
      
      checkpatch.pl is generating too many errors.
      6ac2892a
    • 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
  5. 16 Oct, 2018 2 commits
  6. 15 Oct, 2018 1 commit
  7. 11 Oct, 2018 3 commits
  8. 10 Oct, 2018 4 commits
  9. 09 Oct, 2018 1 commit
  10. 07 Oct, 2018 1 commit
  11. 03 Oct, 2018 5 commits
    • Konstantin Porotchkin's avatar
      marvell: Move BLE from external repo to the platform folder · 37c4341b
      Konstantin Porotchkin authored
      
      
      The BLE is the pre-TF-A boot stage required by Marvell Armada
      BootROM for bringing up DRAM and allow the boot image copy to it.
      Since this is not a standard boot level and only uses the TF-A
      as a build environment, it was introduced out of source tree.
      However it turns out that such remote location introduces additional
      complexity to the upstream TF-A build process.
      In order to simplify the build environment the BLE source folder
      is relocated from the external repository to A8K platform directory.
      The build documentation is updated accordingly.
      Signed-off-by: default avatarKonstantin Porotchkin <kostap@marvell.com>
      37c4341b
    • Daniel Boulby's avatar
      FVP: Reclaim init code for the stack · cb4adb0d
      Daniel Boulby authored
      
      
      Map the initialization code for BL31 to overlap with the memory
      required for the secondary cores stack. Once BL31 has been
      initialized the memory can be remapped to RW data so that it can
      be used for secondary cores stacks. By moving code from .text to
      .text.init the size of the BL31 image is decreased by a page.
      
      Split arm_common.ld.S into two linker scripts, one for tzc_dram
      (arm_tzc_dram.ld.S) and one for reclaiming initialization code
      (arm_reclaim_init.ld.S) so that platforms can chose which memory
      regions they wish to include.
      
      Change-Id: I648e88f3eda1aa71765744cf34343ecda9320b32
      Signed-off-by: default avatarDaniel Boulby <daniel.boulby@arm.com>
      cb4adb0d
    • Daniel Boulby's avatar
      Mark GICV3, CCI and CCN boot time code as init · c9263e62
      Daniel Boulby authored
      
      
      Mark the GICv3, CCI and CCN code only used in Bl31 initialization
      with __init to be reclaimed once no longer needed.
      
      Change-Id: I3d77f36758450d9d1d87ecc60bc1c63fe4082667
      Signed-off-by: default avatarDaniel Boulby <daniel.boulby@arm.com>
      c9263e62
    • Daniel Boulby's avatar
      plat/arm: Mark arm platform initialization functions · 4d010d0d
      Daniel Boulby authored
      
      
      Mark the initialization functions found in the BL31 boot sequence
      as __init so they can be reclaimed when no longer needed.
      
      Change-Id: I687a89346419c7710ef5097feaa325d83c527697
      Signed-off-by: default avatarDaniel Boulby <daniel.boulby@arm.com>
      4d010d0d
    • Daniel Boulby's avatar
      Remove unused ROMLIB memory region macro · 8d30b498
      Daniel Boulby authored
      
      
      Remove ARM_MAP_BL_ROMLIB memory region macro as it is now split
      into two regions for code and data
      
      Change-Id: Ic17b5b584933c196db29fe83051d7e0a8e92911c
      Signed-off-by: default avatarDaniel Boulby <daniel.boulby@arm.com>
      8d30b498
  12. 02 Oct, 2018 2 commits
    • Konstantin Porotchkin's avatar
      marvell: Continue migration to new APIs · 2bc63218
      Konstantin Porotchkin authored
      
      
      - Fix build issue
      - Add initial memory parameters descriptors for BL2
      - Migrate to image load V2
      
      Basic build and run test passed on MacchiatoBin board.
      Need to fix the service CPU (CM3) image load procesure and test
      OPTEE functionality, which probably will require additional work.
      Signed-off-by: default avatarKonstantin Porotchkin <kostap@marvell.com>
      2bc63218
    • Antonio Nino Diaz's avatar
      plat/arm: Remove option ARM_BOARD_OPTIMISE_MEM · c0740e4f
      Antonio Nino Diaz authored
      
      
      This option makes it hard to optimize the memory definitions of all Arm
      platforms because any change in the common defines must work in all of
      them. The best thing to do is to remove it and move the definition to
      each platform's header.
      
      FVP, SGI and SGM were using the definitions in board_arm_def.h. The
      definitions have been copied to each platform's platform_def.h. Juno
      was already using the ones in platform_def.h, so there have been no
      changes.
      
      Change-Id: I9aecd11bbc72a3d0d7aad1ef9934d8df21dcfaf2
      Signed-off-by: default avatarAntonio Nino Diaz <antonio.ninodiaz@arm.com>
      c0740e4f
  13. 28 Sep, 2018 16 commits