summaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
authorParthiban Nallathambi <parthiban@linumiz.com>2025-05-13 14:04:59 +0530
committerAlexander Sverdlin <alexander.sverdlin@gmail.com>2026-06-11 10:54:39 +0200
commita584e8632a7aacab26b2a46d0d8dc18b794eb5f5 (patch)
tree72120093614132bc5472591c33d6ed685127e168 /docs
parentddc598aa675f67d61b8e798316aa8d1e335f66bb (diff)
downloadarm-trusted-firmware-a584e8632a7aacab26b2a46d0d8dc18b794eb5f5.tar.gz
arm-trusted-firmware-a584e8632a7aacab26b2a46d0d8dc18b794eb5f5.zip
feat(allwinner): add support for allwinner A133 SoC
Add support for Allwinner A133 SoC. Although A133 comes with A2, the size of SRAM A2 section is limited i.e 64KB. So running all functional part of BL31 needs custom changes to reduce the size. Instead of running from SRAM, support is added to run from DRAM as like H616. This port is tested with both AXP707 and AXP717 PMIC, multi-core booting and reset handling works. The newly introduced build target sun50i_a133 is aimed to support the following Allwinner SoCs: - A100 - A133 - A133P - R818 - T800 While here, mention H64 and H700 SoCs as well. Change-Id: I94605240ef9e4b1ac9078a8b0f692ffe8b9d1094 Co-developed-by: Alexander Sverdlin <alexander.sverdlin@gmail.com> Signed-off-by: Parthiban Nallathambi <parthiban@linumiz.com> Signed-off-by: Alexander Sverdlin <alexander.sverdlin@gmail.com>
Diffstat (limited to 'docs')
-rw-r--r--docs/plat/allwinner.rst47
1 files changed, 23 insertions, 24 deletions
diff --git a/docs/plat/allwinner.rst b/docs/plat/allwinner.rst
index 8e967dcde..59b2075c0 100644
--- a/docs/plat/allwinner.rst
+++ b/docs/plat/allwinner.rst
@@ -10,23 +10,19 @@ Building TF-A
There is one build target per supported SoC:
-+------+-------------------+
-| SoC | TF-A build target |
-+======+===================+
-| A64 | sun50i_a64 |
-+------+-------------------+
-| H5 | sun50i_a64 |
-+------+-------------------+
-| H6 | sun50i_h6 |
-+------+-------------------+
-| H616 | sun50i_h616 |
-+------+-------------------+
-| H313 | sun50i_h616 |
-+------+-------------------+
-| T507 | sun50i_h616 |
-+------+-------------------+
-| R329 | sun50i_r329 |
-+------+-------------------+
++-------------------+-------------------------------+
+| TF-A build target | Supported SoCs |
++===================+===============================+
+| sun50i_a133 | A100, A133, A133P, R818, T800 |
++-------------------+-------------------------------+
+| sun50i_a64 | A64, H5, H64 |
++-------------------+-------------------------------+
+| sun50i_h6 | H6 |
++-------------------+-------------------------------+
+| sun50i_h616 | H313, H616, H700, T507 |
++-------------------+-------------------------------+
+| sun50i_r329 | R329 |
++-------------------+-------------------------------+
To build with the default settings for a particular SoC:
@@ -123,14 +119,17 @@ The mapping we use on those SoCs is as follows:
0 64K 16M 160M 192M 256M virtual address
-H616 SoC
-~~~~~~~~
+A133, H616 SoCs
+~~~~~~~~~~~~~~~
-The H616 lacks the secure SRAM region present on the other SoCs, also
-lacks the "ARISC" management processor (SCP) we use. BL31 thus needs to
-run from DRAM, which prevents our compressed virtual memory map described
-above. Since running in DRAM also lifts the restriction of the limited
-SRAM size, we use the normal 1:1 mapping with 32 bits worth of virtual
+The H616 lacks the secure SRAM region present on the other SoCs, also lacks the
+"ARISC" management processor (SCP) we use.
+
+In A133 the size of SRAM A2 section is limited to 64KB.
+
+BL31 thus needs to run from DRAM, which prevents our compressed virtual memory
+map described above. Since running in DRAM also lifts the restriction of the
+limited SRAM size, we use the normal 1:1 mapping with 32 bits worth of virtual
address space. So the virtual addresses used in BL31 match the physical
addresses as presented above.