1.. SPDX-License-Identifier: GPL-2.0+ 2 3U-Boot for WeTek Core2 4====================== 5 6WeTek Core2 is an Android STB based on the Q200 reference design with 7the following specifications: 8 9 - Amlogic S912 ARM Cortex-A53 octo-core SoC @ 1.5GHz 10 - ARM Mali T820 GPU 11 - 3GB DDR4 SDRAM 12 - 10/100 Realtek RTL8152 Ethernet (internal USB) 13 - HDMI 2.0 4K/60Hz display 14 - 2x USB 2.0 Host, 1x USB 2.0 OTG (internal) 15 - 32GB eMMC 16 - microSD 17 - SDIO Wifi Module, Bluetooth 18 - Two channel IR receiver 19 20U-Boot compilation 21------------------ 22 23.. code-block:: bash 24 25 $ export CROSS_COMPILE=aarch64-none-elf- 26 $ make wetek-core2_defconfig 27 $ make 28 29Image creation 30-------------- 31 32Amlogic does not provide sources for the firmware or the tools needed 33to create the bootloader image, and WeTek has not publicly shared the 34precompiled FIP binaries. However the public Khadas VIM2 sources also 35work with the Core2 box so we can use the Khadas git tree: 36 37.. code-block:: bash 38 39 $ wget https://releases.linaro.org/archive/13.11/components/toolchain/binaries/gcc-linaro-aarch64-none-elf-4.8-2013.11_linux.tar.xz 40 $ wget https://releases.linaro.org/archive/13.11/components/toolchain/binaries/gcc-linaro-arm-none-eabi-4.8-2013.11_linux.tar.xz 41 $ tar xvfJ gcc-linaro-aarch64-none-elf-4.8-2013.11_linux.tar.xz 42 $ tar xvfJ gcc-linaro-arm-none-eabi-4.8-2013.11_linux.tar.xz 43 $ 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 44 $ git clone https://github.com/khadas/u-boot -b khadas-vim-v2015.01 vim-u-boot 45 $ cd vim-u-boot 46 $ make kvim2_defconfig 47 $ make 48 $ export FIPDIR=$PWD/fip 49 50Go back to mainline U-Boot source tree then: 51 52.. code-block:: bash 53 54 $ mkdir fip 55 $ cp $FIPDIR/gxl/bl2.bin fip/ 56 $ cp $FIPDIR/gxl/acs.bin fip/ 57 $ cp $FIPDIR/gxl/bl21.bin fip/ 58 $ cp $FIPDIR/gxl/bl30.bin fip/ 59 $ cp $FIPDIR/gxl/bl301.bin fip/ 60 $ cp $FIPDIR/gxl/bl31.img fip/ 61 $ cp u-boot.bin fip/bl33.bin 62 $ $FIPDIR/blx_fix.sh \ 63 fip/bl30.bin \ 64 fip/zero_tmp \ 65 fip/bl30_zero.bin \ 66 fip/bl301.bin \ 67 fip/bl301_zero.bin \ 68 fip/bl30_new.bin \ 69 bl30 70 $ python $FIPDIR/acs_tool.pyc fip/bl2.bin fip/bl2_acs.bin fip/acs.bin 0 71 $ $FIPDIR/blx_fix.sh \ 72 fip/bl2_acs.bin \ 73 fip/zero_tmp \ 74 fip/bl2_zero.bin \ 75 fip/bl21.bin \ 76 fip/bl21_zero.bin \ 77 fip/bl2_new.bin \ 78 bl2 79 $ $FIPDIR/gxl/aml_encrypt_gxl --bl3enc --input fip/bl30_new.bin 80 $ $FIPDIR/gxl/aml_encrypt_gxl --bl3enc --input fip/bl31.img 81 $ $FIPDIR/gxl/aml_encrypt_gxl --bl3enc --input fip/bl33.bin 82 $ $FIPDIR/gxl/aml_encrypt_gxl --bl2sig --input fip/bl2_new.bin --output fip/bl2.n.bin.sig 83 $ $FIPDIR/gxl/aml_encrypt_gxl --bootmk \ 84 --output fip/u-boot.bin \ 85 --bl2 fip/bl2.n.bin.sig \ 86 --bl30 fip/bl30_new.bin.enc \ 87 --bl31 fip/bl31.img.enc \ 88 --bl33 fip/bl33.bin.enc 89 90then write the image to SD with: 91 92.. code-block:: bash 93 94 $ DEV=/dev/your_sd_device 95 $ dd if=fip/u-boot.bin.sd.bin of=$DEV conv=fsync,notrunc bs=512 skip=1 seek=1 96 $ dd if=fip/u-boot.bin.sd.bin of=$DEV conv=fsync,notrunc bs=1 count=444 97