Name | Date | Size | #Lines | LOC | ||
---|---|---|---|---|---|---|
.. | - | - | ||||
MAINTAINERS | D | 03-May-2024 | 178 | 8 | 7 | |
Makefile | D | 03-May-2024 | 141 | 7 | 1 | |
README.khadas-vim3 | D | 03-May-2024 | 4 KiB | 133 | 114 | |
README.odroid-n2 | D | 03-May-2024 | 4 KiB | 131 | 112 | |
README.w400 | D | 03-May-2024 | 4.3 KiB | 131 | 113 | |
w400.c | D | 03-May-2024 | 326 | 19 | 10 |
README.khadas-vim3
1U-Boot for Khadas VIM3 2====================== 3 4Khadas VIM3 is a single board computer manufactured by Shenzhen Wesion 5Technology Co., Ltd. with the following specifications: 6 7 - Amlogic A311D Arm Cortex-A53 dual-core + Cortex-A73 quad-core SoC 8 - 4GB LPDDR4 SDRAM 9 - Gigabit Ethernet 10 - HDMI 2.1 display 11 - 40-pin GPIO header 12 - 1 x USB 3.0 Host, 1 x USB 2.0 Host 13 - eMMC, microSD 14 - M.2 15 - Infrared receiver 16 17Schematics are available on the manufacturer website. 18 19Currently the U-Boot port supports the following devices: 20 - serial 21 - eMMC, microSD 22 - Ethernet 23 - I2C 24 - Regulators 25 - Reset controller 26 - Clock controller 27 - ADC 28 29u-boot compilation 30================== 31 32 > export ARCH=arm 33 > export CROSS_COMPILE=aarch64-none-elf- 34 > make khadas-vim3_defconfig 35 > make 36 37Image creation 38============== 39 40Amlogic doesn't provide sources for the firmware and for tools needed 41to create the bootloader image, so it is necessary to obtain them from 42the git tree published by the board vendor: 43 44 > wget https://releases.linaro.org/archive/13.11/components/toolchain/binaries/gcc-linaro-aarch64-none-elf-4.8-2013.11_linux.tar.xz 45 > wget https://releases.linaro.org/archive/13.11/components/toolchain/binaries/gcc-linaro-arm-none-eabi-4.8-2013.11_linux.tar.xz 46 > tar xvfJ gcc-linaro-aarch64-none-elf-4.8-2013.11_linux.tar.xz 47 > tar xvfJ gcc-linaro-arm-none-eabi-4.8-2013.11_linux.tar.xz 48 > 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 49 50 > DIR=vim3-u-boot 51 > git clone --depth 1 \ 52 https://github.com/khadas/u-boot.git -b khadas-vims-v2015.01 \ 53 $DIR 54 55 > cd vim3-u-boot 56 > make kvim3_defconfig 57 > make 58 > export UBOOTDIR=$PWD 59 60 Go back to mainline U-Boot source tree then : 61 > mkdir fip 62 63 > cp $UBOOTDIR/build/scp_task/bl301.bin fip/ 64 > cp $UBOOTDIR/build/board/khadas/kvim3/firmware/acs.bin fip/ 65 > cp $UBOOTDIR/fip/g12b/bl2.bin fip/ 66 > cp $UBOOTDIR/fip/g12b/bl30.bin fip/ 67 > cp $UBOOTDIR/fip/g12b/bl31.img fip/ 68 > cp $UBOOTDIR/fip/g12b/ddr3_1d.fw fip/ 69 > cp $UBOOTDIR/fip/g12b/ddr4_1d.fw fip/ 70 > cp $UBOOTDIR/fip/g12b/ddr4_2d.fw fip/ 71 > cp $UBOOTDIR/fip/g12b/diag_lpddr4.fw fip/ 72 > cp $UBOOTDIR/fip/g12b/lpddr3_1d.fw fip/ 73 > cp $UBOOTDIR/fip/g12b/lpddr4_1d.fw fip/ 74 > cp $UBOOTDIR/fip/g12b/lpddr4_2d.fw fip/ 75 > cp $UBOOTDIR/fip/g12b/piei.fw fip/ 76 > cp $UBOOTDIR/fip/g12b/aml_ddr.fw fip/ 77 > cp u-boot.bin fip/bl33.bin 78 79 > sh fip/blx_fix.sh \ 80 fip/bl30.bin \ 81 fip/zero_tmp \ 82 fip/bl30_zero.bin \ 83 fip/bl301.bin \ 84 fip/bl301_zero.bin \ 85 fip/bl30_new.bin \ 86 bl30 87 88 > sh fip/blx_fix.sh \ 89 fip/bl2.bin \ 90 fip/zero_tmp \ 91 fip/bl2_zero.bin \ 92 fip/acs.bin \ 93 fip/bl21_zero.bin \ 94 fip/bl2_new.bin \ 95 bl2 96 97 > $UBOOTDIR/fip/g12b/aml_encrypt_g12b --bl30sig --input fip/bl30_new.bin \ 98 --output fip/bl30_new.bin.g12a.enc \ 99 --level v3 100 > $UBOOTDIR/fip/g12b/aml_encrypt_g12b --bl3sig --input fip/bl30_new.bin.g12a.enc \ 101 --output fip/bl30_new.bin.enc \ 102 --level v3 --type bl30 103 > $UBOOTDIR/fip/g12b/aml_encrypt_g12b --bl3sig --input fip/bl31.img \ 104 --output fip/bl31.img.enc \ 105 --level v3 --type bl31 106 > $UBOOTDIR/fip/g12b/aml_encrypt_g12b --bl3sig --input fip/bl33.bin --compress lz4 \ 107 --output fip/bl33.bin.enc \ 108 --level v3 --type bl33 --compress lz4 109 > $UBOOTDIR/fip/g12b/aml_encrypt_g12b --bl2sig --input fip/bl2_new.bin \ 110 --output fip/bl2.n.bin.sig 111 > $UBOOTDIR/fip/g12b/aml_encrypt_g12b --bootmk \ 112 --output fip/u-boot.bin \ 113 --bl2 fip/bl2.n.bin.sig \ 114 --bl30 fip/bl30_new.bin.enc \ 115 --bl31 fip/bl31.img.enc \ 116 --bl33 fip/bl33.bin.enc \ 117 --ddrfw1 fip/ddr4_1d.fw \ 118 --ddrfw2 fip/ddr4_2d.fw \ 119 --ddrfw3 fip/ddr3_1d.fw \ 120 --ddrfw4 fip/piei.fw \ 121 --ddrfw5 fip/lpddr4_1d.fw \ 122 --ddrfw6 fip/lpddr4_2d.fw \ 123 --ddrfw7 fip/diag_lpddr4.fw \ 124 --ddrfw8 fip/aml_ddr.fw \ 125 --ddrfw9 fip/lpddr3_1d.fw \ 126 --level v3 127 128and then write the image to SD with: 129 130 > DEV=/dev/your_sd_device 131 > dd if=fip/u-boot.bin.sd.bin of=$DEV conv=fsync,notrunc bs=512 skip=1 seek=1 132 > dd if=fip/u-boot.bin.sd.bin of=$DEV conv=fsync,notrunc bs=1 count=444 133
README.odroid-n2
1U-Boot for ODROID-N2 2==================== 3 4ODROID-N2 is a single board computer manufactured by Hardkernel 5Co. Ltd with the following specifications: 6 7 - Amlogic S922X ARM Cortex-A53 dual-core + Cortex-A73 quad-core SoC 8 - 4GB DDR4 SDRAM 9 - Gigabit Ethernet 10 - HDMI 2.1 4K/60Hz display 11 - 40-pin GPIO header 12 - 4 x USB 3.0 Host, 1 x USB OTG 13 - eMMC, microSD 14 - Infrared receiver 15 16Schematics are available on the manufacturer website. 17 18Currently the u-boot port supports the following devices: 19 - serial 20 - eMMC, microSD 21 - Ethernet 22 - I2C 23 - Regulators 24 - Reset controller 25 - Clock controller 26 - ADC 27 28u-boot compilation 29================== 30 31 > export ARCH=arm 32 > export CROSS_COMPILE=aarch64-none-elf- 33 > make odroid-n2_defconfig 34 > make 35 36Image creation 37============== 38 39Amlogic doesn't provide sources for the firmware and for tools needed 40to create the bootloader image, so it is necessary to obtain them from 41the git tree published by the board vendor: 42 43 > wget https://releases.linaro.org/archive/13.11/components/toolchain/binaries/gcc-linaro-aarch64-none-elf-4.8-2013.11_linux.tar.xz 44 > wget https://releases.linaro.org/archive/13.11/components/toolchain/binaries/gcc-linaro-arm-none-eabi-4.8-2013.11_linux.tar.xz 45 > tar xvfJ gcc-linaro-aarch64-none-elf-4.8-2013.11_linux.tar.xz 46 > tar xvfJ gcc-linaro-arm-none-eabi-4.8-2013.11_linux.tar.xz 47 > 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 48 49 > DIR=odroid-n2 50 > git clone --depth 1 \ 51 https://github.com/hardkernel/u-boot.git -b odroidn2-v2015.01 \ 52 $DIR 53 54 > cd odroid-n2 55 > make odroidn2_defconfig 56 > make 57 > export UBOOTDIR=$PWD 58 59 Go back to mainline U-Boot source tree then : 60 > mkdir fip 61 62 > wget https://github.com/BayLibre/u-boot/releases/download/v2017.11-libretech-cc/blx_fix_g12a.sh -O fip/blx_fix.sh 63 > cp $UBOOTDIR/build/scp_task/bl301.bin fip/ 64 > cp $UBOOTDIR/build/board/hardkernel/odroidn2/firmware/acs.bin fip/ 65 > cp $UBOOTDIR/fip/g12b/bl2.bin fip/ 66 > cp $UBOOTDIR/fip/g12b/bl30.bin fip/ 67 > cp $UBOOTDIR/fip/g12b/bl31.img fip/ 68 > cp $UBOOTDIR/fip/g12b/ddr3_1d.fw fip/ 69 > cp $UBOOTDIR/fip/g12b/ddr4_1d.fw fip/ 70 > cp $UBOOTDIR/fip/g12b/ddr4_2d.fw fip/ 71 > cp $UBOOTDIR/fip/g12b/diag_lpddr4.fw fip/ 72 > cp $UBOOTDIR/fip/g12b/lpddr4_1d.fw fip/ 73 > cp $UBOOTDIR/fip/g12b/lpddr4_2d.fw fip/ 74 > cp $UBOOTDIR/fip/g12b/piei.fw fip/ 75 > cp $UBOOTDIR/fip/g12b/aml_ddr.fw fip/ 76 > cp u-boot.bin fip/bl33.bin 77 78 > sh fip/blx_fix.sh \ 79 fip/bl30.bin \ 80 fip/zero_tmp \ 81 fip/bl30_zero.bin \ 82 fip/bl301.bin \ 83 fip/bl301_zero.bin \ 84 fip/bl30_new.bin \ 85 bl30 86 87 > sh fip/blx_fix.sh \ 88 fip/bl2.bin \ 89 fip/zero_tmp \ 90 fip/bl2_zero.bin \ 91 fip/acs.bin \ 92 fip/bl21_zero.bin \ 93 fip/bl2_new.bin \ 94 bl2 95 96 > $UBOOTDIR/fip/g12b/aml_encrypt_g12b --bl30sig --input fip/bl30_new.bin \ 97 --output fip/bl30_new.bin.g12a.enc \ 98 --level v3 99 > $UBOOTDIR/fip/g12b/aml_encrypt_g12b --bl3sig --input fip/bl30_new.bin.g12a.enc \ 100 --output fip/bl30_new.bin.enc \ 101 --level v3 --type bl30 102 > $UBOOTDIR/fip/g12b/aml_encrypt_g12b --bl3sig --input fip/bl31.img \ 103 --output fip/bl31.img.enc \ 104 --level v3 --type bl31 105 > $UBOOTDIR/fip/g12b/aml_encrypt_g12b --bl3sig --input fip/bl33.bin --compress lz4 \ 106 --output fip/bl33.bin.enc \ 107 --level v3 --type bl33 --compress lz4 108 > $UBOOTDIR/fip/g12b/aml_encrypt_g12b --bl2sig --input fip/bl2_new.bin \ 109 --output fip/bl2.n.bin.sig 110 > $UBOOTDIR/fip/g12b/aml_encrypt_g12b --bootmk \ 111 --output fip/u-boot.bin \ 112 --bl2 fip/bl2.n.bin.sig \ 113 --bl30 fip/bl30_new.bin.enc \ 114 --bl31 fip/bl31.img.enc \ 115 --bl33 fip/bl33.bin.enc \ 116 --ddrfw1 fip/ddr4_1d.fw \ 117 --ddrfw2 fip/ddr4_2d.fw \ 118 --ddrfw3 fip/ddr3_1d.fw \ 119 --ddrfw4 fip/piei.fw \ 120 --ddrfw5 fip/lpddr4_1d.fw \ 121 --ddrfw6 fip/lpddr4_2d.fw \ 122 --ddrfw7 fip/diag_lpddr4.fw \ 123 --ddrfw8 fip/aml_ddr.fw \ 124 --level v3 125 126and then write the image to SD with: 127 128 > DEV=/dev/your_sd_device 129 > dd if=fip/u-boot.bin.sd.bin of=$DEV conv=fsync,notrunc bs=512 skip=1 seek=1 130 > dd if=fip/u-boot.bin.sd.bin of=$DEV conv=fsync,notrunc bs=1 count=444 131
README.w400
1U-Boot for Amlogic W400 2======================= 3 4U200 is a reference board manufactured by Amlogic with the following 5specifications: 6 7 - Amlogic S922X ARM Cortex-A53 dual-core + Cortex-A73 quad-core SoC 8 - 2GB DDR4 SDRAM 9 - 10/100 Ethernet (Internal PHY) 10 - 1 x USB 3.0 Host 11 - eMMC 12 - SDcard 13 - Infrared receiver 14 - SDIO WiFi Module 15 - MIPI DSI Connector 16 - Audio HAT Connector 17 - PCI-E M.2 Connector 18 19Schematics are available from Amlogic on demand. 20 21Currently the u-boot port supports the following devices: 22 - serial 23 - Ethernet 24 - Regulators 25 - Clock controller 26 27u-boot compilation 28================== 29 30 > export ARCH=arm 31 > export CROSS_COMPILE=aarch64-none-elf- 32 > make w400_defconfig 33 > make 34 35Image creation 36============== 37 38Amlogic doesn't provide sources for the firmware and for tools needed 39to create the bootloader image, so it is necessary to obtain them from 40the git tree published by the board vendor: 41 42 > wget https://releases.linaro.org/archive/13.11/components/toolchain/binaries/gcc-linaro-aarch64-none-elf-4.8-2013.11_linux.tar.xz 43 > wget https://releases.linaro.org/archive/13.11/components/toolchain/binaries/gcc-linaro-arm-none-eabi-4.8-2013.11_linux.tar.xz 44 > tar xvfJ gcc-linaro-aarch64-none-elf-4.8-2013.11_linux.tar.xz 45 > tar xvfJ gcc-linaro-arm-none-eabi-4.8-2013.11_linux.tar.xz 46 > 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 47 > git clone https://github.com/BayLibre/u-boot.git -b buildroot-openlinux-20180418 amlogic-u-boot 48 > cd amlogic-u-boot 49 > make g12b_w400_v1_defconfig 50 > make 51 > export UBOOTDIR=$PWD 52 53Download the latest Amlogic Buildroot package, and extract it : 54 > wget http://openlinux2.amlogic.com:8000/ARM/filesystem/Linux_BSP/buildroot_openlinux_kernel_4.9_fbdev_20180706.tar.gz 55 > tar xfz buildroot_openlinux_kernel_4.9_fbdev_20180706.tar.gz buildroot_openlinux_kernel_4.9_fbdev_20180706/bootloader 56 > export BRDIR=$PWD/buildroot_openlinux_kernel_4.9_fbdev_20180706 57 > export FIPDIR=$BRDIR/bootloader/uboot-repo/fip 58 59Go back to mainline U-Boot source tree then : 60 > mkdir fip 61 62 > wget https://github.com/BayLibre/u-boot/releases/download/v2017.11-libretech-cc/blx_fix_g12a.sh -O fip/blx_fix.sh 63 > cp $UBOOTDIR/build/scp_task/bl301.bin fip/ 64 > cp $UBOOTDIR/build/board/amlogic/g12b_w400_v1/firmware/acs.bin fip/ 65 > cp $BRDIR/bootloader/uboot-repo/bl2/bin/g12b/bl2.bin fip/ 66 > cp $BRDIR/bootloader/uboot-repo/bl30/bin/g12b/bl30.bin fip/ 67 > cp $BRDIR/bootloader/uboot-repo/bl31_1.3/bin/g12b/bl31.img fip/ 68 > cp $FIPDIR/g12b/ddr3_1d.fw fip/ 69 > cp $FIPDIR/g12b/ddr4_1d.fw fip/ 70 > cp $FIPDIR/g12b/ddr4_2d.fw fip/ 71 > cp $FIPDIR/g12b/diag_lpddr4.fw fip/ 72 > cp $FIPDIR/g12b/lpddr4_1d.fw fip/ 73 > cp $FIPDIR/g12b/lpddr4_2d.fw fip/ 74 > cp $FIPDIR/g12b/piei.fw fip/ 75 > cp $FIPDIR/g12b/aml_ddr.fw fip/ 76 > cp u-boot.bin fip/bl33.bin 77 78 > sh fip/blx_fix.sh \ 79 fip/bl30.bin \ 80 fip/zero_tmp \ 81 fip/bl30_zero.bin \ 82 fip/bl301.bin \ 83 fip/bl301_zero.bin \ 84 fip/bl30_new.bin \ 85 bl30 86 87 > sh fip/blx_fix.sh \ 88 fip/bl2.bin \ 89 fip/zero_tmp \ 90 fip/bl2_zero.bin \ 91 fip/acs.bin \ 92 fip/bl21_zero.bin \ 93 fip/bl2_new.bin \ 94 bl2 95 96 > $FIPDIR/g12b/aml_encrypt_g12b --bl30sig --input fip/bl30_new.bin \ 97 --output fip/bl30_new.bin.g12a.enc \ 98 --level v3 99 > $FIPDIR/g12b/aml_encrypt_g12b --bl3sig --input fip/bl30_new.bin.g12a.enc \ 100 --output fip/bl30_new.bin.enc \ 101 --level v3 --type bl30 102 > $FIPDIR/g12b/aml_encrypt_g12b --bl3sig --input fip/bl31.img \ 103 --output fip/bl31.img.enc \ 104 --level v3 --type bl31 105 > $FIPDIR/g12b/aml_encrypt_g12b --bl3sig --input fip/bl33.bin --compress lz4 \ 106 --output fip/bl33.bin.enc \ 107 --level v3 --type bl33 108 > $FIPDIR/g12b/aml_encrypt_g12b --bl2sig --input fip/bl2_new.bin \ 109 --output fip/bl2.n.bin.sig 110 > $FIPDIR/g12b/aml_encrypt_g12b --bootmk \ 111 --output fip/u-boot.bin \ 112 --bl2 fip/bl2.n.bin.sig \ 113 --bl30 fip/bl30_new.bin.enc \ 114 --bl31 fip/bl31.img.enc \ 115 --bl33 fip/bl33.bin.enc \ 116 --ddrfw1 fip/ddr4_1d.fw \ 117 --ddrfw2 fip/ddr4_2d.fw \ 118 --ddrfw3 fip/ddr3_1d.fw \ 119 --ddrfw4 fip/piei.fw \ 120 --ddrfw5 fip/lpddr4_1d.fw \ 121 --ddrfw6 fip/lpddr4_2d.fw \ 122 --ddrfw7 fip/diag_lpddr4.fw \ 123 --ddrfw8 fip/aml_ddr.fw \ 124 --level v3 125 126and then write the image to SD with: 127 128 > DEV=/dev/your_sd_device 129 > dd if=fip/u-boot.bin.sd.bin of=$DEV conv=fsync,notrunc bs=512 skip=1 seek=1 130 > dd if=fip/u-boot.bin.sd.bin of=$DEV conv=fsync,notrunc bs=1 count=444 131