[PATCH 2/2] imx8mm-cl-iot-gate: Add documentation
Fabio Estevam
festevam at denx.de
Fri Aug 13 02:59:01 CEST 2021
Add documentation for building and flashing mainline U-Boot
in the IOT-GATE-iMX8 board.
Signed-off-by: Fabio Estevam <festevam at denx.de>
---
doc/board/compulab/imx8mm-cl-iot-gate.rst | 84 +++++++++++++++++++++++
doc/board/index.rst | 1 +
2 files changed, 85 insertions(+)
create mode 100644 doc/board/compulab/imx8mm-cl-iot-gate.rst
diff --git a/doc/board/compulab/imx8mm-cl-iot-gate.rst b/doc/board/compulab/imx8mm-cl-iot-gate.rst
new file mode 100644
index 000000000000..b63b8d61f13f
--- /dev/null
+++ b/doc/board/compulab/imx8mm-cl-iot-gate.rst
@@ -0,0 +1,83 @@
+.. SPDX-License-Identifier: GPL-2.0+
+
+IOT-GATE-iMX8
+=============
+
+U-Boot for Compulab i.MX8MM IoT Gateway board.
+
+Quick Start
+-----------
+
+- Build the ARM Trusted firmware binary
+- Get the DDR firmwares
+- Build U-Boot
+- Flash U-Boot into the eMMC
+
+Get and build the ARM Trusted firmware
+--------------------------------------
+
+Note: builddir is U-Boot build directory (source directory for in-tree builds).
+
+Get mainline ATF:
+
+.. code-block:: bash
+
+ $ git clone https://github.com/ARM-software/arm-trusted-firmware.git
+ $ cd arm-trusted-firmware
+ $ git checkout v2.5
+
+Generate the bl31.bin ATF binary:
+
+.. code-block:: bash
+
+ $ export CROSS_COMPILE=aarch64-poky-linux-
+ $ make PLAT=imx8mm IMX_BOOT_UART_BASE=0x30880000 bl31
+ $ cp build/imx8mm/release/bl31.bin $(builddir)
+
+Get the DDR firmwares
+---------------------
+
+.. code-block:: bash
+
+ $ wget https://www.nxp.com/lgfiles/NMG/MAD/YOCTO/firmware-imx-8.9.bin
+ $ chmod +x firmware-imx-8.9.bin
+ $ ./firmware-imx-8.9
+ $ cp firmware-imx-8.9/firmware/ddr/synopsys/lpddr4*.bin $(builddir)
+
+Build U-Boot
+------------
+
+.. code-block:: bash
+
+ $ export CROSS_COMPILE=aarch64-poky-linux-
+ $ make imx8mm-cl-iot-gate_defconfig
+ $ export ATF_LOAD_ADDR=0x920000
+ $ make
+
+This will result in two binaries: flash.bin and u-boot.itb.
+
+Flash U-Boot into the eMMC
+--------------------------
+
+Make sure to have access to the IOTG-ACC-M2SD adapter to recover
+the board in case something goes wrong. More details at:
+https://mediawiki.compulab.com/w/index.php?title=IOT-GATE-iMX8_and_SBC-IOT-iMX8:_U-Boot:_Recovery
+
+The flash.bin and u-boot.itb binaries need to be flashed into the eMMC at
+offset 33K and 384K, respectively.
+
+These binaries can be transferred from the host PC to the board running
+U-Boot via TFTP:
+
+.. code-block:: bash
+
+ => mmc dev 2
+ => mmc partconf 2 1 7 0 (This is only needed to be done for the first time)
+
+ => tftp $loadaddr flash.bin
+ => setexpr blkcnt $filesize + 0x1ff && setexpr blkcnt $blkcnt / 0x200
+ => mmc write $loadaddr 0x42 $blkcnt
+
+ => tftp $loadaddr u-boot.itb
+ => setexpr blkcnt $filesize + 0x1ff && setexpr blkcnt $blkcnt / 0x200
+ => mmc write $loadaddr 0x300 $blkcnt
diff --git a/doc/board/index.rst b/doc/board/index.rst
index 9e9097889161..5c5420f3d75a 100644
--- a/doc/board/index.rst
+++ b/doc/board/index.rst
@@ -11,6 +11,7 @@ Board-specific doc
AndesTech/index
amlogic/index
atmel/index
+ compulab/index
congatec/index
coreboot/index
emulation/index
--
2.25.1
More information about the U-Boot
mailing list