Commit 8bbfb40e572ddb8a11482ca513131e21a75e99de
Committed by
Neil Armstrong
1 parent
e4623f75e4
Exists in
smarc_8mq_lf_v2020.04
and in
11 other branches
board: amlogic: remove p212 derivatives
The Khadas vim and the libretech aml-s905x-cc (aka Potato) derive from amlogic s905x reference design (P212). All the code in these board is a copy/paste from the p212, which is tedious to maintain. This change use p212 u-boot board for all these boards, while keeping a dedicated defconfig to customize the names and device tree. Signed-off-by: Jerome Brunet <jbrunet@baylibre.com> Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
Showing 17 changed files with 311 additions and 491 deletions Side-by-side Diff
- arch/arm/mach-meson/Kconfig
- board/amlogic/khadas-vim/Kconfig
- board/amlogic/khadas-vim/MAINTAINERS
- board/amlogic/khadas-vim/Makefile
- board/amlogic/khadas-vim/README
- board/amlogic/khadas-vim/khadas-vim.c
- board/amlogic/libretech-cc/Kconfig
- board/amlogic/libretech-cc/MAINTAINERS
- board/amlogic/libretech-cc/Makefile
- board/amlogic/libretech-cc/README
- board/amlogic/libretech-cc/libretech-cc.c
- board/amlogic/p212/README
- board/amlogic/p212/README.khadas-vim
- board/amlogic/p212/README.libretech-cc
- board/amlogic/p212/README.p212
- configs/khadas-vim_defconfig
- configs/libretech-cc_defconfig
arch/arm/mach-meson/Kconfig
... | ... | @@ -47,23 +47,9 @@ |
47 | 47 | P212 is a reference dessign board based on Meson GXL S905X SoC |
48 | 48 | with 2 GiB of RAM, Ethernet, HDMI, 2 USB, micro-SD slot, |
49 | 49 | eMMC, IR receiver, CVBS+Audio jack and a SDIO WiFi module. |
50 | + You should also select this TARGET if you have Khadas Vim or | |
51 | + a libretech aml-s905x-cc | |
50 | 52 | |
51 | -config TARGET_LIBRETECH_CC | |
52 | - bool "LIBRETECH-CC" | |
53 | - select MESON_GXL | |
54 | - help | |
55 | - LibreTech CC is a single board computer based on Meson GXL | |
56 | - with 2 GiB of RAM, Ethernet, HDMI, 4 USB, micro-SD slot, | |
57 | - eMMC, IR receiver and a 40-pin GPIO header. | |
58 | - | |
59 | -config TARGET_KHADAS_VIM | |
60 | - bool "KHADAS-VIM" | |
61 | - select MESON_GXL | |
62 | - help | |
63 | - Khadas VIM is a single board computer based on Meson GXL | |
64 | - with 2 GiB of RAM, Ethernet, HDMI, 4 USB, micro-SD slot, | |
65 | - eMMC, IR receiver and a 40-pin GPIO header. | |
66 | - | |
67 | 53 | config TARGET_KHADAS_VIM2 |
68 | 54 | bool "KHADAS-VIM2" |
69 | 55 | select MESON_GXM |
... | ... | @@ -85,10 +71,6 @@ |
85 | 71 | source "board/amlogic/nanopi-k2/Kconfig" |
86 | 72 | |
87 | 73 | source "board/amlogic/p212/Kconfig" |
88 | - | |
89 | -source "board/amlogic/libretech-cc/Kconfig" | |
90 | - | |
91 | -source "board/amlogic/khadas-vim/Kconfig" | |
92 | 74 | |
93 | 75 | source "board/amlogic/khadas-vim2/Kconfig" |
94 | 76 |
board/amlogic/khadas-vim/Kconfig
board/amlogic/khadas-vim/MAINTAINERS
board/amlogic/khadas-vim/Makefile
board/amlogic/khadas-vim/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 @ 1.5GHz | |
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 | - - I2C | |
24 | - - Regulators | |
25 | - - Reset controller | |
26 | - - Clock controller | |
27 | - - USB Host | |
28 | - - ADC | |
29 | - | |
30 | -U-Boot compilation | |
31 | -================== | |
32 | - | |
33 | - > export ARCH=arm | |
34 | - > export CROSS_COMPILE=aarch64-none-elf- | |
35 | - > make khadas-vim_defconfig | |
36 | - > make | |
37 | - | |
38 | -Image creation | |
39 | -============== | |
40 | - | |
41 | -Amlogic doesn't provide sources for the firmware and for tools needed | |
42 | -to create the bootloader image, so it is necessary to obtain them from | |
43 | -the git tree published by the board vendor: | |
44 | - | |
45 | - > wget https://releases.linaro.org/archive/13.11/components/toolchain/binaries/gcc-linaro-aarch64-none-elf-4.8-2013.11_linux.tar.xz | |
46 | - > wget https://releases.linaro.org/archive/13.11/components/toolchain/binaries/gcc-linaro-arm-none-eabi-4.8-2013.11_linux.tar.xz | |
47 | - > tar xvfJ gcc-linaro-aarch64-none-elf-4.8-2013.11_linux.tar.xz | |
48 | - > tar xvfJ gcc-linaro-arm-none-eabi-4.8-2013.11_linux.tar.xz | |
49 | - > 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 | |
50 | - > git clone https://github.com/khadas/u-boot -b Vim vim-u-boot | |
51 | - > cd vim-u-boot | |
52 | - > make kvim_defconfig | |
53 | - > make | |
54 | - > export FIPDIR=$PWD/fip | |
55 | - | |
56 | -Go back to mainline U-Boot source tree then : | |
57 | - > mkdir fip | |
58 | - | |
59 | - > cp $FIPDIR/gxl/bl2.bin fip/ | |
60 | - > cp $FIPDIR/gxl/acs.bin fip/ | |
61 | - > cp $FIPDIR/gxl/bl21.bin fip/ | |
62 | - > cp $FIPDIR/gxl/bl30.bin fip/ | |
63 | - > cp $FIPDIR/gxl/bl301.bin fip/ | |
64 | - > cp $FIPDIR/gxl/bl31.img fip/ | |
65 | - > cp u-boot.bin fip/bl33.bin | |
66 | - | |
67 | - > $FIPDIR/blx_fix.sh \ | |
68 | - fip/bl30.bin \ | |
69 | - fip/zero_tmp \ | |
70 | - fip/bl30_zero.bin \ | |
71 | - fip/bl301.bin \ | |
72 | - fip/bl301_zero.bin \ | |
73 | - fip/bl30_new.bin \ | |
74 | - bl30 | |
75 | - | |
76 | - > python $FIPDIR/acs_tool.pyc fip/bl2.bin fip/bl2_acs.bin fip/acs.bin 0 | |
77 | - | |
78 | - > $FIPDIR/blx_fix.sh \ | |
79 | - fip/bl2_acs.bin \ | |
80 | - fip/zero_tmp \ | |
81 | - fip/bl2_zero.bin \ | |
82 | - fip/bl21.bin \ | |
83 | - fip/bl21_zero.bin \ | |
84 | - fip/bl2_new.bin \ | |
85 | - bl2 | |
86 | - | |
87 | - > $FIPDIR/gxl/aml_encrypt_gxl --bl3enc --input fip/bl30_new.bin | |
88 | - > $FIPDIR/gxl/aml_encrypt_gxl --bl3enc --input fip/bl31.img | |
89 | - > $FIPDIR/gxl/aml_encrypt_gxl --bl3enc --input fip/bl33.bin | |
90 | - > $FIPDIR/gxl/aml_encrypt_gxl --bl2sig --input fip/bl2_new.bin --output fip/bl2.n.bin.sig | |
91 | - > $FIPDIR/gxl/aml_encrypt_gxl --bootmk \ | |
92 | - --output fip/u-boot.bin \ | |
93 | - --bl2 fip/bl2.n.bin.sig \ | |
94 | - --bl30 fip/bl30_new.bin.enc \ | |
95 | - --bl31 fip/bl31.img.enc \ | |
96 | - --bl33 fip/bl33.bin.enc | |
97 | - | |
98 | -and then write the image to SD with: | |
99 | - | |
100 | - > DEV=/dev/your_sd_device | |
101 | - > dd if=fip/u-boot.bin.sd.bin of=$DEV conv=fsync,notrunc bs=512 skip=1 seek=1 | |
102 | - > dd if=fip/u-boot.bin.sd.bin of=$DEV conv=fsync,notrunc bs=1 count=444 |
board/amlogic/khadas-vim/khadas-vim.c
1 | -// SPDX-License-Identifier: GPL-2.0+ | |
2 | -/* | |
3 | - * Copyright (C) 2016 BayLibre, SAS | |
4 | - * Author: Neil Armstrong <narmstrong@baylibre.com> | |
5 | - */ | |
6 | - | |
7 | -#include <common.h> | |
8 | -#include <dm.h> | |
9 | -#include <environment.h> | |
10 | -#include <asm/io.h> | |
11 | -#include <asm/arch/gx.h> | |
12 | -#include <asm/arch/mem.h> | |
13 | -#include <asm/arch/sm.h> | |
14 | -#include <asm/arch/eth.h> | |
15 | - | |
16 | -#define EFUSE_SN_OFFSET 20 | |
17 | -#define EFUSE_SN_SIZE 16 | |
18 | -#define EFUSE_MAC_OFFSET 52 | |
19 | -#define EFUSE_MAC_SIZE 6 | |
20 | - | |
21 | -int board_init(void) | |
22 | -{ | |
23 | - return 0; | |
24 | -} | |
25 | - | |
26 | -int misc_init_r(void) | |
27 | -{ | |
28 | - u8 mac_addr[EFUSE_MAC_SIZE]; | |
29 | - char serial[EFUSE_SN_SIZE]; | |
30 | - ssize_t len; | |
31 | - | |
32 | - meson_gx_eth_init(PHY_INTERFACE_MODE_RMII, | |
33 | - MESON_GXL_USE_INTERNAL_RMII_PHY); | |
34 | - | |
35 | - if (!eth_env_get_enetaddr("ethaddr", mac_addr)) { | |
36 | - len = meson_sm_read_efuse(EFUSE_MAC_OFFSET, | |
37 | - mac_addr, EFUSE_MAC_SIZE); | |
38 | - if (len == EFUSE_MAC_SIZE && is_valid_ethaddr(mac_addr)) | |
39 | - eth_env_set_enetaddr("ethaddr", mac_addr); | |
40 | - } | |
41 | - | |
42 | - if (!env_get("serial#")) { | |
43 | - len = meson_sm_read_efuse(EFUSE_SN_OFFSET, serial, | |
44 | - EFUSE_SN_SIZE); | |
45 | - if (len == EFUSE_SN_SIZE) | |
46 | - env_set("serial#", serial); | |
47 | - } | |
48 | - | |
49 | - return 0; | |
50 | -} | |
51 | - | |
52 | -int ft_board_setup(void *blob, bd_t *bd) | |
53 | -{ | |
54 | - meson_gx_init_reserved_memory(blob); | |
55 | - | |
56 | - return 0; | |
57 | -} |
board/amlogic/libretech-cc/Kconfig
board/amlogic/libretech-cc/MAINTAINERS
board/amlogic/libretech-cc/Makefile
board/amlogic/libretech-cc/README
1 | -U-Boot for LibreTech CC | |
2 | -======================= | |
3 | - | |
4 | -LibreTech CC is a single board computer manufactured by Libre Technology | |
5 | -with the following specifications: | |
6 | - | |
7 | - - Amlogic S905X ARM Cortex-A53 quad-core SoC @ 1.5GHz | |
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 | - - 4 x USB 2.0 Host | |
14 | - - eMMC, microSD | |
15 | - - Infrared receiver | |
16 | - | |
17 | -Schematics are available on the manufacturer website. | |
18 | - | |
19 | -Currently 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 | - - USB Host | |
28 | - - ADC | |
29 | - | |
30 | -U-Boot compilation | |
31 | -================== | |
32 | - | |
33 | - > export ARCH=arm | |
34 | - > export CROSS_COMPILE=aarch64-none-elf- | |
35 | - > make libretech-cc_defconfig | |
36 | - > make | |
37 | - | |
38 | -Image creation | |
39 | -============== | |
40 | - | |
41 | -Amlogic doesn't provide sources for the firmware and for tools needed | |
42 | -to create the bootloader image, so it is necessary to obtain them from | |
43 | -the git tree published by the board vendor: | |
44 | - | |
45 | - > wget https://releases.linaro.org/archive/13.11/components/toolchain/binaries/gcc-linaro-aarch64-none-elf-4.8-2013.11_linux.tar.xz | |
46 | - > wget https://releases.linaro.org/archive/13.11/components/toolchain/binaries/gcc-linaro-arm-none-eabi-4.8-2013.11_linux.tar.xz | |
47 | - > tar xvfJ gcc-linaro-aarch64-none-elf-4.8-2013.11_linux.tar.xz | |
48 | - > tar xvfJ gcc-linaro-arm-none-eabi-4.8-2013.11_linux.tar.xz | |
49 | - > 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 | |
50 | - > git clone https://github.com/BayLibre/u-boot.git -b libretech-cc amlogic-u-boot | |
51 | - > cd amlogic-u-boot | |
52 | - > make libretech_cc_defconfig | |
53 | - > make | |
54 | - > export FIPDIR=$PWD/fip | |
55 | - | |
56 | -Go back to mainline U-Boot source tree then : | |
57 | - > mkdir fip | |
58 | - | |
59 | - > cp $FIPDIR/gxl/bl2.bin fip/ | |
60 | - > cp $FIPDIR/gxl/acs.bin fip/ | |
61 | - > cp $FIPDIR/gxl/bl21.bin fip/ | |
62 | - > cp $FIPDIR/gxl/bl30.bin fip/ | |
63 | - > cp $FIPDIR/gxl/bl301.bin fip/ | |
64 | - > cp $FIPDIR/gxl/bl31.img fip/ | |
65 | - > cp u-boot.bin fip/bl33.bin | |
66 | - | |
67 | - > $FIPDIR/blx_fix.sh \ | |
68 | - fip/bl30.bin \ | |
69 | - fip/zero_tmp \ | |
70 | - fip/bl30_zero.bin \ | |
71 | - fip/bl301.bin \ | |
72 | - fip/bl301_zero.bin \ | |
73 | - fip/bl30_new.bin \ | |
74 | - bl30 | |
75 | - | |
76 | - > $FIPDIR/acs_tool.pyc fip/bl2.bin fip/bl2_acs.bin fip/acs.bin 0 | |
77 | - | |
78 | - > $FIPDIR/blx_fix.sh \ | |
79 | - fip/bl2_acs.bin \ | |
80 | - fip/zero_tmp \ | |
81 | - fip/bl2_zero.bin \ | |
82 | - fip/bl21.bin \ | |
83 | - fip/bl21_zero.bin \ | |
84 | - fip/bl2_new.bin \ | |
85 | - bl2 | |
86 | - | |
87 | - > $FIPDIR/gxl/aml_encrypt_gxl --bl3enc --input fip/bl30_new.bin | |
88 | - > $FIPDIR/gxl/aml_encrypt_gxl --bl3enc --input fip/bl31.img | |
89 | - > $FIPDIR/gxl/aml_encrypt_gxl --bl3enc --input fip/bl33.bin | |
90 | - > $FIPDIR/gxl/aml_encrypt_gxl --bl2sig --input fip/bl2_new.bin --output fip/bl2.n.bin.sig | |
91 | - > $FIPDIR/gxl/aml_encrypt_gxl --bootmk \ | |
92 | - --output fip/u-boot.bin \ | |
93 | - --bl2 fip/bl2.n.bin.sig \ | |
94 | - --bl30 fip/bl30_new.bin.enc \ | |
95 | - --bl31 fip/bl31.img.enc \ | |
96 | - --bl33 fip/bl33.bin.enc | |
97 | - | |
98 | -and then write the image to SD with: | |
99 | - | |
100 | - > DEV=/dev/your_sd_device | |
101 | - > dd if=fip/u-boot.bin.sd.bin of=$DEV conv=fsync,notrunc bs=512 skip=1 seek=1 | |
102 | - > dd if=fip/u-boot.bin.sd.bin of=$DEV conv=fsync,notrunc bs=1 count=444 |
board/amlogic/libretech-cc/libretech-cc.c
1 | -// SPDX-License-Identifier: GPL-2.0+ | |
2 | -/* | |
3 | - * Copyright (C) 2016 BayLibre, SAS | |
4 | - * Author: Neil Armstrong <narmstrong@baylibre.com> | |
5 | - */ | |
6 | - | |
7 | -#include <common.h> | |
8 | -#include <dm.h> | |
9 | -#include <environment.h> | |
10 | -#include <asm/io.h> | |
11 | -#include <asm/arch/gx.h> | |
12 | -#include <asm/arch/sm.h> | |
13 | -#include <asm/arch/eth.h> | |
14 | -#include <asm/arch/mem.h> | |
15 | - | |
16 | -#define EFUSE_SN_OFFSET 20 | |
17 | -#define EFUSE_SN_SIZE 16 | |
18 | -#define EFUSE_MAC_OFFSET 52 | |
19 | -#define EFUSE_MAC_SIZE 6 | |
20 | - | |
21 | -int board_init(void) | |
22 | -{ | |
23 | - return 0; | |
24 | -} | |
25 | - | |
26 | -int misc_init_r(void) | |
27 | -{ | |
28 | - u8 mac_addr[EFUSE_MAC_SIZE]; | |
29 | - char serial[EFUSE_SN_SIZE]; | |
30 | - ssize_t len; | |
31 | - | |
32 | - meson_gx_eth_init(PHY_INTERFACE_MODE_RMII, | |
33 | - MESON_GXL_USE_INTERNAL_RMII_PHY); | |
34 | - | |
35 | - if (!eth_env_get_enetaddr("ethaddr", mac_addr)) { | |
36 | - len = meson_sm_read_efuse(EFUSE_MAC_OFFSET, | |
37 | - mac_addr, EFUSE_MAC_SIZE); | |
38 | - if (len == EFUSE_MAC_SIZE && is_valid_ethaddr(mac_addr)) | |
39 | - eth_env_set_enetaddr("ethaddr", mac_addr); | |
40 | - } | |
41 | - | |
42 | - if (!env_get("serial#")) { | |
43 | - len = meson_sm_read_efuse(EFUSE_SN_OFFSET, serial, | |
44 | - EFUSE_SN_SIZE); | |
45 | - if (len == EFUSE_SN_SIZE) | |
46 | - env_set("serial#", serial); | |
47 | - } | |
48 | - | |
49 | - return 0; | |
50 | -} | |
51 | - | |
52 | -int ft_board_setup(void *blob, bd_t *bd) | |
53 | -{ | |
54 | - meson_gx_init_reserved_memory(blob); | |
55 | - | |
56 | - return 0; | |
57 | -} |
board/amlogic/p212/README
1 | -U-Boot for Amlogic P212 | |
2 | -======================= | |
3 | - | |
4 | -P212 is a reference board manufactured by Amlogic with the following | |
5 | -specifications: | |
6 | - | |
7 | - - Amlogic S905X ARM Cortex-A53 quad-core SoC @ 1.5GHz | |
8 | - - ARM Mali 450 GPU | |
9 | - - 2GB DDR3 SDRAM | |
10 | - - 10/100 Ethernet | |
11 | - - HDMI 2.0 4K/60Hz display | |
12 | - - 2 x USB 2.0 Host | |
13 | - - eMMC, microSD | |
14 | - - Infrared receiver | |
15 | - - SDIO WiFi Module | |
16 | - - CVBS+Stereo Audio Jack | |
17 | - | |
18 | -Schematics are available from Amlogic on demand. | |
19 | - | |
20 | -Currently the u-boot port supports the following devices: | |
21 | - - serial | |
22 | - - eMMC, microSD | |
23 | - - Ethernet | |
24 | - - I2C | |
25 | - - Regulators | |
26 | - - Reset controller | |
27 | - - Clock controller | |
28 | - - USB Host | |
29 | - - ADC | |
30 | - | |
31 | -u-boot compilation | |
32 | -================== | |
33 | - | |
34 | - > export ARCH=arm | |
35 | - > export CROSS_COMPILE=aarch64-none-elf- | |
36 | - > make p212_defconfig | |
37 | - > make | |
38 | - | |
39 | -Image creation | |
40 | -============== | |
41 | - | |
42 | -Amlogic doesn't provide sources for the firmware and for tools needed | |
43 | -to create the bootloader image, so it is necessary to obtain them from | |
44 | -the git tree published by the board vendor: | |
45 | - | |
46 | - > wget https://releases.linaro.org/archive/13.11/components/toolchain/binaries/gcc-linaro-aarch64-none-elf-4.8-2013.11_linux.tar.xz | |
47 | - > wget https://releases.linaro.org/archive/13.11/components/toolchain/binaries/gcc-linaro-arm-none-eabi-4.8-2013.11_linux.tar.xz | |
48 | - > tar xvfJ gcc-linaro-aarch64-none-elf-4.8-2013.11_linux.tar.xz | |
49 | - > tar xvfJ gcc-linaro-arm-none-eabi-4.8-2013.11_linux.tar.xz | |
50 | - > 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 | |
51 | - > git clone https://github.com/BayLibre/u-boot.git -b n-amlogic-openlinux-20170606 amlogic-u-boot | |
52 | - > cd amlogic-u-boot | |
53 | - > make gxl_p212_v1_defconfig | |
54 | - > make | |
55 | - > export FIPDIR=$PWD/fip | |
56 | - | |
57 | -Go back to mainline U-boot source tree then : | |
58 | - > mkdir fip | |
59 | - | |
60 | - > cp $FIPDIR/gxl/bl2.bin fip/ | |
61 | - > cp $FIPDIR/gxl/acs.bin fip/ | |
62 | - > cp $FIPDIR/gxl/bl21.bin fip/ | |
63 | - > cp $FIPDIR/gxl/bl30.bin fip/ | |
64 | - > cp $FIPDIR/gxl/bl301.bin fip/ | |
65 | - > cp $FIPDIR/gxl/bl31.img fip/ | |
66 | - > cp u-boot.bin fip/bl33.bin | |
67 | - | |
68 | - > $FIPDIR/blx_fix.sh \ | |
69 | - fip/bl30.bin \ | |
70 | - fip/zero_tmp \ | |
71 | - fip/bl30_zero.bin \ | |
72 | - fip/bl301.bin \ | |
73 | - fip/bl301_zero.bin \ | |
74 | - fip/bl30_new.bin \ | |
75 | - bl30 | |
76 | - | |
77 | - > $FIPDIR/acs_tool.pyc fip/bl2.bin fip/bl2_acs.bin fip/acs.bin 0 | |
78 | - | |
79 | - > $FIPDIR/blx_fix.sh \ | |
80 | - fip/bl2_acs.bin \ | |
81 | - fip/zero_tmp \ | |
82 | - fip/bl2_zero.bin \ | |
83 | - fip/bl21.bin \ | |
84 | - fip/bl21_zero.bin \ | |
85 | - fip/bl2_new.bin \ | |
86 | - bl2 | |
87 | - | |
88 | - > $FIPDIR/gxl/aml_encrypt_gxl --bl3enc --input fip/bl30_new.bin | |
89 | - > $FIPDIR/gxl/aml_encrypt_gxl --bl3enc --input fip/bl31.img | |
90 | - > $FIPDIR/gxl/aml_encrypt_gxl --bl3enc --input fip/bl33.bin | |
91 | - > $FIPDIR/gxl/aml_encrypt_gxl --bl2sig --input fip/bl2_new.bin --output fip/bl2.n.bin.sig | |
92 | - > $FIPDIR/gxl/aml_encrypt_gxl --bootmk \ | |
93 | - --output fip/u-boot.bin \ | |
94 | - --bl2 fip/bl2.n.bin.sig \ | |
95 | - --bl30 fip/bl30_new.bin.enc \ | |
96 | - --bl31 fip/bl31.img.enc \ | |
97 | - --bl33 fip/bl33.bin.enc | |
98 | - | |
99 | -and then write the image to SD with: | |
100 | - | |
101 | - > DEV=/dev/your_sd_device | |
102 | - > dd if=fip/u-boot.bin.sd.bin of=$DEV conv=fsync,notrunc bs=512 skip=1 seek=1 | |
103 | - > dd if=fip/u-boot.bin.sd.bin of=$DEV conv=fsync,notrunc bs=1 count=444 |
board/amlogic/p212/README.khadas-vim
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 @ 1.5GHz | |
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 | + - I2C | |
24 | + - Regulators | |
25 | + - Reset controller | |
26 | + - Clock controller | |
27 | + - USB Host | |
28 | + - ADC | |
29 | + | |
30 | +U-Boot compilation | |
31 | +================== | |
32 | + | |
33 | + > export ARCH=arm | |
34 | + > export CROSS_COMPILE=aarch64-none-elf- | |
35 | + > make khadas-vim_defconfig | |
36 | + > make | |
37 | + | |
38 | +Image creation | |
39 | +============== | |
40 | + | |
41 | +Amlogic doesn't provide sources for the firmware and for tools needed | |
42 | +to create the bootloader image, so it is necessary to obtain them from | |
43 | +the git tree published by the board vendor: | |
44 | + | |
45 | + > wget https://releases.linaro.org/archive/13.11/components/toolchain/binaries/gcc-linaro-aarch64-none-elf-4.8-2013.11_linux.tar.xz | |
46 | + > wget https://releases.linaro.org/archive/13.11/components/toolchain/binaries/gcc-linaro-arm-none-eabi-4.8-2013.11_linux.tar.xz | |
47 | + > tar xvfJ gcc-linaro-aarch64-none-elf-4.8-2013.11_linux.tar.xz | |
48 | + > tar xvfJ gcc-linaro-arm-none-eabi-4.8-2013.11_linux.tar.xz | |
49 | + > 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 | |
50 | + > git clone https://github.com/khadas/u-boot -b Vim vim-u-boot | |
51 | + > cd vim-u-boot | |
52 | + > make kvim_defconfig | |
53 | + > make | |
54 | + > export FIPDIR=$PWD/fip | |
55 | + | |
56 | +Go back to mainline U-Boot source tree then : | |
57 | + > mkdir fip | |
58 | + | |
59 | + > cp $FIPDIR/gxl/bl2.bin fip/ | |
60 | + > cp $FIPDIR/gxl/acs.bin fip/ | |
61 | + > cp $FIPDIR/gxl/bl21.bin fip/ | |
62 | + > cp $FIPDIR/gxl/bl30.bin fip/ | |
63 | + > cp $FIPDIR/gxl/bl301.bin fip/ | |
64 | + > cp $FIPDIR/gxl/bl31.img fip/ | |
65 | + > cp u-boot.bin fip/bl33.bin | |
66 | + | |
67 | + > $FIPDIR/blx_fix.sh \ | |
68 | + fip/bl30.bin \ | |
69 | + fip/zero_tmp \ | |
70 | + fip/bl30_zero.bin \ | |
71 | + fip/bl301.bin \ | |
72 | + fip/bl301_zero.bin \ | |
73 | + fip/bl30_new.bin \ | |
74 | + bl30 | |
75 | + | |
76 | + > python $FIPDIR/acs_tool.pyc fip/bl2.bin fip/bl2_acs.bin fip/acs.bin 0 | |
77 | + | |
78 | + > $FIPDIR/blx_fix.sh \ | |
79 | + fip/bl2_acs.bin \ | |
80 | + fip/zero_tmp \ | |
81 | + fip/bl2_zero.bin \ | |
82 | + fip/bl21.bin \ | |
83 | + fip/bl21_zero.bin \ | |
84 | + fip/bl2_new.bin \ | |
85 | + bl2 | |
86 | + | |
87 | + > $FIPDIR/gxl/aml_encrypt_gxl --bl3enc --input fip/bl30_new.bin | |
88 | + > $FIPDIR/gxl/aml_encrypt_gxl --bl3enc --input fip/bl31.img | |
89 | + > $FIPDIR/gxl/aml_encrypt_gxl --bl3enc --input fip/bl33.bin | |
90 | + > $FIPDIR/gxl/aml_encrypt_gxl --bl2sig --input fip/bl2_new.bin --output fip/bl2.n.bin.sig | |
91 | + > $FIPDIR/gxl/aml_encrypt_gxl --bootmk \ | |
92 | + --output fip/u-boot.bin \ | |
93 | + --bl2 fip/bl2.n.bin.sig \ | |
94 | + --bl30 fip/bl30_new.bin.enc \ | |
95 | + --bl31 fip/bl31.img.enc \ | |
96 | + --bl33 fip/bl33.bin.enc | |
97 | + | |
98 | +and then write the image to SD with: | |
99 | + | |
100 | + > DEV=/dev/your_sd_device | |
101 | + > dd if=fip/u-boot.bin.sd.bin of=$DEV conv=fsync,notrunc bs=512 skip=1 seek=1 | |
102 | + > dd if=fip/u-boot.bin.sd.bin of=$DEV conv=fsync,notrunc bs=1 count=444 |
board/amlogic/p212/README.libretech-cc
1 | +U-Boot for LibreTech CC | |
2 | +======================= | |
3 | + | |
4 | +LibreTech CC is a single board computer manufactured by Libre Technology | |
5 | +with the following specifications: | |
6 | + | |
7 | + - Amlogic S905X ARM Cortex-A53 quad-core SoC @ 1.5GHz | |
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 | + - 4 x USB 2.0 Host | |
14 | + - eMMC, microSD | |
15 | + - Infrared receiver | |
16 | + | |
17 | +Schematics are available on the manufacturer website. | |
18 | + | |
19 | +Currently 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 | + - USB Host | |
28 | + - ADC | |
29 | + | |
30 | +U-Boot compilation | |
31 | +================== | |
32 | + | |
33 | + > export ARCH=arm | |
34 | + > export CROSS_COMPILE=aarch64-none-elf- | |
35 | + > make libretech-cc_defconfig | |
36 | + > make | |
37 | + | |
38 | +Image creation | |
39 | +============== | |
40 | + | |
41 | +Amlogic doesn't provide sources for the firmware and for tools needed | |
42 | +to create the bootloader image, so it is necessary to obtain them from | |
43 | +the git tree published by the board vendor: | |
44 | + | |
45 | + > wget https://releases.linaro.org/archive/13.11/components/toolchain/binaries/gcc-linaro-aarch64-none-elf-4.8-2013.11_linux.tar.xz | |
46 | + > wget https://releases.linaro.org/archive/13.11/components/toolchain/binaries/gcc-linaro-arm-none-eabi-4.8-2013.11_linux.tar.xz | |
47 | + > tar xvfJ gcc-linaro-aarch64-none-elf-4.8-2013.11_linux.tar.xz | |
48 | + > tar xvfJ gcc-linaro-arm-none-eabi-4.8-2013.11_linux.tar.xz | |
49 | + > 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 | |
50 | + > git clone https://github.com/BayLibre/u-boot.git -b libretech-cc amlogic-u-boot | |
51 | + > cd amlogic-u-boot | |
52 | + > make libretech_cc_defconfig | |
53 | + > make | |
54 | + > export FIPDIR=$PWD/fip | |
55 | + | |
56 | +Go back to mainline U-Boot source tree then : | |
57 | + > mkdir fip | |
58 | + | |
59 | + > cp $FIPDIR/gxl/bl2.bin fip/ | |
60 | + > cp $FIPDIR/gxl/acs.bin fip/ | |
61 | + > cp $FIPDIR/gxl/bl21.bin fip/ | |
62 | + > cp $FIPDIR/gxl/bl30.bin fip/ | |
63 | + > cp $FIPDIR/gxl/bl301.bin fip/ | |
64 | + > cp $FIPDIR/gxl/bl31.img fip/ | |
65 | + > cp u-boot.bin fip/bl33.bin | |
66 | + | |
67 | + > $FIPDIR/blx_fix.sh \ | |
68 | + fip/bl30.bin \ | |
69 | + fip/zero_tmp \ | |
70 | + fip/bl30_zero.bin \ | |
71 | + fip/bl301.bin \ | |
72 | + fip/bl301_zero.bin \ | |
73 | + fip/bl30_new.bin \ | |
74 | + bl30 | |
75 | + | |
76 | + > $FIPDIR/acs_tool.pyc fip/bl2.bin fip/bl2_acs.bin fip/acs.bin 0 | |
77 | + | |
78 | + > $FIPDIR/blx_fix.sh \ | |
79 | + fip/bl2_acs.bin \ | |
80 | + fip/zero_tmp \ | |
81 | + fip/bl2_zero.bin \ | |
82 | + fip/bl21.bin \ | |
83 | + fip/bl21_zero.bin \ | |
84 | + fip/bl2_new.bin \ | |
85 | + bl2 | |
86 | + | |
87 | + > $FIPDIR/gxl/aml_encrypt_gxl --bl3enc --input fip/bl30_new.bin | |
88 | + > $FIPDIR/gxl/aml_encrypt_gxl --bl3enc --input fip/bl31.img | |
89 | + > $FIPDIR/gxl/aml_encrypt_gxl --bl3enc --input fip/bl33.bin | |
90 | + > $FIPDIR/gxl/aml_encrypt_gxl --bl2sig --input fip/bl2_new.bin --output fip/bl2.n.bin.sig | |
91 | + > $FIPDIR/gxl/aml_encrypt_gxl --bootmk \ | |
92 | + --output fip/u-boot.bin \ | |
93 | + --bl2 fip/bl2.n.bin.sig \ | |
94 | + --bl30 fip/bl30_new.bin.enc \ | |
95 | + --bl31 fip/bl31.img.enc \ | |
96 | + --bl33 fip/bl33.bin.enc | |
97 | + | |
98 | +and then write the image to SD with: | |
99 | + | |
100 | + > DEV=/dev/your_sd_device | |
101 | + > dd if=fip/u-boot.bin.sd.bin of=$DEV conv=fsync,notrunc bs=512 skip=1 seek=1 | |
102 | + > dd if=fip/u-boot.bin.sd.bin of=$DEV conv=fsync,notrunc bs=1 count=444 |
board/amlogic/p212/README.p212
1 | +U-Boot for Amlogic P212 | |
2 | +======================= | |
3 | + | |
4 | +P212 is a reference board manufactured by Amlogic with the following | |
5 | +specifications: | |
6 | + | |
7 | + - Amlogic S905X ARM Cortex-A53 quad-core SoC @ 1.5GHz | |
8 | + - ARM Mali 450 GPU | |
9 | + - 2GB DDR3 SDRAM | |
10 | + - 10/100 Ethernet | |
11 | + - HDMI 2.0 4K/60Hz display | |
12 | + - 2 x USB 2.0 Host | |
13 | + - eMMC, microSD | |
14 | + - Infrared receiver | |
15 | + - SDIO WiFi Module | |
16 | + - CVBS+Stereo Audio Jack | |
17 | + | |
18 | +Schematics are available from Amlogic on demand. | |
19 | + | |
20 | +Currently the u-boot port supports the following devices: | |
21 | + - serial | |
22 | + - eMMC, microSD | |
23 | + - Ethernet | |
24 | + - I2C | |
25 | + - Regulators | |
26 | + - Reset controller | |
27 | + - Clock controller | |
28 | + - USB Host | |
29 | + - ADC | |
30 | + | |
31 | +u-boot compilation | |
32 | +================== | |
33 | + | |
34 | + > export ARCH=arm | |
35 | + > export CROSS_COMPILE=aarch64-none-elf- | |
36 | + > make p212_defconfig | |
37 | + > make | |
38 | + | |
39 | +Image creation | |
40 | +============== | |
41 | + | |
42 | +Amlogic doesn't provide sources for the firmware and for tools needed | |
43 | +to create the bootloader image, so it is necessary to obtain them from | |
44 | +the git tree published by the board vendor: | |
45 | + | |
46 | + > wget https://releases.linaro.org/archive/13.11/components/toolchain/binaries/gcc-linaro-aarch64-none-elf-4.8-2013.11_linux.tar.xz | |
47 | + > wget https://releases.linaro.org/archive/13.11/components/toolchain/binaries/gcc-linaro-arm-none-eabi-4.8-2013.11_linux.tar.xz | |
48 | + > tar xvfJ gcc-linaro-aarch64-none-elf-4.8-2013.11_linux.tar.xz | |
49 | + > tar xvfJ gcc-linaro-arm-none-eabi-4.8-2013.11_linux.tar.xz | |
50 | + > 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 | |
51 | + > git clone https://github.com/BayLibre/u-boot.git -b n-amlogic-openlinux-20170606 amlogic-u-boot | |
52 | + > cd amlogic-u-boot | |
53 | + > make gxl_p212_v1_defconfig | |
54 | + > make | |
55 | + > export FIPDIR=$PWD/fip | |
56 | + | |
57 | +Go back to mainline U-boot source tree then : | |
58 | + > mkdir fip | |
59 | + | |
60 | + > cp $FIPDIR/gxl/bl2.bin fip/ | |
61 | + > cp $FIPDIR/gxl/acs.bin fip/ | |
62 | + > cp $FIPDIR/gxl/bl21.bin fip/ | |
63 | + > cp $FIPDIR/gxl/bl30.bin fip/ | |
64 | + > cp $FIPDIR/gxl/bl301.bin fip/ | |
65 | + > cp $FIPDIR/gxl/bl31.img fip/ | |
66 | + > cp u-boot.bin fip/bl33.bin | |
67 | + | |
68 | + > $FIPDIR/blx_fix.sh \ | |
69 | + fip/bl30.bin \ | |
70 | + fip/zero_tmp \ | |
71 | + fip/bl30_zero.bin \ | |
72 | + fip/bl301.bin \ | |
73 | + fip/bl301_zero.bin \ | |
74 | + fip/bl30_new.bin \ | |
75 | + bl30 | |
76 | + | |
77 | + > $FIPDIR/acs_tool.pyc fip/bl2.bin fip/bl2_acs.bin fip/acs.bin 0 | |
78 | + | |
79 | + > $FIPDIR/blx_fix.sh \ | |
80 | + fip/bl2_acs.bin \ | |
81 | + fip/zero_tmp \ | |
82 | + fip/bl2_zero.bin \ | |
83 | + fip/bl21.bin \ | |
84 | + fip/bl21_zero.bin \ | |
85 | + fip/bl2_new.bin \ | |
86 | + bl2 | |
87 | + | |
88 | + > $FIPDIR/gxl/aml_encrypt_gxl --bl3enc --input fip/bl30_new.bin | |
89 | + > $FIPDIR/gxl/aml_encrypt_gxl --bl3enc --input fip/bl31.img | |
90 | + > $FIPDIR/gxl/aml_encrypt_gxl --bl3enc --input fip/bl33.bin | |
91 | + > $FIPDIR/gxl/aml_encrypt_gxl --bl2sig --input fip/bl2_new.bin --output fip/bl2.n.bin.sig | |
92 | + > $FIPDIR/gxl/aml_encrypt_gxl --bootmk \ | |
93 | + --output fip/u-boot.bin \ | |
94 | + --bl2 fip/bl2.n.bin.sig \ | |
95 | + --bl30 fip/bl30_new.bin.enc \ | |
96 | + --bl31 fip/bl31.img.enc \ | |
97 | + --bl33 fip/bl33.bin.enc | |
98 | + | |
99 | +and then write the image to SD with: | |
100 | + | |
101 | + > DEV=/dev/your_sd_device | |
102 | + > dd if=fip/u-boot.bin.sd.bin of=$DEV conv=fsync,notrunc bs=512 skip=1 seek=1 | |
103 | + > dd if=fip/u-boot.bin.sd.bin of=$DEV conv=fsync,notrunc bs=1 count=444 |
configs/khadas-vim_defconfig
configs/libretech-cc_defconfig