Home | History | Annotate | only in /external/u-boot/board/amlogic/khadas-vim
Up to higher level directory
NameDateSize
Kconfig22-Oct-2020152
khadas-vim.c22-Oct-20201.1K
MAINTAINERS22-Oct-2020162
Makefile22-Oct-2020147
README22-Oct-20202.8K

README

      1 U-Boot for Khadas VIM
      2 =======================
      3 
      4 Khadas VIM is an Open Source DIY Box manufactured by Shenzhen Wesion
      5 Technology Co., Ltd with the following specifications:
      6 
      7  - Amlogic S905x ARM Cortex-A53 quad-core SoC @ 2GHz
      8  - ARM Mali 450 GPU
      9  - 2GB DDR3 SDRAM
     10  - 10/100 Ethernet
     11  - HDMI 2.0 4K/60Hz display
     12  - 40-pin GPIO header
     13  - 2 x USB 2.0 Host, 1 x USB 2.0 Type-C OTG
     14  - 8GB/16GBeMMC
     15  - microSD
     16  - SDIO Wifi Module, Bluetooth
     17  - Two channels IR receiver
     18 
     19 Currently the u-boot port supports the following devices:
     20  - serial
     21  - eMMC, microSD
     22  - Ethernet
     23 
     24 U-Boot compilation
     25 ==================
     26 
     27  > export ARCH=arm
     28  > export CROSS_COMPILE=aarch64-none-elf-
     29  > make khadas-vim_defconfig
     30  > make
     31 
     32 Image creation
     33 ==============
     34 
     35 Amlogic doesn't provide sources for the firmware and for tools needed
     36 to create the bootloader image, so it is necessary to obtain them from
     37 the git tree published by the board vendor:
     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 Vim vim-u-boot
     45  > cd vim-u-boot
     46  > make kvim_defconfig
     47  > make
     48  > export FIPDIR=$PWD/fip
     49 
     50 Go back to mainline U-Boot source tree then :
     51  > mkdir fip
     52 
     53  > cp $FIPDIR/gxl/bl2.bin fip/
     54  > cp $FIPDIR/gxl/acs.bin fip/
     55  > cp $FIPDIR/gxl/bl21.bin fip/
     56  > cp $FIPDIR/gxl/bl30.bin fip/
     57  > cp $FIPDIR/gxl/bl301.bin fip/
     58  > cp $FIPDIR/gxl/bl31.img fip/
     59  > cp u-boot.bin fip/bl33.bin
     60 
     61  > $FIPDIR/blx_fix.sh \
     62 	fip/bl30.bin \
     63 	fip/zero_tmp \
     64 	fip/bl30_zero.bin \
     65 	fip/bl301.bin \
     66 	fip/bl301_zero.bin \
     67 	fip/bl30_new.bin \
     68 	bl30
     69 
     70  > $FIPDIR/acs_tool.pyc fip/bl2.bin fip/bl2_acs.bin fip/acs.bin 0
     71 
     72  > $FIPDIR/blx_fix.sh \
     73 	fip/bl2_acs.bin \
     74 	fip/zero_tmp \
     75 	fip/bl2_zero.bin \
     76 	fip/bl21.bin \
     77 	fip/bl21_zero.bin \
     78 	fip/bl2_new.bin \
     79 	bl2
     80 
     81  > $FIPDIR/gxl/aml_encrypt_gxl --bl3enc --input fip/bl30_new.bin
     82  > $FIPDIR/gxl/aml_encrypt_gxl --bl3enc --input fip/bl31.img
     83  > $FIPDIR/gxl/aml_encrypt_gxl --bl3enc --input fip/bl33.bin
     84  > $FIPDIR/gxl/aml_encrypt_gxl --bl2sig --input fip/bl2_new.bin --output fip/bl2.n.bin.sig
     85  > $FIPDIR/gxl/aml_encrypt_gxl --bootmk \
     86 		--output fip/u-boot.bin \
     87 		--bl2 fip/bl2.n.bin.sig \
     88 		--bl30 fip/bl30_new.bin.enc \
     89 		--bl31 fip/bl31.img.enc \
     90 		--bl33 fip/bl33.bin.enc
     91 
     92 and then write the image to SD with:
     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