1. 27 Nov, 2019 1 commit
    • Paul Beesley's avatar
      doc: Split the User Guide into multiple files · 43f35ef5
      Paul Beesley authored
      
      
      The User Guide document has grown organically over time and
      now covers a wide range of topics, making it difficult to
      skim read and extract information from. Currently, it covers
      these topics and maybe a couple more:
      
      - Requirements (hardware, tools, libs)
      - Checking out the repo
      - Basic build instructions
      - A comprehensive list of build flags
      - FIP packaging
      - Building specifically for Juno
      - Firmware update images
      - EL3 payloads
      - Preloaded BL33 boot flow
      - Running on FVPs
      - Running on Juno
      
      I have separated these out into a few groups that become new
      documents. Broadly speaking, build instructions for the tools,
      for TF-A generally, and for specific scenarios are separated.
      Content relating to specific platforms (Juno and the FVPs are
      Arm-specific platforms, essentially) has been moved into the
      documentation that is specific to those platforms, under
      docs/plat/arm.
      
      Change-Id: Ica87c52d8cd4f577332be0b0738998ea3ba3bbec
      Signed-off-by: default avatarPaul Beesley <paul.beesley@arm.com>
      43f35ef5
  2. 22 Oct, 2019 1 commit
  3. 21 Oct, 2019 1 commit
    • Paul Beesley's avatar
      doc: Move platform list to the Platform Ports index page · 5e6b4163
      Paul Beesley authored
      
      
      The list of upstream platforms on the index page is growing
      quite long, especially with all the FVP variants being listed
      individually.
      
      This patch leverages the "Platform Ports" chapter in the docs
      table of contents to condense this information. Almost all
      platform ports now have documentation, so the table of
      contents serves as the list of upstream platforms by itself.
      
      For those upstream platforms that do not have corresponding
      documentation, the top-level "Platform Ports" page mentions
      them individually. It also mentions each Arm FVP, just as
      the index page did before.
      
      Note that there is an in-progress patch that creates new
      platform port documentation for the Arm Juno and Arm FVP
      platforms, so this list of "other platforms" will soon be
      reduced further as those platforms become part of the
      table of contents as well.
      
      Change-Id: I6b1eab8cba71a599d85a6e22553a34b07f213268
      Signed-off-by: default avatarPaul Beesley <paul.beesley@arm.com>
      5e6b4163
  4. 11 Oct, 2019 1 commit
  5. 08 Oct, 2019 1 commit
    • Paul Beesley's avatar
      doc: Convert internal links to RST format · 34760951
      Paul Beesley authored
      
      
      Currently links between documents are using the format:
      
      <path/to/><filename>.rst
      
      This was required for services like GitHub because they render each
      document in isolation - linking to another document is like linking
      to any other file, just provide the full path.
      
      However, with the new approach, the .rst files are only the raw
      source for the documents. Once the documents have been rendered
      the output is now in another format (HTML in our case) and so,
      when linking to another document, the link must point to the
      rendered version and not the .rst file.
      
      The RST spec provides a few methods for linking between content.
      The parent of this patch enabled the automatic creation of anchors
      for document titles - we will use these anchors as the targets for
      our links. Additional anchors can be added by hand if needed, on
      section and sub-section titles, for example.
      
      An example of this new format, for a document with the title
      "Firmware Design" is :ref:`Firmware Design`.
      
      One big advantage of this is that anchors are not dependent on
      paths. We can then move documents around, even between directories,
      without breaking any links between documents. Links will need to be
      updated only if the title of a document changes.
      
      Change-Id: I9e2340a61dd424cbd8fd1ecc2dc166f460d81703
      Signed-off-by: default avatarPaul Beesley <paul.beesley@arm.com>
      34760951
  6. 07 Oct, 2019 1 commit
  7. 01 Oct, 2019 1 commit
    • Radoslaw Biernacki's avatar
      qemu/qemu_sbsa: Adding Qemu SBSA platform · 558a6f44
      Radoslaw Biernacki authored
      
      
      This patch introduces Qemu SBSA platform.
      Both platform specific files where copied from qemu/qemu with changes for
      DRAM base above 32bit and removal of ARMv7 conditional defines/code.
      Documentation is aligned to rest of SBSA patches along the series and
      planed changes in edk2-platform repo.
      
      Fixes ARM-software/tf-issues#602
      Signed-off-by: default avatarRadoslaw Biernacki <radoslaw.biernacki@linaro.org>
      Change-Id: I8ebc34eedb2268365e479ef05654b2df1b99128c
      558a6f44
  8. 26 Sep, 2019 1 commit
  9. 25 Sep, 2019 2 commits
    • Paul Beesley's avatar
      doc: Fix platform port inclusion · f1e0f152
      Paul Beesley authored
      
      
      This patch:
      
      - Adds any leftover platform ports that were not having their
        documentation built (not in the index.rst table of contents)
      - Corrects a handful of RST formatting errors that cause poor
        rendering
      - Reorders the list of platforms so that they are displayed
        in alphabetical order
      
      Change-Id: If8c135a822d581c3c5c4fca2936d501ccfd2e94c
      Signed-off-by: default avatarPaul Beesley <paul.beesley@arm.com>
      f1e0f152
    • Andre Przywara's avatar
      rpi4: Add initial documentation file · e0dea671
      Andre Przywara authored
      
      
      As the Raspberry Pi4 port is now in a usable state, add the build
      instructions together with some background information to the
      documentation directory.
      The port differs quite a bit from the Raspberry Pi 3, so we use a
      separate file for that.
      
      Change-Id: I7d9f5967fdf3ec3bfe97d78141f59cbcf03388d4
      Signed-off-by: default avatarAndre Przywara <andre.przywara@arm.com>
      e0dea671
  10. 20 Sep, 2019 1 commit
    • Paul Beesley's avatar
      doc: Render Marvell platform documents · 2966defa
      Paul Beesley authored
      
      
      The documentation for Marvell platforms was not included in the
      rendered document output until now because, while it was mostly
      valid RST format, the files were saved with a .txt extension.
      
      This patch corrects some RST formatting errors, creates a document
      tree (index page) for the Marvell documents, and adds the Marvell
      subtree to the main index.
      
      Change-Id: Id7d4ac37eded636f8f62322a153e1e5f652ff51a
      Signed-off-by: default avatarPaul Beesley <paul.beesley@arm.com>
      2966defa
  11. 17 Jul, 2019 1 commit
  12. 09 Jul, 2019 1 commit
    • XiaoDong Huang's avatar
      rockchip: px30: support px30 · 010d6ae3
      XiaoDong Huang authored
      
      
      px30 is a Quad-core soc and Cortex-a53 inside.
      This patch supports the following functions:
      1. basic platform setup
      2. power up/off cpus
      3. suspend/resume cpus
      4. suspend/resume system
      5. reset system
      6. power off system
      
      Change-Id: I73d55aa978096c078242be921abe0ddca9e8f67e
      Signed-off-by: default avatarXiaoDong Huang <derrick.huang@rock-chips.com>
      010d6ae3
  13. 08 Jul, 2019 1 commit
  14. 17 Jun, 2019 1 commit
  15. 22 May, 2019 4 commits
    • Paul Beesley's avatar
      doc: Use proper note and warning annotations · e1c5026a
      Paul Beesley authored
      
      
      The documentation contains plenty of notes and warnings. Enable
      special rendering of these blocks by converting the note prefix
      into a .. note:: annotation.
      
      Change-Id: I34e26ca6bf313d335672ab6c2645741900338822
      Signed-off-by: default avatarPaul Beesley <paul.beesley@arm.com>
      e1c5026a
    • Paul Beesley's avatar
      doc: Set correct syntax highlighting style · 29c02529
      Paul Beesley authored
      
      
      Several code blocks do not specify a language for syntax
      highlighting. This results in Sphinx using a default highlighter
      which is Python.
      
      This patch adds the correct language to each code block that doesn't
      already specify it.
      
      Change-Id: Icce1949aabfdc11a334a42d49edf55fa673cddc3
      Signed-off-by: default avatarPaul Beesley <paul.beesley@arm.com>
      29c02529
    • Paul Beesley's avatar
      doc: Remove per-page contents lists · 57354abb
      Paul Beesley authored
      
      
      These are no longer needed as there will always be a table of contents
      rendered to the left of every page.
      
      Some of these lists can be quite long and, when opening a page, the
      reader sees nothing but a huge list of contents! After this patch,
      the document contents are front-and-centre and the contents are
      nicely rendered in the sidebar without duplication.
      
      Change-Id: I444754d548ec91d00f2b04e861de8dde8856aa62
      Signed-off-by: default avatarPaul Beesley <paul.beesley@arm.com>
      57354abb
    • Paul Beesley's avatar
      doc: Reformat platform port documents · 24dba2b3
      Paul Beesley authored
      
      
      The platform port documents are not very standardised right now and
      they don't integrate properly into the document tree so:
      
      1) Make sure each port has a proper name and title (incl. owner)
      2) Correct use of headings, subheadings, etc in each port
      3) Resolve any naming conflicts between documents
      
      Change-Id: I4c2da6f57172b7f2af3512e766ae9ce3b840b50f
      Signed-off-by: default avatarPaul Beesley <paul.beesley@arm.com>
      24dba2b3
  16. 21 May, 2019 1 commit
    • Paul Beesley's avatar
      doc: Move documents into subdirectories · 40d553cf
      Paul Beesley authored
      
      
      This change creates the following directories under docs/
      in order to provide a grouping for the content:
      
      - components
      - design
      - getting_started
      - perf
      - process
      
      In each of these directories an index.rst file is created
      and this serves as an index / landing page for each of the
      groups when the pages are compiled. Proper layout of the
      top-level table of contents relies on this directory/index
      structure.
      
      Without this patch it is possible to build the documents
      correctly with Sphinx but the output looks messy because
      there is no overall hierarchy.
      
      Change-Id: I3c9f4443ec98571a56a6edf775f2c8d74d7f429f
      Signed-off-by: default avatarPaul Beesley <paul.beesley@arm.com>
      40d553cf
  17. 10 May, 2019 1 commit
  18. 26 Apr, 2019 1 commit
  19. 25 Apr, 2019 1 commit
    • Heiko Stuebner's avatar
      rockchip: document platform · 55617251
      Heiko Stuebner authored
      
      
      This adds a rockchip.rst to docs/plat documenting the general
      approach to using the Rockchip ATF platforms together with the
      supported bootloaders and also adds myself as maintainer after
      making sure Tony Xie is ok with that.
      Signed-off-by: default avatarHeiko Stuebner <heiko@sntech.de>
      Change-Id: Idce53d15eff4ac6de05bbb35d86e57ed50d0cbb9
      55617251
  20. 23 Apr, 2019 1 commit
    • Yann Gautier's avatar
      stm32mp1: add OP-TEE support · 1989a19c
      Yann Gautier authored
      
      
      Support booting OP-TEE as BL32 boot stage and secure runtime
      service.
      
      OP-TEE executes in internal RAM and uses a secure DDR area to store
      the pager pagestore. Memory mapping and TZC are configured accordingly
      prior OP-TEE boot. OP-TEE image is expected in OP-TEE v2 format where
      a header file describes the effective boot images. This change
      post processes header file content to get OP-TEE load addresses
      and set OP-TEE boot arguments.
      
      Change-Id: I02ef8b915e4be3e95b27029357d799d70e01cd44
      Signed-off-by: default avatarYann Gautier <yann.gautier@st.com>
      Signed-off-by: default avatarEtienne Carriere <etienne.carriere@st.com>
      1989a19c
  21. 02 Apr, 2019 1 commit
  22. 13 Mar, 2019 1 commit
    • Jacky Bai's avatar
      plat: imx8m: Add the basic support for imx8mm · 179f82a2
      Jacky Bai authored
      
      
      The i.MX8M Mini is new SOC of the i.MX8M family. it is
      focused on delivering the latest and greatest video and
      audio experience combining state-of-the-art media-specific
      features with high-performance processing while optimized
      for lowest power consumption. The i.MX 8M Mini Media Applications
      Processor is  14nm FinFET product of the growing i.MX8M family
      targeting the consumer & industrial market. It is built in 14LPP
      to achieve both high performance and low power consumption
      and relies on a powerful fully coherent core complex based on
      a quad Cortex-A53 cluster with video and graphics accelerators
      
      this patch add the basic support for i.MX8MM.
      Signed-off-by: default avatarJacky Bai <ping.bai@nxp.com>
      179f82a2
  23. 27 Feb, 2019 1 commit
    • Varun Wadekar's avatar
      Tegra: Support for scatterfile for the BL31 image · c2ad38ce
      Varun Wadekar authored
      
      
      This patch provides support for using the scatterfile format as
      the linker script with the 'armlink' linker for Tegra platforms.
      
      In order to enable the scatterfile usage the following changes
      have been made:
      
      * provide mapping for ld.S symbols in bl_common.h
      * include bl_common.h from all the affected files
      * update the makefile rules to use the scatterfile and armlink
        to compile BL31
      * update pubsub.h to add sections to the scatterfile
      
      NOTE: THIS CHANGE HAS BEEN VERIFIED WITH TEGRA PLATFORMS ONLY.
      
      Change-Id: I7bb78b991c97d74a842e5635c74cb0b18e0fce67
      Signed-off-by: default avatarVarun Wadekar <vwadekar@nvidia.com>
      c2ad38ce
  24. 26 Feb, 2019 1 commit
  25. 20 Feb, 2019 1 commit
  26. 19 Feb, 2019 1 commit
  27. 08 Feb, 2019 1 commit
  28. 05 Feb, 2019 1 commit
  29. 18 Jan, 2019 2 commits
    • Varun Wadekar's avatar
      Tegra: lib: library for profiling the cold boot path · 087cf68a
      Varun Wadekar authored
      
      
      The non secure world would like to profile the boot path for
      the EL3 and S-EL1 firmwares. To allow it to do that, a non-secure
      DRAM region (4K) is allocated and the base address is passed to
      the EL3 firmware.
      
      This patch adds a library to allow the platform code to store the
      tag:timestamp pair to the shared memory. The tegra platform code
      then uses the `record` method to add timestamps.
      
      Original change by Akshay Sharan <asharan@nvidia.com>
      
      Change-Id: Idbbef9c83ed84a508b04d85a6637775960dc94ba
      Signed-off-by: default avatarVarun Wadekar <vwadekar@nvidia.com>
      087cf68a
    • Bryan O'Donoghue's avatar
      docs: warp7: Update WaRP7 description for TBB · 31e4c20d
      Bryan O'Donoghue authored
      
      
      This patch updates the WaRP7 build descriptions for booting WaRP7 in
      Trusted Board Boot mode. TBB is the only mode we really intend to support
      for this board so rather than maintain documentation for the old way of
      doing it, this patch updates the description for TBB mode only.
      Signed-off-by: default avatarBryan O'Donoghue <bryan.odonoghue@linaro.org>
      31e4c20d
  30. 16 Jan, 2019 1 commit
  31. 05 Dec, 2018 1 commit
    • Bai Ping's avatar
      plat: imx: Add i.MX8MQ basic support · 81136819
      Bai Ping authored
      
      
      i.MX8MQ is new SOC of NXP's i.MX8M family based on
      A53. It can provide industry-leading audio, voice
      and video processing for applications that scale
      from consumer home audio to industrial building
      automation and mobile computers
      
      this patchset add the basic supoort to boot up
      the 4 X A53. more feature will be added later.
      Signed-off-by: default avatarBai Ping <ping.bai@nxp.com>
      81136819
  32. 20 Nov, 2018 1 commit
  33. 19 Nov, 2018 1 commit
    • Pete Batard's avatar
      rpi3: add RPI3_USE_UEFI_MAP build option · 4dcf1fad
      Pete Batard authored
      
      
      The default Raspberry Pi 3 memory mapping for ATF is geared towards
      the use of uboot + Linux. This creates issues when trying to use
      ATF with an UEFI payload and Windows on ARM64.
      
      We therefore introduce new build option RPI3_USE_UEFI_MAP, that
      enables the build process to use an alternate memory mapping that
      is compatible with UEFI + Windows (as well as UEFI + Linux).
      
      Fixes ARM-software/tf-issues#649
      Signed-off-by: default avatarPete Batard <pete@akeo.ie>
      4dcf1fad
  34. 13 Nov, 2018 1 commit
    • Pete Batard's avatar
      rpi3: add RPI3_RUNTIME_UART build option · 6d5c61de
      Pete Batard authored
      
      
      Some OSes (e.g. Ubuntu 18.04 LTS on Raspberry Pi 3) may disable the
      runtime UART in a manner that prevents the system from rebooting if
      ATF tries to send runtime messages there.
      
      Also, we don't want the firmware to share the UART with normal
      world, as this can be a DoS attack vector into the secure world.
      
      This patch fixes these 2 issues by introducing new build option
      RPI3_RUNTIME_UART, that disables the runtime UART by default.
      
      Fixes ARM-software/tf-issues#647
      Signed-off-by: default avatarPete Batard <pete@akeo.ie>
      6d5c61de
  35. 09 Nov, 2018 1 commit
    • Siva Durga Prasad Paladugu's avatar
      arm64: versal: Add support for new Xilinx Versal ACAPs · f91c3cb1
      Siva Durga Prasad Paladugu authored
      
      
      Xilinx is introducing Versal, an adaptive compute acceleration platform
      (ACAP), built on 7nm FinFET process technology. Versal ACAPs combine Scalar
      Processing Engines, Adaptable Hardware Engines, and Intelligent Engines with
      leading-edge memory and interfacing technologies to deliver powerful
      heterogeneous acceleration for any application. The Versal AI Core series has
      five devices, offering 128 to 400 AI Engines. The series includes dual-core Arm
      Cortex-A72 application processors, dual-core Arm Cortex-R5 real-time
      processors, 256KB of on-chip memory with ECC, more than 1,900 DSP engines
      optimized for high-precision floating point with low latency.
      
      This patch adds Virtual QEMU platform support for
      this SoC "versal_virt".
      Signed-off-by: default avatarSiva Durga Prasad Paladugu <siva.durga.paladugu@xilinx.com>
      Signed-off-by: default avatarMichal Simek <michal.simek@xilinx.com>
      f91c3cb1