11e23737dSCarlo CaioneU-Boot for ODROID-C2 21e23737dSCarlo Caione==================== 31e23737dSCarlo Caione 41e23737dSCarlo CaioneODROID-C2 is a single board computer manufactured by Hardkernel 51e23737dSCarlo CaioneCo. Ltd with the following specifications: 61e23737dSCarlo Caione 71e23737dSCarlo Caione - Amlogic S905 ARM Cortex-A53 quad-core SoC @ 2GHz 81e23737dSCarlo Caione - ARM Mali 450 GPU 91e23737dSCarlo Caione - 2GB DDR3 SDRAM 101e23737dSCarlo Caione - Gigabit Ethernet 111e23737dSCarlo Caione - HDMI 2.0 4K/60Hz display 121e23737dSCarlo Caione - 40-pin GPIO header 131e23737dSCarlo Caione - 4 x USB 2.0 Host, 1 x USB OTG 141e23737dSCarlo Caione - eMMC, microSD 151e23737dSCarlo Caione - Infrared receiver 161e23737dSCarlo Caione 171e23737dSCarlo CaioneSchematics are available on the manufacturer website. 181e23737dSCarlo Caione 191e23737dSCarlo CaioneCurrently the u-boot port supports the following devices: 201e23737dSCarlo Caione - serial 21*7880dcf0Sxypron.glpk@gmx.de - eMMC, microSD 221e23737dSCarlo Caione - Ethernet 231e23737dSCarlo Caione 241e23737dSCarlo Caioneu-boot compilation 251e23737dSCarlo Caione================== 261e23737dSCarlo Caione 271e23737dSCarlo Caione > export ARCH=arm 281e23737dSCarlo Caione > export CROSS_COMPILE=aarch64-none-elf- 291e23737dSCarlo Caione > make odroid-c2_defconfig 301e23737dSCarlo Caione > make 311e23737dSCarlo Caione 321e23737dSCarlo CaioneImage creation 331e23737dSCarlo Caione============== 341e23737dSCarlo Caione 351e23737dSCarlo CaioneAmlogic doesn't provide sources for the firmware and for tools needed 361e23737dSCarlo Caioneto create the bootloader image, so it is necessary to obtain them from 371e23737dSCarlo Caionethe git tree published by the board vendor: 381e23737dSCarlo Caione 391e23737dSCarlo Caione > DIR=odroid-c2 401e23737dSCarlo Caione > git clone --depth 1 \ 411e23737dSCarlo Caione https://github.com/hardkernel/u-boot.git -b odroidc2-v2015.01 \ 421e23737dSCarlo Caione $DIR 431e23737dSCarlo Caione > $DIR/fip/fip_create --bl30 $DIR/fip/gxb/bl30.bin \ 441e23737dSCarlo Caione --bl301 $DIR/fip/gxb/bl301.bin \ 451e23737dSCarlo Caione --bl31 $DIR/fip/gxb/bl31.bin \ 461e23737dSCarlo Caione --bl33 u-boot.bin \ 471e23737dSCarlo Caione $DIR/fip.bin 481e23737dSCarlo Caione > $DIR/fip/fip_create --dump $DIR/fip.bin 491e23737dSCarlo Caione > cat $DIR/fip/gxb/bl2.package $DIR/fip.bin > $DIR/boot_new.bin 501e23737dSCarlo Caione > $DIR/fip/gxb/aml_encrypt_gxb --bootsig \ 511e23737dSCarlo Caione --input $DIR/boot_new.bin \ 521e23737dSCarlo Caione --output $DIR/u-boot.img 531e23737dSCarlo Caione > dd if=$DIR/u-boot.img of=$DIR/u-boot.gxbb bs=512 skip=96 541e23737dSCarlo Caione 551e23737dSCarlo Caioneand then write the image to SD with: 561e23737dSCarlo Caione 571e23737dSCarlo Caione > DEV=/dev/your_sd_device 581e23737dSCarlo Caione > BL1=$DIR/sd_fuse/bl1.bin.hardkernel 591e23737dSCarlo Caione > dd if=$BL1 of=$DEV conv=fsync bs=1 count=442 601e23737dSCarlo Caione > dd if=$BL1 of=$DEV conv=fsync bs=512 skip=1 seek=1 611e23737dSCarlo Caione > dd if=$DIR/u-boot.gxbb of=$DEV conv=fsync bs=512 seek=97 62