<commit_before>TF-A Porting Guide for Marvell Platforms
========================================

This section describes how to port TF-A to a customer board, assuming that the
SoC being used is already supported in TF-A.


Source Code Structure
---------------------

- The customer platform specific code shall reside under ``plat/marvell/armada/<soc family>/<soc>_cust``
  (e.g. 'plat/marvell/armada/a8k/a7040_cust').
- The platform name for build purposes is called ``<soc>_cust`` (e.g. ``a7040_cust``).
- The build system will reuse all files from within the soc directory, and take only the porting
  files from the customer platform directory.

Files that require porting are located at ``plat/marvell/armada/<soc family>/<soc>_cust`` directory.


Armada-70x0/Armada-80x0 Porting
-------------------------------

SoC Physical Address Map (marvell_plat_config.c)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

This file describes the SoC physical memory mapping to be used for the CCU,
IOWIN, AXI-MBUS and IOB address decode units (Refer to the functional spec for
more details).

In most cases, using the default address decode windows should work OK.

In cases where a special physical address map is needed (e.g. Special size for
PCIe MEM windows, large memory mapped SPI flash...), then porting of the SoC
memory map is required.

.. note::
   For a detailed information on how CCU, IOWIN, AXI-MBUS & IOB work, please
   refer to the SoC functional spec, and under
   ``docs/marvell/misc/mvebu-[ccu/iob/amb/io-win].txt`` files.

boot loader recovery (marvell_plat_config.c)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

- Background:<commit_msg>docs: marvell: update path in marvell documentation<commit_after>TF-A Porting Guide for Marvell Platforms
========================================

This section describes how to port TF-A to a customer board, assuming that the
SoC being used is already supported in TF-A.


Source Code Structure
---------------------

- The customer platform specific code shall reside under ``plat/marvell/armada/<soc family>/<soc>_cust``
  (e.g. 'plat/marvell/armada/a8k/a7040_cust').
- The platform name for build purposes is called ``<soc>_cust`` (e.g. ``a7040_cust``).
- The build system will reuse all files from within the soc directory, and take only the porting
  files from the customer platform directory.

Files that require porting are located at ``plat/marvell/armada/<soc family>/<soc>_cust`` directory.


Armada-70x0/Armada-80x0 Porting
-------------------------------

SoC Physical Address Map (marvell_plat_config.c)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

This file describes the SoC physical memory mapping to be used for the CCU,
IOWIN, AXI-MBUS and IOB address decode units (Refer to the functional spec for
more details).

In most cases, using the default address decode windows should work OK.

In cases where a special physical address map is needed (e.g. Special size for
PCIe MEM windows, large memory mapped SPI flash...), then porting of the SoC
memory map is required.

.. note::
   For a detailed information on how CCU, IOWIN, AXI-MBUS & IOB work, please
   refer to the SoC functional spec, and under
   ``docs/plat/marvell/armada/misc/mvebu-[ccu/iob/amb/io-win].rst`` files.

boot loader recovery (marvell_plat_config.c)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

- Background:
{'fraction_non_alphanumeric': 0.18122400475341652, 'fraction_numerical': 0.008912655971479501, 'mean_word_length': 3.9153284671532846, 'pattern_counts': {'":': 0, '<': 13, '<?xml version=': 0, '>': 13, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '6066732', 'n_tokens_mistral': 1004, 'n_tokens_neox': 948, 'n_words': 393}