Commit 8bbfb40e572ddb8a11482ca513131e21a75e99de

Authored by Jerome Brunet
Committed by Neil Armstrong
1 parent e4623f75e4

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
... ... @@ -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
1   -if TARGET_KHADAS_VIM
2   -
3   -config SYS_BOARD
4   - default "khadas-vim"
5   -
6   -config SYS_VENDOR
7   - default "amlogic"
8   -
9   -config SYS_CONFIG_NAME
10   - default "khadas-vim"
11   -
12   -endif
board/amlogic/khadas-vim/MAINTAINERS
1   -KHADAS-VIM
2   -M: Neil Armstrong <narmstrong@baylibre.com>
3   -S: Maintained
4   -F: board/amlogic/khadas-vim/
5   -F: include/configs/khadas-vim.h
6   -F: configs/khadas-vim_defconfig
board/amlogic/khadas-vim/Makefile
1   -# SPDX-License-Identifier: GPL-2.0+
2   -#
3   -# (C) Copyright 2016 BayLibre, SAS
4   -# Author: Neil Armstrong <narmstrong@baylibre.com>
5   -
6   -obj-y := khadas-vim.o
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
1   -if TARGET_LIBRETECH_CC
2   -
3   -config SYS_BOARD
4   - default "libretech-cc"
5   -
6   -config SYS_VENDOR
7   - default "amlogic"
8   -
9   -config SYS_CONFIG_NAME
10   - default "libretech-cc"
11   -
12   -endif
board/amlogic/libretech-cc/MAINTAINERS
1   -LIBRETECH-CC
2   -M: Neil Armstrong <narmstrong@baylibre.com>
3   -S: Maintained
4   -F: board/amlogic/libretech-cc/
5   -F: include/configs/libretech-cc.h
6   -F: configs/libretech-cc_defconfig
board/amlogic/libretech-cc/Makefile
1   -# SPDX-License-Identifier: GPL-2.0+
2   -#
3   -# (C) Copyright 2016 BayLibre, SAS
4   -# Author: Neil Armstrong <narmstrong@baylibre.com>
5   -
6   -obj-y := libretech-cc.o
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
... ... @@ -2,7 +2,7 @@
2 2 CONFIG_ARCH_MESON=y
3 3 CONFIG_SYS_TEXT_BASE=0x01000000
4 4 CONFIG_MESON_GXL=y
5   -CONFIG_TARGET_KHADAS_VIM=y
  5 +CONFIG_TARGET_P212=y
6 6 CONFIG_DEBUG_UART_BASE=0xc81004c0
7 7 CONFIG_DEBUG_UART_CLOCK=24000000
8 8 CONFIG_IDENT_STRING=" khadas-vim"
configs/libretech-cc_defconfig
... ... @@ -2,7 +2,7 @@
2 2 CONFIG_ARCH_MESON=y
3 3 CONFIG_SYS_TEXT_BASE=0x01000000
4 4 CONFIG_MESON_GXL=y
5   -CONFIG_TARGET_LIBRETECH_CC=y
  5 +CONFIG_TARGET_P212=y
6 6 CONFIG_DEBUG_UART_BASE=0xc81004c0
7 7 CONFIG_DEBUG_UART_CLOCK=24000000
8 8 CONFIG_IDENT_STRING=" libretech-cc"