1. 21 Apr, 2021 1 commit
    • Alexei Fedorov's avatar
      Plat FVP: Fix Generic Timer interrupt types · dfa6c540
      Alexei Fedorov authored
      
      
      The Arm Generic Timer specification mandates that the
      interrupt associated with each timer is low level triggered,
      see:
      
      Arm Cortex-A76 Core:
      "Each timer provides an active-LOW interrupt output to the SoC."
      
      Arm Cortex-A53 MPCore Processor:
      "It generates timer events as active-LOW interrupt outputs and
      event streams."
      
      The following files in fdts\
      
      fvp-base-gicv3-psci-common.dtsi
      fvp-base-gicv3-psci-aarch32-common.dtsi
      fvp-base-gicv2-psci-aarch32.dts
      fvp-base-gicv2-psci.dts
      fvp-foundation-gicv2-psci.dts
      fvp-foundation-gicv3-psci.dts
      
      describe interrupt types as edge rising
      IRQ_TYPE_EDGE_RISING = 0x01:
      
      interrupts = <1 13 0xff01>,
                   <1 14 0xff01>,
                   <1 11 0xff01>,
                   <1 10 0xff01>;
      
      , see include\dt-bindings\interrupt-controller\arm-gic.h:
      
      which causes Linux to generate the warnings below:
      arch_timer: WARNING: Invalid trigger for IRQ5, assuming level low
      arch_timer: WARNING: Please fix your firmware
      
      This patch adds GIC_CPU_MASK_RAW macro definition to
      include\dt-bindings\interrupt-controller\arm-gic.h,
      modifies interrupt type to IRQ_TYPE_LEVEL_LOW and
      makes use of type definitions in arm-gic.h.
      
      Change-Id: Iafa2552a9db85a0559c73353f854e2e0066ab2b9
      Signed-off-by: default avatarAlexei Fedorov <Alexei.Fedorov@arm.com>
      dfa6c540
  2. 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
  3. 11 Mar, 2020 1 commit
    • Madhukar Pappireddy's avatar
      fconf: Extract topology node properties from HW_CONFIG dtb · 4682461d
      Madhukar Pappireddy authored
      
      
      Create, register( and implicitly invoke) fconf_populate_topology()
      function which extracts the topology related properties from dtb into
      the newly created fconf based configuration structure 'soc_topology'.
      Appropriate libfdt APIs are added to jmptbl.i file for use with USE_ROMLIB
      build feature.
      
      A new property which describes the power domain levels is added to the
      HW_CONFIG device tree source files.
      
      This patch also fixes a minor bug in the common device tree file
      fvp-base-gicv3-psci-dynamiq-common.dtsi
      As this file includes fvp-base-gicv3-psci-common.dtsi, it is necessary
      to delete all previous cluster node definitons because DynamIQ based
      models have upto 8 CPUs in each cluster. If not deleted, the final dts
      would have an inaccurate description of SoC topology, i.e., cluster0
      with 8 or more core nodes and cluster1 with 4 core nodes.
      
      Change-Id: I9eb406da3ba4732008a66c01afec7c9fa8ef59bf
      Signed-off-by: default avatarMadhukar Pappireddy <madhukar.pappireddy@arm.com>
      4682461d
  4. 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
  5. 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
  6. 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
  7. 11 Oct, 2016 1 commit
    • 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
  8. 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
  9. 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
  10. 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
  11. 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
  12. 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
  13. 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
  14. 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
  15. 17 Jan, 2014 1 commit
  16. 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
  17. 27 Nov, 2013 1 commit
  18. 25 Oct, 2013 1 commit