doc: board: amlogic: add u-boot-spl documentation
Add building and usage instructions for SPL. Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org> Signed-off-by: Ferass El Hafidi <funderscore@postmarketos.org> Link: https://patch.msgid.link/20251126-spl-gx-v5-10-6cbffb2451ca@postmarketos.org Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
This commit is contained in:
committed by
Neil Armstrong
parent
dcf8a2738b
commit
8f2169faf6
@@ -78,6 +78,7 @@ Boot Documentation
|
||||
|
||||
boot-flow
|
||||
pre-generated-fip
|
||||
spl
|
||||
|
||||
Board Documentation
|
||||
-------------------
|
||||
|
||||
@@ -98,6 +98,13 @@ The repo also provides the following files used with GXBB boards:
|
||||
The repo also supports the open-source 'gxlimg' signing tool that can be used to sign
|
||||
U-Boot binaries for GXL/GXM/G12A/G12B/SM1 boards: https://github.com/repk/gxlimg
|
||||
|
||||
The following binaries can be replaced with open-source implementations:
|
||||
|
||||
- bl2.bin (GXBB and GXL only)
|
||||
- bl31.img (GXBB, GXL, AXG and G12A only)
|
||||
|
||||
Refer to `Experimental U-Boot SPL Support`_ if you wish to replace them.
|
||||
|
||||
Licensing
|
||||
---------
|
||||
|
||||
@@ -129,3 +136,5 @@ clarified. The current Amlogic distribution licence is below:
|
||||
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
.. _`Experimental U-Boot SPL Support`: spl.rst
|
||||
|
||||
77
doc/board/amlogic/spl.rst
Normal file
77
doc/board/amlogic/spl.rst
Normal file
@@ -0,0 +1,77 @@
|
||||
.. SPDX-License-Identifier: GPL-2.0+
|
||||
|
||||
Experimental U-Boot SPL Support
|
||||
===============================
|
||||
|
||||
There's some experimental support for some Amlogic SoCs, in U-Boot SPL. It
|
||||
replaces the proprietary bl2.bin blob used for DRAM init. Currently Meson GX
|
||||
SoCs (GXBB, GXL) are supported.
|
||||
|
||||
A subset of Amlogic boards have SPL enabled. These boards have been tested and
|
||||
are known to work to an extent.
|
||||
|
||||
|
||||
Building Arm Trusted Firmware (TF-A)
|
||||
------------------------------------
|
||||
|
||||
This U-Boot SPL port requires the BL31 stage of mainline Arm Trusted
|
||||
Firmware-A firmware. It provides an open source implementation of secure
|
||||
software for Armv8-A. Build it with:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
$ git clone https://git.trustedfirmware.org/TF-A/trusted-firmware-a.git
|
||||
$ cd trusted-firmware-a
|
||||
$ make CROSS_COMPILE=aarch64-linux-gnu- PLAT=your_soc AML_STDPARAMS=1
|
||||
|
||||
Replace ``your_soc`` with the SoC target you wish to build for. For GXBB it's
|
||||
``gxbb`` and for GXL it's ``gxl``.
|
||||
|
||||
|
||||
Building a bl30_new.bin binary
|
||||
------------------------------
|
||||
|
||||
``bl30_new.bin`` has both ``bl30.bin`` and ``bl301.bin`` binary blobs
|
||||
bundled. The former is the proper system control processor firmware and the
|
||||
latter is a "plug-in" for board-specific DVFS/suspend-resume parameters. For
|
||||
more info you may wish to read this page: `Pre-Generated FIP File Repo`_.
|
||||
|
||||
To build using the FIP file repo, simply issue the following commands:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
$ cd amlogic-boot-fip/your_board
|
||||
$ make bl30_new.bin
|
||||
|
||||
|
||||
.. _`Pre-Generated FIP File Repo`: pre-generated-fip.rst
|
||||
|
||||
|
||||
U-Boot compilation
|
||||
------------------
|
||||
|
||||
U-Boot SPL is not enabled by default, instead there are config fragments that
|
||||
can be used to enable it, with per-board configuration:
|
||||
|
||||
- ``spl-libretech-cc-1gb.config``: 1 GB LePotato board
|
||||
- ``spl-libretech-cc-2gb.config``: 2 GB LePotato board
|
||||
- ``spl-odroid-c2.config``: ODROID-C2
|
||||
- ``spl-videostrong-kii-pro.config``: Videostrong KII Pro
|
||||
|
||||
Pick one of them then:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
$ export CROSS_COMPILE=aarch64-linux-gnu-
|
||||
$ export BL31=path/to/tf-a/bl31.bin # Upstream TF-A BL31 binary
|
||||
$ export SCP=path/to/bl30_new.bin # bl30_new.bin binary
|
||||
$ make <yourboardname>_defconfig spl-<yourboardname>.config
|
||||
$ make
|
||||
|
||||
Write to SD:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
$ DEV=/dev/boot_device
|
||||
$ dd if=u-boot-meson-with-spl.bin of=$DEV conv=fsync,notrunc bs=512 seek=1
|
||||
|
||||
Reference in New Issue
Block a user