mirror of
https://github.com/AsahiLinux/u-boot
synced 2025-02-17 22:49:02 +00:00
doc: boards: amlogic: update documentation for P201
Improve documentation. Notably we can now support U-Boot install to the internal eMMC storage in addition to SD cards. Signed-off-by: Christian Hewitt <christianshewitt@gmail.com> Link: https://lore.kernel.org/r/20230320114609.930145-22-christianshewitt@gmail.com [narmstrong: fixed doc build] Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
This commit is contained in:
parent
4b5bc8b9e3
commit
80d83f69c0
1 changed files with 53 additions and 33 deletions
|
@ -1,25 +1,24 @@
|
|||
.. SPDX-License-Identifier: GPL-2.0+
|
||||
|
||||
U-Boot for Amlogic P201
|
||||
=======================
|
||||
U-Boot for Amlogic P201 (S905)
|
||||
==============================
|
||||
|
||||
P201 is a reference board manufactured by Amlogic with the following
|
||||
specifications:
|
||||
P201 is a reference board manufactured by Amlogic with the following specifications:
|
||||
|
||||
- Amlogic S905 ARM Cortex-A53 quad-core SoC @ 1.5GHz
|
||||
- ARM Mali 450 GPU
|
||||
- 2GB DDR3 SDRAM
|
||||
- 10/100 Ethernet
|
||||
- HDMI 2.0 4K/60Hz display
|
||||
- 2 x USB 2.0 Host
|
||||
- 2x USB 2.0 Host
|
||||
- eMMC, microSD
|
||||
- Infrared receiver
|
||||
- SDIO WiFi Module
|
||||
- CVBS+Stereo Audio Jack
|
||||
- CVBS + Stereo Audio Jack
|
||||
|
||||
Schematics are available from Amlogic on demand.
|
||||
|
||||
U-Boot compilation
|
||||
U-Boot Compilation
|
||||
------------------
|
||||
|
||||
.. code-block:: bash
|
||||
|
@ -28,14 +27,21 @@ U-Boot compilation
|
|||
$ make p201_defconfig
|
||||
$ make
|
||||
|
||||
Image creation
|
||||
--------------
|
||||
U-Boot Signing with Pre-Built FIP repo
|
||||
--------------------------------------
|
||||
|
||||
For simplified usage, pleaser refer to :doc:`pre-generated-fip` with codename `p201`
|
||||
.. code-block:: bash
|
||||
|
||||
Amlogic doesn't provide sources for the firmware and for tools needed
|
||||
to create the bootloader image, so it is necessary to obtain them from
|
||||
the git tree published by the board vendor:
|
||||
$ git clone https://github.com/LibreELEC/amlogic-boot-fip --depth=1
|
||||
$ cd amlogic-boot-fip
|
||||
$ mkdir my-output-dir
|
||||
$ ./build-fip.sh p201 /path/to/u-boot/u-boot.bin my-output-dir
|
||||
|
||||
U-Boot Manual Signing
|
||||
---------------------
|
||||
|
||||
Amlogic does not provide sources for the firmware and tools needed to create a bootloader
|
||||
image but sources have been shared by Linux development contractor, Baylibre:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
|
@ -63,37 +69,51 @@ Go back to mainline U-boot source tree then :
|
|||
$ cp $FIPDIR/gxb/bl301.bin fip/
|
||||
$ cp $FIPDIR/gxb/bl31.img fip/
|
||||
$ cp u-boot.bin fip/bl33.bin
|
||||
$ wget https://github.com/LibreELEC/amlogic-boot-fip/raw/master/nanopi-k2/bl1.bin.hardkernel fip/bl1.bin.hardkernel
|
||||
$ chmod +x fip/bl1.bin.hardkernel
|
||||
$ wget https://github.com/LibreELEC/amlogic-boot-fip/raw/master/nanopi-k2/aml_chksum fip/aml_chksum
|
||||
$ chmod +x fip/aml_chksum
|
||||
|
||||
$ $FIPDIR/blx_fix.sh \
|
||||
fip/bl30.bin \
|
||||
fip/zero_tmp \
|
||||
fip/bl30_zero.bin \
|
||||
fip/bl301.bin \
|
||||
fip/bl301_zero.bin \
|
||||
fip/bl30_new.bin \
|
||||
bl30
|
||||
fip/bl30.bin \
|
||||
fip/zero_tmp \
|
||||
fip/bl30_zero.bin \
|
||||
fip/bl301.bin \
|
||||
fip/bl301_zero.bin \
|
||||
fip/bl30_new.bin \
|
||||
bl30
|
||||
|
||||
$ python $FIPDIR/acs_tool.pyc fip/bl2.bin fip/bl2_acs.bin fip/acs.bin 0
|
||||
|
||||
$ $FIPDIR/blx_fix.sh \
|
||||
fip/bl2_acs.bin \
|
||||
fip/zero_tmp \
|
||||
fip/bl2_zero.bin \
|
||||
fip/bl21.bin \
|
||||
fip/bl21_zero.bin \
|
||||
fip/bl2_new.bin \
|
||||
bl2
|
||||
fip/bl2_acs.bin \
|
||||
fip/zero_tmp \
|
||||
fip/bl2_zero.bin \
|
||||
fip/bl21.bin \
|
||||
fip/bl21_zero.bin \
|
||||
fip/bl2_new.bin \
|
||||
bl2
|
||||
|
||||
$ $FIPDIR/fip_create --bl30 fip/bl30_new.bin --bl31 fip/bl31.img --bl33 fip/bl33.bin fip/fip.bin
|
||||
$ $FIPDIR/fip_create --bl30 fip/bl30_new.bin \
|
||||
--bl31 fip/bl31.img \
|
||||
--bl33 fip/bl33.bin \
|
||||
fip/fip.bin
|
||||
|
||||
$ cat fip/bl2_new.bin fip/fip.bin >fip/boot_new.bin
|
||||
|
||||
$ $FIPDIR/gxb/aml_encrypt_gxb --bootsig --input fip/boot_new.bin --output fip/u-boot.bin
|
||||
$ $FIPDIR/gxb/aml_encrypt_gxb --bootsig \
|
||||
--input fip/boot_new.bin \
|
||||
--output fip/u-boot.bin
|
||||
|
||||
and then write the image to SD with:
|
||||
Then write U-Boot to SD or eMMC with:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
$ DEV=/dev/your_sd_device
|
||||
$ dd if=fip/u-boot.bin.sd.bin of=$DEV conv=fsync,notrunc bs=512 skip=1 seek=1
|
||||
$ dd if=fip/u-boot.bin.sd.bin of=$DEV conv=fsync,notrunc bs=1 count=444
|
||||
$ DEV=/dev/boot_device
|
||||
$ dd if=fip/u-boot.bin of=fip/u-boot.bin.gxbb bs=512 conv=fsync
|
||||
$ dd if=fip/u-boot.bin of=fip/u-boot.bin.gxbb bs=512 seek=9 skip=8 count=87 conv=fsync,notrunc
|
||||
$ dd if=/dev/zero of=fip/u-boot.bin.gxbb bs=512 seek=8 count=1 conv=fsync,notrunc
|
||||
$ dd if=bl1.bin.hardkernel of=fip/u-boot.bin.gxbb bs=512 seek=2 skip=2 count=1 conv=fsync,notrunc
|
||||
$ ./aml_chksum fip/u-boot.bin.gxbb
|
||||
$ dd if=fip/u-boot.gxbb of=$DEV conv=fsync,notrunc bs=512 skip=1 seek=1
|
||||
$ dd if=fip/u-boot.gxbb of=$DEV conv=fsync,notrunc bs=1 count=440
|
||||
|
|
Loading…
Add table
Reference in a new issue