1. 23 Sep, 2019 2 commits
    • Usama Arif's avatar
      a5ds: add multicore support · ec885bac
      Usama Arif authored
      
      
      Enable cores 1-3 using psci. On receiving the smc call from kernel,
      core 0 will bring the secondary cores out pen and signal an event for
      the cores. Currently on switching the cores is enabled i.e. it is not
      possible to suspend, switch cores off, etc.
      
      Change-Id: I6087e1d2ec650e1d587fd543efc1b08cbb50ae5f
      Signed-off-by: default avatarUsama Arif <usama.arif@arm.com>
      ec885bac
    • Lionel Debieve's avatar
      stm32mp1: add authentication support for stm32image · 4bdb1a7a
      Lionel Debieve authored
      
      
      This commit adds authentication binary support for STM32MP1.
      It prints the bootrom authentication result if signed
      image is used and authenticates the next loaded STM32 images.
      It also enables the dynamic translation table support
      (PLAT_XLAT_TABLES_DYNAMIC) to use bootrom services.
      Signed-off-by: default avatarLionel Debieve <lionel.debieve@st.com>
      Change-Id: Iba706519e0dc6b6fae1f3dd498383351f0f75f51
      4bdb1a7a
  2. 08 Sep, 2019 1 commit
    • Imre Kis's avatar
      Add Linux DTS files for 32 bit threaded FVPs · 1946b868
      Imre Kis authored
      
      
      RevC models have the MT bit set and the affinities shifted in the MPIDR
      register. To make the Linux able to boot all CPUs it needs a modified
      DTS file containing the shifted affinity values.
      
      Beside these values the DTS files should be the same so the common part
      was moved into a new file which is included in the DTS files with
      shifted and non-shifted affinities.
      
      The same setup already exists for 64 bit systems.
      Signed-off-by: default avatarImre Kis <imre.kis@arm.com>
      Change-Id: I90f7b9c8d8a24c9b3f97232441dbe0a29aa8976d
      1946b868
  3. 20 Aug, 2019 1 commit
    • Manish Pandey's avatar
      plat/arm: Introduce corstone700 platform. · 7bdc4698
      Manish Pandey authored
      
      
      This patch adds support for Corstone-700 foundation IP, which integrates
      both Cortex-M0+ and Cortex-A(Host) processors in one handy, flexible
      subsystem.
      This is an example implementation of Corstone-700 IP host firmware.
      
      Cortex-M0+ will take care of boot stages 1 and 2(BL1/BL2) as well as
      bringing Host out RESET. Host will start execution directly from BL32 and
      then will jump to Linux.
      
      It is an initial port and additional features are expected to be added
      later.
      
      Change-Id: I7b5c0278243d574284b777b2408375d007a7736e
      Signed-off-by: default avatarManish Pandey <manish.pandey2@arm.com>
      7bdc4698
  4. 16 Jul, 2019 1 commit
    • Usama Arif's avatar
      plat/arm: Introduce A5 DesignStart platform. · 00c7d5ac
      Usama Arif authored
      
      
      This patch adds support for Cortex-A5 FVP for the
      DesignStart program. DesignStart aims at providing
      low cost and fast access to Arm IP.
      
      Currently with this patch only the primary CPU is booted
      and the rest of them wait for an interrupt.
      Signed-off-by: default avatarUsama Arif <usama.arif@arm.com>
      Change-Id: I3a2281ce6de2402dda4610a89939ed53aa045fab
      00c7d5ac
  5. 17 Jun, 2019 2 commits
    • Yann Gautier's avatar
      fdts: stm32mp1: realign device tree files with internal devs · f237822f
      Yann Gautier authored
      
      
      Update DDR parameters to version 1.45.
      Remove useless sdmmc1_dir_pins_b node.
      Add USART3 and UART7 nodes.
      Correct a PMIC value for USB regulator.
      Add TIMER12, TIMER15, CRYP, HASH and USBOTG_HS nodes.
      Update DTSI file for SDMMC compatible, but overwrite it with the former
      name.
      Move BSEC board_id node to boards DTS files, as this OTP is specific to
      STMicroelectronics boards.
      
      Change-Id: If4d2fe090c6a8368afe8e21e5ac70579911d3939
      Signed-off-by: default avatarYann Gautier <yann.gautier@st.com>
      f237822f
    • Yann Gautier's avatar
      stm32mp1: add general SYSCFG management · f33b2433
      Yann Gautier authored
      
      
      The system configuration controller is mainly used to manage
      the compensation cell and other IOs and system related settings.
      
      The SYSCFG driver is in charge of configuring masters on the interconnect,
      IO compensation, low voltage boards, or pull-ups for boot pins.
      All other configurations should be handled in Linux drivers requiring it.
      
      Device tree files are also updated to manage vdd-supply regulator.
      
      Change-Id: I10fb513761a7d1f2b7afedca9c723ad9d1bccf42
      Signed-off-by: default avatarNicolas Le Bayon <nicolas.le.bayon@st.com>
      Signed-off-by: default avatarYann Gautier <yann.gautier@st.com>
      f33b2433
  6. 26 Apr, 2019 2 commits
  7. 11 Mar, 2019 1 commit
    • Yann Gautier's avatar
      fdts: stm32mp1: add bsec node · 83f62c87
      Yann Gautier authored
      
      
      This node is added in a new file stm32mp157c-security.dtsi.
      This node includes OTPs that should be shadowed and made readable
      to non secure world.
      Explicitly add status and secure-status, as these OTPs are accessible
      by secure and non-secure world.
      
      The stgen node is also moved to this file.
      
      Change-Id: I3c89a01588d2e411fecfc44997e1c5df2fc37cad
      Signed-off-by: default avatarYann Gautier <yann.gautier@st.com>
      83f62c87
  8. 20 Feb, 2019 1 commit
  9. 19 Feb, 2019 2 commits
    • Usama Arif's avatar
      plat/arm: Support for Cortex A5 in FVP Versatile Express platform · 8f73663b
      Usama Arif authored
      
      
      Cortex A5 doesnt support VFP, Large Page addressing and generic timer
      which are addressed in this patch. The device tree for Cortex a5
      is also included.
      
      Change-Id: I0722345721b145dfcc80bebd36a1afbdc44bb678
      Signed-off-by: default avatarUsama Arif <usama.arif@arm.com>
      8f73663b
    • Usama Arif's avatar
      plat/arm: Introduce FVP Versatile Express platform. · 6393c787
      Usama Arif authored
      
      
      This patch adds support for Versatile express FVP (Fast models).
      Versatile express is a family of platforms that are based on ARM v7.
      Currently this port has only been tested on Cortex A7, although it
      should work with other ARM V7 cores that support LPAE, generic timers,
      VFP and hardware divide. Future patches will support other
      cores like Cortex A5 that dont support features like LPAE
      and hardware divide. This platform is tested on and only expected to
      work on single core models.
      
      Change-Id: I10893af65b8bb64da7b3bd851cab8231718e61dd
      Signed-off-by: default avatarUsama Arif <usama.arif@arm.com>
      6393c787
  10. 14 Feb, 2019 2 commits
  11. 18 Jan, 2019 2 commits
  12. 24 Jul, 2018 1 commit
  13. 21 May, 2018 1 commit
  14. 24 Apr, 2018 1 commit
    • Roberto Vargas's avatar
      Remove dtc warnings · e230f4d5
      Roberto Vargas authored
      
      
      DTC generates warnings when unit names begin with 0, or
      when a node containing a reg or range property doesn't have a unit name
      in the node name. This patch fixes those cases.
      
      Change-Id: If24ec68ef3034fb3fcefb96c5625c47a0bbd8474
      Signed-off-by: default avatarRoberto Vargas <roberto.vargas@arm.com>
      e230f4d5
  15. 28 Feb, 2018 1 commit
  16. 26 Feb, 2018 1 commit
    • Soby Mathew's avatar
      FVP: Fix AArch32 dts for `interrupts` node · 5882c57c
      Soby Mathew authored
      The commit 8d2c4977
      
       changed the interrupt map in `rtsm_ve-motherboard.dtsi`
      for the Linux FDT sources to be compatible for FreeBSD. But this also
      introduced a regression for FVP AArch32 mode but was undetected till now
      because the corresponding DTB was not updated. This patch creates a
      new `rtsm_ve-motherboard-aarch32.dtsi` which reverts the change and is
      now included by the AArch32 DTS files.
      
      Change-Id: Ibefbbf43a91c8fb890f0fa7a22be91f0227dad34
      Signed-off-by: default avatarSoby Mathew <soby.mathew@arm.com>
      5882c57c
  17. 01 Aug, 2017 1 commit
    • Jeenu Viswambharan's avatar
      Add Linux DTS for FVP with threaded CPUs · 1bdbdc3b
      Jeenu Viswambharan authored
      
      
      In contrast with the non-multi-threading DTS, this enumerates MPIDR
      values shifted by one affinity level to the left. The newly added DTS
      reflects CPUs with a single thread in them.
      
      Since both DTS files are the same apart from MPIDR contents, the common
      bits have been moved to a separate file that's then included from the
      top-level DTS files. The multi-threading version only updates the MPIDR
      contents.
      
      Change-Id: Id225cd93574f764171df8962ac76f42fcb6bba4b
      Signed-off-by: default avatarJeenu Viswambharan <jeenu.viswambharan@arm.com>
      1bdbdc3b
  18. 01 Jun, 2017 1 commit
    • Achin Gupta's avatar
      Device tree changes to boot FreeBSD on FVPs · 8d2c4977
      Achin Gupta authored
      
      
      FreeBSD does not understand #interrupt-map in a device tree. This prevents the
      GIC from being set up correctly. This patch removes the #interrupt-map in the
      device trees for the Base and Foundation FVPs. This enables correct boot of
      FreeBSD on these platforms.
      
      These changes have been tested with FreeBSD and an Ubuntu cloud image
      (ubuntu-16.04-server-cloudimg-arm64-uefi1.img) to ensure compatibility with
      Linux.
      
      Change-Id: I1347acdcf994ec4b1dd843ba32af9951aa54db73
      Signed-off-by: default avatarAchin Gupta <achin.gupta@arm.com>
      8d2c4977
  19. 14 Dec, 2016 1 commit
  20. 11 Oct, 2016 2 commits
    • Soby Mathew's avatar
      AArch32: Update user-guide and add DTBs · 5e21d795
      Soby Mathew authored
      This patch adds necessary updates for building and running Trusted
      Firmware for AArch32 to user-guide.md. The instructions for running
      on both `FVP_Base_AEMv8A-AEMv8A` in AArch32 mode and
      `FVP_Base_Cortex-A32x4` models are added. The device tree files for
      AArch32 Linux kernel are also added in the `fdts` folder.
      
      Change-Id: I0023b6b03e05f32637cb5765fdeda8c8df2d0d3e
      5e21d795
    • Soby Mathew's avatar
      Fix GICv3 DT to include psci system off/reset · 78c4f192
      Soby Mathew authored
      The `fvp-base-gicv3-psci` and `fvp-foundation-gicv3-psci` device tree source
      files did not have psci node entries for `system off` and `system reset`.
      Also the DTS files included `rtsm_ve-motherboard-no_psci.dtsi` instead of
      `rtsm_ve-motherboard.dtsi`. As a result, the Linux kernel failed to invoke
      the PSCI_SYSTEM_OFF/RESET API when being shutdown/reset. This patch corrects
      this problem and also updates the corresponding DTB files.
      
      This patch also removes `rtsm_ve-motherboard-no_psci.dtsi` and
      `fvp-foundation-motherboard-no_psci.dtsi` files as they are no longer used.
      
      Change-Id: I8ba61a1323035f7508cae663bb490ac0e8a64618
      78c4f192
  21. 27 Apr, 2016 1 commit
    • Soby Mathew's avatar
      Remove support for legacy VE memory map in FVP · 21a3973d
      Soby Mathew authored
      This patch removes support for legacy Versatile Express memory map for the
      GIC peripheral in the FVP platform. The user guide is also updated for the
      same.
      
      Change-Id: Ib8cfb819083aca359e5b46b5757cb56cb0ea6533
      21a3973d
  22. 03 Mar, 2016 1 commit
    • Antonio Nino Diaz's avatar
      Add cache topology info to FVP DTBs · b1063d95
      Antonio Nino Diaz authored
      From version 4.0 onwards, the ARM64 Linux kernel expects the device
      tree to indicate the cache hierarchy. Failing to provide this
      information results in the following warning message to be printed by
      the kernel:
      
          `Unable to detect cache hierarchy from DT for CPU x`
      
      All the FVP device trees provided in the TF source tree have been
      modified to add this information.
      
      Fixes ARM-software/tf-issues#325
      
      Change-Id: I0ff888992e602b81a0fe1744a86151d625727511
      b1063d95
  23. 29 Apr, 2015 1 commit
    • Juan Castillo's avatar
      FVP: update device tree idle state entries · 6136f372
      Juan Castillo authored
      Device tree idle state bindings changed in kernel v3.18. This patch
      updates the FVP DT files to use PSCI suspend as idle state.
      
      The patch also updates the 'compatible' property in the PSCI node
      and the 'entry-method' property in the idle-states node in the FVP
      Foundation GICv2-legacy device tree.
      
      Change-Id: Ie921d497c579f425c03d482f9d7b90e166106e2f
      6136f372
  24. 26 Jan, 2015 1 commit
    • Soby Mathew's avatar
      Increment the PSCI VERSION to 1.0 · e8ca7d1e
      Soby Mathew authored
      This patch:
      
         * Bumps the PSCI VERSION to 1.0. This means that
           the PSCI_VERSION API will now return the value 0x00010000
           to indicate the version as 1.0. The firmware remains
           compatible with PSCI v0.2 clients.
      
         * The firmware design guide is updated to document the
           APIs supported by the Trusted Firmware generic code.
      
         * The FVP Device Tree Sources (dts) and Blobs(dtb) are also
           updated to add "psci-1.0" and "psci-0.2" to the list of
           compatible PSCI versions.
      
      Change-Id: Iafc2f549c92651dcd65d7e24a8aae35790d00f8a
      e8ca7d1e
  25. 20 Aug, 2014 1 commit
    • Achin Gupta's avatar
      FVP: Update device trees to match cpuidle driver · bab7bfd2
      Achin Gupta authored
      This patch updates the representation of idle tables and cpu/cluster topology in
      the device tree source files for the FVP to what the latest cpuidle driver in
      Linux expects. The device tree binaries have also been updated.
      
      Change-Id: If0668b96234f65aa0435fba52f288c9378bd8824
      bab7bfd2
  26. 19 Aug, 2014 1 commit
    • Juan Castillo's avatar
      Add support for PSCI SYSTEM_OFF and SYSTEM_RESET APIs · d5f13093
      Juan Castillo authored
      This patch adds support for SYSTEM_OFF and SYSTEM_RESET PSCI
      operations. A platform should export handlers to complete the
      requested operation. The FVP port exports fvp_system_off() and
      fvp_system_reset() as an example.
      
      If the SPD provides a power management hook for system off and
      system reset, then the SPD is notified about the corresponding
      operation so it can do some bookkeeping. The TSPD exports
      tspd_system_off() and tspd_system_reset() for that purpose.
      
      Versatile Express shutdown and reset methods have been removed
      from the FDT as new PSCI sys_poweroff and sys_reset services
      have been added. For those kernels that do not support yet these
      PSCI services (i.e. GICv3 kernel), the original dtsi files have
      been renamed to *-no_psci.dtsi.
      
      Fixes ARM-software/tf-issues#218
      
      Change-Id: Ic8a3bf801db979099ab7029162af041c4e8330c8
      d5f13093
  27. 22 May, 2014 1 commit
    • Juan Castillo's avatar
      Reserve some DDR DRAM for secure use on FVP platforms · 364daf93
      Juan Castillo authored
      TZC-400 is configured to set the last 16MB of DRAM1 as secure memory and
      the rest of DRAM as non-secure. Non-secure software must not attempt to
      access the 16MB secure area.
      
      Device tree files (sources and binaries) have been updated to match this
      configuration, removing that memory from the Linux physical memory map.
      
      To use UEFI and Linux with this patch, the latest version of UEFI and
      the updated device tree files are required. Check the user guide in the
      documentation for more details.
      
      Replaced magic numbers with #define for memory region definition in the
      platform security initialization function.
      
      Fixes ARM-software/tf-issues#149
      
      Change-Id: Ia5d070244aae6c5288ea0e6c8e89d92859522bfe
      364daf93
  28. 24 Apr, 2014 1 commit
    • Harry Liebel's avatar
      Enable secure memory support for FVPs · f2199d95
      Harry Liebel authored
      - Use the TrustZone controller on Base FVP to program DRAM access
        permissions. By default no access to DRAM is allowed if
        'secure memory' is enabled on the Base FVP.
      - The Foundation FVP does not have a TrustZone controller but instead
        has fixed access permissions.
      - Update FDTs for Linux to use timers at the correct security level.
      - Starting the FVPs with 'secure memory' disabled is also supported.
      
      Limitations:
      Virtio currently uses a reserved NSAID. This will be corrected in
      future FVP releases.
      
      Change-Id: I0b6c003a7b5982267815f62bcf6eb82aa4c50a31
      f2199d95
  29. 17 Jan, 2014 1 commit
  30. 05 Dec, 2013 1 commit
    • Dan Handley's avatar
      Enable third party contributions · ab2d31ed
      Dan Handley authored
      - Add instructions for contributing to ARM Trusted Firmware.
      
      - Update copyright text in all files to acknowledge contributors.
      
      Change-Id: I9311aac81b00c6c167d2f8c889aea403b84450e5
      ab2d31ed
  31. 27 Nov, 2013 1 commit
  32. 14 Nov, 2013 2 commits
    • Harry Liebel's avatar
      Add GICv3 ITS to FDTs · 3498859b
      Harry Liebel authored
      - The interrupt addresses need to be updated to work.
      
      Change-Id: Icdd00177095ae9e4eb7b13718762f92e29b1465c
      3498859b
    • Harry Liebel's avatar
      FDTs for v5.2 Foundation model · 43ef4f1e
      Harry Liebel authored
      - The Foundation FVP is a cut down version of the Base FVP and as
        such lacks some components.
      - Three FDTs are provided.
        fvp-foundation-gicv2legacy-psci:
          Use this when setting the Foundation FVP to use GICv2. In this
          mode the GIC is located at the VE location, as described in the
          VE platform memory map.
        fvp-foundation-gicv3-psci :
          Use this when setting the Foundation FVP to use GICv3. In this
          mode the GIC is located at the Base location, as described in the
          Base platform memory map.
        fvp-foundation-gicv2-psci :
          Use this when setting the Foundation FVP to use GICv3, but Linux
          is expected to use GICv2 emulation mode. In this mode the GIC is
          located at the Base location, but the GICv3 is used in GICv2
          emulation mode.
      
      Change-Id: I9d69bcef35c64cc8f16550efe077f578e55aaae5
      43ef4f1e