1. 19 May, 2020 1 commit
    • Alexei Fedorov's avatar
      FVP: Add support for passing platform's topology to DTS · 003faaa5
      Alexei Fedorov authored
      
      
      This patch adds support for passing FVP platform's topology
      configuration to DTS files for compilation, which allows to
      build DTBs with correct number of clusters and CPUs.
      This removes non-existing clusters/CPUs from the compiled
      device tree blob and fixes reported Linux errors when trying
      to power on absent CPUs/PEs.
      If DTS file is passed using FVP_HW_CONFIG_DTS build option from
      the platform's makefile, FVP_CLUSTER_COUNT, FVP_MAX_CPUS_PER_CLUSTER
      and FVP_MAX_PE_PER_CPU parameters are used, otherwise CI script will
      use the default values from the corresponding DTS file.
      
      Change-Id: Idcb45dc6ad5e3eaea18573aff1a01c9344404ab3
      Signed-off-by: default avatarAlexei Fedorov <Alexei.Fedorov@arm.com>
      003faaa5
  2. 14 Jan, 2020 1 commit
    • Balint Dobszay's avatar
      Replace dts includes with C preprocessor syntax · 2d51b55e
      Balint Dobszay authored
      
      
      Using the /include/ syntax, the include was evaluated by dtc, only after running
      the preprocessor, therefore the .dtsi files were not preprocessed. This patch
      adds the #include syntax instead. Evaluating this and preprocessing the files
      now happens in a single step, done by the C preprocessor.
      
      Change-Id: I6d0104b6274316fc736e84973502a4d6c2c9d6e0
      Signed-off-by: default avatarBalint Dobszay <balint.dobszay@arm.com>
      2d51b55e
  3. 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
  4. 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
  5. 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
  6. 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
  7. 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
  8. 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
  9. 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
  10. 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
  11. 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
  12. 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
  13. 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
  14. 17 Jan, 2014 1 commit
  15. 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
  16. 27 Nov, 2013 1 commit
  17. 14 Nov, 2013 1 commit
    • 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
  18. 25 Oct, 2013 1 commit