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 ARCH=arm
 > 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
