board: amlogic: move boards doc into doc/board/amlogic
Move the natural text Amlogic board README files to doc/board/amlogic into reStructuredText and : - add reStructuredText markup for bash code - fix secondary titles markup - move board support into global support matrix Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
This commit is contained in:
parent
9cb895203a
commit
0ce3639d6f
@ -1,98 +0,0 @@
|
|||||||
U-Boot for NanoPi-K2
|
|
||||||
====================
|
|
||||||
|
|
||||||
NanoPi-K2 is a single board computer manufactured by FriendlyElec
|
|
||||||
with the following specifications:
|
|
||||||
|
|
||||||
- Amlogic S905 ARM Cortex-A53 quad-core SoC @ 1.5GHz
|
|
||||||
- ARM Mali 450 GPU
|
|
||||||
- 2GB DDR3 SDRAM
|
|
||||||
- Gigabit Ethernet
|
|
||||||
- HDMI 2.0 4K/60Hz display
|
|
||||||
- 40-pin GPIO header
|
|
||||||
- 4 x USB 2.0 Host, 1 x USB OTG
|
|
||||||
- eMMC, microSD
|
|
||||||
- Infrared receiver
|
|
||||||
|
|
||||||
Schematics are available on the manufacturer website.
|
|
||||||
|
|
||||||
Currently the u-boot port supports the following devices:
|
|
||||||
- serial
|
|
||||||
- eMMC, microSD
|
|
||||||
- Ethernet
|
|
||||||
|
|
||||||
u-boot compilation
|
|
||||||
==================
|
|
||||||
|
|
||||||
> export CROSS_COMPILE=aarch64-none-elf-
|
|
||||||
> make nanopi-k2_defconfig
|
|
||||||
> make
|
|
||||||
|
|
||||||
Image creation
|
|
||||||
==============
|
|
||||||
|
|
||||||
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:
|
|
||||||
|
|
||||||
> wget https://releases.linaro.org/archive/13.11/components/toolchain/binaries/gcc-linaro-aarch64-none-elf-4.8-2013.11_linux.tar.xz
|
|
||||||
> wget https://releases.linaro.org/archive/13.11/components/toolchain/binaries/gcc-linaro-arm-none-eabi-4.8-2013.11_linux.tar.xz
|
|
||||||
> tar xvfJ gcc-linaro-aarch64-none-elf-4.8-2013.11_linux.tar.xz
|
|
||||||
> tar xvfJ gcc-linaro-arm-none-eabi-4.8-2013.11_linux.tar.xz
|
|
||||||
> export PATH=$PWD/gcc-linaro-aarch64-none-elf-4.8-2013.11_linux/bin:$PWD/gcc-linaro-arm-none-eabi-4.8-2013.11_linux/bin:$PATH
|
|
||||||
> git clone https://github.com/BayLibre/u-boot.git -b libretech-cc amlogic-u-boot
|
|
||||||
> git clone https://github.com/friendlyarm/u-boot.git -b nanopi-k2-v2015.01 amlogic-u-boot
|
|
||||||
> cd amlogic-u-boot
|
|
||||||
> sed -i 's/aarch64-linux-gnu-/aarch64-none-elf-/' Makefile
|
|
||||||
> sed -i 's/arm-linux-/arm-none-eabi-/' arch/arm/cpu/armv8/gxb/firmware/scp_task/Makefile
|
|
||||||
> make nanopi-k2_defconfig
|
|
||||||
> make
|
|
||||||
> export FIPDIR=$PWD/fip
|
|
||||||
|
|
||||||
Go back to mainline U-Boot source tree then :
|
|
||||||
> mkdir fip
|
|
||||||
|
|
||||||
> cp $FIPDIR/gxb/bl2.bin fip/
|
|
||||||
> cp $FIPDIR/gxb/acs.bin fip/
|
|
||||||
> cp $FIPDIR/gxb/bl21.bin fip/
|
|
||||||
> cp $FIPDIR/gxb/bl30.bin fip/
|
|
||||||
> cp $FIPDIR/gxb/bl301.bin fip/
|
|
||||||
> cp $FIPDIR/gxb/bl31.img fip/
|
|
||||||
> cp u-boot.bin fip/bl33.bin
|
|
||||||
|
|
||||||
> $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
|
|
||||||
|
|
||||||
> $FIPDIR/fip_create \
|
|
||||||
--bl30 fip/bl30_new.bin \
|
|
||||||
--bl31 fip/bl31.img \
|
|
||||||
--bl33 fip/bl33.bin \
|
|
||||||
fip/fip.bin
|
|
||||||
|
|
||||||
> 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
|
|
||||||
|
|
||||||
> 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
|
|
||||||
|
|
||||||
and then write the image to SD with:
|
|
||||||
|
|
||||||
> DEV=/dev/your_sd_device
|
|
||||||
> dd if=fip/u-boot.bin of=$DEV conv=fsync,notrunc bs=512 seek=1
|
|
@ -1,102 +0,0 @@
|
|||||||
U-Boot for Amlogic P200
|
|
||||||
=======================
|
|
||||||
|
|
||||||
P200 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
|
|
||||||
- Gigabit Ethernet
|
|
||||||
- HDMI 2.0 4K/60Hz display
|
|
||||||
- 2 x USB 2.0 Host
|
|
||||||
- eMMC, microSD
|
|
||||||
- Infrared receiver
|
|
||||||
- SDIO WiFi Module
|
|
||||||
- CVBS+Stereo Audio Jack
|
|
||||||
|
|
||||||
Schematics are available from Amlogic on demand.
|
|
||||||
|
|
||||||
Currently the u-boot port supports the following devices:
|
|
||||||
- serial
|
|
||||||
- eMMC, microSD
|
|
||||||
- Ethernet
|
|
||||||
- I2C
|
|
||||||
- Regulators
|
|
||||||
- Reset controller
|
|
||||||
- Clock controller
|
|
||||||
- USB Host
|
|
||||||
- ADC
|
|
||||||
|
|
||||||
u-boot compilation
|
|
||||||
==================
|
|
||||||
|
|
||||||
> export CROSS_COMPILE=aarch64-none-elf-
|
|
||||||
> make p200_defconfig
|
|
||||||
> make
|
|
||||||
|
|
||||||
Image creation
|
|
||||||
==============
|
|
||||||
|
|
||||||
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:
|
|
||||||
|
|
||||||
> wget https://releases.linaro.org/archive/13.11/components/toolchain/binaries/gcc-linaro-aarch64-none-elf-4.8-2013.11_linux.tar.xz
|
|
||||||
> wget https://releases.linaro.org/archive/13.11/components/toolchain/binaries/gcc-linaro-arm-none-eabi-4.8-2013.11_linux.tar.xz
|
|
||||||
> tar xvfJ gcc-linaro-aarch64-none-elf-4.8-2013.11_linux.tar.xz
|
|
||||||
> tar xvfJ gcc-linaro-arm-none-eabi-4.8-2013.11_linux.tar.xz
|
|
||||||
> export PATH=$PWD/gcc-linaro-aarch64-none-elf-4.8-2013.11_linux/bin:$PWD/gcc-linaro-arm-none-eabi-4.8-2013.11_linux/bin:$PATH
|
|
||||||
> git clone https://github.com/BayLibre/u-boot.git -b n-amlogic-openlinux-20170606 amlogic-u-boot
|
|
||||||
> cd amlogic-u-boot
|
|
||||||
> make gxb_p200_v1_defconfig
|
|
||||||
> make
|
|
||||||
> export FIPDIR=$PWD/fip
|
|
||||||
|
|
||||||
Go back to mainline U-boot source tree then :
|
|
||||||
> mkdir fip
|
|
||||||
|
|
||||||
> cp $FIPDIR/gxl/bl2.bin fip/
|
|
||||||
> cp $FIPDIR/gxl/acs.bin fip/
|
|
||||||
> cp $FIPDIR/gxl/bl21.bin fip/
|
|
||||||
> cp $FIPDIR/gxl/bl30.bin fip/
|
|
||||||
> cp $FIPDIR/gxl/bl301.bin fip/
|
|
||||||
> cp $FIPDIR/gxl/bl31.img fip/
|
|
||||||
> cp u-boot.bin fip/bl33.bin
|
|
||||||
|
|
||||||
> $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
|
|
||||||
|
|
||||||
> $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
|
|
||||||
|
|
||||||
> $FIPDIR/gxl/aml_encrypt_gxl --bl3enc --input fip/bl30_new.bin
|
|
||||||
> $FIPDIR/gxl/aml_encrypt_gxl --bl3enc --input fip/bl31.img
|
|
||||||
> $FIPDIR/gxl/aml_encrypt_gxl --bl3enc --input fip/bl33.bin
|
|
||||||
> $FIPDIR/gxl/aml_encrypt_gxl --bl2sig --input fip/bl2_new.bin --output fip/bl2.n.bin.sig
|
|
||||||
> $FIPDIR/gxl/aml_encrypt_gxl --bootmk \
|
|
||||||
--output fip/u-boot.bin \
|
|
||||||
--bl2 fip/bl2.n.bin.sig \
|
|
||||||
--bl30 fip/bl30_new.bin.enc \
|
|
||||||
--bl31 fip/bl31.img.enc \
|
|
||||||
--bl33 fip/bl33.bin.enc
|
|
||||||
|
|
||||||
and then write the image to SD with:
|
|
||||||
|
|
||||||
> 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
|
|
@ -1,102 +0,0 @@
|
|||||||
U-Boot for Amlogic P201
|
|
||||||
=======================
|
|
||||||
|
|
||||||
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
|
|
||||||
- eMMC, microSD
|
|
||||||
- Infrared receiver
|
|
||||||
- SDIO WiFi Module
|
|
||||||
- CVBS+Stereo Audio Jack
|
|
||||||
|
|
||||||
Schematics are available from Amlogic on demand.
|
|
||||||
|
|
||||||
Currently the u-boot port supports the following devices:
|
|
||||||
- serial
|
|
||||||
- eMMC, microSD
|
|
||||||
- Ethernet
|
|
||||||
- I2C
|
|
||||||
- Regulators
|
|
||||||
- Reset controller
|
|
||||||
- Clock controller
|
|
||||||
- USB Host
|
|
||||||
- ADC
|
|
||||||
|
|
||||||
u-boot compilation
|
|
||||||
==================
|
|
||||||
|
|
||||||
> export CROSS_COMPILE=aarch64-none-elf-
|
|
||||||
> make p201_defconfig
|
|
||||||
> make
|
|
||||||
|
|
||||||
Image creation
|
|
||||||
==============
|
|
||||||
|
|
||||||
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:
|
|
||||||
|
|
||||||
> wget https://releases.linaro.org/archive/13.11/components/toolchain/binaries/gcc-linaro-aarch64-none-elf-4.8-2013.11_linux.tar.xz
|
|
||||||
> wget https://releases.linaro.org/archive/13.11/components/toolchain/binaries/gcc-linaro-arm-none-eabi-4.8-2013.11_linux.tar.xz
|
|
||||||
> tar xvfJ gcc-linaro-aarch64-none-elf-4.8-2013.11_linux.tar.xz
|
|
||||||
> tar xvfJ gcc-linaro-arm-none-eabi-4.8-2013.11_linux.tar.xz
|
|
||||||
> export PATH=$PWD/gcc-linaro-aarch64-none-elf-4.8-2013.11_linux/bin:$PWD/gcc-linaro-arm-none-eabi-4.8-2013.11_linux/bin:$PATH
|
|
||||||
> git clone https://github.com/BayLibre/u-boot.git -b n-amlogic-openlinux-20170606 amlogic-u-boot
|
|
||||||
> cd amlogic-u-boot
|
|
||||||
> make gxb_p201_v1_defconfig
|
|
||||||
> make
|
|
||||||
> export FIPDIR=$PWD/fip
|
|
||||||
|
|
||||||
Go back to mainline U-boot source tree then :
|
|
||||||
> mkdir fip
|
|
||||||
|
|
||||||
> cp $FIPDIR/gxl/bl2.bin fip/
|
|
||||||
> cp $FIPDIR/gxl/acs.bin fip/
|
|
||||||
> cp $FIPDIR/gxl/bl21.bin fip/
|
|
||||||
> cp $FIPDIR/gxl/bl30.bin fip/
|
|
||||||
> cp $FIPDIR/gxl/bl301.bin fip/
|
|
||||||
> cp $FIPDIR/gxl/bl31.img fip/
|
|
||||||
> cp u-boot.bin fip/bl33.bin
|
|
||||||
|
|
||||||
> $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
|
|
||||||
|
|
||||||
> $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
|
|
||||||
|
|
||||||
> $FIPDIR/gxl/aml_encrypt_gxl --bl3enc --input fip/bl30_new.bin
|
|
||||||
> $FIPDIR/gxl/aml_encrypt_gxl --bl3enc --input fip/bl31.img
|
|
||||||
> $FIPDIR/gxl/aml_encrypt_gxl --bl3enc --input fip/bl33.bin
|
|
||||||
> $FIPDIR/gxl/aml_encrypt_gxl --bl2sig --input fip/bl2_new.bin --output fip/bl2.n.bin.sig
|
|
||||||
> $FIPDIR/gxl/aml_encrypt_gxl --bootmk \
|
|
||||||
--output fip/u-boot.bin \
|
|
||||||
--bl2 fip/bl2.n.bin.sig \
|
|
||||||
--bl30 fip/bl30_new.bin.enc \
|
|
||||||
--bl31 fip/bl31.img.enc \
|
|
||||||
--bl33 fip/bl33.bin.enc
|
|
||||||
|
|
||||||
and then write the image to SD with:
|
|
||||||
|
|
||||||
> 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
|
|
@ -1,101 +0,0 @@
|
|||||||
U-Boot for Khadas VIM
|
|
||||||
=======================
|
|
||||||
|
|
||||||
Khadas VIM is an Open Source DIY Box manufactured by Shenzhen Wesion
|
|
||||||
Technology Co., Ltd with the following specifications:
|
|
||||||
|
|
||||||
- Amlogic S905X ARM Cortex-A53 quad-core SoC @ 1.5GHz
|
|
||||||
- ARM Mali 450 GPU
|
|
||||||
- 2GB DDR3 SDRAM
|
|
||||||
- 10/100 Ethernet
|
|
||||||
- HDMI 2.0 4K/60Hz display
|
|
||||||
- 40-pin GPIO header
|
|
||||||
- 2 x USB 2.0 Host, 1 x USB 2.0 Type-C OTG
|
|
||||||
- 8GB/16GBeMMC
|
|
||||||
- microSD
|
|
||||||
- SDIO Wifi Module, Bluetooth
|
|
||||||
- Two channels IR receiver
|
|
||||||
|
|
||||||
Currently the u-boot port supports the following devices:
|
|
||||||
- serial
|
|
||||||
- eMMC, microSD
|
|
||||||
- Ethernet
|
|
||||||
- I2C
|
|
||||||
- Regulators
|
|
||||||
- Reset controller
|
|
||||||
- Clock controller
|
|
||||||
- USB Host
|
|
||||||
- ADC
|
|
||||||
|
|
||||||
U-Boot compilation
|
|
||||||
==================
|
|
||||||
|
|
||||||
> export CROSS_COMPILE=aarch64-none-elf-
|
|
||||||
> make khadas-vim_defconfig
|
|
||||||
> make
|
|
||||||
|
|
||||||
Image creation
|
|
||||||
==============
|
|
||||||
|
|
||||||
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:
|
|
||||||
|
|
||||||
> wget https://releases.linaro.org/archive/13.11/components/toolchain/binaries/gcc-linaro-aarch64-none-elf-4.8-2013.11_linux.tar.xz
|
|
||||||
> wget https://releases.linaro.org/archive/13.11/components/toolchain/binaries/gcc-linaro-arm-none-eabi-4.8-2013.11_linux.tar.xz
|
|
||||||
> tar xvfJ gcc-linaro-aarch64-none-elf-4.8-2013.11_linux.tar.xz
|
|
||||||
> tar xvfJ gcc-linaro-arm-none-eabi-4.8-2013.11_linux.tar.xz
|
|
||||||
> export PATH=$PWD/gcc-linaro-aarch64-none-elf-4.8-2013.11_linux/bin:$PWD/gcc-linaro-arm-none-eabi-4.8-2013.11_linux/bin:$PATH
|
|
||||||
> git clone https://github.com/khadas/u-boot -b Vim vim-u-boot
|
|
||||||
> cd vim-u-boot
|
|
||||||
> make kvim_defconfig
|
|
||||||
> make CROSS_COMPILE=aarch64-none-elf-
|
|
||||||
> export FIPDIR=$PWD/fip
|
|
||||||
|
|
||||||
Go back to mainline U-Boot source tree then :
|
|
||||||
> mkdir fip
|
|
||||||
|
|
||||||
> cp $FIPDIR/gxl/bl2.bin fip/
|
|
||||||
> cp $FIPDIR/gxl/acs.bin fip/
|
|
||||||
> cp $FIPDIR/gxl/bl21.bin fip/
|
|
||||||
> cp $FIPDIR/gxl/bl30.bin fip/
|
|
||||||
> cp $FIPDIR/gxl/bl301.bin fip/
|
|
||||||
> cp $FIPDIR/gxl/bl31.img fip/
|
|
||||||
> cp u-boot.bin fip/bl33.bin
|
|
||||||
|
|
||||||
> $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
|
|
||||||
|
|
||||||
> 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
|
|
||||||
|
|
||||||
> $FIPDIR/gxl/aml_encrypt_gxl --bl3enc --input fip/bl30_new.bin
|
|
||||||
> $FIPDIR/gxl/aml_encrypt_gxl --bl3enc --input fip/bl31.img
|
|
||||||
> $FIPDIR/gxl/aml_encrypt_gxl --bl3enc --input fip/bl33.bin
|
|
||||||
> $FIPDIR/gxl/aml_encrypt_gxl --bl2sig --input fip/bl2_new.bin --output fip/bl2.n.bin.sig
|
|
||||||
> $FIPDIR/gxl/aml_encrypt_gxl --bootmk \
|
|
||||||
--output fip/u-boot.bin \
|
|
||||||
--bl2 fip/bl2.n.bin.sig \
|
|
||||||
--bl30 fip/bl30_new.bin.enc \
|
|
||||||
--bl31 fip/bl31.img.enc \
|
|
||||||
--bl33 fip/bl33.bin.enc
|
|
||||||
|
|
||||||
and then write the image to SD with:
|
|
||||||
|
|
||||||
> 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
|
|
@ -1,102 +0,0 @@
|
|||||||
U-Boot for LibreTech AC
|
|
||||||
=======================
|
|
||||||
|
|
||||||
LibreTech AC is a single board computer manufactured by Libre Technology
|
|
||||||
with the following specifications:
|
|
||||||
|
|
||||||
- Amlogic S805X ARM Cortex-A53 quad-core SoC @ 1.2GHz
|
|
||||||
- ARM Mali 450 GPU
|
|
||||||
- 512MiB DDR4 SDRAM
|
|
||||||
- 10/100 Ethernet
|
|
||||||
- HDMI 2.0 4K/60Hz display
|
|
||||||
- 40-pin GPIO header
|
|
||||||
- 4 x USB 2.0 Host
|
|
||||||
- eMMC, SPI NOR Flash
|
|
||||||
- Infrared receiver
|
|
||||||
|
|
||||||
Schematics are available on the manufacturer website.
|
|
||||||
|
|
||||||
Currently the U-Boot port supports the following devices:
|
|
||||||
- serial
|
|
||||||
- eMMC
|
|
||||||
- Ethernet
|
|
||||||
- USB
|
|
||||||
|
|
||||||
U-Boot compilation
|
|
||||||
==================
|
|
||||||
|
|
||||||
> export CROSS_COMPILE=aarch64-none-elf-
|
|
||||||
> make libretech-ac_defconfig
|
|
||||||
> make
|
|
||||||
|
|
||||||
Image creation
|
|
||||||
==============
|
|
||||||
|
|
||||||
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:
|
|
||||||
|
|
||||||
> wget https://releases.linaro.org/archive/13.11/components/toolchain/binaries/gcc-linaro-aarch64-none-elf-4.8-2013.11_linux.tar.xz
|
|
||||||
> wget https://releases.linaro.org/archive/13.11/components/toolchain/binaries/gcc-linaro-arm-none-eabi-4.8-2013.11_linux.tar.xz
|
|
||||||
> tar xvfJ gcc-linaro-aarch64-none-elf-4.8-2013.11_linux.tar.xz
|
|
||||||
> tar xvfJ gcc-linaro-arm-none-eabi-4.8-2013.11_linux.tar.xz
|
|
||||||
> export PATH=$PWD/gcc-linaro-aarch64-none-elf-4.8-2013.11_linux/bin:$PWD/gcc-linaro-arm-none-eabi-4.8-2013.11_linux/bin:$PATH
|
|
||||||
> git clone https://github.com/BayLibre/u-boot.git -b libretech-ac amlogic-u-boot
|
|
||||||
> cd amlogic-u-boot
|
|
||||||
> wget https://raw.githubusercontent.com/BayLibre/u-boot/libretech-cc/fip/blx_fix.sh
|
|
||||||
> make libretech_ac_defconfig
|
|
||||||
> make
|
|
||||||
> export UBOOTDIR=$PWD
|
|
||||||
|
|
||||||
Download the latest Amlogic Buildroot package, and extract it :
|
|
||||||
> wget http://openlinux2.amlogic.com:8000/ARM/filesystem/Linux_BSP/buildroot_openlinux_kernel_4.9_fbdev_20180418.tar.gz
|
|
||||||
> tar xfz buildroot_openlinux_kernel_4.9_fbdev_20180418.tar.gz buildroot_openlinux_kernel_4.9_fbdev_20180418/bootloader
|
|
||||||
> export BRDIR=$PWD/buildroot_openlinux_kernel_4.9_fbdev_20180418
|
|
||||||
|
|
||||||
Go back to mainline U-Boot source tree then :
|
|
||||||
> mkdir fip
|
|
||||||
|
|
||||||
> cp $UBOOTDIR/build/scp_task/bl301.bin fip/
|
|
||||||
> cp $UBOOTDIR/build/board/amlogic/libretech_ac/firmware/bl21.bin fip/
|
|
||||||
> cp $UBOOTDIR/build/board/amlogic/libretech_ac/firmware/acs.bin fip/
|
|
||||||
> cp $BRDIR/bootloader/uboot-repo/bl2/bin/gxl/bl2.bin fip/
|
|
||||||
> cp $BRDIR/bootloader/uboot-repo/bl30/bin/gxl/bl30.bin fip/
|
|
||||||
> cp $BRDIR/bootloader/uboot-repo/bl31/bin/gxl/bl31.img fip/
|
|
||||||
> cp u-boot.bin fip/bl33.bin
|
|
||||||
|
|
||||||
> sh $UBOOTDIR/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
|
|
||||||
|
|
||||||
> $BRDIR/bootloader/uboot-repo/fip/acs_tool.pyc fip/bl2.bin fip/bl2_acs.bin fip/acs.bin 0
|
|
||||||
|
|
||||||
> sh $UBOOTDIR/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
|
|
||||||
|
|
||||||
> $BRDIR/bootloader/uboot-repo/fip/gxl/aml_encrypt_gxl --bl3enc --input fip/bl30_new.bin
|
|
||||||
> $BRDIR/bootloader/uboot-repo/fip/gxl/aml_encrypt_gxl --bl3enc --input fip/bl31.img
|
|
||||||
> $BRDIR/bootloader/uboot-repo/fip/gxl/aml_encrypt_gxl --bl3enc --input fip/bl33.bin
|
|
||||||
> $BRDIR/bootloader/uboot-repo/fip/gxl/aml_encrypt_gxl --bl2sig --input fip/bl2_new.bin --output fip/bl2.n.bin.sig
|
|
||||||
> $BRDIR/bootloader/uboot-repo/fip/gxl/aml_encrypt_gxl --bootmk \
|
|
||||||
--output fip/u-boot.bin \
|
|
||||||
--bl2 fip/bl2.n.bin.sig \
|
|
||||||
--bl30 fip/bl30_new.bin.enc \
|
|
||||||
--bl31 fip/bl31.img.enc \
|
|
||||||
--bl33 fip/bl33.bin.enc
|
|
||||||
|
|
||||||
and then write the image to SD with:
|
|
||||||
|
|
||||||
> 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
|
|
@ -1,134 +0,0 @@
|
|||||||
U-Boot for LibreTech CC
|
|
||||||
=======================
|
|
||||||
|
|
||||||
LibreTech CC is a single board computer manufactured by Libre Technology
|
|
||||||
with the following specifications:
|
|
||||||
|
|
||||||
- Amlogic S905X ARM Cortex-A53 quad-core SoC @ 1.5GHz
|
|
||||||
- ARM Mali 450 GPU
|
|
||||||
- 2GB DDR3 SDRAM
|
|
||||||
- 10/100 Ethernet
|
|
||||||
- HDMI 2.0 4K/60Hz display
|
|
||||||
- 40-pin GPIO header
|
|
||||||
- 4 x USB 2.0 Host
|
|
||||||
- eMMC, microSD
|
|
||||||
- Infrared receiver
|
|
||||||
|
|
||||||
Schematics are available on the manufacturer website.
|
|
||||||
|
|
||||||
Currently the U-Boot port supports the following devices:
|
|
||||||
- serial
|
|
||||||
- eMMC, microSD
|
|
||||||
- Ethernet
|
|
||||||
- I2C
|
|
||||||
- Regulators
|
|
||||||
- Reset controller
|
|
||||||
- Clock controller
|
|
||||||
- USB Host
|
|
||||||
- ADC
|
|
||||||
|
|
||||||
U-Boot compilation
|
|
||||||
==================
|
|
||||||
|
|
||||||
> export CROSS_COMPILE=aarch64-none-elf-
|
|
||||||
> make libretech-cc_defconfig
|
|
||||||
> make
|
|
||||||
|
|
||||||
Image creation
|
|
||||||
==============
|
|
||||||
|
|
||||||
To boot the system, u-boot must be combined with several earlier stage
|
|
||||||
bootloaders:
|
|
||||||
|
|
||||||
* bl2.bin: vendor-provided binary blob
|
|
||||||
* bl21.bin: built from vendor u-boot source
|
|
||||||
* bl30.bin: vendor-provided binary blob
|
|
||||||
* bl301.bin: built from vendor u-boot source
|
|
||||||
* bl31.bin: vendor-provided binary blob
|
|
||||||
* acs.bin: built from vendor u-boot source
|
|
||||||
|
|
||||||
These binaries and the tools required below have been collected and prebuilt
|
|
||||||
for convenience at <https://github.com/BayLibre/u-boot/releases/>
|
|
||||||
|
|
||||||
Download and extract the libretech-cc release from there, and set FIPDIR to
|
|
||||||
point to the `fip` subdirectory.
|
|
||||||
|
|
||||||
> export FIPDIR=/path/to/extracted/fip
|
|
||||||
|
|
||||||
Alternatively, you can obtain the original vendor u-boot tree which
|
|
||||||
contains the required blobs and sources, and build yourself.
|
|
||||||
Note that old compilers are required for this to build. The compilers here
|
|
||||||
are suggested by Amlogic, and they are 32-bit x86 binaries.
|
|
||||||
|
|
||||||
> wget https://releases.linaro.org/archive/13.11/components/toolchain/binaries/gcc-linaro-aarch64-none-elf-4.8-2013.11_linux.tar.xz
|
|
||||||
> wget https://releases.linaro.org/archive/13.11/components/toolchain/binaries/gcc-linaro-arm-none-eabi-4.8-2013.11_linux.tar.xz
|
|
||||||
> tar xvfJ gcc-linaro-aarch64-none-elf-4.8-2013.11_linux.tar.xz
|
|
||||||
> tar xvfJ gcc-linaro-arm-none-eabi-4.8-2013.11_linux.tar.xz
|
|
||||||
> export PATH=$PWD/gcc-linaro-aarch64-none-elf-4.8-2013.11_linux/bin:$PWD/gcc-linaro-arm-none-eabi-4.8-2013.11_linux/bin:$PATH
|
|
||||||
> git clone https://github.com/BayLibre/u-boot.git -b libretech-cc amlogic-u-boot
|
|
||||||
> cd amlogic-u-boot
|
|
||||||
> make libretech_cc_defconfig
|
|
||||||
> make
|
|
||||||
> export FIPDIR=$PWD/fip
|
|
||||||
|
|
||||||
Once you have the binaries available (either through the prebuilt download,
|
|
||||||
or having built the vendor u-boot yourself), you can then proceed to glue
|
|
||||||
everything together. Go back to mainline U-Boot source tree then :
|
|
||||||
|
|
||||||
> mkdir fip
|
|
||||||
|
|
||||||
> cp $FIPDIR/gxl/bl2.bin fip/
|
|
||||||
> cp $FIPDIR/gxl/acs.bin fip/
|
|
||||||
> cp $FIPDIR/gxl/bl21.bin fip/
|
|
||||||
> cp $FIPDIR/gxl/bl30.bin fip/
|
|
||||||
> cp $FIPDIR/gxl/bl301.bin fip/
|
|
||||||
> cp $FIPDIR/gxl/bl31.img fip/
|
|
||||||
> cp u-boot.bin fip/bl33.bin
|
|
||||||
|
|
||||||
> $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
|
|
||||||
|
|
||||||
> $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
|
|
||||||
|
|
||||||
> $FIPDIR/gxl/aml_encrypt_gxl --bl3enc --input fip/bl30_new.bin
|
|
||||||
> $FIPDIR/gxl/aml_encrypt_gxl --bl3enc --input fip/bl31.img
|
|
||||||
> $FIPDIR/gxl/aml_encrypt_gxl --bl3enc --input fip/bl33.bin
|
|
||||||
> $FIPDIR/gxl/aml_encrypt_gxl --bl2sig --input fip/bl2_new.bin --output fip/bl2.n.bin.sig
|
|
||||||
> $FIPDIR/gxl/aml_encrypt_gxl --bootmk \
|
|
||||||
--output fip/u-boot.bin \
|
|
||||||
--bl2 fip/bl2.n.bin.sig \
|
|
||||||
--bl30 fip/bl30_new.bin.enc \
|
|
||||||
--bl31 fip/bl31.img.enc \
|
|
||||||
--bl33 fip/bl33.bin.enc
|
|
||||||
|
|
||||||
and then write the image to SD with:
|
|
||||||
|
|
||||||
> 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
|
|
||||||
|
|
||||||
Note that Amlogic provides aml_encrypt_gxl as a 32-bit x86 binary with no
|
|
||||||
source code. Should you prefer to avoid that, there are open source reverse
|
|
||||||
engineered versions available:
|
|
||||||
|
|
||||||
1. gxlimg <https://github.com/repk/gxlimg>, which comes with a handy
|
|
||||||
Makefile that automates the whole process.
|
|
||||||
2. meson-tools <https://github.com/afaerber/meson-tools>
|
|
||||||
|
|
||||||
However, these community-developed alternatives are not endorsed by or
|
|
||||||
supported by Amlogic.
|
|
@ -1,102 +0,0 @@
|
|||||||
U-Boot for Amlogic P212
|
|
||||||
=======================
|
|
||||||
|
|
||||||
P212 is a reference board manufactured by Amlogic with the following
|
|
||||||
specifications:
|
|
||||||
|
|
||||||
- Amlogic S905X 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
|
|
||||||
- eMMC, microSD
|
|
||||||
- Infrared receiver
|
|
||||||
- SDIO WiFi Module
|
|
||||||
- CVBS+Stereo Audio Jack
|
|
||||||
|
|
||||||
Schematics are available from Amlogic on demand.
|
|
||||||
|
|
||||||
Currently the u-boot port supports the following devices:
|
|
||||||
- serial
|
|
||||||
- eMMC, microSD
|
|
||||||
- Ethernet
|
|
||||||
- I2C
|
|
||||||
- Regulators
|
|
||||||
- Reset controller
|
|
||||||
- Clock controller
|
|
||||||
- USB Host
|
|
||||||
- ADC
|
|
||||||
|
|
||||||
u-boot compilation
|
|
||||||
==================
|
|
||||||
|
|
||||||
> export CROSS_COMPILE=aarch64-none-elf-
|
|
||||||
> make p212_defconfig
|
|
||||||
> make
|
|
||||||
|
|
||||||
Image creation
|
|
||||||
==============
|
|
||||||
|
|
||||||
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:
|
|
||||||
|
|
||||||
> wget https://releases.linaro.org/archive/13.11/components/toolchain/binaries/gcc-linaro-aarch64-none-elf-4.8-2013.11_linux.tar.xz
|
|
||||||
> wget https://releases.linaro.org/archive/13.11/components/toolchain/binaries/gcc-linaro-arm-none-eabi-4.8-2013.11_linux.tar.xz
|
|
||||||
> tar xvfJ gcc-linaro-aarch64-none-elf-4.8-2013.11_linux.tar.xz
|
|
||||||
> tar xvfJ gcc-linaro-arm-none-eabi-4.8-2013.11_linux.tar.xz
|
|
||||||
> export PATH=$PWD/gcc-linaro-aarch64-none-elf-4.8-2013.11_linux/bin:$PWD/gcc-linaro-arm-none-eabi-4.8-2013.11_linux/bin:$PATH
|
|
||||||
> git clone https://github.com/BayLibre/u-boot.git -b n-amlogic-openlinux-20170606 amlogic-u-boot
|
|
||||||
> cd amlogic-u-boot
|
|
||||||
> make gxl_p212_v1_defconfig
|
|
||||||
> make
|
|
||||||
> export FIPDIR=$PWD/fip
|
|
||||||
|
|
||||||
Go back to mainline U-boot source tree then :
|
|
||||||
> mkdir fip
|
|
||||||
|
|
||||||
> cp $FIPDIR/gxl/bl2.bin fip/
|
|
||||||
> cp $FIPDIR/gxl/acs.bin fip/
|
|
||||||
> cp $FIPDIR/gxl/bl21.bin fip/
|
|
||||||
> cp $FIPDIR/gxl/bl30.bin fip/
|
|
||||||
> cp $FIPDIR/gxl/bl301.bin fip/
|
|
||||||
> cp $FIPDIR/gxl/bl31.img fip/
|
|
||||||
> cp u-boot.bin fip/bl33.bin
|
|
||||||
|
|
||||||
> $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
|
|
||||||
|
|
||||||
> $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
|
|
||||||
|
|
||||||
> $FIPDIR/gxl/aml_encrypt_gxl --bl3enc --input fip/bl30_new.bin
|
|
||||||
> $FIPDIR/gxl/aml_encrypt_gxl --bl3enc --input fip/bl31.img
|
|
||||||
> $FIPDIR/gxl/aml_encrypt_gxl --bl3enc --input fip/bl33.bin
|
|
||||||
> $FIPDIR/gxl/aml_encrypt_gxl --bl2sig --input fip/bl2_new.bin --output fip/bl2.n.bin.sig
|
|
||||||
> $FIPDIR/gxl/aml_encrypt_gxl --bootmk \
|
|
||||||
--output fip/u-boot.bin \
|
|
||||||
--bl2 fip/bl2.n.bin.sig \
|
|
||||||
--bl30 fip/bl30_new.bin.enc \
|
|
||||||
--bl31 fip/bl31.img.enc \
|
|
||||||
--bl33 fip/bl33.bin.enc
|
|
||||||
|
|
||||||
and then write the image to SD with:
|
|
||||||
|
|
||||||
> 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
|
|
@ -1,102 +0,0 @@
|
|||||||
U-Boot for Khadas VIM2
|
|
||||||
=======================
|
|
||||||
|
|
||||||
Khadas VIM2 is an Open Source DIY Box manufactured by Shenzhen Wesion
|
|
||||||
Technology Co., Ltd with the following specifications:
|
|
||||||
|
|
||||||
- Amlogic S912 ARM Cortex-A53 octo-core SoC @ 1.5GHz
|
|
||||||
- ARM Mali T860 GPU
|
|
||||||
- 2/3GB DDR4 SDRAM
|
|
||||||
- 10/100/1000 Ethernet
|
|
||||||
- HDMI 2.0 4K/60Hz display
|
|
||||||
- 40-pin GPIO header
|
|
||||||
- 2 x USB 2.0 Host, 1 x USB 2.0 Type-C OTG
|
|
||||||
- 16GB/32GB/64GB eMMC
|
|
||||||
- 2MB SPI Flash
|
|
||||||
- microSD
|
|
||||||
- SDIO Wifi Module, Bluetooth
|
|
||||||
- Two channels IR receiver
|
|
||||||
|
|
||||||
Currently the u-boot port supports the following devices:
|
|
||||||
- serial
|
|
||||||
- eMMC, microSD
|
|
||||||
- Ethernet
|
|
||||||
- I2C
|
|
||||||
- Regulators
|
|
||||||
- Reset controller
|
|
||||||
- Clock controller
|
|
||||||
- USB Host
|
|
||||||
- ADC
|
|
||||||
|
|
||||||
U-Boot compilation
|
|
||||||
==================
|
|
||||||
|
|
||||||
> export CROSS_COMPILE=aarch64-none-elf-
|
|
||||||
> make khadas-vim2_defconfig
|
|
||||||
> make
|
|
||||||
|
|
||||||
Image creation
|
|
||||||
==============
|
|
||||||
|
|
||||||
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:
|
|
||||||
|
|
||||||
> wget https://releases.linaro.org/archive/13.11/components/toolchain/binaries/gcc-linaro-aarch64-none-elf-4.8-2013.11_linux.tar.xz
|
|
||||||
> wget https://releases.linaro.org/archive/13.11/components/toolchain/binaries/gcc-linaro-arm-none-eabi-4.8-2013.11_linux.tar.xz
|
|
||||||
> tar xvfJ gcc-linaro-aarch64-none-elf-4.8-2013.11_linux.tar.xz
|
|
||||||
> tar xvfJ gcc-linaro-arm-none-eabi-4.8-2013.11_linux.tar.xz
|
|
||||||
> export PATH=$PWD/gcc-linaro-aarch64-none-elf-4.8-2013.11_linux/bin:$PWD/gcc-linaro-arm-none-eabi-4.8-2013.11_linux/bin:$PATH
|
|
||||||
> git clone https://github.com/khadas/u-boot -b khadas-vim-v2015.01 vim-u-boot
|
|
||||||
> cd vim-u-boot
|
|
||||||
> make kvim2_defconfig
|
|
||||||
> make
|
|
||||||
> export FIPDIR=$PWD/fip
|
|
||||||
|
|
||||||
Go back to mainline U-Boot source tree then :
|
|
||||||
> mkdir fip
|
|
||||||
|
|
||||||
> cp $FIPDIR/gxl/bl2.bin fip/
|
|
||||||
> cp $FIPDIR/gxl/acs.bin fip/
|
|
||||||
> cp $FIPDIR/gxl/bl21.bin fip/
|
|
||||||
> cp $FIPDIR/gxl/bl30.bin fip/
|
|
||||||
> cp $FIPDIR/gxl/bl301.bin fip/
|
|
||||||
> cp $FIPDIR/gxl/bl31.img fip/
|
|
||||||
> cp u-boot.bin fip/bl33.bin
|
|
||||||
|
|
||||||
> $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
|
|
||||||
|
|
||||||
> 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
|
|
||||||
|
|
||||||
> $FIPDIR/gxl/aml_encrypt_gxl --bl3enc --input fip/bl30_new.bin
|
|
||||||
> $FIPDIR/gxl/aml_encrypt_gxl --bl3enc --input fip/bl31.img
|
|
||||||
> $FIPDIR/gxl/aml_encrypt_gxl --bl3enc --input fip/bl33.bin
|
|
||||||
> $FIPDIR/gxl/aml_encrypt_gxl --bl2sig --input fip/bl2_new.bin --output fip/bl2.n.bin.sig
|
|
||||||
> $FIPDIR/gxl/aml_encrypt_gxl --bootmk \
|
|
||||||
--output fip/u-boot.bin \
|
|
||||||
--bl2 fip/bl2.n.bin.sig \
|
|
||||||
--bl30 fip/bl30_new.bin.enc \
|
|
||||||
--bl31 fip/bl31.img.enc \
|
|
||||||
--bl33 fip/bl33.bin.enc
|
|
||||||
|
|
||||||
and then write the image to SD with:
|
|
||||||
|
|
||||||
> 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
|
|
@ -1,101 +0,0 @@
|
|||||||
U-Boot for Amlogic Q200
|
|
||||||
=======================
|
|
||||||
|
|
||||||
Q200 is a reference board manufactured by Amlogic with the following
|
|
||||||
specifications:
|
|
||||||
|
|
||||||
- Amlogic S912 ARM Cortex-A53 octo-core SoC @ 1.5GHz
|
|
||||||
- ARM Mali T860 GPU
|
|
||||||
- 2/3GB DDR4 SDRAM
|
|
||||||
- 10/100/1000 Ethernet
|
|
||||||
- HDMI 2.0 4K/60Hz display
|
|
||||||
- 2 x USB 2.0 Host, 1 x USB 2.0 Device
|
|
||||||
- 16GB/32GB/64GB eMMC
|
|
||||||
- 2MB SPI Flash
|
|
||||||
- microSD
|
|
||||||
- SDIO Wifi Module, Bluetooth
|
|
||||||
- IR receiver
|
|
||||||
|
|
||||||
Currently the u-boot port supports the following devices:
|
|
||||||
- serial
|
|
||||||
- eMMC, microSD
|
|
||||||
- Ethernet
|
|
||||||
- I2C
|
|
||||||
- Regulators
|
|
||||||
- Reset controller
|
|
||||||
- Clock controller
|
|
||||||
- USB Host
|
|
||||||
- ADC
|
|
||||||
|
|
||||||
U-Boot compilation
|
|
||||||
==================
|
|
||||||
|
|
||||||
> export CROSS_COMPILE=aarch64-none-elf-
|
|
||||||
> make khadas-vim2_defconfig
|
|
||||||
> make
|
|
||||||
|
|
||||||
Image creation
|
|
||||||
==============
|
|
||||||
|
|
||||||
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:
|
|
||||||
|
|
||||||
> wget https://releases.linaro.org/archive/13.11/components/toolchain/binaries/gcc-linaro-aarch64-none-elf-4.8-2013.11_linux.tar.xz
|
|
||||||
> wget https://releases.linaro.org/archive/13.11/components/toolchain/binaries/gcc-linaro-arm-none-eabi-4.8-2013.11_linux.tar.xz
|
|
||||||
> tar xvfJ gcc-linaro-aarch64-none-elf-4.8-2013.11_linux.tar.xz
|
|
||||||
> tar xvfJ gcc-linaro-arm-none-eabi-4.8-2013.11_linux.tar.xz
|
|
||||||
> export PATH=$PWD/gcc-linaro-aarch64-none-elf-4.8-2013.11_linux/bin:$PWD/gcc-linaro-arm-none-eabi-4.8-2013.11_linux/bin:$PATH
|
|
||||||
> git clone https://github.com/BayLibre/u-boot.git -b n-amlogic-openlinux-20170606 amlogic-u-boot
|
|
||||||
> cd amlogic-u-boot
|
|
||||||
> make gxm_q200_v1_defconfig
|
|
||||||
> make
|
|
||||||
> export FIPDIR=$PWD/fip
|
|
||||||
|
|
||||||
Go back to mainline U-Boot source tree then :
|
|
||||||
> mkdir fip
|
|
||||||
|
|
||||||
> cp $FIPDIR/gxl/bl2.bin fip/
|
|
||||||
> cp $FIPDIR/gxl/acs.bin fip/
|
|
||||||
> cp $FIPDIR/gxl/bl21.bin fip/
|
|
||||||
> cp $FIPDIR/gxl/bl30.bin fip/
|
|
||||||
> cp $FIPDIR/gxl/bl301.bin fip/
|
|
||||||
> cp $FIPDIR/gxl/bl31.img fip/
|
|
||||||
> cp u-boot.bin fip/bl33.bin
|
|
||||||
|
|
||||||
> $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
|
|
||||||
|
|
||||||
> 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
|
|
||||||
|
|
||||||
> $FIPDIR/gxl/aml_encrypt_gxl --bl3enc --input fip/bl30_new.bin
|
|
||||||
> $FIPDIR/gxl/aml_encrypt_gxl --bl3enc --input fip/bl31.img
|
|
||||||
> $FIPDIR/gxl/aml_encrypt_gxl --bl3enc --input fip/bl33.bin
|
|
||||||
> $FIPDIR/gxl/aml_encrypt_gxl --bl2sig --input fip/bl2_new.bin --output fip/bl2.n.bin.sig
|
|
||||||
> $FIPDIR/gxl/aml_encrypt_gxl --bootmk \
|
|
||||||
--output fip/u-boot.bin \
|
|
||||||
--bl2 fip/bl2.n.bin.sig \
|
|
||||||
--bl30 fip/bl30_new.bin.enc \
|
|
||||||
--bl31 fip/bl31.img.enc \
|
|
||||||
--bl33 fip/bl33.bin.enc
|
|
||||||
|
|
||||||
and then write the image to SD with:
|
|
||||||
|
|
||||||
> 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
|
|
@ -1,109 +0,0 @@
|
|||||||
U-Boot for Amlogic S400
|
|
||||||
=======================
|
|
||||||
|
|
||||||
S400 is a reference board manufactured by Amlogic with the following
|
|
||||||
specifications:
|
|
||||||
|
|
||||||
- Amlogic A113DX ARM Cortex-A53 quad-core SoC @ 1.2GHz
|
|
||||||
- 1GB DDR4 SDRAM
|
|
||||||
- 10/100 Ethernet
|
|
||||||
- 2 x USB 2.0 Host
|
|
||||||
- eMMC
|
|
||||||
- Infrared receiver
|
|
||||||
- SDIO WiFi Module
|
|
||||||
- MIPI DSI Connector
|
|
||||||
- Audio HAT Connector
|
|
||||||
- PCI-E M.2 Connectors
|
|
||||||
|
|
||||||
Schematics are available from Amlogic on demand.
|
|
||||||
|
|
||||||
Currently the u-boot port supports the following devices:
|
|
||||||
- serial
|
|
||||||
- eMMC
|
|
||||||
- Ethernet
|
|
||||||
- I2C
|
|
||||||
- Regulators
|
|
||||||
- Reset controller
|
|
||||||
- Clock controller
|
|
||||||
- USB Host
|
|
||||||
- ADC
|
|
||||||
|
|
||||||
u-boot compilation
|
|
||||||
==================
|
|
||||||
|
|
||||||
> export CROSS_COMPILE=aarch64-none-elf-
|
|
||||||
> make s400_defconfig
|
|
||||||
> make
|
|
||||||
|
|
||||||
Image creation
|
|
||||||
==============
|
|
||||||
|
|
||||||
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:
|
|
||||||
|
|
||||||
> wget https://releases.linaro.org/archive/13.11/components/toolchain/binaries/gcc-linaro-aarch64-none-elf-4.8-2013.11_linux.tar.xz
|
|
||||||
> wget https://releases.linaro.org/archive/13.11/components/toolchain/binaries/gcc-linaro-arm-none-eabi-4.8-2013.11_linux.tar.xz
|
|
||||||
> tar xvfJ gcc-linaro-aarch64-none-elf-4.8-2013.11_linux.tar.xz
|
|
||||||
> tar xvfJ gcc-linaro-arm-none-eabi-4.8-2013.11_linux.tar.xz
|
|
||||||
> export PATH=$PWD/gcc-linaro-aarch64-none-elf-4.8-2013.11_linux/bin:$PWD/gcc-linaro-arm-none-eabi-4.8-2013.11_linux/bin:$PATH
|
|
||||||
> git clone https://github.com/BayLibre/u-boot.git -b n-amlogic-openlinux-20170606 amlogic-u-boot
|
|
||||||
> cd amlogic-u-boot
|
|
||||||
> make axg_s400_v1_defconfig
|
|
||||||
> make
|
|
||||||
> export FIPDIR=$PWD/fip
|
|
||||||
|
|
||||||
Go back to mainline U-boot source tree then :
|
|
||||||
> mkdir fip
|
|
||||||
|
|
||||||
> cp $FIPDIR/axg/bl2.bin fip/
|
|
||||||
> cp $FIPDIR/axg/acs.bin fip/
|
|
||||||
> cp $FIPDIR/axg/bl21.bin fip/
|
|
||||||
> cp $FIPDIR/axg/bl30.bin fip/
|
|
||||||
> cp $FIPDIR/axg/bl301.bin fip/
|
|
||||||
> cp $FIPDIR/axg/bl31.img fip/
|
|
||||||
> cp u-boot.bin fip/bl33.bin
|
|
||||||
|
|
||||||
> $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
|
|
||||||
|
|
||||||
> $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
|
|
||||||
|
|
||||||
> $FIPDIR/axg/aml_encrypt_axg --bl3sig --input fip/bl30_new.bin \
|
|
||||||
--output fip/bl30_new.bin.enc \
|
|
||||||
--level v3 --type bl30
|
|
||||||
> $FIPDIR/axg/aml_encrypt_axg --bl3sig --input fip/bl31.img \
|
|
||||||
--output fip/bl31.img.enc \
|
|
||||||
--level v3 --type bl31
|
|
||||||
> $FIPDIR/axg/aml_encrypt_axg --bl3sig --input fip/bl33.bin --compress lz4 \
|
|
||||||
--output fip/bl33.bin.enc \
|
|
||||||
--level v3 --type bl33
|
|
||||||
> $FIPDIR/axg/aml_encrypt_axg --bl2sig --input fip/bl2_new.bin \
|
|
||||||
--output fip/bl2.n.bin.sig
|
|
||||||
> $FIPDIR/axg/aml_encrypt_axg --bootmk \
|
|
||||||
--output fip/u-boot.bin \
|
|
||||||
--bl2 fip/bl2.n.bin.sig \
|
|
||||||
--bl30 fip/bl30_new.bin.enc \
|
|
||||||
--bl31 fip/bl31.img.enc \
|
|
||||||
--bl33 fip/bl33.bin.enc --level v3
|
|
||||||
|
|
||||||
and then write the image to SD with:
|
|
||||||
|
|
||||||
> 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
|
|
@ -1,122 +0,0 @@
|
|||||||
U-Boot for Amlogic SEI510
|
|
||||||
=======================
|
|
||||||
|
|
||||||
SEI510 is a customer board manufactured by SEI Robotics with the following
|
|
||||||
specifications:
|
|
||||||
|
|
||||||
- Amlogic S905X2 ARM Cortex-A53 quad-core SoC
|
|
||||||
- 2GB DDR4 SDRAM
|
|
||||||
- 10/100 Ethernet (Internal PHY)
|
|
||||||
- 1 x USB 3.0 Host
|
|
||||||
- eMMC
|
|
||||||
- SDcard
|
|
||||||
- Infrared receiver
|
|
||||||
- SDIO WiFi Module
|
|
||||||
|
|
||||||
Currently the u-boot port supports the following devices:
|
|
||||||
- serial
|
|
||||||
- Ethernet
|
|
||||||
- Regulators
|
|
||||||
- Clock controller
|
|
||||||
|
|
||||||
u-boot compilation
|
|
||||||
==================
|
|
||||||
|
|
||||||
> export CROSS_COMPILE=aarch64-none-elf-
|
|
||||||
> make sei510_defconfig
|
|
||||||
> make
|
|
||||||
|
|
||||||
Image creation
|
|
||||||
==============
|
|
||||||
|
|
||||||
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:
|
|
||||||
|
|
||||||
> wget https://releases.linaro.org/archive/13.11/components/toolchain/binaries/gcc-linaro-aarch64-none-elf-4.8-2013.11_linux.tar.xz
|
|
||||||
> wget https://releases.linaro.org/archive/13.11/components/toolchain/binaries/gcc-linaro-arm-none-eabi-4.8-2013.11_linux.tar.xz
|
|
||||||
> tar xvfJ gcc-linaro-aarch64-none-elf-4.8-2013.11_linux.tar.xz
|
|
||||||
> tar xvfJ gcc-linaro-arm-none-eabi-4.8-2013.11_linux.tar.xz
|
|
||||||
> export PATH=$PWD/gcc-linaro-aarch64-none-elf-4.8-2013.11_linux/bin:$PWD/gcc-linaro-arm-none-eabi-4.8-2013.11_linux/bin:$PATH
|
|
||||||
> git clone https://github.com/BayLibre/u-boot.git -b buildroot-openlinux-20180418 amlogic-u-boot
|
|
||||||
> cd amlogic-u-boot
|
|
||||||
> make g12a_u200_v1_defconfig
|
|
||||||
> make
|
|
||||||
> export UBOOTDIR=$PWD
|
|
||||||
|
|
||||||
Download the latest Amlogic Buildroot package, and extract it :
|
|
||||||
> wget http://openlinux2.amlogic.com:8000/ARM/filesystem/Linux_BSP/buildroot_openlinux_kernel_4.9_fbdev_20180706.tar.gz
|
|
||||||
> tar xfz buildroot_openlinux_kernel_4.9_fbdev_20180706.tar.gz buildroot_openlinux_kernel_4.9_fbdev_20180706/bootloader
|
|
||||||
> export BRDIR=$PWD/buildroot_openlinux_kernel_4.9_fbdev_20180706
|
|
||||||
> export FIPDIR=$BRDIR/bootloader/uboot-repo/fip
|
|
||||||
|
|
||||||
Go back to mainline U-Boot source tree then :
|
|
||||||
> mkdir fip
|
|
||||||
|
|
||||||
> wget https://github.com/BayLibre/u-boot/releases/download/v2017.11-libretech-cc/blx_fix_g12a.sh -O fip/blx_fix.sh
|
|
||||||
> cp $UBOOTDIR/build/scp_task/bl301.bin fip/
|
|
||||||
> cp $UBOOTDIR/build/board/amlogic/g12a_u200_v1/firmware/acs.bin fip/
|
|
||||||
> cp $BRDIR/bootloader/uboot-repo/bl2/bin/g12a/bl2.bin fip/
|
|
||||||
> cp $BRDIR/bootloader/uboot-repo/bl30/bin/g12a/bl30.bin fip/
|
|
||||||
> cp $BRDIR/bootloader/uboot-repo/bl31_1.3/bin/g12a/bl31.img fip/
|
|
||||||
> cp $FIPDIR/g12a/ddr3_1d.fw fip/
|
|
||||||
> cp $FIPDIR/g12a/ddr4_1d.fw fip/
|
|
||||||
> cp $FIPDIR/g12a/ddr4_2d.fw fip/
|
|
||||||
> cp $FIPDIR/g12a/diag_lpddr4.fw fip/
|
|
||||||
> cp $FIPDIR/g12a/lpddr4_1d.fw fip/
|
|
||||||
> cp $FIPDIR/g12a/lpddr4_2d.fw fip/
|
|
||||||
> cp $FIPDIR/g12a/piei.fw fip/
|
|
||||||
> cp u-boot.bin fip/bl33.bin
|
|
||||||
|
|
||||||
> sh fip/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
|
|
||||||
|
|
||||||
> sh fip/blx_fix.sh \
|
|
||||||
fip/bl2.bin \
|
|
||||||
fip/zero_tmp \
|
|
||||||
fip/bl2_zero.bin \
|
|
||||||
fip/acs.bin \
|
|
||||||
fip/bl21_zero.bin \
|
|
||||||
fip/bl2_new.bin \
|
|
||||||
bl2
|
|
||||||
|
|
||||||
> $FIPDIR/g12a/aml_encrypt_g12a --bl30sig --input fip/bl30_new.bin \
|
|
||||||
--output fip/bl30_new.bin.g12a.enc \
|
|
||||||
--level v3
|
|
||||||
> $FIPDIR/g12a/aml_encrypt_g12a --bl3sig --input fip/bl30_new.bin.g12a.enc \
|
|
||||||
--output fip/bl30_new.bin.enc \
|
|
||||||
--level v3 --type bl30
|
|
||||||
> $FIPDIR/g12a/aml_encrypt_g12a --bl3sig --input fip/bl31.img \
|
|
||||||
--output fip/bl31.img.enc \
|
|
||||||
--level v3 --type bl31
|
|
||||||
> $FIPDIR/g12a/aml_encrypt_g12a --bl3sig --input fip/bl33.bin --compress lz4 \
|
|
||||||
--output fip/bl33.bin.enc \
|
|
||||||
--level v3 --type bl33
|
|
||||||
> $FIPDIR/g12a/aml_encrypt_g12a --bl2sig --input fip/bl2_new.bin \
|
|
||||||
--output fip/bl2.n.bin.sig
|
|
||||||
> $FIPDIR/g12a/aml_encrypt_g12a --bootmk \
|
|
||||||
--output fip/u-boot.bin \
|
|
||||||
--bl2 fip/bl2.n.bin.sig \
|
|
||||||
--bl30 fip/bl30_new.bin.enc \
|
|
||||||
--bl31 fip/bl31.img.enc \
|
|
||||||
--bl33 fip/bl33.bin.enc \
|
|
||||||
--ddrfw1 fip/ddr4_1d.fw \
|
|
||||||
--ddrfw2 fip/ddr4_2d.fw \
|
|
||||||
--ddrfw3 fip/ddr3_1d.fw \
|
|
||||||
--ddrfw4 fip/piei.fw \
|
|
||||||
--ddrfw5 fip/lpddr4_1d.fw \
|
|
||||||
--ddrfw6 fip/lpddr4_2d.fw \
|
|
||||||
--ddrfw7 fip/diag_lpddr4.fw \
|
|
||||||
--level v3
|
|
||||||
|
|
||||||
and then write the image to SD with:
|
|
||||||
|
|
||||||
> 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
|
|
@ -1,118 +0,0 @@
|
|||||||
U-Boot for Amlogic SEI610
|
|
||||||
=========================
|
|
||||||
|
|
||||||
SEI610 is a customer board manufactured by SEI Robotics with the following
|
|
||||||
specifications:
|
|
||||||
|
|
||||||
- Amlogic S905X3 ARM Cortex-A55 quad-core SoC
|
|
||||||
- 2GB DDR4 SDRAM
|
|
||||||
- 10/100 Ethernet (Internal PHY)
|
|
||||||
- 1 x USB 3.0 Host
|
|
||||||
- 1 x USB Type-C DRD
|
|
||||||
- 1 x FTDI USB Serial Debug Interface
|
|
||||||
- eMMC
|
|
||||||
- SDcard
|
|
||||||
- Infrared receiver
|
|
||||||
- SDIO WiFi Module
|
|
||||||
|
|
||||||
u-boot compilation
|
|
||||||
==================
|
|
||||||
|
|
||||||
> export CROSS_COMPILE=aarch64-none-elf-
|
|
||||||
> make sei610_defconfig
|
|
||||||
> make
|
|
||||||
|
|
||||||
Image creation
|
|
||||||
==============
|
|
||||||
|
|
||||||
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:
|
|
||||||
|
|
||||||
> wget https://releases.linaro.org/archive/13.11/components/toolchain/binaries/gcc-linaro-aarch64-none-elf-4.8-2013.11_linux.tar.xz
|
|
||||||
> wget https://releases.linaro.org/archive/13.11/components/toolchain/binaries/gcc-linaro-arm-none-eabi-4.8-2013.11_linux.tar.xz
|
|
||||||
> tar xvfJ gcc-linaro-aarch64-none-elf-4.8-2013.11_linux.tar.xz
|
|
||||||
> tar xvfJ gcc-linaro-arm-none-eabi-4.8-2013.11_linux.tar.xz
|
|
||||||
> export PATH=$PWD/gcc-linaro-aarch64-none-elf-4.8-2013.11_linux/bin:$PWD/gcc-linaro-arm-none-eabi-4.8-2013.11_linux/bin:$PATH
|
|
||||||
> git clone https://github.com/BayLibre/u-boot.git -b buildroot-openlinux-4.9-g12a-201904 amlogic-u-boot
|
|
||||||
> cd amlogic-u-boot
|
|
||||||
> make sm1_ac200_v1_defconfig
|
|
||||||
> make
|
|
||||||
> export UBOOTDIR=$PWD
|
|
||||||
|
|
||||||
Download the latest Amlogic Buildroot package, and extract it :
|
|
||||||
> wget http://openlinux2.amlogic.com:8000/ARM/filesystem/buildroot-openlinux-A113-201901.tgz
|
|
||||||
> tar xfz buildroot-openlinux-A113-201901.tgz buildroot-openlinux-A113-201901/bootloader
|
|
||||||
> export BRDIR=$PWD/buildroot-openlinux-A113-201901
|
|
||||||
> export FIPDIR=$BRDIR/bootloader/uboot-repo/fip
|
|
||||||
|
|
||||||
Go back to mainline U-Boot source tree then :
|
|
||||||
> mkdir fip
|
|
||||||
|
|
||||||
> wget https://github.com/BayLibre/u-boot/releases/download/v2017.11-libretech-cc/blx_fix_g12a.sh -O fip/blx_fix.sh
|
|
||||||
> cp $UBOOTDIR/build/scp_task/bl301.bin fip/
|
|
||||||
> cp $UBOOTDIR/build/board/amlogic/g12a_u200_v1/firmware/acs.bin fip/
|
|
||||||
> cp $BRDIR/bootloader/uboot-repo/bl2/bin/g12a/bl2.bin fip/
|
|
||||||
> cp $BRDIR/bootloader/uboot-repo/bl30/bin/g12a/bl30.bin fip/
|
|
||||||
> cp $BRDIR/bootloader/uboot-repo/bl31_1.3/bin/g12a/bl31.img fip/
|
|
||||||
> cp $FIPDIR/g12a/ddr3_1d.fw fip/
|
|
||||||
> cp $FIPDIR/g12a/ddr4_1d.fw fip/
|
|
||||||
> cp $FIPDIR/g12a/ddr4_2d.fw fip/
|
|
||||||
> cp $FIPDIR/g12a/diag_lpddr4.fw fip/
|
|
||||||
> cp $FIPDIR/g12a/lpddr4_1d.fw fip/
|
|
||||||
> cp $FIPDIR/g12a/lpddr4_2d.fw fip/
|
|
||||||
> cp $FIPDIR/g12a/piei.fw fip/
|
|
||||||
> cp u-boot.bin fip/bl33.bin
|
|
||||||
|
|
||||||
> sh fip/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
|
|
||||||
|
|
||||||
> sh fip/blx_fix.sh \
|
|
||||||
fip/bl2.bin \
|
|
||||||
fip/zero_tmp \
|
|
||||||
fip/bl2_zero.bin \
|
|
||||||
fip/acs.bin \
|
|
||||||
fip/bl21_zero.bin \
|
|
||||||
fip/bl2_new.bin \
|
|
||||||
bl2
|
|
||||||
|
|
||||||
> $FIPDIR/g12a/aml_encrypt_g12a --bl30sig --input fip/bl30_new.bin \
|
|
||||||
--output fip/bl30_new.bin.g12a.enc \
|
|
||||||
--level v3
|
|
||||||
> $FIPDIR/g12a/aml_encrypt_g12a --bl3sig --input fip/bl30_new.bin.g12a.enc \
|
|
||||||
--output fip/bl30_new.bin.enc \
|
|
||||||
--level v3 --type bl30
|
|
||||||
> $FIPDIR/g12a/aml_encrypt_g12a --bl3sig --input fip/bl31.img \
|
|
||||||
--output fip/bl31.img.enc \
|
|
||||||
--level v3 --type bl31
|
|
||||||
> $FIPDIR/g12a/aml_encrypt_g12a --bl3sig --input fip/bl33.bin --compress lz4 \
|
|
||||||
--output fip/bl33.bin.enc \
|
|
||||||
--level v3 --type bl33
|
|
||||||
> $FIPDIR/g12a/aml_encrypt_g12a --bl2sig --input fip/bl2_new.bin \
|
|
||||||
--output fip/bl2.n.bin.sig
|
|
||||||
> $FIPDIR/g12a/aml_encrypt_g12a --bootmk \
|
|
||||||
--output fip/u-boot.bin \
|
|
||||||
--bl2 fip/bl2.n.bin.sig \
|
|
||||||
--bl30 fip/bl30_new.bin.enc \
|
|
||||||
--bl31 fip/bl31.img.enc \
|
|
||||||
--bl33 fip/bl33.bin.enc \
|
|
||||||
--ddrfw1 fip/ddr4_1d.fw \
|
|
||||||
--ddrfw2 fip/ddr4_2d.fw \
|
|
||||||
--ddrfw3 fip/ddr3_1d.fw \
|
|
||||||
--ddrfw4 fip/piei.fw \
|
|
||||||
--ddrfw5 fip/lpddr4_1d.fw \
|
|
||||||
--ddrfw6 fip/lpddr4_2d.fw \
|
|
||||||
--ddrfw7 fip/diag_lpddr4.fw \
|
|
||||||
--level v3
|
|
||||||
|
|
||||||
and then write the image to SD with:
|
|
||||||
|
|
||||||
> 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
|
|
@ -1,127 +0,0 @@
|
|||||||
U-Boot for Amlogic U200
|
|
||||||
=======================
|
|
||||||
|
|
||||||
U200 is a reference board manufactured by Amlogic with the following
|
|
||||||
specifications:
|
|
||||||
|
|
||||||
- Amlogic S905D2 ARM Cortex-A53 quad-core SoC
|
|
||||||
- 2GB DDR4 SDRAM
|
|
||||||
- 10/100 Ethernet (Internal PHY)
|
|
||||||
- 1 x USB 3.0 Host
|
|
||||||
- eMMC
|
|
||||||
- SDcard
|
|
||||||
- Infrared receiver
|
|
||||||
- SDIO WiFi Module
|
|
||||||
- MIPI DSI Connector
|
|
||||||
- Audio HAT Connector
|
|
||||||
- PCI-E M.2 Connector
|
|
||||||
|
|
||||||
Schematics are available from Amlogic on demand.
|
|
||||||
|
|
||||||
Currently the u-boot port supports the following devices:
|
|
||||||
- serial
|
|
||||||
- Ethernet
|
|
||||||
- Regulators
|
|
||||||
- Clock controller
|
|
||||||
|
|
||||||
u-boot compilation
|
|
||||||
==================
|
|
||||||
|
|
||||||
> export CROSS_COMPILE=aarch64-none-elf-
|
|
||||||
> make u200_defconfig
|
|
||||||
> make
|
|
||||||
|
|
||||||
Image creation
|
|
||||||
==============
|
|
||||||
|
|
||||||
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:
|
|
||||||
|
|
||||||
> wget https://releases.linaro.org/archive/13.11/components/toolchain/binaries/gcc-linaro-aarch64-none-elf-4.8-2013.11_linux.tar.xz
|
|
||||||
> wget https://releases.linaro.org/archive/13.11/components/toolchain/binaries/gcc-linaro-arm-none-eabi-4.8-2013.11_linux.tar.xz
|
|
||||||
> tar xvfJ gcc-linaro-aarch64-none-elf-4.8-2013.11_linux.tar.xz
|
|
||||||
> tar xvfJ gcc-linaro-arm-none-eabi-4.8-2013.11_linux.tar.xz
|
|
||||||
> export PATH=$PWD/gcc-linaro-aarch64-none-elf-4.8-2013.11_linux/bin:$PWD/gcc-linaro-arm-none-eabi-4.8-2013.11_linux/bin:$PATH
|
|
||||||
> git clone https://github.com/BayLibre/u-boot.git -b buildroot-openlinux-20180418 amlogic-u-boot
|
|
||||||
> cd amlogic-u-boot
|
|
||||||
> make g12a_u200_v1_defconfig
|
|
||||||
> make
|
|
||||||
> export UBOOTDIR=$PWD
|
|
||||||
|
|
||||||
Download the latest Amlogic Buildroot package, and extract it :
|
|
||||||
> wget http://openlinux2.amlogic.com:8000/ARM/filesystem/Linux_BSP/buildroot_openlinux_kernel_4.9_fbdev_20180706.tar.gz
|
|
||||||
> tar xfz buildroot_openlinux_kernel_4.9_fbdev_20180706.tar.gz buildroot_openlinux_kernel_4.9_fbdev_20180706/bootloader
|
|
||||||
> export BRDIR=$PWD/buildroot_openlinux_kernel_4.9_fbdev_20180706
|
|
||||||
> export FIPDIR=$BRDIR/bootloader/uboot-repo/fip
|
|
||||||
|
|
||||||
Go back to mainline U-Boot source tree then :
|
|
||||||
> mkdir fip
|
|
||||||
|
|
||||||
> wget https://github.com/BayLibre/u-boot/releases/download/v2017.11-libretech-cc/blx_fix_g12a.sh -O fip/blx_fix.sh
|
|
||||||
> cp $UBOOTDIR/build/scp_task/bl301.bin fip/
|
|
||||||
> cp $UBOOTDIR/build/board/amlogic/g12a_u200_v1/firmware/acs.bin fip/
|
|
||||||
> cp $BRDIR/bootloader/uboot-repo/bl2/bin/g12a/bl2.bin fip/
|
|
||||||
> cp $BRDIR/bootloader/uboot-repo/bl30/bin/g12a/bl30.bin fip/
|
|
||||||
> cp $BRDIR/bootloader/uboot-repo/bl31_1.3/bin/g12a/bl31.img fip/
|
|
||||||
> cp $FIPDIR/g12a/ddr3_1d.fw fip/
|
|
||||||
> cp $FIPDIR/g12a/ddr4_1d.fw fip/
|
|
||||||
> cp $FIPDIR/g12a/ddr4_2d.fw fip/
|
|
||||||
> cp $FIPDIR/g12a/diag_lpddr4.fw fip/
|
|
||||||
> cp $FIPDIR/g12a/lpddr4_1d.fw fip/
|
|
||||||
> cp $FIPDIR/g12a/lpddr4_2d.fw fip/
|
|
||||||
> cp $FIPDIR/g12a/piei.fw fip/
|
|
||||||
> cp u-boot.bin fip/bl33.bin
|
|
||||||
|
|
||||||
> sh fip/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
|
|
||||||
|
|
||||||
> sh fip/blx_fix.sh \
|
|
||||||
fip/bl2.bin \
|
|
||||||
fip/zero_tmp \
|
|
||||||
fip/bl2_zero.bin \
|
|
||||||
fip/acs.bin \
|
|
||||||
fip/bl21_zero.bin \
|
|
||||||
fip/bl2_new.bin \
|
|
||||||
bl2
|
|
||||||
|
|
||||||
> $FIPDIR/g12a/aml_encrypt_g12a --bl30sig --input fip/bl30_new.bin \
|
|
||||||
--output fip/bl30_new.bin.g12a.enc \
|
|
||||||
--level v3
|
|
||||||
> $FIPDIR/g12a/aml_encrypt_g12a --bl3sig --input fip/bl30_new.bin.g12a.enc \
|
|
||||||
--output fip/bl30_new.bin.enc \
|
|
||||||
--level v3 --type bl30
|
|
||||||
> $FIPDIR/g12a/aml_encrypt_g12a --bl3sig --input fip/bl31.img \
|
|
||||||
--output fip/bl31.img.enc \
|
|
||||||
--level v3 --type bl31
|
|
||||||
> $FIPDIR/g12a/aml_encrypt_g12a --bl3sig --input fip/bl33.bin --compress lz4 \
|
|
||||||
--output fip/bl33.bin.enc \
|
|
||||||
--level v3 --type bl33
|
|
||||||
> $FIPDIR/g12a/aml_encrypt_g12a --bl2sig --input fip/bl2_new.bin \
|
|
||||||
--output fip/bl2.n.bin.sig
|
|
||||||
> $FIPDIR/g12a/aml_encrypt_g12a --bootmk \
|
|
||||||
--output fip/u-boot.bin \
|
|
||||||
--bl2 fip/bl2.n.bin.sig \
|
|
||||||
--bl30 fip/bl30_new.bin.enc \
|
|
||||||
--bl31 fip/bl31.img.enc \
|
|
||||||
--bl33 fip/bl33.bin.enc \
|
|
||||||
--ddrfw1 fip/ddr4_1d.fw \
|
|
||||||
--ddrfw2 fip/ddr4_2d.fw \
|
|
||||||
--ddrfw3 fip/ddr3_1d.fw \
|
|
||||||
--ddrfw4 fip/piei.fw \
|
|
||||||
--ddrfw5 fip/lpddr4_1d.fw \
|
|
||||||
--ddrfw6 fip/lpddr4_2d.fw \
|
|
||||||
--ddrfw7 fip/diag_lpddr4.fw \
|
|
||||||
--level v3
|
|
||||||
|
|
||||||
and then write the image to SD with:
|
|
||||||
|
|
||||||
> 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
|
|
@ -1,131 +0,0 @@
|
|||||||
U-Boot for Khadas VIM3
|
|
||||||
======================
|
|
||||||
|
|
||||||
Khadas VIM3 is a single board computer manufactured by Shenzhen Wesion
|
|
||||||
Technology Co., Ltd. with the following specifications:
|
|
||||||
|
|
||||||
- Amlogic A311D Arm Cortex-A53 dual-core + Cortex-A73 quad-core SoC
|
|
||||||
- 4GB LPDDR4 SDRAM
|
|
||||||
- Gigabit Ethernet
|
|
||||||
- HDMI 2.1 display
|
|
||||||
- 40-pin GPIO header
|
|
||||||
- 1 x USB 3.0 Host, 1 x USB 2.0 Host
|
|
||||||
- eMMC, microSD
|
|
||||||
- M.2
|
|
||||||
- Infrared receiver
|
|
||||||
|
|
||||||
Schematics are available on the manufacturer website.
|
|
||||||
|
|
||||||
Currently the U-Boot port supports the following devices:
|
|
||||||
- serial
|
|
||||||
- eMMC, microSD
|
|
||||||
- Ethernet
|
|
||||||
- I2C
|
|
||||||
- Regulators
|
|
||||||
- Reset controller
|
|
||||||
- Clock controller
|
|
||||||
- ADC
|
|
||||||
|
|
||||||
u-boot compilation
|
|
||||||
==================
|
|
||||||
|
|
||||||
> export CROSS_COMPILE=aarch64-none-elf-
|
|
||||||
> make khadas-vim3_defconfig
|
|
||||||
> make
|
|
||||||
|
|
||||||
Image creation
|
|
||||||
==============
|
|
||||||
|
|
||||||
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:
|
|
||||||
|
|
||||||
> wget https://releases.linaro.org/archive/13.11/components/toolchain/binaries/gcc-linaro-aarch64-none-elf-4.8-2013.11_linux.tar.xz
|
|
||||||
> wget https://releases.linaro.org/archive/13.11/components/toolchain/binaries/gcc-linaro-arm-none-eabi-4.8-2013.11_linux.tar.xz
|
|
||||||
> tar xvfJ gcc-linaro-aarch64-none-elf-4.8-2013.11_linux.tar.xz
|
|
||||||
> tar xvfJ gcc-linaro-arm-none-eabi-4.8-2013.11_linux.tar.xz
|
|
||||||
> export PATH=$PWD/gcc-linaro-aarch64-none-elf-4.8-2013.11_linux/bin:$PWD/gcc-linaro-arm-none-eabi-4.8-2013.11_linux/bin:$PATH
|
|
||||||
|
|
||||||
> DIR=vim3-u-boot
|
|
||||||
> git clone --depth 1 \
|
|
||||||
https://github.com/khadas/u-boot.git -b khadas-vims-v2015.01 \
|
|
||||||
$DIR
|
|
||||||
|
|
||||||
> cd vim3-u-boot
|
|
||||||
> make kvim3_defconfig
|
|
||||||
> make
|
|
||||||
> export UBOOTDIR=$PWD
|
|
||||||
|
|
||||||
Go back to mainline U-Boot source tree then :
|
|
||||||
> mkdir fip
|
|
||||||
|
|
||||||
> cp $UBOOTDIR/build/scp_task/bl301.bin fip/
|
|
||||||
> cp $UBOOTDIR/build/board/khadas/kvim3/firmware/acs.bin fip/
|
|
||||||
> cp $UBOOTDIR/fip/g12b/bl2.bin fip/
|
|
||||||
> cp $UBOOTDIR/fip/g12b/bl30.bin fip/
|
|
||||||
> cp $UBOOTDIR/fip/g12b/bl31.img fip/
|
|
||||||
> cp $UBOOTDIR/fip/g12b/ddr3_1d.fw fip/
|
|
||||||
> cp $UBOOTDIR/fip/g12b/ddr4_1d.fw fip/
|
|
||||||
> cp $UBOOTDIR/fip/g12b/ddr4_2d.fw fip/
|
|
||||||
> cp $UBOOTDIR/fip/g12b/diag_lpddr4.fw fip/
|
|
||||||
> cp $UBOOTDIR/fip/g12b/lpddr3_1d.fw fip/
|
|
||||||
> cp $UBOOTDIR/fip/g12b/lpddr4_1d.fw fip/
|
|
||||||
> cp $UBOOTDIR/fip/g12b/lpddr4_2d.fw fip/
|
|
||||||
> cp $UBOOTDIR/fip/g12b/piei.fw fip/
|
|
||||||
> cp $UBOOTDIR/fip/g12b/aml_ddr.fw fip/
|
|
||||||
> cp u-boot.bin fip/bl33.bin
|
|
||||||
|
|
||||||
> sh fip/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
|
|
||||||
|
|
||||||
> sh fip/blx_fix.sh \
|
|
||||||
fip/bl2.bin \
|
|
||||||
fip/zero_tmp \
|
|
||||||
fip/bl2_zero.bin \
|
|
||||||
fip/acs.bin \
|
|
||||||
fip/bl21_zero.bin \
|
|
||||||
fip/bl2_new.bin \
|
|
||||||
bl2
|
|
||||||
|
|
||||||
> $UBOOTDIR/fip/g12b/aml_encrypt_g12b --bl30sig --input fip/bl30_new.bin \
|
|
||||||
--output fip/bl30_new.bin.g12a.enc \
|
|
||||||
--level v3
|
|
||||||
> $UBOOTDIR/fip/g12b/aml_encrypt_g12b --bl3sig --input fip/bl30_new.bin.g12a.enc \
|
|
||||||
--output fip/bl30_new.bin.enc \
|
|
||||||
--level v3 --type bl30
|
|
||||||
> $UBOOTDIR/fip/g12b/aml_encrypt_g12b --bl3sig --input fip/bl31.img \
|
|
||||||
--output fip/bl31.img.enc \
|
|
||||||
--level v3 --type bl31
|
|
||||||
> $UBOOTDIR/fip/g12b/aml_encrypt_g12b --bl3sig --input fip/bl33.bin --compress lz4 \
|
|
||||||
--output fip/bl33.bin.enc \
|
|
||||||
--level v3 --type bl33 --compress lz4
|
|
||||||
> $UBOOTDIR/fip/g12b/aml_encrypt_g12b --bl2sig --input fip/bl2_new.bin \
|
|
||||||
--output fip/bl2.n.bin.sig
|
|
||||||
> $UBOOTDIR/fip/g12b/aml_encrypt_g12b --bootmk \
|
|
||||||
--output fip/u-boot.bin \
|
|
||||||
--bl2 fip/bl2.n.bin.sig \
|
|
||||||
--bl30 fip/bl30_new.bin.enc \
|
|
||||||
--bl31 fip/bl31.img.enc \
|
|
||||||
--bl33 fip/bl33.bin.enc \
|
|
||||||
--ddrfw1 fip/ddr4_1d.fw \
|
|
||||||
--ddrfw2 fip/ddr4_2d.fw \
|
|
||||||
--ddrfw3 fip/ddr3_1d.fw \
|
|
||||||
--ddrfw4 fip/piei.fw \
|
|
||||||
--ddrfw5 fip/lpddr4_1d.fw \
|
|
||||||
--ddrfw6 fip/lpddr4_2d.fw \
|
|
||||||
--ddrfw7 fip/diag_lpddr4.fw \
|
|
||||||
--ddrfw8 fip/aml_ddr.fw \
|
|
||||||
--ddrfw9 fip/lpddr3_1d.fw \
|
|
||||||
--level v3
|
|
||||||
|
|
||||||
and then write the image to SD with:
|
|
||||||
|
|
||||||
> 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
|
|
@ -1,131 +0,0 @@
|
|||||||
U-Boot for Khadas VIM3L
|
|
||||||
=======================
|
|
||||||
|
|
||||||
Khadas VIM3L is a single board computer manufactured by Shenzhen Wesion
|
|
||||||
Technology Co., Ltd. with the following specifications:
|
|
||||||
|
|
||||||
- Amlogic S905D3 Arm Cortex-A55 quad-core SoC
|
|
||||||
- 2GB LPDDR4 SDRAM
|
|
||||||
- Gigabit Ethernet
|
|
||||||
- HDMI 2.1 display
|
|
||||||
- 40-pin GPIO header
|
|
||||||
- 1 x USB 3.0 Host, 1 x USB 2.0 Host
|
|
||||||
- eMMC, microSD
|
|
||||||
- M.2
|
|
||||||
- Infrared receiver
|
|
||||||
|
|
||||||
Schematics are available on the manufacturer website.
|
|
||||||
|
|
||||||
Currently the U-Boot port supports the following devices:
|
|
||||||
- serial
|
|
||||||
- eMMC, microSD
|
|
||||||
- Ethernet
|
|
||||||
- I2C
|
|
||||||
- Regulators
|
|
||||||
- Reset controller
|
|
||||||
- Clock controller
|
|
||||||
- ADC
|
|
||||||
|
|
||||||
u-boot compilation
|
|
||||||
==================
|
|
||||||
|
|
||||||
> export CROSS_COMPILE=aarch64-none-elf-
|
|
||||||
> make khadas-vim3l_defconfig
|
|
||||||
> make
|
|
||||||
|
|
||||||
Image creation
|
|
||||||
==============
|
|
||||||
|
|
||||||
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:
|
|
||||||
|
|
||||||
> wget https://releases.linaro.org/archive/13.11/components/toolchain/binaries/gcc-linaro-aarch64-none-elf-4.8-2013.11_linux.tar.xz
|
|
||||||
> wget https://releases.linaro.org/archive/13.11/components/toolchain/binaries/gcc-linaro-arm-none-eabi-4.8-2013.11_linux.tar.xz
|
|
||||||
> tar xvfJ gcc-linaro-aarch64-none-elf-4.8-2013.11_linux.tar.xz
|
|
||||||
> tar xvfJ gcc-linaro-arm-none-eabi-4.8-2013.11_linux.tar.xz
|
|
||||||
> export PATH=$PWD/gcc-linaro-aarch64-none-elf-4.8-2013.11_linux/bin:$PWD/gcc-linaro-arm-none-eabi-4.8-2013.11_linux/bin:$PATH
|
|
||||||
|
|
||||||
> DIR=vim3l-u-boot
|
|
||||||
> git clone --depth 1 \
|
|
||||||
https://github.com/khadas/u-boot.git -b khadas-vims-v2015.01 \
|
|
||||||
$DIR
|
|
||||||
|
|
||||||
> cd vim3l-u-boot
|
|
||||||
> make kvim3l_defconfig
|
|
||||||
> make
|
|
||||||
> export UBOOTDIR=$PWD
|
|
||||||
|
|
||||||
Go back to mainline U-Boot source tree then :
|
|
||||||
> mkdir fip
|
|
||||||
|
|
||||||
> cp $UBOOTDIR/build/scp_task/bl301.bin fip/
|
|
||||||
> cp $UBOOTDIR/build/board/khadas/kvim3l/firmware/acs.bin fip/
|
|
||||||
> cp $UBOOTDIR/fip/g12a/bl2.bin fip/
|
|
||||||
> cp $UBOOTDIR/fip/g12a/bl30.bin fip/
|
|
||||||
> cp $UBOOTDIR/fip/g12a/bl31.img fip/
|
|
||||||
> cp $UBOOTDIR/fip/g12a/ddr3_1d.fw fip/
|
|
||||||
> cp $UBOOTDIR/fip/g12a/ddr4_1d.fw fip/
|
|
||||||
> cp $UBOOTDIR/fip/g12a/ddr4_2d.fw fip/
|
|
||||||
> cp $UBOOTDIR/fip/g12a/diag_lpddr4.fw fip/
|
|
||||||
> cp $UBOOTDIR/fip/g12a/lpddr3_1d.fw fip/
|
|
||||||
> cp $UBOOTDIR/fip/g12a/lpddr4_1d.fw fip/
|
|
||||||
> cp $UBOOTDIR/fip/g12a/lpddr4_2d.fw fip/
|
|
||||||
> cp $UBOOTDIR/fip/g12a/piei.fw fip/
|
|
||||||
> cp $UBOOTDIR/fip/g12a/aml_ddr.fw fip/
|
|
||||||
> cp u-boot.bin fip/bl33.bin
|
|
||||||
|
|
||||||
> sh fip/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
|
|
||||||
|
|
||||||
> sh fip/blx_fix.sh \
|
|
||||||
fip/bl2.bin \
|
|
||||||
fip/zero_tmp \
|
|
||||||
fip/bl2_zero.bin \
|
|
||||||
fip/acs.bin \
|
|
||||||
fip/bl21_zero.bin \
|
|
||||||
fip/bl2_new.bin \
|
|
||||||
bl2
|
|
||||||
|
|
||||||
> $UBOOTDIR/fip/g12a/aml_encrypt_g12a --bl30sig --input fip/bl30_new.bin \
|
|
||||||
--output fip/bl30_new.bin.g12a.enc \
|
|
||||||
--level v3
|
|
||||||
> $UBOOTDIR/fip/g12a/aml_encrypt_g12a --bl3sig --input fip/bl30_new.bin.g12a.enc \
|
|
||||||
--output fip/bl30_new.bin.enc \
|
|
||||||
--level v3 --type bl30
|
|
||||||
> $UBOOTDIR/fip/g12a/aml_encrypt_g12a --bl3sig --input fip/bl31.img \
|
|
||||||
--output fip/bl31.img.enc \
|
|
||||||
--level v3 --type bl31
|
|
||||||
> $UBOOTDIR/fip/g12a/aml_encrypt_g12a --bl3sig --input fip/bl33.bin --compress lz4 \
|
|
||||||
--output fip/bl33.bin.enc \
|
|
||||||
--level v3 --type bl33 --compress lz4
|
|
||||||
> $UBOOTDIR/fip/g12a/aml_encrypt_g12a --bl2sig --input fip/bl2_new.bin \
|
|
||||||
--output fip/bl2.n.bin.sig
|
|
||||||
> $UBOOTDIR/fip/g12a/aml_encrypt_g12a --bootmk \
|
|
||||||
--output fip/u-boot.bin \
|
|
||||||
--bl2 fip/bl2.n.bin.sig \
|
|
||||||
--bl30 fip/bl30_new.bin.enc \
|
|
||||||
--bl31 fip/bl31.img.enc \
|
|
||||||
--bl33 fip/bl33.bin.enc \
|
|
||||||
--ddrfw1 fip/ddr4_1d.fw \
|
|
||||||
--ddrfw2 fip/ddr4_2d.fw \
|
|
||||||
--ddrfw3 fip/ddr3_1d.fw \
|
|
||||||
--ddrfw4 fip/piei.fw \
|
|
||||||
--ddrfw5 fip/lpddr4_1d.fw \
|
|
||||||
--ddrfw6 fip/lpddr4_2d.fw \
|
|
||||||
--ddrfw7 fip/diag_lpddr4.fw \
|
|
||||||
--ddrfw8 fip/aml_ddr.fw \
|
|
||||||
--ddrfw9 fip/lpddr3_1d.fw \
|
|
||||||
--level v3
|
|
||||||
|
|
||||||
and then write the image to SD with:
|
|
||||||
|
|
||||||
> 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
|
|
@ -1,129 +0,0 @@
|
|||||||
U-Boot for ODROID-N2
|
|
||||||
====================
|
|
||||||
|
|
||||||
ODROID-N2 is a single board computer manufactured by Hardkernel
|
|
||||||
Co. Ltd with the following specifications:
|
|
||||||
|
|
||||||
- Amlogic S922X ARM Cortex-A53 dual-core + Cortex-A73 quad-core SoC
|
|
||||||
- 4GB DDR4 SDRAM
|
|
||||||
- Gigabit Ethernet
|
|
||||||
- HDMI 2.1 4K/60Hz display
|
|
||||||
- 40-pin GPIO header
|
|
||||||
- 4 x USB 3.0 Host, 1 x USB OTG
|
|
||||||
- eMMC, microSD
|
|
||||||
- Infrared receiver
|
|
||||||
|
|
||||||
Schematics are available on the manufacturer website.
|
|
||||||
|
|
||||||
Currently the u-boot port supports the following devices:
|
|
||||||
- serial
|
|
||||||
- eMMC, microSD
|
|
||||||
- Ethernet
|
|
||||||
- I2C
|
|
||||||
- Regulators
|
|
||||||
- Reset controller
|
|
||||||
- Clock controller
|
|
||||||
- ADC
|
|
||||||
|
|
||||||
u-boot compilation
|
|
||||||
==================
|
|
||||||
|
|
||||||
> export CROSS_COMPILE=aarch64-none-elf-
|
|
||||||
> make odroid-n2_defconfig
|
|
||||||
> make
|
|
||||||
|
|
||||||
Image creation
|
|
||||||
==============
|
|
||||||
|
|
||||||
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:
|
|
||||||
|
|
||||||
> wget https://releases.linaro.org/archive/13.11/components/toolchain/binaries/gcc-linaro-aarch64-none-elf-4.8-2013.11_linux.tar.xz
|
|
||||||
> wget https://releases.linaro.org/archive/13.11/components/toolchain/binaries/gcc-linaro-arm-none-eabi-4.8-2013.11_linux.tar.xz
|
|
||||||
> tar xvfJ gcc-linaro-aarch64-none-elf-4.8-2013.11_linux.tar.xz
|
|
||||||
> tar xvfJ gcc-linaro-arm-none-eabi-4.8-2013.11_linux.tar.xz
|
|
||||||
> export PATH=$PWD/gcc-linaro-aarch64-none-elf-4.8-2013.11_linux/bin:$PWD/gcc-linaro-arm-none-eabi-4.8-2013.11_linux/bin:$PATH
|
|
||||||
|
|
||||||
> DIR=odroid-n2
|
|
||||||
> git clone --depth 1 \
|
|
||||||
https://github.com/hardkernel/u-boot.git -b odroidn2-v2015.01 \
|
|
||||||
$DIR
|
|
||||||
|
|
||||||
> cd odroid-n2
|
|
||||||
> make odroidn2_defconfig
|
|
||||||
> make
|
|
||||||
> export UBOOTDIR=$PWD
|
|
||||||
|
|
||||||
Go back to mainline U-Boot source tree then :
|
|
||||||
> mkdir fip
|
|
||||||
|
|
||||||
> wget https://github.com/BayLibre/u-boot/releases/download/v2017.11-libretech-cc/blx_fix_g12a.sh -O fip/blx_fix.sh
|
|
||||||
> cp $UBOOTDIR/build/scp_task/bl301.bin fip/
|
|
||||||
> cp $UBOOTDIR/build/board/hardkernel/odroidn2/firmware/acs.bin fip/
|
|
||||||
> cp $UBOOTDIR/fip/g12b/bl2.bin fip/
|
|
||||||
> cp $UBOOTDIR/fip/g12b/bl30.bin fip/
|
|
||||||
> cp $UBOOTDIR/fip/g12b/bl31.img fip/
|
|
||||||
> cp $UBOOTDIR/fip/g12b/ddr3_1d.fw fip/
|
|
||||||
> cp $UBOOTDIR/fip/g12b/ddr4_1d.fw fip/
|
|
||||||
> cp $UBOOTDIR/fip/g12b/ddr4_2d.fw fip/
|
|
||||||
> cp $UBOOTDIR/fip/g12b/diag_lpddr4.fw fip/
|
|
||||||
> cp $UBOOTDIR/fip/g12b/lpddr4_1d.fw fip/
|
|
||||||
> cp $UBOOTDIR/fip/g12b/lpddr4_2d.fw fip/
|
|
||||||
> cp $UBOOTDIR/fip/g12b/piei.fw fip/
|
|
||||||
> cp $UBOOTDIR/fip/g12b/aml_ddr.fw fip/
|
|
||||||
> cp u-boot.bin fip/bl33.bin
|
|
||||||
|
|
||||||
> sh fip/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
|
|
||||||
|
|
||||||
> sh fip/blx_fix.sh \
|
|
||||||
fip/bl2.bin \
|
|
||||||
fip/zero_tmp \
|
|
||||||
fip/bl2_zero.bin \
|
|
||||||
fip/acs.bin \
|
|
||||||
fip/bl21_zero.bin \
|
|
||||||
fip/bl2_new.bin \
|
|
||||||
bl2
|
|
||||||
|
|
||||||
> $UBOOTDIR/fip/g12b/aml_encrypt_g12b --bl30sig --input fip/bl30_new.bin \
|
|
||||||
--output fip/bl30_new.bin.g12a.enc \
|
|
||||||
--level v3
|
|
||||||
> $UBOOTDIR/fip/g12b/aml_encrypt_g12b --bl3sig --input fip/bl30_new.bin.g12a.enc \
|
|
||||||
--output fip/bl30_new.bin.enc \
|
|
||||||
--level v3 --type bl30
|
|
||||||
> $UBOOTDIR/fip/g12b/aml_encrypt_g12b --bl3sig --input fip/bl31.img \
|
|
||||||
--output fip/bl31.img.enc \
|
|
||||||
--level v3 --type bl31
|
|
||||||
> $UBOOTDIR/fip/g12b/aml_encrypt_g12b --bl3sig --input fip/bl33.bin --compress lz4 \
|
|
||||||
--output fip/bl33.bin.enc \
|
|
||||||
--level v3 --type bl33 --compress lz4
|
|
||||||
> $UBOOTDIR/fip/g12b/aml_encrypt_g12b --bl2sig --input fip/bl2_new.bin \
|
|
||||||
--output fip/bl2.n.bin.sig
|
|
||||||
> $UBOOTDIR/fip/g12b/aml_encrypt_g12b --bootmk \
|
|
||||||
--output fip/u-boot.bin \
|
|
||||||
--bl2 fip/bl2.n.bin.sig \
|
|
||||||
--bl30 fip/bl30_new.bin.enc \
|
|
||||||
--bl31 fip/bl31.img.enc \
|
|
||||||
--bl33 fip/bl33.bin.enc \
|
|
||||||
--ddrfw1 fip/ddr4_1d.fw \
|
|
||||||
--ddrfw2 fip/ddr4_2d.fw \
|
|
||||||
--ddrfw3 fip/ddr3_1d.fw \
|
|
||||||
--ddrfw4 fip/piei.fw \
|
|
||||||
--ddrfw5 fip/lpddr4_1d.fw \
|
|
||||||
--ddrfw6 fip/lpddr4_2d.fw \
|
|
||||||
--ddrfw7 fip/diag_lpddr4.fw \
|
|
||||||
--ddrfw8 fip/aml_ddr.fw \
|
|
||||||
--level v3
|
|
||||||
|
|
||||||
and then write the image to SD with:
|
|
||||||
|
|
||||||
> 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
|
|
@ -1,129 +0,0 @@
|
|||||||
U-Boot for Amlogic W400
|
|
||||||
=======================
|
|
||||||
|
|
||||||
U200 is a reference board manufactured by Amlogic with the following
|
|
||||||
specifications:
|
|
||||||
|
|
||||||
- Amlogic S922X ARM Cortex-A53 dual-core + Cortex-A73 quad-core SoC
|
|
||||||
- 2GB DDR4 SDRAM
|
|
||||||
- 10/100 Ethernet (Internal PHY)
|
|
||||||
- 1 x USB 3.0 Host
|
|
||||||
- eMMC
|
|
||||||
- SDcard
|
|
||||||
- Infrared receiver
|
|
||||||
- SDIO WiFi Module
|
|
||||||
- MIPI DSI Connector
|
|
||||||
- Audio HAT Connector
|
|
||||||
- PCI-E M.2 Connector
|
|
||||||
|
|
||||||
Schematics are available from Amlogic on demand.
|
|
||||||
|
|
||||||
Currently the u-boot port supports the following devices:
|
|
||||||
- serial
|
|
||||||
- Ethernet
|
|
||||||
- Regulators
|
|
||||||
- Clock controller
|
|
||||||
|
|
||||||
u-boot compilation
|
|
||||||
==================
|
|
||||||
|
|
||||||
> export CROSS_COMPILE=aarch64-none-elf-
|
|
||||||
> make w400_defconfig
|
|
||||||
> make
|
|
||||||
|
|
||||||
Image creation
|
|
||||||
==============
|
|
||||||
|
|
||||||
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:
|
|
||||||
|
|
||||||
> wget https://releases.linaro.org/archive/13.11/components/toolchain/binaries/gcc-linaro-aarch64-none-elf-4.8-2013.11_linux.tar.xz
|
|
||||||
> wget https://releases.linaro.org/archive/13.11/components/toolchain/binaries/gcc-linaro-arm-none-eabi-4.8-2013.11_linux.tar.xz
|
|
||||||
> tar xvfJ gcc-linaro-aarch64-none-elf-4.8-2013.11_linux.tar.xz
|
|
||||||
> tar xvfJ gcc-linaro-arm-none-eabi-4.8-2013.11_linux.tar.xz
|
|
||||||
> export PATH=$PWD/gcc-linaro-aarch64-none-elf-4.8-2013.11_linux/bin:$PWD/gcc-linaro-arm-none-eabi-4.8-2013.11_linux/bin:$PATH
|
|
||||||
> git clone https://github.com/BayLibre/u-boot.git -b buildroot-openlinux-20180418 amlogic-u-boot
|
|
||||||
> cd amlogic-u-boot
|
|
||||||
> make g12b_w400_v1_defconfig
|
|
||||||
> make
|
|
||||||
> export UBOOTDIR=$PWD
|
|
||||||
|
|
||||||
Download the latest Amlogic Buildroot package, and extract it :
|
|
||||||
> wget http://openlinux2.amlogic.com:8000/ARM/filesystem/Linux_BSP/buildroot_openlinux_kernel_4.9_fbdev_20180706.tar.gz
|
|
||||||
> tar xfz buildroot_openlinux_kernel_4.9_fbdev_20180706.tar.gz buildroot_openlinux_kernel_4.9_fbdev_20180706/bootloader
|
|
||||||
> export BRDIR=$PWD/buildroot_openlinux_kernel_4.9_fbdev_20180706
|
|
||||||
> export FIPDIR=$BRDIR/bootloader/uboot-repo/fip
|
|
||||||
|
|
||||||
Go back to mainline U-Boot source tree then :
|
|
||||||
> mkdir fip
|
|
||||||
|
|
||||||
> wget https://github.com/BayLibre/u-boot/releases/download/v2017.11-libretech-cc/blx_fix_g12a.sh -O fip/blx_fix.sh
|
|
||||||
> cp $UBOOTDIR/build/scp_task/bl301.bin fip/
|
|
||||||
> cp $UBOOTDIR/build/board/amlogic/g12b_w400_v1/firmware/acs.bin fip/
|
|
||||||
> cp $BRDIR/bootloader/uboot-repo/bl2/bin/g12b/bl2.bin fip/
|
|
||||||
> cp $BRDIR/bootloader/uboot-repo/bl30/bin/g12b/bl30.bin fip/
|
|
||||||
> cp $BRDIR/bootloader/uboot-repo/bl31_1.3/bin/g12b/bl31.img fip/
|
|
||||||
> cp $FIPDIR/g12b/ddr3_1d.fw fip/
|
|
||||||
> cp $FIPDIR/g12b/ddr4_1d.fw fip/
|
|
||||||
> cp $FIPDIR/g12b/ddr4_2d.fw fip/
|
|
||||||
> cp $FIPDIR/g12b/diag_lpddr4.fw fip/
|
|
||||||
> cp $FIPDIR/g12b/lpddr4_1d.fw fip/
|
|
||||||
> cp $FIPDIR/g12b/lpddr4_2d.fw fip/
|
|
||||||
> cp $FIPDIR/g12b/piei.fw fip/
|
|
||||||
> cp $FIPDIR/g12b/aml_ddr.fw fip/
|
|
||||||
> cp u-boot.bin fip/bl33.bin
|
|
||||||
|
|
||||||
> sh fip/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
|
|
||||||
|
|
||||||
> sh fip/blx_fix.sh \
|
|
||||||
fip/bl2.bin \
|
|
||||||
fip/zero_tmp \
|
|
||||||
fip/bl2_zero.bin \
|
|
||||||
fip/acs.bin \
|
|
||||||
fip/bl21_zero.bin \
|
|
||||||
fip/bl2_new.bin \
|
|
||||||
bl2
|
|
||||||
|
|
||||||
> $FIPDIR/g12b/aml_encrypt_g12b --bl30sig --input fip/bl30_new.bin \
|
|
||||||
--output fip/bl30_new.bin.g12a.enc \
|
|
||||||
--level v3
|
|
||||||
> $FIPDIR/g12b/aml_encrypt_g12b --bl3sig --input fip/bl30_new.bin.g12a.enc \
|
|
||||||
--output fip/bl30_new.bin.enc \
|
|
||||||
--level v3 --type bl30
|
|
||||||
> $FIPDIR/g12b/aml_encrypt_g12b --bl3sig --input fip/bl31.img \
|
|
||||||
--output fip/bl31.img.enc \
|
|
||||||
--level v3 --type bl31
|
|
||||||
> $FIPDIR/g12b/aml_encrypt_g12b --bl3sig --input fip/bl33.bin --compress lz4 \
|
|
||||||
--output fip/bl33.bin.enc \
|
|
||||||
--level v3 --type bl33
|
|
||||||
> $FIPDIR/g12b/aml_encrypt_g12b --bl2sig --input fip/bl2_new.bin \
|
|
||||||
--output fip/bl2.n.bin.sig
|
|
||||||
> $FIPDIR/g12b/aml_encrypt_g12b --bootmk \
|
|
||||||
--output fip/u-boot.bin \
|
|
||||||
--bl2 fip/bl2.n.bin.sig \
|
|
||||||
--bl30 fip/bl30_new.bin.enc \
|
|
||||||
--bl31 fip/bl31.img.enc \
|
|
||||||
--bl33 fip/bl33.bin.enc \
|
|
||||||
--ddrfw1 fip/ddr4_1d.fw \
|
|
||||||
--ddrfw2 fip/ddr4_2d.fw \
|
|
||||||
--ddrfw3 fip/ddr3_1d.fw \
|
|
||||||
--ddrfw4 fip/piei.fw \
|
|
||||||
--ddrfw5 fip/lpddr4_1d.fw \
|
|
||||||
--ddrfw6 fip/lpddr4_2d.fw \
|
|
||||||
--ddrfw7 fip/diag_lpddr4.fw \
|
|
||||||
--ddrfw8 fip/aml_ddr.fw \
|
|
||||||
--level v3
|
|
||||||
|
|
||||||
and then write the image to SD with:
|
|
||||||
|
|
||||||
> 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
|
|
95
doc/board/amlogic/index.rst
Normal file
95
doc/board/amlogic/index.rst
Normal file
@ -0,0 +1,95 @@
|
|||||||
|
.. SPDX-License-Identifier: GPL-2.0+
|
||||||
|
|
||||||
|
Amlogic
|
||||||
|
=======
|
||||||
|
|
||||||
|
Hardware Support Matrix
|
||||||
|
-----------------------
|
||||||
|
|
||||||
|
An up-do-date matrix is also available on: http://linux-meson.com
|
||||||
|
|
||||||
|
This matrix concerns the actual source code version.
|
||||||
|
|
||||||
|
+-------------------------------+-----------+--------------+--------------+------------+------------+-------------+--------------+
|
||||||
|
| | S905 | S905X | S912 | A113X | S905X2 | S922X | S905X3 |
|
||||||
|
| | | S805X | S905D | | S905D2 | A311D | S905D3 |
|
||||||
|
| | | | | | S905Y2 | | |
|
||||||
|
+===============================+===========+==============+==============+============+============+=============+==============+
|
||||||
|
| Boards | Odroid-C2 | P212 | Khadas VIM2 | S400 | U200 | Odroid-N2 | SEI610 |
|
||||||
|
| | Nanopi-K2 | Khadas-VIM | Libretech-PC | | SEI510 | Khadas-VIM3 | Khadas-VIM3L |
|
||||||
|
| | P200 | LibreTech-CC | | | | | |
|
||||||
|
| | P201 | LibreTech-AC | | | | | |
|
||||||
|
+-------------------------------+-----------+--------------+--------------+------------+------------+-------------+--------------+
|
||||||
|
| UART | **Yes** | **Yes** | **Yes** | **Yes** | **Yes** | **Yes** | **Yes** |
|
||||||
|
+-------------------------------+-----------+--------------+--------------+------------+------------+-------------+--------------+
|
||||||
|
| Pinctrl/GPIO | **Yes** | **Yes** | **Yes** | **Yes** | **Yes** | **Yes** | **Yes** |
|
||||||
|
+-------------------------------+-----------+--------------+--------------+------------+------------+-------------+--------------+
|
||||||
|
| Clock Control | **Yes** | **Yes** | **Yes** | **Yes** | **Yes** | **Yes** | **Yes** |
|
||||||
|
+-------------------------------+-----------+--------------+--------------+------------+------------+-------------+--------------+
|
||||||
|
| PWM | No | No | No | No | No | No | No |
|
||||||
|
+-------------------------------+-----------+--------------+--------------+------------+------------+-------------+--------------+
|
||||||
|
| Reset Control | **Yes** | **Yes** | **Yes** | **Yes** | **Yes** | **Yes** | **Yes** |
|
||||||
|
+-------------------------------+-----------+--------------+--------------+------------+------------+-------------+--------------+
|
||||||
|
| Infrared Decoder | No | No | No | No | No | No | No |
|
||||||
|
+-------------------------------+-----------+--------------+--------------+------------+------------+-------------+--------------+
|
||||||
|
| Ethernet | **Yes** | **Yes** | **Yes** | **Yes** | **Yes** | **Yes** | **Yes** |
|
||||||
|
+-------------------------------+-----------+--------------+--------------+------------+------------+-------------+--------------+
|
||||||
|
| Multi-core | **Yes** | **Yes** | **Yes** | **Yes** | **Yes** | **Yes** | **Yes** |
|
||||||
|
+-------------------------------+-----------+--------------+--------------+------------+------------+-------------+--------------+
|
||||||
|
| Fuse access | **Yes** | **Yes** |**Yes** |**Yes** |**Yes** |**Yes** | **Yes** |
|
||||||
|
+-------------------------------+-----------+--------------+--------------+------------+------------+-------------+--------------+
|
||||||
|
| SPI (FC) | **Yes** | **Yes** | **Yes** | **Yes** |**Yes** | **Yes** | No |
|
||||||
|
+-------------------------------+-----------+--------------+--------------+------------+------------+-------------+--------------+
|
||||||
|
| SPI (CC) | No | No | No | No | No | No | No |
|
||||||
|
+-------------------------------+-----------+--------------+--------------+------------+------------+-------------+--------------+
|
||||||
|
| I2C | **Yes** | **Yes** | **Yes** | **Yes** | **Yes** | **Yes** | **Yes** |
|
||||||
|
+-------------------------------+-----------+--------------+--------------+------------+------------+-------------+--------------+
|
||||||
|
| USB | **Yes** | **Yes** | **Yes** | No | **Yes** | **Yes** | **Yes** |
|
||||||
|
+-------------------------------+-----------+--------------+--------------+------------+------------+-------------+--------------+
|
||||||
|
| USB OTG | No | **Yes** | **Yes** | No | **Yes** | **Yes** | **Yes** |
|
||||||
|
+-------------------------------+-----------+--------------+--------------+------------+------------+-------------+--------------+
|
||||||
|
| eMMC | **Yes** | **Yes** | **Yes** | **Yes** | **Yes** | **Yes** | **Yes** |
|
||||||
|
+-------------------------------+-----------+--------------+--------------+------------+------------+-------------+--------------+
|
||||||
|
| SDCard | **Yes** | **Yes** | **Yes** | **Yes** | **Yes** | **Yes** | **Yes** |
|
||||||
|
+-------------------------------+-----------+--------------+--------------+------------+------------+-------------+--------------+
|
||||||
|
| NAND | No | No | No | No | No | No | No |
|
||||||
|
+-------------------------------+-----------+--------------+--------------+------------+------------+-------------+--------------+
|
||||||
|
| ADC | **Yes** | **Yes** | **Yes** | No | No | No | No |
|
||||||
|
+-------------------------------+-----------+--------------+--------------+------------+------------+-------------+--------------+
|
||||||
|
| CVBS Output | **Yes** | **Yes** | **Yes** | *N/A* | **Yes** | **Yes** | **Yes** |
|
||||||
|
+-------------------------------+-----------+--------------+--------------+------------+------------+-------------+--------------+
|
||||||
|
| HDMI Output | **Yes** | **Yes** | **Yes** | *N/A* | **Yes** | **Yes** | **Yes** |
|
||||||
|
+-------------------------------+-----------+--------------+--------------+------------+------------+-------------+--------------+
|
||||||
|
| CEC | No | No | No | *N/A* | No | No | No |
|
||||||
|
+-------------------------------+-----------+--------------+--------------+------------+------------+-------------+--------------+
|
||||||
|
| Thermal Sensor | No | No | No | No | No | No | No |
|
||||||
|
+-------------------------------+-----------+--------------+--------------+------------+------------+-------------+--------------+
|
||||||
|
| LCD/LVDS Output | No | *N/A* | No | No | No | No | No |
|
||||||
|
+-------------------------------+-----------+--------------+--------------+------------+------------+-------------+--------------+
|
||||||
|
| SoC (version) information | **Yes** | **Yes** | **Yes** | **Yes** | **Yes** | **Yes** | **Yes** |
|
||||||
|
+-------------------------------+-----------+--------------+--------------+------------+------------+-------------+--------------+
|
||||||
|
|
||||||
|
Board Documentation
|
||||||
|
-------------------
|
||||||
|
|
||||||
|
.. toctree::
|
||||||
|
:maxdepth: 1
|
||||||
|
|
||||||
|
khadas-vim2
|
||||||
|
khadas-vim3l
|
||||||
|
khadas-vim3
|
||||||
|
khadas-vim
|
||||||
|
libretech-ac
|
||||||
|
libretech-cc
|
||||||
|
nanopi-k2
|
||||||
|
odroid-c2
|
||||||
|
odroid-n2
|
||||||
|
p200
|
||||||
|
p201
|
||||||
|
p212
|
||||||
|
q200
|
||||||
|
s400
|
||||||
|
sei510
|
||||||
|
sei610
|
||||||
|
u200
|
||||||
|
w400
|
101
doc/board/amlogic/khadas-vim.rst
Normal file
101
doc/board/amlogic/khadas-vim.rst
Normal file
@ -0,0 +1,101 @@
|
|||||||
|
.. SPDX-License-Identifier: GPL-2.0+
|
||||||
|
|
||||||
|
U-Boot for Khadas VIM
|
||||||
|
======================
|
||||||
|
|
||||||
|
Khadas VIM is an Open Source DIY Box manufactured by Shenzhen Wesion
|
||||||
|
Technology Co., Ltd with the following specifications:
|
||||||
|
|
||||||
|
- Amlogic S905X ARM Cortex-A53 quad-core SoC @ 1.5GHz
|
||||||
|
- ARM Mali 450 GPU
|
||||||
|
- 2GB DDR3 SDRAM
|
||||||
|
- 10/100 Ethernet
|
||||||
|
- HDMI 2.0 4K/60Hz display
|
||||||
|
- 40-pin GPIO header
|
||||||
|
- 2 x USB 2.0 Host, 1 x USB 2.0 Type-C OTG
|
||||||
|
- 8GB/16GBeMMC
|
||||||
|
- microSD
|
||||||
|
- SDIO Wifi Module, Bluetooth
|
||||||
|
- Two channels IR receiver
|
||||||
|
|
||||||
|
U-Boot compilation
|
||||||
|
------------------
|
||||||
|
|
||||||
|
.. code-block:: bash
|
||||||
|
|
||||||
|
$ export CROSS_COMPILE=aarch64-none-elf-
|
||||||
|
$ make khadas-vim_defconfig
|
||||||
|
$ make
|
||||||
|
|
||||||
|
Image creation
|
||||||
|
--------------
|
||||||
|
|
||||||
|
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:
|
||||||
|
|
||||||
|
.. code-block:: bash
|
||||||
|
|
||||||
|
$ wget https://releases.linaro.org/archive/13.11/components/toolchain/binaries/gcc-linaro-aarch64-none-elf-4.8-2013.11_linux.tar.xz
|
||||||
|
$ wget https://releases.linaro.org/archive/13.11/components/toolchain/binaries/gcc-linaro-arm-none-eabi-4.8-2013.11_linux.tar.xz
|
||||||
|
$ tar xvfJ gcc-linaro-aarch64-none-elf-4.8-2013.11_linux.tar.xz
|
||||||
|
$ tar xvfJ gcc-linaro-arm-none-eabi-4.8-2013.11_linux.tar.xz
|
||||||
|
$ export PATH=$PWD/gcc-linaro-aarch64-none-elf-4.8-2013.11_linux/bin:$PWD/gcc-linaro-arm-none-eabi-4.8-2013.11_linux/bin:$PATH
|
||||||
|
$ git clone https://github.com/khadas/u-boot -b Vim vim-u-boot
|
||||||
|
$ cd vim-u-boot
|
||||||
|
$ make kvim_defconfig
|
||||||
|
$ make CROSS_COMPILE=aarch64-none-elf-
|
||||||
|
$ export FIPDIR=$PWD/fip
|
||||||
|
|
||||||
|
Go back to mainline U-Boot source tree then :
|
||||||
|
|
||||||
|
.. code-block:: bash
|
||||||
|
|
||||||
|
$ mkdir fip
|
||||||
|
|
||||||
|
$ cp $FIPDIR/gxl/bl2.bin fip/
|
||||||
|
$ cp $FIPDIR/gxl/acs.bin fip/
|
||||||
|
$ cp $FIPDIR/gxl/bl21.bin fip/
|
||||||
|
$ cp $FIPDIR/gxl/bl30.bin fip/
|
||||||
|
$ cp $FIPDIR/gxl/bl301.bin fip/
|
||||||
|
$ cp $FIPDIR/gxl/bl31.img fip/
|
||||||
|
$ cp u-boot.bin fip/bl33.bin
|
||||||
|
|
||||||
|
$ $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
|
||||||
|
|
||||||
|
$ 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
|
||||||
|
|
||||||
|
$ $FIPDIR/gxl/aml_encrypt_gxl --bl3enc --input fip/bl30_new.bin
|
||||||
|
$ $FIPDIR/gxl/aml_encrypt_gxl --bl3enc --input fip/bl31.img
|
||||||
|
$ $FIPDIR/gxl/aml_encrypt_gxl --bl3enc --input fip/bl33.bin
|
||||||
|
$ $FIPDIR/gxl/aml_encrypt_gxl --bl2sig --input fip/bl2_new.bin --output fip/bl2.n.bin.sig
|
||||||
|
$ $FIPDIR/gxl/aml_encrypt_gxl --bootmk \
|
||||||
|
--output fip/u-boot.bin \
|
||||||
|
--bl2 fip/bl2.n.bin.sig \
|
||||||
|
--bl30 fip/bl30_new.bin.enc \
|
||||||
|
--bl31 fip/bl31.img.enc \
|
||||||
|
--bl33 fip/bl33.bin.enc
|
||||||
|
|
||||||
|
and then write the image to SD 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
|
102
doc/board/amlogic/khadas-vim2.rst
Normal file
102
doc/board/amlogic/khadas-vim2.rst
Normal file
@ -0,0 +1,102 @@
|
|||||||
|
.. SPDX-License-Identifier: GPL-2.0+
|
||||||
|
|
||||||
|
U-Boot for Khadas VIM2
|
||||||
|
=======================
|
||||||
|
|
||||||
|
Khadas VIM2 is an Open Source DIY Box manufactured by Shenzhen Wesion
|
||||||
|
Technology Co., Ltd with the following specifications:
|
||||||
|
|
||||||
|
- Amlogic S912 ARM Cortex-A53 octo-core SoC @ 1.5GHz
|
||||||
|
- ARM Mali T860 GPU
|
||||||
|
- 2/3GB DDR4 SDRAM
|
||||||
|
- 10/100/1000 Ethernet
|
||||||
|
- HDMI 2.0 4K/60Hz display
|
||||||
|
- 40-pin GPIO header
|
||||||
|
- 2 x USB 2.0 Host, 1 x USB 2.0 Type-C OTG
|
||||||
|
- 16GB/32GB/64GB eMMC
|
||||||
|
- 2MB SPI Flash
|
||||||
|
- microSD
|
||||||
|
- SDIO Wifi Module, Bluetooth
|
||||||
|
- Two channels IR receiver
|
||||||
|
|
||||||
|
U-Boot compilation
|
||||||
|
------------------
|
||||||
|
|
||||||
|
.. code-block:: bash
|
||||||
|
|
||||||
|
$ export CROSS_COMPILE=aarch64-none-elf-
|
||||||
|
$ make khadas-vim2_defconfig
|
||||||
|
$ make
|
||||||
|
|
||||||
|
Image creation
|
||||||
|
--------------
|
||||||
|
|
||||||
|
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:
|
||||||
|
|
||||||
|
.. code-block:: bash
|
||||||
|
|
||||||
|
$ wget https://releases.linaro.org/archive/13.11/components/toolchain/binaries/gcc-linaro-aarch64-none-elf-4.8-2013.11_linux.tar.xz
|
||||||
|
$ wget https://releases.linaro.org/archive/13.11/components/toolchain/binaries/gcc-linaro-arm-none-eabi-4.8-2013.11_linux.tar.xz
|
||||||
|
$ tar xvfJ gcc-linaro-aarch64-none-elf-4.8-2013.11_linux.tar.xz
|
||||||
|
$ tar xvfJ gcc-linaro-arm-none-eabi-4.8-2013.11_linux.tar.xz
|
||||||
|
$ export PATH=$PWD/gcc-linaro-aarch64-none-elf-4.8-2013.11_linux/bin:$PWD/gcc-linaro-arm-none-eabi-4.8-2013.11_linux/bin:$PATH
|
||||||
|
$ git clone https://github.com/khadas/u-boot -b khadas-vim-v2015.01 vim-u-boot
|
||||||
|
$ cd vim-u-boot
|
||||||
|
$ make kvim2_defconfig
|
||||||
|
$ make
|
||||||
|
$ export FIPDIR=$PWD/fip
|
||||||
|
|
||||||
|
Go back to mainline U-Boot source tree then :
|
||||||
|
|
||||||
|
.. code-block:: bash
|
||||||
|
|
||||||
|
$ mkdir fip
|
||||||
|
|
||||||
|
$ cp $FIPDIR/gxl/bl2.bin fip/
|
||||||
|
$ cp $FIPDIR/gxl/acs.bin fip/
|
||||||
|
$ cp $FIPDIR/gxl/bl21.bin fip/
|
||||||
|
$ cp $FIPDIR/gxl/bl30.bin fip/
|
||||||
|
$ cp $FIPDIR/gxl/bl301.bin fip/
|
||||||
|
$ cp $FIPDIR/gxl/bl31.img fip/
|
||||||
|
$ cp u-boot.bin fip/bl33.bin
|
||||||
|
|
||||||
|
$ $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
|
||||||
|
|
||||||
|
$ 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
|
||||||
|
|
||||||
|
$ $FIPDIR/gxl/aml_encrypt_gxl --bl3enc --input fip/bl30_new.bin
|
||||||
|
$ $FIPDIR/gxl/aml_encrypt_gxl --bl3enc --input fip/bl31.img
|
||||||
|
$ $FIPDIR/gxl/aml_encrypt_gxl --bl3enc --input fip/bl33.bin
|
||||||
|
$ $FIPDIR/gxl/aml_encrypt_gxl --bl2sig --input fip/bl2_new.bin --output fip/bl2.n.bin.sig
|
||||||
|
$ $FIPDIR/gxl/aml_encrypt_gxl --bootmk \
|
||||||
|
--output fip/u-boot.bin \
|
||||||
|
--bl2 fip/bl2.n.bin.sig \
|
||||||
|
--bl30 fip/bl30_new.bin.enc \
|
||||||
|
--bl31 fip/bl31.img.enc \
|
||||||
|
--bl33 fip/bl33.bin.enc
|
||||||
|
|
||||||
|
and then write the image to SD 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
|
132
doc/board/amlogic/khadas-vim3.rst
Normal file
132
doc/board/amlogic/khadas-vim3.rst
Normal file
@ -0,0 +1,132 @@
|
|||||||
|
.. SPDX-License-Identifier: GPL-2.0+
|
||||||
|
|
||||||
|
U-Boot for Khadas VIM3
|
||||||
|
======================
|
||||||
|
|
||||||
|
Khadas VIM3 is a single board computer manufactured by Shenzhen Wesion
|
||||||
|
Technology Co., Ltd. with the following specifications:
|
||||||
|
|
||||||
|
- Amlogic A311D Arm Cortex-A53 dual-core + Cortex-A73 quad-core SoC
|
||||||
|
- 4GB LPDDR4 SDRAM
|
||||||
|
- Gigabit Ethernet
|
||||||
|
- HDMI 2.1 display
|
||||||
|
- 40-pin GPIO header
|
||||||
|
- 1 x USB 3.0 Host, 1 x USB 2.0 Host
|
||||||
|
- eMMC, microSD
|
||||||
|
- M.2
|
||||||
|
- Infrared receiver
|
||||||
|
|
||||||
|
Schematics are available on the manufacturer website.
|
||||||
|
|
||||||
|
U-Boot compilation
|
||||||
|
------------------
|
||||||
|
|
||||||
|
.. code-block:: bash
|
||||||
|
|
||||||
|
$ export CROSS_COMPILE=aarch64-none-elf-
|
||||||
|
$ make khadas-vim3_defconfig
|
||||||
|
$ make
|
||||||
|
|
||||||
|
Image creation
|
||||||
|
--------------
|
||||||
|
|
||||||
|
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:
|
||||||
|
|
||||||
|
.. code-block:: bash
|
||||||
|
|
||||||
|
$ wget https://releases.linaro.org/archive/13.11/components/toolchain/binaries/gcc-linaro-aarch64-none-elf-4.8-2013.11_linux.tar.xz
|
||||||
|
$ wget https://releases.linaro.org/archive/13.11/components/toolchain/binaries/gcc-linaro-arm-none-eabi-4.8-2013.11_linux.tar.xz
|
||||||
|
$ tar xvfJ gcc-linaro-aarch64-none-elf-4.8-2013.11_linux.tar.xz
|
||||||
|
$ tar xvfJ gcc-linaro-arm-none-eabi-4.8-2013.11_linux.tar.xz
|
||||||
|
$ export PATH=$PWD/gcc-linaro-aarch64-none-elf-4.8-2013.11_linux/bin:$PWD/gcc-linaro-arm-none-eabi-4.8-2013.11_linux/bin:$PATH
|
||||||
|
|
||||||
|
$ DIR=vim3-u-boot
|
||||||
|
$ git clone --depth 1 \
|
||||||
|
https://github.com/khadas/u-boot.git -b khadas-vims-v2015.01 \
|
||||||
|
$DIR
|
||||||
|
|
||||||
|
$ cd vim3-u-boot
|
||||||
|
$ make kvim3_defconfig
|
||||||
|
$ make
|
||||||
|
$ export UBOOTDIR=$PWD
|
||||||
|
|
||||||
|
Go back to mainline U-Boot source tree then :
|
||||||
|
|
||||||
|
.. code-block:: bash
|
||||||
|
|
||||||
|
$ mkdir fip
|
||||||
|
|
||||||
|
$ cp $UBOOTDIR/build/scp_task/bl301.bin fip/
|
||||||
|
$ cp $UBOOTDIR/build/board/khadas/kvim3/firmware/acs.bin fip/
|
||||||
|
$ cp $UBOOTDIR/fip/g12b/bl2.bin fip/
|
||||||
|
$ cp $UBOOTDIR/fip/g12b/bl30.bin fip/
|
||||||
|
$ cp $UBOOTDIR/fip/g12b/bl31.img fip/
|
||||||
|
$ cp $UBOOTDIR/fip/g12b/ddr3_1d.fw fip/
|
||||||
|
$ cp $UBOOTDIR/fip/g12b/ddr4_1d.fw fip/
|
||||||
|
$ cp $UBOOTDIR/fip/g12b/ddr4_2d.fw fip/
|
||||||
|
$ cp $UBOOTDIR/fip/g12b/diag_lpddr4.fw fip/
|
||||||
|
$ cp $UBOOTDIR/fip/g12b/lpddr3_1d.fw fip/
|
||||||
|
$ cp $UBOOTDIR/fip/g12b/lpddr4_1d.fw fip/
|
||||||
|
$ cp $UBOOTDIR/fip/g12b/lpddr4_2d.fw fip/
|
||||||
|
$ cp $UBOOTDIR/fip/g12b/piei.fw fip/
|
||||||
|
$ cp $UBOOTDIR/fip/g12b/aml_ddr.fw fip/
|
||||||
|
$ cp u-boot.bin fip/bl33.bin
|
||||||
|
|
||||||
|
$ sh fip/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
|
||||||
|
|
||||||
|
$ sh fip/blx_fix.sh \
|
||||||
|
fip/bl2.bin \
|
||||||
|
fip/zero_tmp \
|
||||||
|
fip/bl2_zero.bin \
|
||||||
|
fip/acs.bin \
|
||||||
|
fip/bl21_zero.bin \
|
||||||
|
fip/bl2_new.bin \
|
||||||
|
bl2
|
||||||
|
|
||||||
|
$ $UBOOTDIR/fip/g12b/aml_encrypt_g12b --bl30sig --input fip/bl30_new.bin \
|
||||||
|
--output fip/bl30_new.bin.g12a.enc \
|
||||||
|
--level v3
|
||||||
|
$ $UBOOTDIR/fip/g12b/aml_encrypt_g12b --bl3sig --input fip/bl30_new.bin.g12a.enc \
|
||||||
|
--output fip/bl30_new.bin.enc \
|
||||||
|
--level v3 --type bl30
|
||||||
|
$ $UBOOTDIR/fip/g12b/aml_encrypt_g12b --bl3sig --input fip/bl31.img \
|
||||||
|
--output fip/bl31.img.enc \
|
||||||
|
--level v3 --type bl31
|
||||||
|
$ $UBOOTDIR/fip/g12b/aml_encrypt_g12b --bl3sig --input fip/bl33.bin --compress lz4 \
|
||||||
|
--output fip/bl33.bin.enc \
|
||||||
|
--level v3 --type bl33 --compress lz4
|
||||||
|
$ $UBOOTDIR/fip/g12b/aml_encrypt_g12b --bl2sig --input fip/bl2_new.bin \
|
||||||
|
--output fip/bl2.n.bin.sig
|
||||||
|
$ $UBOOTDIR/fip/g12b/aml_encrypt_g12b --bootmk \
|
||||||
|
--output fip/u-boot.bin \
|
||||||
|
--bl2 fip/bl2.n.bin.sig \
|
||||||
|
--bl30 fip/bl30_new.bin.enc \
|
||||||
|
--bl31 fip/bl31.img.enc \
|
||||||
|
--bl33 fip/bl33.bin.enc \
|
||||||
|
--ddrfw1 fip/ddr4_1d.fw \
|
||||||
|
--ddrfw2 fip/ddr4_2d.fw \
|
||||||
|
--ddrfw3 fip/ddr3_1d.fw \
|
||||||
|
--ddrfw4 fip/piei.fw \
|
||||||
|
--ddrfw5 fip/lpddr4_1d.fw \
|
||||||
|
--ddrfw6 fip/lpddr4_2d.fw \
|
||||||
|
--ddrfw7 fip/diag_lpddr4.fw \
|
||||||
|
--ddrfw8 fip/aml_ddr.fw \
|
||||||
|
--ddrfw9 fip/lpddr3_1d.fw \
|
||||||
|
--level v3
|
||||||
|
|
||||||
|
and then write the image to SD 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
|
130
doc/board/amlogic/khadas-vim3l.rst
Normal file
130
doc/board/amlogic/khadas-vim3l.rst
Normal file
@ -0,0 +1,130 @@
|
|||||||
|
.. SPDX-License-Identifier: GPL-2.0+
|
||||||
|
|
||||||
|
U-Boot for Khadas VIM3L
|
||||||
|
=======================
|
||||||
|
|
||||||
|
Khadas VIM3L is a single board computer manufactured by Shenzhen Wesion
|
||||||
|
Technology Co., Ltd. with the following specifications:
|
||||||
|
|
||||||
|
- Amlogic S905D3 Arm Cortex-A55 quad-core SoC
|
||||||
|
- 2GB LPDDR4 SDRAM
|
||||||
|
- Gigabit Ethernet
|
||||||
|
- HDMI 2.1 display
|
||||||
|
- 40-pin GPIO header
|
||||||
|
- 1 x USB 3.0 Host, 1 x USB 2.0 Host
|
||||||
|
- eMMC, microSD
|
||||||
|
- M.2
|
||||||
|
- Infrared receiver
|
||||||
|
|
||||||
|
Schematics are available on the manufacturer website.
|
||||||
|
|
||||||
|
U-Boot compilation
|
||||||
|
------------------
|
||||||
|
|
||||||
|
$ export CROSS_COMPILE=aarch64-none-elf-
|
||||||
|
$ make khadas-vim3l_defconfig
|
||||||
|
$ make
|
||||||
|
|
||||||
|
Image creation
|
||||||
|
--------------
|
||||||
|
|
||||||
|
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:
|
||||||
|
|
||||||
|
.. code-block:: bash
|
||||||
|
|
||||||
|
$ wget https://releases.linaro.org/archive/13.11/components/toolchain/binaries/gcc-linaro-aarch64-none-elf-4.8-2013.11_linux.tar.xz
|
||||||
|
$ wget https://releases.linaro.org/archive/13.11/components/toolchain/binaries/gcc-linaro-arm-none-eabi-4.8-2013.11_linux.tar.xz
|
||||||
|
$ tar xvfJ gcc-linaro-aarch64-none-elf-4.8-2013.11_linux.tar.xz
|
||||||
|
$ tar xvfJ gcc-linaro-arm-none-eabi-4.8-2013.11_linux.tar.xz
|
||||||
|
$ export PATH=$PWD/gcc-linaro-aarch64-none-elf-4.8-2013.11_linux/bin:$PWD/gcc-linaro-arm-none-eabi-4.8-2013.11_linux/bin:$PATH
|
||||||
|
|
||||||
|
$ DIR=vim3l-u-boot
|
||||||
|
$ git clone --depth 1 \
|
||||||
|
https://github.com/khadas/u-boot.git -b khadas-vims-v2015.01 \
|
||||||
|
$DIR
|
||||||
|
|
||||||
|
$ cd vim3l-u-boot
|
||||||
|
$ make kvim3l_defconfig
|
||||||
|
$ make
|
||||||
|
$ export UBOOTDIR=$PWD
|
||||||
|
|
||||||
|
Go back to mainline U-Boot source tree then :
|
||||||
|
|
||||||
|
.. code-block:: bash
|
||||||
|
|
||||||
|
$ mkdir fip
|
||||||
|
|
||||||
|
$ cp $UBOOTDIR/build/scp_task/bl301.bin fip/
|
||||||
|
$ cp $UBOOTDIR/build/board/khadas/kvim3l/firmware/acs.bin fip/
|
||||||
|
$ cp $UBOOTDIR/fip/g12a/bl2.bin fip/
|
||||||
|
$ cp $UBOOTDIR/fip/g12a/bl30.bin fip/
|
||||||
|
$ cp $UBOOTDIR/fip/g12a/bl31.img fip/
|
||||||
|
$ cp $UBOOTDIR/fip/g12a/ddr3_1d.fw fip/
|
||||||
|
$ cp $UBOOTDIR/fip/g12a/ddr4_1d.fw fip/
|
||||||
|
$ cp $UBOOTDIR/fip/g12a/ddr4_2d.fw fip/
|
||||||
|
$ cp $UBOOTDIR/fip/g12a/diag_lpddr4.fw fip/
|
||||||
|
$ cp $UBOOTDIR/fip/g12a/lpddr3_1d.fw fip/
|
||||||
|
$ cp $UBOOTDIR/fip/g12a/lpddr4_1d.fw fip/
|
||||||
|
$ cp $UBOOTDIR/fip/g12a/lpddr4_2d.fw fip/
|
||||||
|
$ cp $UBOOTDIR/fip/g12a/piei.fw fip/
|
||||||
|
$ cp $UBOOTDIR/fip/g12a/aml_ddr.fw fip/
|
||||||
|
$ cp u-boot.bin fip/bl33.bin
|
||||||
|
|
||||||
|
$ sh fip/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
|
||||||
|
|
||||||
|
$ sh fip/blx_fix.sh \
|
||||||
|
fip/bl2.bin \
|
||||||
|
fip/zero_tmp \
|
||||||
|
fip/bl2_zero.bin \
|
||||||
|
fip/acs.bin \
|
||||||
|
fip/bl21_zero.bin \
|
||||||
|
fip/bl2_new.bin \
|
||||||
|
bl2
|
||||||
|
|
||||||
|
$ $UBOOTDIR/fip/g12a/aml_encrypt_g12a --bl30sig --input fip/bl30_new.bin \
|
||||||
|
--output fip/bl30_new.bin.g12a.enc \
|
||||||
|
--level v3
|
||||||
|
$ $UBOOTDIR/fip/g12a/aml_encrypt_g12a --bl3sig --input fip/bl30_new.bin.g12a.enc \
|
||||||
|
--output fip/bl30_new.bin.enc \
|
||||||
|
--level v3 --type bl30
|
||||||
|
$ $UBOOTDIR/fip/g12a/aml_encrypt_g12a --bl3sig --input fip/bl31.img \
|
||||||
|
--output fip/bl31.img.enc \
|
||||||
|
--level v3 --type bl31
|
||||||
|
$ $UBOOTDIR/fip/g12a/aml_encrypt_g12a --bl3sig --input fip/bl33.bin --compress lz4 \
|
||||||
|
--output fip/bl33.bin.enc \
|
||||||
|
--level v3 --type bl33 --compress lz4
|
||||||
|
$ $UBOOTDIR/fip/g12a/aml_encrypt_g12a --bl2sig --input fip/bl2_new.bin \
|
||||||
|
--output fip/bl2.n.bin.sig
|
||||||
|
$ $UBOOTDIR/fip/g12a/aml_encrypt_g12a --bootmk \
|
||||||
|
--output fip/u-boot.bin \
|
||||||
|
--bl2 fip/bl2.n.bin.sig \
|
||||||
|
--bl30 fip/bl30_new.bin.enc \
|
||||||
|
--bl31 fip/bl31.img.enc \
|
||||||
|
--bl33 fip/bl33.bin.enc \
|
||||||
|
--ddrfw1 fip/ddr4_1d.fw \
|
||||||
|
--ddrfw2 fip/ddr4_2d.fw \
|
||||||
|
--ddrfw3 fip/ddr3_1d.fw \
|
||||||
|
--ddrfw4 fip/piei.fw \
|
||||||
|
--ddrfw5 fip/lpddr4_1d.fw \
|
||||||
|
--ddrfw6 fip/lpddr4_2d.fw \
|
||||||
|
--ddrfw7 fip/diag_lpddr4.fw \
|
||||||
|
--ddrfw8 fip/aml_ddr.fw \
|
||||||
|
--ddrfw9 fip/lpddr3_1d.fw \
|
||||||
|
--level v3
|
||||||
|
|
||||||
|
and then write the image to SD 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
|
110
doc/board/amlogic/libretech-ac.rst
Normal file
110
doc/board/amlogic/libretech-ac.rst
Normal file
@ -0,0 +1,110 @@
|
|||||||
|
.. SPDX-License-Identifier: GPL-2.0+
|
||||||
|
|
||||||
|
U-Boot for LibreTech AC
|
||||||
|
=======================
|
||||||
|
|
||||||
|
LibreTech AC is a single board computer manufactured by Libre Technology
|
||||||
|
with the following specifications:
|
||||||
|
|
||||||
|
- Amlogic S805X ARM Cortex-A53 quad-core SoC @ 1.2GHz
|
||||||
|
- ARM Mali 450 GPU
|
||||||
|
- 512MiB DDR4 SDRAM
|
||||||
|
- 10/100 Ethernet
|
||||||
|
- HDMI 2.0 4K/60Hz display
|
||||||
|
- 40-pin GPIO header
|
||||||
|
- 4 x USB 2.0 Host
|
||||||
|
- eMMC, SPI NOR Flash
|
||||||
|
- Infrared receiver
|
||||||
|
|
||||||
|
Schematics are available on the manufacturer website.
|
||||||
|
|
||||||
|
U-Boot compilation
|
||||||
|
------------------
|
||||||
|
|
||||||
|
.. code-block:: bash
|
||||||
|
|
||||||
|
$ export CROSS_COMPILE=aarch64-none-elf-
|
||||||
|
$ make libretech-ac_defconfig
|
||||||
|
$ make
|
||||||
|
|
||||||
|
Image creation
|
||||||
|
--------------
|
||||||
|
|
||||||
|
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:
|
||||||
|
|
||||||
|
.. code-block:: bash
|
||||||
|
|
||||||
|
$ wget https://releases.linaro.org/archive/13.11/components/toolchain/binaries/gcc-linaro-aarch64-none-elf-4.8-2013.11_linux.tar.xz
|
||||||
|
$ wget https://releases.linaro.org/archive/13.11/components/toolchain/binaries/gcc-linaro-arm-none-eabi-4.8-2013.11_linux.tar.xz
|
||||||
|
$ tar xvfJ gcc-linaro-aarch64-none-elf-4.8-2013.11_linux.tar.xz
|
||||||
|
$ tar xvfJ gcc-linaro-arm-none-eabi-4.8-2013.11_linux.tar.xz
|
||||||
|
$ export PATH=$PWD/gcc-linaro-aarch64-none-elf-4.8-2013.11_linux/bin:$PWD/gcc-linaro-arm-none-eabi-4.8-2013.11_linux/bin:$PATH
|
||||||
|
$ git clone https://github.com/BayLibre/u-boot.git -b libretech-ac amlogic-u-boot
|
||||||
|
$ cd amlogic-u-boot
|
||||||
|
$ wget https://raw.githubusercontent.com/BayLibre/u-boot/libretech-cc/fip/blx_fix.sh
|
||||||
|
$ make libretech_ac_defconfig
|
||||||
|
$ make
|
||||||
|
$ export UBOOTDIR=$PWD
|
||||||
|
|
||||||
|
Download the latest Amlogic Buildroot package, and extract it :
|
||||||
|
|
||||||
|
.. code-block:: bash
|
||||||
|
|
||||||
|
$ wget http://openlinux2.amlogic.com:8000/ARM/filesystem/Linux_BSP/buildroot_openlinux_kernel_4.9_fbdev_20180418.tar.gz
|
||||||
|
$ tar xfz buildroot_openlinux_kernel_4.9_fbdev_20180418.tar.gz buildroot_openlinux_kernel_4.9_fbdev_20180418/bootloader
|
||||||
|
$ export BRDIR=$PWD/buildroot_openlinux_kernel_4.9_fbdev_20180418
|
||||||
|
|
||||||
|
Go back to mainline U-Boot source tree then :
|
||||||
|
|
||||||
|
.. code-block:: bash
|
||||||
|
|
||||||
|
$ mkdir fip
|
||||||
|
|
||||||
|
$ cp $UBOOTDIR/build/scp_task/bl301.bin fip/
|
||||||
|
$ cp $UBOOTDIR/build/board/amlogic/libretech_ac/firmware/bl21.bin fip/
|
||||||
|
$ cp $UBOOTDIR/build/board/amlogic/libretech_ac/firmware/acs.bin fip/
|
||||||
|
$ cp $BRDIR/bootloader/uboot-repo/bl2/bin/gxl/bl2.bin fip/
|
||||||
|
$ cp $BRDIR/bootloader/uboot-repo/bl30/bin/gxl/bl30.bin fip/
|
||||||
|
$ cp $BRDIR/bootloader/uboot-repo/bl31/bin/gxl/bl31.img fip/
|
||||||
|
$ cp u-boot.bin fip/bl33.bin
|
||||||
|
|
||||||
|
$ sh $UBOOTDIR/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
|
||||||
|
|
||||||
|
$ $BRDIR/bootloader/uboot-repo/fip/acs_tool.pyc fip/bl2.bin fip/bl2_acs.bin fip/acs.bin 0
|
||||||
|
|
||||||
|
$ sh $UBOOTDIR/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
|
||||||
|
|
||||||
|
$ $BRDIR/bootloader/uboot-repo/fip/gxl/aml_encrypt_gxl --bl3enc --input fip/bl30_new.bin
|
||||||
|
$ $BRDIR/bootloader/uboot-repo/fip/gxl/aml_encrypt_gxl --bl3enc --input fip/bl31.img
|
||||||
|
$ $BRDIR/bootloader/uboot-repo/fip/gxl/aml_encrypt_gxl --bl3enc --input fip/bl33.bin
|
||||||
|
$ $BRDIR/bootloader/uboot-repo/fip/gxl/aml_encrypt_gxl --bl2sig --input fip/bl2_new.bin --output fip/bl2.n.bin.sig
|
||||||
|
$ $BRDIR/bootloader/uboot-repo/fip/gxl/aml_encrypt_gxl --bootmk \
|
||||||
|
--output fip/u-boot.bin \
|
||||||
|
--bl2 fip/bl2.n.bin.sig \
|
||||||
|
--bl30 fip/bl30_new.bin.enc \
|
||||||
|
--bl31 fip/bl31.img.enc \
|
||||||
|
--bl33 fip/bl33.bin.enc
|
||||||
|
|
||||||
|
and then write the image to SD 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
|
135
doc/board/amlogic/libretech-cc.rst
Normal file
135
doc/board/amlogic/libretech-cc.rst
Normal file
@ -0,0 +1,135 @@
|
|||||||
|
.. SPDX-License-Identifier: GPL-2.0+
|
||||||
|
|
||||||
|
U-Boot for LibreTech CC
|
||||||
|
=======================
|
||||||
|
|
||||||
|
LibreTech CC is a single board computer manufactured by Libre Technology
|
||||||
|
with the following specifications:
|
||||||
|
|
||||||
|
- Amlogic S905X ARM Cortex-A53 quad-core SoC @ 1.5GHz
|
||||||
|
- ARM Mali 450 GPU
|
||||||
|
- 2GB DDR3 SDRAM
|
||||||
|
- 10/100 Ethernet
|
||||||
|
- HDMI 2.0 4K/60Hz display
|
||||||
|
- 40-pin GPIO header
|
||||||
|
- 4 x USB 2.0 Host
|
||||||
|
- eMMC, microSD
|
||||||
|
- Infrared receiver
|
||||||
|
|
||||||
|
Schematics are available on the manufacturer website.
|
||||||
|
|
||||||
|
U-Boot compilation
|
||||||
|
------------------
|
||||||
|
|
||||||
|
.. code-block:: bash
|
||||||
|
|
||||||
|
$ export CROSS_COMPILE=aarch64-none-elf-
|
||||||
|
$ make libretech-cc_defconfig
|
||||||
|
$ make
|
||||||
|
|
||||||
|
Image creation
|
||||||
|
--------------
|
||||||
|
|
||||||
|
To boot the system, u-boot must be combined with several earlier stage
|
||||||
|
bootloaders:
|
||||||
|
|
||||||
|
* bl2.bin: vendor-provided binary blob
|
||||||
|
* bl21.bin: built from vendor u-boot source
|
||||||
|
* bl30.bin: vendor-provided binary blob
|
||||||
|
* bl301.bin: built from vendor u-boot source
|
||||||
|
* bl31.bin: vendor-provided binary blob
|
||||||
|
* acs.bin: built from vendor u-boot source
|
||||||
|
|
||||||
|
These binaries and the tools required below have been collected and prebuilt
|
||||||
|
for convenience at <https://github.com/BayLibre/u-boot/releases/>
|
||||||
|
|
||||||
|
Download and extract the libretech-cc release from there, and set FIPDIR to
|
||||||
|
point to the `fip` subdirectory.
|
||||||
|
|
||||||
|
.. code-block:: bash
|
||||||
|
|
||||||
|
$ export FIPDIR=/path/to/extracted/fip
|
||||||
|
|
||||||
|
Alternatively, you can obtain the original vendor u-boot tree which
|
||||||
|
contains the required blobs and sources, and build yourself.
|
||||||
|
Note that old compilers are required for this to build. The compilers here
|
||||||
|
are suggested by Amlogic, and they are 32-bit x86 binaries.
|
||||||
|
|
||||||
|
.. code-block:: bash
|
||||||
|
|
||||||
|
$ wget https://releases.linaro.org/archive/13.11/components/toolchain/binaries/gcc-linaro-aarch64-none-elf-4.8-2013.11_linux.tar.xz
|
||||||
|
$ wget https://releases.linaro.org/archive/13.11/components/toolchain/binaries/gcc-linaro-arm-none-eabi-4.8-2013.11_linux.tar.xz
|
||||||
|
$ tar xvfJ gcc-linaro-aarch64-none-elf-4.8-2013.11_linux.tar.xz
|
||||||
|
$ tar xvfJ gcc-linaro-arm-none-eabi-4.8-2013.11_linux.tar.xz
|
||||||
|
$ export PATH=$PWD/gcc-linaro-aarch64-none-elf-4.8-2013.11_linux/bin:$PWD/gcc-linaro-arm-none-eabi-4.8-2013.11_linux/bin:$PATH
|
||||||
|
$ git clone https://github.com/BayLibre/u-boot.git -b libretech-cc amlogic-u-boot
|
||||||
|
$ cd amlogic-u-boot
|
||||||
|
$ make libretech_cc_defconfig
|
||||||
|
$ make
|
||||||
|
$ export FIPDIR=$PWD/fip
|
||||||
|
|
||||||
|
Once you have the binaries available (either through the prebuilt download,
|
||||||
|
or having built the vendor u-boot yourself), you can then proceed to glue
|
||||||
|
everything together. Go back to mainline U-Boot source tree then :
|
||||||
|
|
||||||
|
.. code-block:: bash
|
||||||
|
|
||||||
|
$ mkdir fip
|
||||||
|
|
||||||
|
$ cp $FIPDIR/gxl/bl2.bin fip/
|
||||||
|
$ cp $FIPDIR/gxl/acs.bin fip/
|
||||||
|
$ cp $FIPDIR/gxl/bl21.bin fip/
|
||||||
|
$ cp $FIPDIR/gxl/bl30.bin fip/
|
||||||
|
$ cp $FIPDIR/gxl/bl301.bin fip/
|
||||||
|
$ cp $FIPDIR/gxl/bl31.img fip/
|
||||||
|
$ cp u-boot.bin fip/bl33.bin
|
||||||
|
|
||||||
|
$ $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
|
||||||
|
|
||||||
|
$ $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
|
||||||
|
|
||||||
|
$ $FIPDIR/gxl/aml_encrypt_gxl --bl3enc --input fip/bl30_new.bin
|
||||||
|
$ $FIPDIR/gxl/aml_encrypt_gxl --bl3enc --input fip/bl31.img
|
||||||
|
$ $FIPDIR/gxl/aml_encrypt_gxl --bl3enc --input fip/bl33.bin
|
||||||
|
$ $FIPDIR/gxl/aml_encrypt_gxl --bl2sig --input fip/bl2_new.bin --output fip/bl2.n.bin.sig
|
||||||
|
$ $FIPDIR/gxl/aml_encrypt_gxl --bootmk \
|
||||||
|
--output fip/u-boot.bin \
|
||||||
|
--bl2 fip/bl2.n.bin.sig \
|
||||||
|
--bl30 fip/bl30_new.bin.enc \
|
||||||
|
--bl31 fip/bl31.img.enc \
|
||||||
|
--bl33 fip/bl33.bin.enc
|
||||||
|
|
||||||
|
and then write the image to SD 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
|
||||||
|
|
||||||
|
Note that Amlogic provides aml_encrypt_gxl as a 32-bit x86 binary with no
|
||||||
|
source code. Should you prefer to avoid that, there are open source reverse
|
||||||
|
engineered versions available:
|
||||||
|
|
||||||
|
1. gxlimg <https://github.com/repk/gxlimg>, which comes with a handy
|
||||||
|
Makefile that automates the whole process.
|
||||||
|
2. meson-tools <https://github.com/afaerber/meson-tools>
|
||||||
|
|
||||||
|
However, these community-developed alternatives are not endorsed by or
|
||||||
|
supported by Amlogic.
|
104
doc/board/amlogic/nanopi-k2.rst
Normal file
104
doc/board/amlogic/nanopi-k2.rst
Normal file
@ -0,0 +1,104 @@
|
|||||||
|
.. SPDX-License-Identifier: GPL-2.0+
|
||||||
|
|
||||||
|
U-Boot for NanoPi-K2
|
||||||
|
====================
|
||||||
|
|
||||||
|
NanoPi-K2 is a single board computer manufactured by FriendlyElec
|
||||||
|
with the following specifications:
|
||||||
|
|
||||||
|
- Amlogic S905 ARM Cortex-A53 quad-core SoC @ 1.5GHz
|
||||||
|
- ARM Mali 450 GPU
|
||||||
|
- 2GB DDR3 SDRAM
|
||||||
|
- Gigabit Ethernet
|
||||||
|
- HDMI 2.0 4K/60Hz display
|
||||||
|
- 40-pin GPIO header
|
||||||
|
- 4 x USB 2.0 Host, 1 x USB OTG
|
||||||
|
- eMMC, microSD
|
||||||
|
- Infrared receiver
|
||||||
|
|
||||||
|
Schematics are available on the manufacturer website.
|
||||||
|
|
||||||
|
U-Boot compilation
|
||||||
|
------------------
|
||||||
|
|
||||||
|
.. code-block:: bash
|
||||||
|
|
||||||
|
$ export CROSS_COMPILE=aarch64-none-elf-
|
||||||
|
$ make nanopi-k2_defconfig
|
||||||
|
$ make
|
||||||
|
|
||||||
|
Image creation
|
||||||
|
--------------
|
||||||
|
|
||||||
|
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:
|
||||||
|
|
||||||
|
.. code-block:: bash
|
||||||
|
|
||||||
|
$ wget https://releases.linaro.org/archive/13.11/components/toolchain/binaries/gcc-linaro-aarch64-none-elf-4.8-2013.11_linux.tar.xz
|
||||||
|
$ wget https://releases.linaro.org/archive/13.11/components/toolchain/binaries/gcc-linaro-arm-none-eabi-4.8-2013.11_linux.tar.xz
|
||||||
|
$ tar xvfJ gcc-linaro-aarch64-none-elf-4.8-2013.11_linux.tar.xz
|
||||||
|
$ tar xvfJ gcc-linaro-arm-none-eabi-4.8-2013.11_linux.tar.xz
|
||||||
|
$ export PATH=$PWD/gcc-linaro-aarch64-none-elf-4.8-2013.11_linux/bin:$PWD/gcc-linaro-arm-none-eabi-4.8-2013.11_linux/bin:$PATH
|
||||||
|
$ git clone https://github.com/BayLibre/u-boot.git -b libretech-cc amlogic-u-boot
|
||||||
|
$ git clone https://github.com/friendlyarm/u-boot.git -b nanopi-k2-v2015.01 amlogic-u-boot
|
||||||
|
$ cd amlogic-u-boot
|
||||||
|
$ sed -i 's/aarch64-linux-gnu-/aarch64-none-elf-/' Makefile
|
||||||
|
$ sed -i 's/arm-linux-/arm-none-eabi-/' arch/arm/cpu/armv8/gxb/firmware/scp_task/Makefile
|
||||||
|
$ make nanopi-k2_defconfig
|
||||||
|
$ make
|
||||||
|
$ export FIPDIR=$PWD/fip
|
||||||
|
|
||||||
|
Go back to mainline U-Boot source tree then :
|
||||||
|
|
||||||
|
.. code-block:: bash
|
||||||
|
|
||||||
|
$ mkdir fip
|
||||||
|
|
||||||
|
$ cp $FIPDIR/gxb/bl2.bin fip/
|
||||||
|
$ cp $FIPDIR/gxb/acs.bin fip/
|
||||||
|
$ cp $FIPDIR/gxb/bl21.bin fip/
|
||||||
|
$ cp $FIPDIR/gxb/bl30.bin fip/
|
||||||
|
$ cp $FIPDIR/gxb/bl301.bin fip/
|
||||||
|
$ cp $FIPDIR/gxb/bl31.img fip/
|
||||||
|
$ cp u-boot.bin fip/bl33.bin
|
||||||
|
|
||||||
|
$ $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
|
||||||
|
|
||||||
|
$ $FIPDIR/fip_create \
|
||||||
|
--bl30 fip/bl30_new.bin \
|
||||||
|
--bl31 fip/bl31.img \
|
||||||
|
--bl33 fip/bl33.bin \
|
||||||
|
fip/fip.bin
|
||||||
|
|
||||||
|
$ 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
|
||||||
|
|
||||||
|
$ 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
|
||||||
|
|
||||||
|
and then write the image to SD with:
|
||||||
|
|
||||||
|
.. code-block:: bash
|
||||||
|
|
||||||
|
$ DEV=/dev/your_sd_device
|
||||||
|
$ dd if=fip/u-boot.bin of=$DEV conv=fsync,notrunc bs=512 seek=1
|
@ -1,3 +1,5 @@
|
|||||||
|
.. SPDX-License-Identifier: GPL-2.0+
|
||||||
|
|
||||||
U-Boot for ODROID-C2
|
U-Boot for ODROID-C2
|
||||||
====================
|
====================
|
||||||
|
|
||||||
@ -16,50 +18,46 @@ Co. Ltd with the following specifications:
|
|||||||
|
|
||||||
Schematics are available on the manufacturer website.
|
Schematics are available on the manufacturer website.
|
||||||
|
|
||||||
Currently the u-boot port supports the following devices:
|
U-Boot compilation
|
||||||
- serial
|
------------------
|
||||||
- eMMC, microSD
|
|
||||||
- Ethernet
|
|
||||||
- I2C
|
|
||||||
- Regulators
|
|
||||||
- Reset controller
|
|
||||||
- Clock controller
|
|
||||||
- ADC
|
|
||||||
|
|
||||||
u-boot compilation
|
.. code-block:: bash
|
||||||
==================
|
|
||||||
|
|
||||||
> export CROSS_COMPILE=aarch64-none-elf-
|
$ export CROSS_COMPILE=aarch64-none-elf-
|
||||||
> make odroid-c2_defconfig
|
$ make odroid-c2_defconfig
|
||||||
> make
|
$ make
|
||||||
|
|
||||||
Image creation
|
Image creation
|
||||||
==============
|
--------------
|
||||||
|
|
||||||
Amlogic doesn't provide sources for the firmware and for tools needed
|
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
|
to create the bootloader image, so it is necessary to obtain them from
|
||||||
the git tree published by the board vendor:
|
the git tree published by the board vendor:
|
||||||
|
|
||||||
> DIR=odroid-c2
|
.. code-block:: bash
|
||||||
> git clone --depth 1 \
|
|
||||||
|
$ DIR=odroid-c2
|
||||||
|
$ git clone --depth 1 \
|
||||||
https://github.com/hardkernel/u-boot.git -b odroidc2-v2015.01 \
|
https://github.com/hardkernel/u-boot.git -b odroidc2-v2015.01 \
|
||||||
$DIR
|
$DIR
|
||||||
> $DIR/fip/fip_create --bl30 $DIR/fip/gxb/bl30.bin \
|
$ $DIR/fip/fip_create --bl30 $DIR/fip/gxb/bl30.bin \
|
||||||
--bl301 $DIR/fip/gxb/bl301.bin \
|
--bl301 $DIR/fip/gxb/bl301.bin \
|
||||||
--bl31 $DIR/fip/gxb/bl31.bin \
|
--bl31 $DIR/fip/gxb/bl31.bin \
|
||||||
--bl33 u-boot.bin \
|
--bl33 u-boot.bin \
|
||||||
$DIR/fip.bin
|
$DIR/fip.bin
|
||||||
> $DIR/fip/fip_create --dump $DIR/fip.bin
|
$ $DIR/fip/fip_create --dump $DIR/fip.bin
|
||||||
> cat $DIR/fip/gxb/bl2.package $DIR/fip.bin > $DIR/boot_new.bin
|
$ cat $DIR/fip/gxb/bl2.package $DIR/fip.bin > $DIR/boot_new.bin
|
||||||
> $DIR/fip/gxb/aml_encrypt_gxb --bootsig \
|
$ $DIR/fip/gxb/aml_encrypt_gxb --bootsig \
|
||||||
--input $DIR/boot_new.bin \
|
--input $DIR/boot_new.bin \
|
||||||
--output $DIR/u-boot.img
|
--output $DIR/u-boot.img
|
||||||
> dd if=$DIR/u-boot.img of=$DIR/u-boot.gxbb bs=512 skip=96
|
$ dd if=$DIR/u-boot.img of=$DIR/u-boot.gxbb bs=512 skip=96
|
||||||
|
|
||||||
and then write the image to SD with:
|
and then write the image to SD with:
|
||||||
|
|
||||||
> DEV=/dev/your_sd_device
|
.. code-block:: bash
|
||||||
> BL1=$DIR/sd_fuse/bl1.bin.hardkernel
|
|
||||||
> dd if=$BL1 of=$DEV conv=fsync bs=1 count=442
|
$ DEV=/dev/your_sd_device
|
||||||
> dd if=$BL1 of=$DEV conv=fsync bs=512 skip=1 seek=1
|
$ BL1=$DIR/sd_fuse/bl1.bin.hardkernel
|
||||||
> dd if=$DIR/u-boot.gxbb of=$DEV conv=fsync bs=512 seek=97
|
$ dd if=$BL1 of=$DEV conv=fsync bs=1 count=442
|
||||||
|
$ dd if=$BL1 of=$DEV conv=fsync bs=512 skip=1 seek=1
|
||||||
|
$ dd if=$DIR/u-boot.gxbb of=$DEV conv=fsync bs=512 seek=97
|
130
doc/board/amlogic/odroid-n2.rst
Normal file
130
doc/board/amlogic/odroid-n2.rst
Normal file
@ -0,0 +1,130 @@
|
|||||||
|
.. SPDX-License-Identifier: GPL-2.0+
|
||||||
|
|
||||||
|
U-Boot for ODROID-N2
|
||||||
|
====================
|
||||||
|
|
||||||
|
ODROID-N2 is a single board computer manufactured by Hardkernel
|
||||||
|
Co. Ltd with the following specifications:
|
||||||
|
|
||||||
|
- Amlogic S922X ARM Cortex-A53 dual-core + Cortex-A73 quad-core SoC
|
||||||
|
- 4GB DDR4 SDRAM
|
||||||
|
- Gigabit Ethernet
|
||||||
|
- HDMI 2.1 4K/60Hz display
|
||||||
|
- 40-pin GPIO header
|
||||||
|
- 4 x USB 3.0 Host, 1 x USB OTG
|
||||||
|
- eMMC, microSD
|
||||||
|
- Infrared receiver
|
||||||
|
|
||||||
|
Schematics are available on the manufacturer website.
|
||||||
|
|
||||||
|
U-Boot compilation
|
||||||
|
------------------
|
||||||
|
|
||||||
|
.. code-block:: bash
|
||||||
|
|
||||||
|
$ export CROSS_COMPILE=aarch64-none-elf-
|
||||||
|
$ make odroid-n2_defconfig
|
||||||
|
$ make
|
||||||
|
|
||||||
|
Image creation
|
||||||
|
--------------
|
||||||
|
|
||||||
|
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:
|
||||||
|
|
||||||
|
.. code-block:: bash
|
||||||
|
|
||||||
|
$ wget https://releases.linaro.org/archive/13.11/components/toolchain/binaries/gcc-linaro-aarch64-none-elf-4.8-2013.11_linux.tar.xz
|
||||||
|
$ wget https://releases.linaro.org/archive/13.11/components/toolchain/binaries/gcc-linaro-arm-none-eabi-4.8-2013.11_linux.tar.xz
|
||||||
|
$ tar xvfJ gcc-linaro-aarch64-none-elf-4.8-2013.11_linux.tar.xz
|
||||||
|
$ tar xvfJ gcc-linaro-arm-none-eabi-4.8-2013.11_linux.tar.xz
|
||||||
|
$ export PATH=$PWD/gcc-linaro-aarch64-none-elf-4.8-2013.11_linux/bin:$PWD/gcc-linaro-arm-none-eabi-4.8-2013.11_linux/bin:$PATH
|
||||||
|
|
||||||
|
$ DIR=odroid-n2
|
||||||
|
$ git clone --depth 1 \
|
||||||
|
https://github.com/hardkernel/u-boot.git -b odroidn2-v2015.01 \
|
||||||
|
$DIR
|
||||||
|
|
||||||
|
$ cd odroid-n2
|
||||||
|
$ make odroidn2_defconfig
|
||||||
|
$ make
|
||||||
|
$ export UBOOTDIR=$PWD
|
||||||
|
|
||||||
|
Go back to mainline U-Boot source tree then :
|
||||||
|
|
||||||
|
.. code-block:: bash
|
||||||
|
|
||||||
|
$ mkdir fip
|
||||||
|
|
||||||
|
$ wget https://github.com/BayLibre/u-boot/releases/download/v2017.11-libretech-cc/blx_fix_g12a.sh -O fip/blx_fix.sh
|
||||||
|
$ cp $UBOOTDIR/build/scp_task/bl301.bin fip/
|
||||||
|
$ cp $UBOOTDIR/build/board/hardkernel/odroidn2/firmware/acs.bin fip/
|
||||||
|
$ cp $UBOOTDIR/fip/g12b/bl2.bin fip/
|
||||||
|
$ cp $UBOOTDIR/fip/g12b/bl30.bin fip/
|
||||||
|
$ cp $UBOOTDIR/fip/g12b/bl31.img fip/
|
||||||
|
$ cp $UBOOTDIR/fip/g12b/ddr3_1d.fw fip/
|
||||||
|
$ cp $UBOOTDIR/fip/g12b/ddr4_1d.fw fip/
|
||||||
|
$ cp $UBOOTDIR/fip/g12b/ddr4_2d.fw fip/
|
||||||
|
$ cp $UBOOTDIR/fip/g12b/diag_lpddr4.fw fip/
|
||||||
|
$ cp $UBOOTDIR/fip/g12b/lpddr4_1d.fw fip/
|
||||||
|
$ cp $UBOOTDIR/fip/g12b/lpddr4_2d.fw fip/
|
||||||
|
$ cp $UBOOTDIR/fip/g12b/piei.fw fip/
|
||||||
|
$ cp $UBOOTDIR/fip/g12b/aml_ddr.fw fip/
|
||||||
|
$ cp u-boot.bin fip/bl33.bin
|
||||||
|
|
||||||
|
$ sh fip/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
|
||||||
|
|
||||||
|
$ sh fip/blx_fix.sh \
|
||||||
|
fip/bl2.bin \
|
||||||
|
fip/zero_tmp \
|
||||||
|
fip/bl2_zero.bin \
|
||||||
|
fip/acs.bin \
|
||||||
|
fip/bl21_zero.bin \
|
||||||
|
fip/bl2_new.bin \
|
||||||
|
bl2
|
||||||
|
|
||||||
|
$ $UBOOTDIR/fip/g12b/aml_encrypt_g12b --bl30sig --input fip/bl30_new.bin \
|
||||||
|
--output fip/bl30_new.bin.g12a.enc \
|
||||||
|
--level v3
|
||||||
|
$ $UBOOTDIR/fip/g12b/aml_encrypt_g12b --bl3sig --input fip/bl30_new.bin.g12a.enc \
|
||||||
|
--output fip/bl30_new.bin.enc \
|
||||||
|
--level v3 --type bl30
|
||||||
|
$ $UBOOTDIR/fip/g12b/aml_encrypt_g12b --bl3sig --input fip/bl31.img \
|
||||||
|
--output fip/bl31.img.enc \
|
||||||
|
--level v3 --type bl31
|
||||||
|
$ $UBOOTDIR/fip/g12b/aml_encrypt_g12b --bl3sig --input fip/bl33.bin --compress lz4 \
|
||||||
|
--output fip/bl33.bin.enc \
|
||||||
|
--level v3 --type bl33 --compress lz4
|
||||||
|
$ $UBOOTDIR/fip/g12b/aml_encrypt_g12b --bl2sig --input fip/bl2_new.bin \
|
||||||
|
--output fip/bl2.n.bin.sig
|
||||||
|
$ $UBOOTDIR/fip/g12b/aml_encrypt_g12b --bootmk \
|
||||||
|
--output fip/u-boot.bin \
|
||||||
|
--bl2 fip/bl2.n.bin.sig \
|
||||||
|
--bl30 fip/bl30_new.bin.enc \
|
||||||
|
--bl31 fip/bl31.img.enc \
|
||||||
|
--bl33 fip/bl33.bin.enc \
|
||||||
|
--ddrfw1 fip/ddr4_1d.fw \
|
||||||
|
--ddrfw2 fip/ddr4_2d.fw \
|
||||||
|
--ddrfw3 fip/ddr3_1d.fw \
|
||||||
|
--ddrfw4 fip/piei.fw \
|
||||||
|
--ddrfw5 fip/lpddr4_1d.fw \
|
||||||
|
--ddrfw6 fip/lpddr4_2d.fw \
|
||||||
|
--ddrfw7 fip/diag_lpddr4.fw \
|
||||||
|
--ddrfw8 fip/aml_ddr.fw \
|
||||||
|
--level v3
|
||||||
|
|
||||||
|
and then write the image to SD 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
|
102
doc/board/amlogic/p200.rst
Normal file
102
doc/board/amlogic/p200.rst
Normal file
@ -0,0 +1,102 @@
|
|||||||
|
.. SPDX-License-Identifier: GPL-2.0+
|
||||||
|
|
||||||
|
U-Boot for Amlogic P200
|
||||||
|
=======================
|
||||||
|
|
||||||
|
P200 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
|
||||||
|
- Gigabit Ethernet
|
||||||
|
- HDMI 2.0 4K/60Hz display
|
||||||
|
- 2 x USB 2.0 Host
|
||||||
|
- eMMC, microSD
|
||||||
|
- Infrared receiver
|
||||||
|
- SDIO WiFi Module
|
||||||
|
- CVBS+Stereo Audio Jack
|
||||||
|
|
||||||
|
Schematics are available from Amlogic on demand.
|
||||||
|
|
||||||
|
U-Boot compilation
|
||||||
|
------------------
|
||||||
|
|
||||||
|
.. code-block:: bash
|
||||||
|
|
||||||
|
$ export CROSS_COMPILE=aarch64-none-elf-
|
||||||
|
$ make p200_defconfig
|
||||||
|
$ make
|
||||||
|
|
||||||
|
Image creation
|
||||||
|
--------------
|
||||||
|
|
||||||
|
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:
|
||||||
|
|
||||||
|
.. code-block:: bash
|
||||||
|
|
||||||
|
$ wget https://releases.linaro.org/archive/13.11/components/toolchain/binaries/gcc-linaro-aarch64-none-elf-4.8-2013.11_linux.tar.xz
|
||||||
|
$ wget https://releases.linaro.org/archive/13.11/components/toolchain/binaries/gcc-linaro-arm-none-eabi-4.8-2013.11_linux.tar.xz
|
||||||
|
$ tar xvfJ gcc-linaro-aarch64-none-elf-4.8-2013.11_linux.tar.xz
|
||||||
|
$ tar xvfJ gcc-linaro-arm-none-eabi-4.8-2013.11_linux.tar.xz
|
||||||
|
$ export PATH=$PWD/gcc-linaro-aarch64-none-elf-4.8-2013.11_linux/bin:$PWD/gcc-linaro-arm-none-eabi-4.8-2013.11_linux/bin:$PATH
|
||||||
|
$ git clone https://github.com/BayLibre/u-boot.git -b n-amlogic-openlinux-20170606 amlogic-u-boot
|
||||||
|
$ cd amlogic-u-boot
|
||||||
|
$ make gxb_p200_v1_defconfig
|
||||||
|
$ make
|
||||||
|
$ export FIPDIR=$PWD/fip
|
||||||
|
|
||||||
|
Go back to mainline U-boot source tree then :
|
||||||
|
|
||||||
|
.. code-block:: bash
|
||||||
|
|
||||||
|
$ mkdir fip
|
||||||
|
|
||||||
|
$ cp $FIPDIR/gxl/bl2.bin fip/
|
||||||
|
$ cp $FIPDIR/gxl/acs.bin fip/
|
||||||
|
$ cp $FIPDIR/gxl/bl21.bin fip/
|
||||||
|
$ cp $FIPDIR/gxl/bl30.bin fip/
|
||||||
|
$ cp $FIPDIR/gxl/bl301.bin fip/
|
||||||
|
$ cp $FIPDIR/gxl/bl31.img fip/
|
||||||
|
$ cp u-boot.bin fip/bl33.bin
|
||||||
|
|
||||||
|
$ $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
|
||||||
|
|
||||||
|
$ $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
|
||||||
|
|
||||||
|
$ $FIPDIR/gxl/aml_encrypt_gxl --bl3enc --input fip/bl30_new.bin
|
||||||
|
$ $FIPDIR/gxl/aml_encrypt_gxl --bl3enc --input fip/bl31.img
|
||||||
|
$ $FIPDIR/gxl/aml_encrypt_gxl --bl3enc --input fip/bl33.bin
|
||||||
|
$ $FIPDIR/gxl/aml_encrypt_gxl --bl2sig --input fip/bl2_new.bin --output fip/bl2.n.bin.sig
|
||||||
|
$ $FIPDIR/gxl/aml_encrypt_gxl --bootmk \
|
||||||
|
--output fip/u-boot.bin \
|
||||||
|
--bl2 fip/bl2.n.bin.sig \
|
||||||
|
--bl30 fip/bl30_new.bin.enc \
|
||||||
|
--bl31 fip/bl31.img.enc \
|
||||||
|
--bl33 fip/bl33.bin.enc
|
||||||
|
|
||||||
|
and then write the image to SD 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
|
102
doc/board/amlogic/p201.rst
Normal file
102
doc/board/amlogic/p201.rst
Normal file
@ -0,0 +1,102 @@
|
|||||||
|
.. SPDX-License-Identifier: GPL-2.0+
|
||||||
|
|
||||||
|
U-Boot for Amlogic P201
|
||||||
|
=======================
|
||||||
|
|
||||||
|
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
|
||||||
|
- eMMC, microSD
|
||||||
|
- Infrared receiver
|
||||||
|
- SDIO WiFi Module
|
||||||
|
- CVBS+Stereo Audio Jack
|
||||||
|
|
||||||
|
Schematics are available from Amlogic on demand.
|
||||||
|
|
||||||
|
U-Boot compilation
|
||||||
|
------------------
|
||||||
|
|
||||||
|
.. code-block:: bash
|
||||||
|
|
||||||
|
$ export CROSS_COMPILE=aarch64-none-elf-
|
||||||
|
$ make p201_defconfig
|
||||||
|
$ make
|
||||||
|
|
||||||
|
Image creation
|
||||||
|
--------------
|
||||||
|
|
||||||
|
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:
|
||||||
|
|
||||||
|
.. code-block:: bash
|
||||||
|
|
||||||
|
$ wget https://releases.linaro.org/archive/13.11/components/toolchain/binaries/gcc-linaro-aarch64-none-elf-4.8-2013.11_linux.tar.xz
|
||||||
|
$ wget https://releases.linaro.org/archive/13.11/components/toolchain/binaries/gcc-linaro-arm-none-eabi-4.8-2013.11_linux.tar.xz
|
||||||
|
$ tar xvfJ gcc-linaro-aarch64-none-elf-4.8-2013.11_linux.tar.xz
|
||||||
|
$ tar xvfJ gcc-linaro-arm-none-eabi-4.8-2013.11_linux.tar.xz
|
||||||
|
$ export PATH=$PWD/gcc-linaro-aarch64-none-elf-4.8-2013.11_linux/bin:$PWD/gcc-linaro-arm-none-eabi-4.8-2013.11_linux/bin:$PATH
|
||||||
|
$ git clone https://github.com/BayLibre/u-boot.git -b n-amlogic-openlinux-20170606 amlogic-u-boot
|
||||||
|
$ cd amlogic-u-boot
|
||||||
|
$ make gxb_p201_v1_defconfig
|
||||||
|
$ make
|
||||||
|
$ export FIPDIR=$PWD/fip
|
||||||
|
|
||||||
|
Go back to mainline U-boot source tree then :
|
||||||
|
|
||||||
|
.. code-block:: bash
|
||||||
|
|
||||||
|
$ mkdir fip
|
||||||
|
|
||||||
|
$ cp $FIPDIR/gxl/bl2.bin fip/
|
||||||
|
$ cp $FIPDIR/gxl/acs.bin fip/
|
||||||
|
$ cp $FIPDIR/gxl/bl21.bin fip/
|
||||||
|
$ cp $FIPDIR/gxl/bl30.bin fip/
|
||||||
|
$ cp $FIPDIR/gxl/bl301.bin fip/
|
||||||
|
$ cp $FIPDIR/gxl/bl31.img fip/
|
||||||
|
$ cp u-boot.bin fip/bl33.bin
|
||||||
|
|
||||||
|
$ $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
|
||||||
|
|
||||||
|
$ $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
|
||||||
|
|
||||||
|
$ $FIPDIR/gxl/aml_encrypt_gxl --bl3enc --input fip/bl30_new.bin
|
||||||
|
$ $FIPDIR/gxl/aml_encrypt_gxl --bl3enc --input fip/bl31.img
|
||||||
|
$ $FIPDIR/gxl/aml_encrypt_gxl --bl3enc --input fip/bl33.bin
|
||||||
|
$ $FIPDIR/gxl/aml_encrypt_gxl --bl2sig --input fip/bl2_new.bin --output fip/bl2.n.bin.sig
|
||||||
|
$ $FIPDIR/gxl/aml_encrypt_gxl --bootmk \
|
||||||
|
--output fip/u-boot.bin \
|
||||||
|
--bl2 fip/bl2.n.bin.sig \
|
||||||
|
--bl30 fip/bl30_new.bin.enc \
|
||||||
|
--bl31 fip/bl31.img.enc \
|
||||||
|
--bl33 fip/bl33.bin.enc
|
||||||
|
|
||||||
|
and then write the image to SD 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
|
102
doc/board/amlogic/p212.rst
Normal file
102
doc/board/amlogic/p212.rst
Normal file
@ -0,0 +1,102 @@
|
|||||||
|
.. SPDX-License-Identifier: GPL-2.0+
|
||||||
|
|
||||||
|
U-Boot for Amlogic P212
|
||||||
|
=======================
|
||||||
|
|
||||||
|
P212 is a reference board manufactured by Amlogic with the following
|
||||||
|
specifications:
|
||||||
|
|
||||||
|
- Amlogic S905X 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
|
||||||
|
- eMMC, microSD
|
||||||
|
- Infrared receiver
|
||||||
|
- SDIO WiFi Module
|
||||||
|
- CVBS+Stereo Audio Jack
|
||||||
|
|
||||||
|
Schematics are available from Amlogic on demand.
|
||||||
|
|
||||||
|
U-Boot compilation
|
||||||
|
------------------
|
||||||
|
|
||||||
|
.. code-block:: bash
|
||||||
|
|
||||||
|
$ export CROSS_COMPILE=aarch64-none-elf-
|
||||||
|
$ make p212_defconfig
|
||||||
|
$ make
|
||||||
|
|
||||||
|
Image creation
|
||||||
|
--------------
|
||||||
|
|
||||||
|
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:
|
||||||
|
|
||||||
|
.. code-block:: bash
|
||||||
|
|
||||||
|
$ wget https://releases.linaro.org/archive/13.11/components/toolchain/binaries/gcc-linaro-aarch64-none-elf-4.8-2013.11_linux.tar.xz
|
||||||
|
$ wget https://releases.linaro.org/archive/13.11/components/toolchain/binaries/gcc-linaro-arm-none-eabi-4.8-2013.11_linux.tar.xz
|
||||||
|
$ tar xvfJ gcc-linaro-aarch64-none-elf-4.8-2013.11_linux.tar.xz
|
||||||
|
$ tar xvfJ gcc-linaro-arm-none-eabi-4.8-2013.11_linux.tar.xz
|
||||||
|
$ export PATH=$PWD/gcc-linaro-aarch64-none-elf-4.8-2013.11_linux/bin:$PWD/gcc-linaro-arm-none-eabi-4.8-2013.11_linux/bin:$PATH
|
||||||
|
$ git clone https://github.com/BayLibre/u-boot.git -b n-amlogic-openlinux-20170606 amlogic-u-boot
|
||||||
|
$ cd amlogic-u-boot
|
||||||
|
$ make gxl_p212_v1_defconfig
|
||||||
|
$ make
|
||||||
|
$ export FIPDIR=$PWD/fip
|
||||||
|
|
||||||
|
Go back to mainline U-boot source tree then :
|
||||||
|
|
||||||
|
.. code-block:: bash
|
||||||
|
|
||||||
|
$ mkdir fip
|
||||||
|
|
||||||
|
$ cp $FIPDIR/gxl/bl2.bin fip/
|
||||||
|
$ cp $FIPDIR/gxl/acs.bin fip/
|
||||||
|
$ cp $FIPDIR/gxl/bl21.bin fip/
|
||||||
|
$ cp $FIPDIR/gxl/bl30.bin fip/
|
||||||
|
$ cp $FIPDIR/gxl/bl301.bin fip/
|
||||||
|
$ cp $FIPDIR/gxl/bl31.img fip/
|
||||||
|
$ cp u-boot.bin fip/bl33.bin
|
||||||
|
|
||||||
|
$ $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
|
||||||
|
|
||||||
|
$ $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
|
||||||
|
|
||||||
|
$ $FIPDIR/gxl/aml_encrypt_gxl --bl3enc --input fip/bl30_new.bin
|
||||||
|
$ $FIPDIR/gxl/aml_encrypt_gxl --bl3enc --input fip/bl31.img
|
||||||
|
$ $FIPDIR/gxl/aml_encrypt_gxl --bl3enc --input fip/bl33.bin
|
||||||
|
$ $FIPDIR/gxl/aml_encrypt_gxl --bl2sig --input fip/bl2_new.bin --output fip/bl2.n.bin.sig
|
||||||
|
$ $FIPDIR/gxl/aml_encrypt_gxl --bootmk \
|
||||||
|
--output fip/u-boot.bin \
|
||||||
|
--bl2 fip/bl2.n.bin.sig \
|
||||||
|
--bl30 fip/bl30_new.bin.enc \
|
||||||
|
--bl31 fip/bl31.img.enc \
|
||||||
|
--bl33 fip/bl33.bin.enc
|
||||||
|
|
||||||
|
and then write the image to SD 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
|
101
doc/board/amlogic/q200.rst
Normal file
101
doc/board/amlogic/q200.rst
Normal file
@ -0,0 +1,101 @@
|
|||||||
|
.. SPDX-License-Identifier: GPL-2.0+
|
||||||
|
|
||||||
|
U-Boot for Amlogic Q200
|
||||||
|
=======================
|
||||||
|
|
||||||
|
Q200 is a reference board manufactured by Amlogic with the following
|
||||||
|
specifications:
|
||||||
|
|
||||||
|
- Amlogic S912 ARM Cortex-A53 octo-core SoC @ 1.5GHz
|
||||||
|
- ARM Mali T860 GPU
|
||||||
|
- 2/3GB DDR4 SDRAM
|
||||||
|
- 10/100/1000 Ethernet
|
||||||
|
- HDMI 2.0 4K/60Hz display
|
||||||
|
- 2 x USB 2.0 Host, 1 x USB 2.0 Device
|
||||||
|
- 16GB/32GB/64GB eMMC
|
||||||
|
- 2MB SPI Flash
|
||||||
|
- microSD
|
||||||
|
- SDIO Wifi Module, Bluetooth
|
||||||
|
- IR receiver
|
||||||
|
|
||||||
|
U-Boot compilation
|
||||||
|
------------------
|
||||||
|
|
||||||
|
.. code-block:: bash
|
||||||
|
|
||||||
|
$ export CROSS_COMPILE=aarch64-none-elf-
|
||||||
|
$ make khadas-vim2_defconfig
|
||||||
|
$ make
|
||||||
|
|
||||||
|
Image creation
|
||||||
|
--------------
|
||||||
|
|
||||||
|
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:
|
||||||
|
|
||||||
|
.. code-block:: bash
|
||||||
|
|
||||||
|
$ wget https://releases.linaro.org/archive/13.11/components/toolchain/binaries/gcc-linaro-aarch64-none-elf-4.8-2013.11_linux.tar.xz
|
||||||
|
$ wget https://releases.linaro.org/archive/13.11/components/toolchain/binaries/gcc-linaro-arm-none-eabi-4.8-2013.11_linux.tar.xz
|
||||||
|
$ tar xvfJ gcc-linaro-aarch64-none-elf-4.8-2013.11_linux.tar.xz
|
||||||
|
$ tar xvfJ gcc-linaro-arm-none-eabi-4.8-2013.11_linux.tar.xz
|
||||||
|
$ export PATH=$PWD/gcc-linaro-aarch64-none-elf-4.8-2013.11_linux/bin:$PWD/gcc-linaro-arm-none-eabi-4.8-2013.11_linux/bin:$PATH
|
||||||
|
$ git clone https://github.com/BayLibre/u-boot.git -b n-amlogic-openlinux-20170606 amlogic-u-boot
|
||||||
|
$ cd amlogic-u-boot
|
||||||
|
$ make gxm_q200_v1_defconfig
|
||||||
|
$ make
|
||||||
|
$ export FIPDIR=$PWD/fip
|
||||||
|
|
||||||
|
Go back to mainline U-Boot source tree then :
|
||||||
|
|
||||||
|
.. code-block:: bash
|
||||||
|
|
||||||
|
$ mkdir fip
|
||||||
|
|
||||||
|
$ cp $FIPDIR/gxl/bl2.bin fip/
|
||||||
|
$ cp $FIPDIR/gxl/acs.bin fip/
|
||||||
|
$ cp $FIPDIR/gxl/bl21.bin fip/
|
||||||
|
$ cp $FIPDIR/gxl/bl30.bin fip/
|
||||||
|
$ cp $FIPDIR/gxl/bl301.bin fip/
|
||||||
|
$ cp $FIPDIR/gxl/bl31.img fip/
|
||||||
|
$ cp u-boot.bin fip/bl33.bin
|
||||||
|
|
||||||
|
$ $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
|
||||||
|
|
||||||
|
$ 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
|
||||||
|
|
||||||
|
$ $FIPDIR/gxl/aml_encrypt_gxl --bl3enc --input fip/bl30_new.bin
|
||||||
|
$ $FIPDIR/gxl/aml_encrypt_gxl --bl3enc --input fip/bl31.img
|
||||||
|
$ $FIPDIR/gxl/aml_encrypt_gxl --bl3enc --input fip/bl33.bin
|
||||||
|
$ $FIPDIR/gxl/aml_encrypt_gxl --bl2sig --input fip/bl2_new.bin --output fip/bl2.n.bin.sig
|
||||||
|
$ $FIPDIR/gxl/aml_encrypt_gxl --bootmk \
|
||||||
|
--output fip/u-boot.bin \
|
||||||
|
--bl2 fip/bl2.n.bin.sig \
|
||||||
|
--bl30 fip/bl30_new.bin.enc \
|
||||||
|
--bl31 fip/bl31.img.enc \
|
||||||
|
--bl33 fip/bl33.bin.enc
|
||||||
|
|
||||||
|
and then write the image to SD 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
|
109
doc/board/amlogic/s400.rst
Normal file
109
doc/board/amlogic/s400.rst
Normal file
@ -0,0 +1,109 @@
|
|||||||
|
.. SPDX-License-Identifier: GPL-2.0+
|
||||||
|
|
||||||
|
U-Boot for Amlogic S400
|
||||||
|
=======================
|
||||||
|
|
||||||
|
S400 is a reference board manufactured by Amlogic with the following
|
||||||
|
specifications:
|
||||||
|
|
||||||
|
- Amlogic A113DX ARM Cortex-A53 quad-core SoC @ 1.2GHz
|
||||||
|
- 1GB DDR4 SDRAM
|
||||||
|
- 10/100 Ethernet
|
||||||
|
- 2 x USB 2.0 Host
|
||||||
|
- eMMC
|
||||||
|
- Infrared receiver
|
||||||
|
- SDIO WiFi Module
|
||||||
|
- MIPI DSI Connector
|
||||||
|
- Audio HAT Connector
|
||||||
|
- PCI-E M.2 Connectors
|
||||||
|
|
||||||
|
Schematics are available from Amlogic on demand.
|
||||||
|
|
||||||
|
U-Boot compilation
|
||||||
|
------------------
|
||||||
|
|
||||||
|
.. code-block:: bash
|
||||||
|
|
||||||
|
$ export CROSS_COMPILE=aarch64-none-elf-
|
||||||
|
$ make s400_defconfig
|
||||||
|
$ make
|
||||||
|
|
||||||
|
Image creation
|
||||||
|
--------------
|
||||||
|
|
||||||
|
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:
|
||||||
|
|
||||||
|
.. code-block:: bash
|
||||||
|
|
||||||
|
$ wget https://releases.linaro.org/archive/13.11/components/toolchain/binaries/gcc-linaro-aarch64-none-elf-4.8-2013.11_linux.tar.xz
|
||||||
|
$ wget https://releases.linaro.org/archive/13.11/components/toolchain/binaries/gcc-linaro-arm-none-eabi-4.8-2013.11_linux.tar.xz
|
||||||
|
$ tar xvfJ gcc-linaro-aarch64-none-elf-4.8-2013.11_linux.tar.xz
|
||||||
|
$ tar xvfJ gcc-linaro-arm-none-eabi-4.8-2013.11_linux.tar.xz
|
||||||
|
$ export PATH=$PWD/gcc-linaro-aarch64-none-elf-4.8-2013.11_linux/bin:$PWD/gcc-linaro-arm-none-eabi-4.8-2013.11_linux/bin:$PATH
|
||||||
|
$ git clone https://github.com/BayLibre/u-boot.git -b n-amlogic-openlinux-20170606 amlogic-u-boot
|
||||||
|
$ cd amlogic-u-boot
|
||||||
|
$ make axg_s400_v1_defconfig
|
||||||
|
$ make
|
||||||
|
$ export FIPDIR=$PWD/fip
|
||||||
|
|
||||||
|
Go back to mainline U-boot source tree then :
|
||||||
|
|
||||||
|
.. code-block:: bash
|
||||||
|
|
||||||
|
$ mkdir fip
|
||||||
|
|
||||||
|
$ cp $FIPDIR/axg/bl2.bin fip/
|
||||||
|
$ cp $FIPDIR/axg/acs.bin fip/
|
||||||
|
$ cp $FIPDIR/axg/bl21.bin fip/
|
||||||
|
$ cp $FIPDIR/axg/bl30.bin fip/
|
||||||
|
$ cp $FIPDIR/axg/bl301.bin fip/
|
||||||
|
$ cp $FIPDIR/axg/bl31.img fip/
|
||||||
|
$ cp u-boot.bin fip/bl33.bin
|
||||||
|
|
||||||
|
$ $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
|
||||||
|
|
||||||
|
$ $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
|
||||||
|
|
||||||
|
$ $FIPDIR/axg/aml_encrypt_axg --bl3sig --input fip/bl30_new.bin \
|
||||||
|
--output fip/bl30_new.bin.enc \
|
||||||
|
--level v3 --type bl30
|
||||||
|
$ $FIPDIR/axg/aml_encrypt_axg --bl3sig --input fip/bl31.img \
|
||||||
|
--output fip/bl31.img.enc \
|
||||||
|
--level v3 --type bl31
|
||||||
|
$ $FIPDIR/axg/aml_encrypt_axg --bl3sig --input fip/bl33.bin --compress lz4 \
|
||||||
|
--output fip/bl33.bin.enc \
|
||||||
|
--level v3 --type bl33
|
||||||
|
$ $FIPDIR/axg/aml_encrypt_axg --bl2sig --input fip/bl2_new.bin \
|
||||||
|
--output fip/bl2.n.bin.sig
|
||||||
|
$ $FIPDIR/axg/aml_encrypt_axg --bootmk \
|
||||||
|
--output fip/u-boot.bin \
|
||||||
|
--bl2 fip/bl2.n.bin.sig \
|
||||||
|
--bl30 fip/bl30_new.bin.enc \
|
||||||
|
--bl31 fip/bl31.img.enc \
|
||||||
|
--bl33 fip/bl33.bin.enc --level v3
|
||||||
|
|
||||||
|
and then write the image to SD 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
|
130
doc/board/amlogic/sei510.rst
Normal file
130
doc/board/amlogic/sei510.rst
Normal file
@ -0,0 +1,130 @@
|
|||||||
|
.. SPDX-License-Identifier: GPL-2.0+
|
||||||
|
|
||||||
|
U-Boot for Amlogic SEI510
|
||||||
|
=========================
|
||||||
|
|
||||||
|
SEI510 is a customer board manufactured by SEI Robotics with the following
|
||||||
|
specifications:
|
||||||
|
|
||||||
|
- Amlogic S905X2 ARM Cortex-A53 quad-core SoC
|
||||||
|
- 2GB DDR4 SDRAM
|
||||||
|
- 10/100 Ethernet (Internal PHY)
|
||||||
|
- 1 x USB 3.0 Host
|
||||||
|
- eMMC
|
||||||
|
- SDcard
|
||||||
|
- Infrared receiver
|
||||||
|
- SDIO WiFi Module
|
||||||
|
|
||||||
|
U-Boot compilation
|
||||||
|
------------------
|
||||||
|
|
||||||
|
.. code-block:: bash
|
||||||
|
|
||||||
|
$ export CROSS_COMPILE=aarch64-none-elf-
|
||||||
|
$ make sei510_defconfig
|
||||||
|
$ make
|
||||||
|
|
||||||
|
Image creation
|
||||||
|
--------------
|
||||||
|
|
||||||
|
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:
|
||||||
|
|
||||||
|
.. code-block:: bash
|
||||||
|
|
||||||
|
$ wget https://releases.linaro.org/archive/13.11/components/toolchain/binaries/gcc-linaro-aarch64-none-elf-4.8-2013.11_linux.tar.xz
|
||||||
|
$ wget https://releases.linaro.org/archive/13.11/components/toolchain/binaries/gcc-linaro-arm-none-eabi-4.8-2013.11_linux.tar.xz
|
||||||
|
$ tar xvfJ gcc-linaro-aarch64-none-elf-4.8-2013.11_linux.tar.xz
|
||||||
|
$ tar xvfJ gcc-linaro-arm-none-eabi-4.8-2013.11_linux.tar.xz
|
||||||
|
$ export PATH=$PWD/gcc-linaro-aarch64-none-elf-4.8-2013.11_linux/bin:$PWD/gcc-linaro-arm-none-eabi-4.8-2013.11_linux/bin:$PATH
|
||||||
|
$ git clone https://github.com/BayLibre/u-boot.git -b buildroot-openlinux-20180418 amlogic-u-boot
|
||||||
|
$ cd amlogic-u-boot
|
||||||
|
$ make g12a_u200_v1_defconfig
|
||||||
|
$ make
|
||||||
|
$ export UBOOTDIR=$PWD
|
||||||
|
|
||||||
|
Download the latest Amlogic Buildroot package, and extract it :
|
||||||
|
|
||||||
|
.. code-block:: bash
|
||||||
|
|
||||||
|
$ wget http://openlinux2.amlogic.com:8000/ARM/filesystem/Linux_BSP/buildroot_openlinux_kernel_4.9_fbdev_20180706.tar.gz
|
||||||
|
$ tar xfz buildroot_openlinux_kernel_4.9_fbdev_20180706.tar.gz buildroot_openlinux_kernel_4.9_fbdev_20180706/bootloader
|
||||||
|
$ export BRDIR=$PWD/buildroot_openlinux_kernel_4.9_fbdev_20180706
|
||||||
|
$ export FIPDIR=$BRDIR/bootloader/uboot-repo/fip
|
||||||
|
|
||||||
|
Go back to mainline U-Boot source tree then :
|
||||||
|
|
||||||
|
.. code-block:: bash
|
||||||
|
|
||||||
|
$ mkdir fip
|
||||||
|
|
||||||
|
$ wget https://github.com/BayLibre/u-boot/releases/download/v2017.11-libretech-cc/blx_fix_g12a.sh -O fip/blx_fix.sh
|
||||||
|
$ cp $UBOOTDIR/build/scp_task/bl301.bin fip/
|
||||||
|
$ cp $UBOOTDIR/build/board/amlogic/g12a_u200_v1/firmware/acs.bin fip/
|
||||||
|
$ cp $BRDIR/bootloader/uboot-repo/bl2/bin/g12a/bl2.bin fip/
|
||||||
|
$ cp $BRDIR/bootloader/uboot-repo/bl30/bin/g12a/bl30.bin fip/
|
||||||
|
$ cp $BRDIR/bootloader/uboot-repo/bl31_1.3/bin/g12a/bl31.img fip/
|
||||||
|
$ cp $FIPDIR/g12a/ddr3_1d.fw fip/
|
||||||
|
$ cp $FIPDIR/g12a/ddr4_1d.fw fip/
|
||||||
|
$ cp $FIPDIR/g12a/ddr4_2d.fw fip/
|
||||||
|
$ cp $FIPDIR/g12a/diag_lpddr4.fw fip/
|
||||||
|
$ cp $FIPDIR/g12a/lpddr4_1d.fw fip/
|
||||||
|
$ cp $FIPDIR/g12a/lpddr4_2d.fw fip/
|
||||||
|
$ cp $FIPDIR/g12a/piei.fw fip/
|
||||||
|
$ cp u-boot.bin fip/bl33.bin
|
||||||
|
|
||||||
|
$ sh fip/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
|
||||||
|
|
||||||
|
$ sh fip/blx_fix.sh \
|
||||||
|
fip/bl2.bin \
|
||||||
|
fip/zero_tmp \
|
||||||
|
fip/bl2_zero.bin \
|
||||||
|
fip/acs.bin \
|
||||||
|
fip/bl21_zero.bin \
|
||||||
|
fip/bl2_new.bin \
|
||||||
|
bl2
|
||||||
|
|
||||||
|
$ $FIPDIR/g12a/aml_encrypt_g12a --bl30sig --input fip/bl30_new.bin \
|
||||||
|
--output fip/bl30_new.bin.g12a.enc \
|
||||||
|
--level v3
|
||||||
|
$ $FIPDIR/g12a/aml_encrypt_g12a --bl3sig --input fip/bl30_new.bin.g12a.enc \
|
||||||
|
--output fip/bl30_new.bin.enc \
|
||||||
|
--level v3 --type bl30
|
||||||
|
$ $FIPDIR/g12a/aml_encrypt_g12a --bl3sig --input fip/bl31.img \
|
||||||
|
--output fip/bl31.img.enc \
|
||||||
|
--level v3 --type bl31
|
||||||
|
$ $FIPDIR/g12a/aml_encrypt_g12a --bl3sig --input fip/bl33.bin --compress lz4 \
|
||||||
|
--output fip/bl33.bin.enc \
|
||||||
|
--level v3 --type bl33
|
||||||
|
$ $FIPDIR/g12a/aml_encrypt_g12a --bl2sig --input fip/bl2_new.bin \
|
||||||
|
--output fip/bl2.n.bin.sig
|
||||||
|
$ $FIPDIR/g12a/aml_encrypt_g12a --bootmk \
|
||||||
|
--output fip/u-boot.bin \
|
||||||
|
--bl2 fip/bl2.n.bin.sig \
|
||||||
|
--bl30 fip/bl30_new.bin.enc \
|
||||||
|
--bl31 fip/bl31.img.enc \
|
||||||
|
--bl33 fip/bl33.bin.enc \
|
||||||
|
--ddrfw1 fip/ddr4_1d.fw \
|
||||||
|
--ddrfw2 fip/ddr4_2d.fw \
|
||||||
|
--ddrfw3 fip/ddr3_1d.fw \
|
||||||
|
--ddrfw4 fip/piei.fw \
|
||||||
|
--ddrfw5 fip/lpddr4_1d.fw \
|
||||||
|
--ddrfw6 fip/lpddr4_2d.fw \
|
||||||
|
--ddrfw7 fip/diag_lpddr4.fw \
|
||||||
|
--level v3
|
||||||
|
|
||||||
|
and then write the image to SD 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
|
133
doc/board/amlogic/sei610.rst
Normal file
133
doc/board/amlogic/sei610.rst
Normal file
@ -0,0 +1,133 @@
|
|||||||
|
.. SPDX-License-Identifier: GPL-2.0+
|
||||||
|
|
||||||
|
U-Boot for Amlogic SEI610
|
||||||
|
=========================
|
||||||
|
|
||||||
|
SEI610 is a customer board manufactured by SEI Robotics with the following
|
||||||
|
specifications:
|
||||||
|
|
||||||
|
- Amlogic S905X3 ARM Cortex-A55 quad-core SoC
|
||||||
|
- 2GB DDR4 SDRAM
|
||||||
|
- 10/100 Ethernet (Internal PHY)
|
||||||
|
- 1 x USB 3.0 Host
|
||||||
|
- 1 x USB Type-C DRD
|
||||||
|
- 1 x FTDI USB Serial Debug Interface
|
||||||
|
- eMMC
|
||||||
|
- SDcard
|
||||||
|
- Infrared receiver
|
||||||
|
- SDIO WiFi Module
|
||||||
|
|
||||||
|
U-Boot compilation
|
||||||
|
------------------
|
||||||
|
|
||||||
|
.. code-block:: bash
|
||||||
|
|
||||||
|
$ export CROSS_COMPILE=aarch64-none-elf-
|
||||||
|
$ make sei610_defconfig
|
||||||
|
$ make
|
||||||
|
|
||||||
|
Image creation
|
||||||
|
--------------
|
||||||
|
|
||||||
|
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:
|
||||||
|
|
||||||
|
.. code-block:: bash
|
||||||
|
|
||||||
|
$ wget https://releases.linaro.org/archive/13.11/components/toolchain/binaries/gcc-linaro-aarch64-none-elf-4.8-2013.11_linux.tar.xz
|
||||||
|
$ wget https://releases.linaro.org/archive/13.11/components/toolchain/binaries/gcc-linaro-arm-none-eabi-4.8-2013.11_linux.tar.xz
|
||||||
|
$ tar xvfJ gcc-linaro-aarch64-none-elf-4.8-2013.11_linux.tar.xz
|
||||||
|
$ tar xvfJ gcc-linaro-arm-none-eabi-4.8-2013.11_linux.tar.xz
|
||||||
|
$ export PATH=$PWD/gcc-linaro-aarch64-none-elf-4.8-2013.11_linux/bin:$PWD/gcc-linaro-arm-none-eabi-4.8-2013.11_linux/bin:$PATH
|
||||||
|
$ git clone https://github.com/BayLibre/u-boot.git -b buildroot-openlinux-4.9-g12a-201904 amlogic-u-boot
|
||||||
|
$ cd amlogic-u-boot
|
||||||
|
$ make sm1_ac200_v1_defconfig
|
||||||
|
$ make
|
||||||
|
$ export UBOOTDIR=$PWD
|
||||||
|
|
||||||
|
Download the latest Amlogic Buildroot package, and extract it :
|
||||||
|
|
||||||
|
.. code-block:: bash
|
||||||
|
|
||||||
|
$ wget http://openlinux2.amlogic.com:8000/ARM/filesystem/buildroot-openlinux-A113-201901.tgz
|
||||||
|
$ tar xfz buildroot-openlinux-A113-201901.tgz buildroot-openlinux-A113-201901/bootloader
|
||||||
|
$ export BRDIR=$PWD/buildroot-openlinux-A113-201901
|
||||||
|
$ export FIPDIR=$BRDIR/bootloader/uboot-repo/fip
|
||||||
|
|
||||||
|
Go back to mainline U-Boot source tree then :
|
||||||
|
|
||||||
|
|
||||||
|
.. code-block:: bash
|
||||||
|
|
||||||
|
$ mkdir fip
|
||||||
|
|
||||||
|
$ wget https://github.com/BayLibre/u-boot/releases/download/v2017.11-libretech-cc/blx_fix_g12a.sh -O fip/blx_fix.sh
|
||||||
|
$ cp $UBOOTDIR/build/scp_task/bl301.bin fip/
|
||||||
|
$ cp $UBOOTDIR/build/board/amlogic/g12a_u200_v1/firmware/acs.bin fip/
|
||||||
|
$ cp $BRDIR/bootloader/uboot-repo/bl2/bin/g12a/bl2.bin fip/
|
||||||
|
$ cp $BRDIR/bootloader/uboot-repo/bl30/bin/g12a/bl30.bin fip/
|
||||||
|
$ cp $BRDIR/bootloader/uboot-repo/bl31_1.3/bin/g12a/bl31.img fip/
|
||||||
|
$ cp $FIPDIR/g12a/ddr3_1d.fw fip/
|
||||||
|
$ cp $FIPDIR/g12a/ddr4_1d.fw fip/
|
||||||
|
$ cp $FIPDIR/g12a/ddr4_2d.fw fip/
|
||||||
|
$ cp $FIPDIR/g12a/diag_lpddr4.fw fip/
|
||||||
|
$ cp $FIPDIR/g12a/lpddr4_1d.fw fip/
|
||||||
|
$ cp $FIPDIR/g12a/lpddr4_2d.fw fip/
|
||||||
|
$ cp $FIPDIR/g12a/piei.fw fip/
|
||||||
|
$ cp u-boot.bin fip/bl33.bin
|
||||||
|
|
||||||
|
$ sh fip/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
|
||||||
|
|
||||||
|
$ sh fip/blx_fix.sh \
|
||||||
|
fip/bl2.bin \
|
||||||
|
fip/zero_tmp \
|
||||||
|
fip/bl2_zero.bin \
|
||||||
|
fip/acs.bin \
|
||||||
|
fip/bl21_zero.bin \
|
||||||
|
fip/bl2_new.bin \
|
||||||
|
bl2
|
||||||
|
|
||||||
|
$ $FIPDIR/g12a/aml_encrypt_g12a --bl30sig --input fip/bl30_new.bin \
|
||||||
|
--output fip/bl30_new.bin.g12a.enc \
|
||||||
|
--level v3
|
||||||
|
$ $FIPDIR/g12a/aml_encrypt_g12a --bl3sig --input fip/bl30_new.bin.g12a.enc \
|
||||||
|
--output fip/bl30_new.bin.enc \
|
||||||
|
--level v3 --type bl30
|
||||||
|
$ $FIPDIR/g12a/aml_encrypt_g12a --bl3sig --input fip/bl31.img \
|
||||||
|
--output fip/bl31.img.enc \
|
||||||
|
--level v3 --type bl31
|
||||||
|
$ $FIPDIR/g12a/aml_encrypt_g12a --bl3sig --input fip/bl33.bin --compress lz4 \
|
||||||
|
--output fip/bl33.bin.enc \
|
||||||
|
--level v3 --type bl33
|
||||||
|
$ $FIPDIR/g12a/aml_encrypt_g12a --bl2sig --input fip/bl2_new.bin \
|
||||||
|
--output fip/bl2.n.bin.sig
|
||||||
|
$ $FIPDIR/g12a/aml_encrypt_g12a --bootmk \
|
||||||
|
--output fip/u-boot.bin \
|
||||||
|
--bl2 fip/bl2.n.bin.sig \
|
||||||
|
--bl30 fip/bl30_new.bin.enc \
|
||||||
|
--bl31 fip/bl31.img.enc \
|
||||||
|
--bl33 fip/bl33.bin.enc \
|
||||||
|
--ddrfw1 fip/ddr4_1d.fw \
|
||||||
|
--ddrfw2 fip/ddr4_2d.fw \
|
||||||
|
--ddrfw3 fip/ddr3_1d.fw \
|
||||||
|
--ddrfw4 fip/piei.fw \
|
||||||
|
--ddrfw5 fip/lpddr4_1d.fw \
|
||||||
|
--ddrfw6 fip/lpddr4_2d.fw \
|
||||||
|
--ddrfw7 fip/diag_lpddr4.fw \
|
||||||
|
--level v3
|
||||||
|
|
||||||
|
and then write the image to SD 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
|
135
doc/board/amlogic/u200.rst
Normal file
135
doc/board/amlogic/u200.rst
Normal file
@ -0,0 +1,135 @@
|
|||||||
|
.. SPDX-License-Identifier: GPL-2.0+
|
||||||
|
|
||||||
|
U-Boot for Amlogic U200
|
||||||
|
=======================
|
||||||
|
|
||||||
|
U200 is a reference board manufactured by Amlogic with the following
|
||||||
|
specifications:
|
||||||
|
|
||||||
|
- Amlogic S905D2 ARM Cortex-A53 quad-core SoC
|
||||||
|
- 2GB DDR4 SDRAM
|
||||||
|
- 10/100 Ethernet (Internal PHY)
|
||||||
|
- 1 x USB 3.0 Host
|
||||||
|
- eMMC
|
||||||
|
- SDcard
|
||||||
|
- Infrared receiver
|
||||||
|
- SDIO WiFi Module
|
||||||
|
- MIPI DSI Connector
|
||||||
|
- Audio HAT Connector
|
||||||
|
- PCI-E M.2 Connector
|
||||||
|
|
||||||
|
Schematics are available from Amlogic on demand.
|
||||||
|
|
||||||
|
U-Boot compilation
|
||||||
|
------------------
|
||||||
|
|
||||||
|
.. code-block:: bash
|
||||||
|
|
||||||
|
$ export CROSS_COMPILE=aarch64-none-elf-
|
||||||
|
$ make u200_defconfig
|
||||||
|
$ make
|
||||||
|
|
||||||
|
Image creation
|
||||||
|
--------------
|
||||||
|
|
||||||
|
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:
|
||||||
|
|
||||||
|
.. code-block:: bash
|
||||||
|
|
||||||
|
$ wget https://releases.linaro.org/archive/13.11/components/toolchain/binaries/gcc-linaro-aarch64-none-elf-4.8-2013.11_linux.tar.xz
|
||||||
|
$ wget https://releases.linaro.org/archive/13.11/components/toolchain/binaries/gcc-linaro-arm-none-eabi-4.8-2013.11_linux.tar.xz
|
||||||
|
$ tar xvfJ gcc-linaro-aarch64-none-elf-4.8-2013.11_linux.tar.xz
|
||||||
|
$ tar xvfJ gcc-linaro-arm-none-eabi-4.8-2013.11_linux.tar.xz
|
||||||
|
$ export PATH=$PWD/gcc-linaro-aarch64-none-elf-4.8-2013.11_linux/bin:$PWD/gcc-linaro-arm-none-eabi-4.8-2013.11_linux/bin:$PATH
|
||||||
|
$ git clone https://github.com/BayLibre/u-boot.git -b buildroot-openlinux-20180418 amlogic-u-boot
|
||||||
|
$ cd amlogic-u-boot
|
||||||
|
$ make g12a_u200_v1_defconfig
|
||||||
|
$ make
|
||||||
|
$ export UBOOTDIR=$PWD
|
||||||
|
|
||||||
|
Download the latest Amlogic Buildroot package, and extract it :
|
||||||
|
|
||||||
|
.. code-block:: bash
|
||||||
|
|
||||||
|
$ wget http://openlinux2.amlogic.com:8000/ARM/filesystem/Linux_BSP/buildroot_openlinux_kernel_4.9_fbdev_20180706.tar.gz
|
||||||
|
$ tar xfz buildroot_openlinux_kernel_4.9_fbdev_20180706.tar.gz buildroot_openlinux_kernel_4.9_fbdev_20180706/bootloader
|
||||||
|
$ export BRDIR=$PWD/buildroot_openlinux_kernel_4.9_fbdev_20180706
|
||||||
|
$ export FIPDIR=$BRDIR/bootloader/uboot-repo/fip
|
||||||
|
|
||||||
|
Go back to mainline U-Boot source tree then :
|
||||||
|
|
||||||
|
.. code-block:: bash
|
||||||
|
|
||||||
|
$ mkdir fip
|
||||||
|
|
||||||
|
$ wget https://github.com/BayLibre/u-boot/releases/download/v2017.11-libretech-cc/blx_fix_g12a.sh -O fip/blx_fix.sh
|
||||||
|
$ cp $UBOOTDIR/build/scp_task/bl301.bin fip/
|
||||||
|
$ cp $UBOOTDIR/build/board/amlogic/g12a_u200_v1/firmware/acs.bin fip/
|
||||||
|
$ cp $BRDIR/bootloader/uboot-repo/bl2/bin/g12a/bl2.bin fip/
|
||||||
|
$ cp $BRDIR/bootloader/uboot-repo/bl30/bin/g12a/bl30.bin fip/
|
||||||
|
$ cp $BRDIR/bootloader/uboot-repo/bl31_1.3/bin/g12a/bl31.img fip/
|
||||||
|
$ cp $FIPDIR/g12a/ddr3_1d.fw fip/
|
||||||
|
$ cp $FIPDIR/g12a/ddr4_1d.fw fip/
|
||||||
|
$ cp $FIPDIR/g12a/ddr4_2d.fw fip/
|
||||||
|
$ cp $FIPDIR/g12a/diag_lpddr4.fw fip/
|
||||||
|
$ cp $FIPDIR/g12a/lpddr4_1d.fw fip/
|
||||||
|
$ cp $FIPDIR/g12a/lpddr4_2d.fw fip/
|
||||||
|
$ cp $FIPDIR/g12a/piei.fw fip/
|
||||||
|
$ cp u-boot.bin fip/bl33.bin
|
||||||
|
|
||||||
|
$ sh fip/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
|
||||||
|
|
||||||
|
$ sh fip/blx_fix.sh \
|
||||||
|
fip/bl2.bin \
|
||||||
|
fip/zero_tmp \
|
||||||
|
fip/bl2_zero.bin \
|
||||||
|
fip/acs.bin \
|
||||||
|
fip/bl21_zero.bin \
|
||||||
|
fip/bl2_new.bin \
|
||||||
|
bl2
|
||||||
|
|
||||||
|
$ $FIPDIR/g12a/aml_encrypt_g12a --bl30sig --input fip/bl30_new.bin \
|
||||||
|
--output fip/bl30_new.bin.g12a.enc \
|
||||||
|
--level v3
|
||||||
|
$ $FIPDIR/g12a/aml_encrypt_g12a --bl3sig --input fip/bl30_new.bin.g12a.enc \
|
||||||
|
--output fip/bl30_new.bin.enc \
|
||||||
|
--level v3 --type bl30
|
||||||
|
$ $FIPDIR/g12a/aml_encrypt_g12a --bl3sig --input fip/bl31.img \
|
||||||
|
--output fip/bl31.img.enc \
|
||||||
|
--level v3 --type bl31
|
||||||
|
$ $FIPDIR/g12a/aml_encrypt_g12a --bl3sig --input fip/bl33.bin --compress lz4 \
|
||||||
|
--output fip/bl33.bin.enc \
|
||||||
|
--level v3 --type bl33
|
||||||
|
$ $FIPDIR/g12a/aml_encrypt_g12a --bl2sig --input fip/bl2_new.bin \
|
||||||
|
--output fip/bl2.n.bin.sig
|
||||||
|
$ $FIPDIR/g12a/aml_encrypt_g12a --bootmk \
|
||||||
|
--output fip/u-boot.bin \
|
||||||
|
--bl2 fip/bl2.n.bin.sig \
|
||||||
|
--bl30 fip/bl30_new.bin.enc \
|
||||||
|
--bl31 fip/bl31.img.enc \
|
||||||
|
--bl33 fip/bl33.bin.enc \
|
||||||
|
--ddrfw1 fip/ddr4_1d.fw \
|
||||||
|
--ddrfw2 fip/ddr4_2d.fw \
|
||||||
|
--ddrfw3 fip/ddr3_1d.fw \
|
||||||
|
--ddrfw4 fip/piei.fw \
|
||||||
|
--ddrfw5 fip/lpddr4_1d.fw \
|
||||||
|
--ddrfw6 fip/lpddr4_2d.fw \
|
||||||
|
--ddrfw7 fip/diag_lpddr4.fw \
|
||||||
|
--level v3
|
||||||
|
|
||||||
|
and then write the image to SD 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
|
137
doc/board/amlogic/w400.rst
Normal file
137
doc/board/amlogic/w400.rst
Normal file
@ -0,0 +1,137 @@
|
|||||||
|
.. SPDX-License-Identifier: GPL-2.0+
|
||||||
|
|
||||||
|
U-Boot for Amlogic W400
|
||||||
|
=======================
|
||||||
|
|
||||||
|
U200 is a reference board manufactured by Amlogic with the following
|
||||||
|
specifications:
|
||||||
|
|
||||||
|
- Amlogic S922X ARM Cortex-A53 dual-core + Cortex-A73 quad-core SoC
|
||||||
|
- 2GB DDR4 SDRAM
|
||||||
|
- 10/100 Ethernet (Internal PHY)
|
||||||
|
- 1 x USB 3.0 Host
|
||||||
|
- eMMC
|
||||||
|
- SDcard
|
||||||
|
- Infrared receiver
|
||||||
|
- SDIO WiFi Module
|
||||||
|
- MIPI DSI Connector
|
||||||
|
- Audio HAT Connector
|
||||||
|
- PCI-E M.2 Connector
|
||||||
|
|
||||||
|
Schematics are available from Amlogic on demand.
|
||||||
|
|
||||||
|
U-Boot compilation
|
||||||
|
------------------
|
||||||
|
|
||||||
|
.. code-block:: bash
|
||||||
|
|
||||||
|
$ export CROSS_COMPILE=aarch64-none-elf-
|
||||||
|
$ make w400_defconfig
|
||||||
|
$ make
|
||||||
|
|
||||||
|
Image creation
|
||||||
|
--------------
|
||||||
|
|
||||||
|
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:
|
||||||
|
|
||||||
|
.. code-block:: bash
|
||||||
|
|
||||||
|
$ wget https://releases.linaro.org/archive/13.11/components/toolchain/binaries/gcc-linaro-aarch64-none-elf-4.8-2013.11_linux.tar.xz
|
||||||
|
$ wget https://releases.linaro.org/archive/13.11/components/toolchain/binaries/gcc-linaro-arm-none-eabi-4.8-2013.11_linux.tar.xz
|
||||||
|
$ tar xvfJ gcc-linaro-aarch64-none-elf-4.8-2013.11_linux.tar.xz
|
||||||
|
$ tar xvfJ gcc-linaro-arm-none-eabi-4.8-2013.11_linux.tar.xz
|
||||||
|
$ export PATH=$PWD/gcc-linaro-aarch64-none-elf-4.8-2013.11_linux/bin:$PWD/gcc-linaro-arm-none-eabi-4.8-2013.11_linux/bin:$PATH
|
||||||
|
$ git clone https://github.com/BayLibre/u-boot.git -b buildroot-openlinux-20180418 amlogic-u-boot
|
||||||
|
$ cd amlogic-u-boot
|
||||||
|
$ make g12b_w400_v1_defconfig
|
||||||
|
$ make
|
||||||
|
$ export UBOOTDIR=$PWD
|
||||||
|
|
||||||
|
Download the latest Amlogic Buildroot package, and extract it :
|
||||||
|
|
||||||
|
.. code-block:: bash
|
||||||
|
|
||||||
|
$ wget http://openlinux2.amlogic.com:8000/ARM/filesystem/Linux_BSP/buildroot_openlinux_kernel_4.9_fbdev_20180706.tar.gz
|
||||||
|
$ tar xfz buildroot_openlinux_kernel_4.9_fbdev_20180706.tar.gz buildroot_openlinux_kernel_4.9_fbdev_20180706/bootloader
|
||||||
|
$ export BRDIR=$PWD/buildroot_openlinux_kernel_4.9_fbdev_20180706
|
||||||
|
$ export FIPDIR=$BRDIR/bootloader/uboot-repo/fip
|
||||||
|
|
||||||
|
Go back to mainline U-Boot source tree then :
|
||||||
|
|
||||||
|
.. code-block:: bash
|
||||||
|
|
||||||
|
$ mkdir fip
|
||||||
|
|
||||||
|
$ wget https://github.com/BayLibre/u-boot/releases/download/v2017.11-libretech-cc/blx_fix_g12a.sh -O fip/blx_fix.sh
|
||||||
|
$ cp $UBOOTDIR/build/scp_task/bl301.bin fip/
|
||||||
|
$ cp $UBOOTDIR/build/board/amlogic/g12b_w400_v1/firmware/acs.bin fip/
|
||||||
|
$ cp $BRDIR/bootloader/uboot-repo/bl2/bin/g12b/bl2.bin fip/
|
||||||
|
$ cp $BRDIR/bootloader/uboot-repo/bl30/bin/g12b/bl30.bin fip/
|
||||||
|
$ cp $BRDIR/bootloader/uboot-repo/bl31_1.3/bin/g12b/bl31.img fip/
|
||||||
|
$ cp $FIPDIR/g12b/ddr3_1d.fw fip/
|
||||||
|
$ cp $FIPDIR/g12b/ddr4_1d.fw fip/
|
||||||
|
$ cp $FIPDIR/g12b/ddr4_2d.fw fip/
|
||||||
|
$ cp $FIPDIR/g12b/diag_lpddr4.fw fip/
|
||||||
|
$ cp $FIPDIR/g12b/lpddr4_1d.fw fip/
|
||||||
|
$ cp $FIPDIR/g12b/lpddr4_2d.fw fip/
|
||||||
|
$ cp $FIPDIR/g12b/piei.fw fip/
|
||||||
|
$ cp $FIPDIR/g12b/aml_ddr.fw fip/
|
||||||
|
$ cp u-boot.bin fip/bl33.bin
|
||||||
|
|
||||||
|
$ sh fip/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
|
||||||
|
|
||||||
|
$ sh fip/blx_fix.sh \
|
||||||
|
fip/bl2.bin \
|
||||||
|
fip/zero_tmp \
|
||||||
|
fip/bl2_zero.bin \
|
||||||
|
fip/acs.bin \
|
||||||
|
fip/bl21_zero.bin \
|
||||||
|
fip/bl2_new.bin \
|
||||||
|
bl2
|
||||||
|
|
||||||
|
$ $FIPDIR/g12b/aml_encrypt_g12b --bl30sig --input fip/bl30_new.bin \
|
||||||
|
--output fip/bl30_new.bin.g12a.enc \
|
||||||
|
--level v3
|
||||||
|
$ $FIPDIR/g12b/aml_encrypt_g12b --bl3sig --input fip/bl30_new.bin.g12a.enc \
|
||||||
|
--output fip/bl30_new.bin.enc \
|
||||||
|
--level v3 --type bl30
|
||||||
|
$ $FIPDIR/g12b/aml_encrypt_g12b --bl3sig --input fip/bl31.img \
|
||||||
|
--output fip/bl31.img.enc \
|
||||||
|
--level v3 --type bl31
|
||||||
|
$ $FIPDIR/g12b/aml_encrypt_g12b --bl3sig --input fip/bl33.bin --compress lz4 \
|
||||||
|
--output fip/bl33.bin.enc \
|
||||||
|
--level v3 --type bl33
|
||||||
|
$ $FIPDIR/g12b/aml_encrypt_g12b --bl2sig --input fip/bl2_new.bin \
|
||||||
|
--output fip/bl2.n.bin.sig
|
||||||
|
$ $FIPDIR/g12b/aml_encrypt_g12b --bootmk \
|
||||||
|
--output fip/u-boot.bin \
|
||||||
|
--bl2 fip/bl2.n.bin.sig \
|
||||||
|
--bl30 fip/bl30_new.bin.enc \
|
||||||
|
--bl31 fip/bl31.img.enc \
|
||||||
|
--bl33 fip/bl33.bin.enc \
|
||||||
|
--ddrfw1 fip/ddr4_1d.fw \
|
||||||
|
--ddrfw2 fip/ddr4_2d.fw \
|
||||||
|
--ddrfw3 fip/ddr3_1d.fw \
|
||||||
|
--ddrfw4 fip/piei.fw \
|
||||||
|
--ddrfw5 fip/lpddr4_1d.fw \
|
||||||
|
--ddrfw6 fip/lpddr4_2d.fw \
|
||||||
|
--ddrfw7 fip/diag_lpddr4.fw \
|
||||||
|
--ddrfw8 fip/aml_ddr.fw \
|
||||||
|
--level v3
|
||||||
|
|
||||||
|
and then write the image to SD 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
|
@ -8,6 +8,7 @@ Board-specific doc
|
|||||||
|
|
||||||
actions/index
|
actions/index
|
||||||
AndesTech/index
|
AndesTech/index
|
||||||
|
amlogic/index
|
||||||
atmel/index
|
atmel/index
|
||||||
coreboot/index
|
coreboot/index
|
||||||
emulation/index
|
emulation/index
|
||||||
|
Loading…
Reference in New Issue
Block a user