[PATCH v2 4/5] arm: Add LibreTech CC support based on Meson GXL family

Neil Armstrong narmstrong at baylibre.com
Sat Nov 25 01:46:10 PST 2017



Le 24/11/2017 23:35, Simon Glass a écrit :
> Hi Neil,
> 
> On 22 November 2017 at 06:25, Neil Armstrong <narmstrong at baylibre.com> wrote:
>> This adds platform code for the Libre Computer CC "Le Potato" board based on a
>> Meson GXL (S905X) SoC with the Meson GXL configuration.
>>
>> This initial submission supports UART, MMC/SDCard and Ethernet with the
>> Internal RMII PHY.
>>
>> The meson-gxl-s905x-libretech-cc.dts is synchronised from the linux 4.13
>> stable tree as of 4.13.8.
>>
>> Signed-off-by: Neil Armstrong <narmstrong at baylibre.com>
>> ---
>>  arch/arm/dts/Makefile                         |   3 +-
>>  arch/arm/dts/meson-gxl-s905x-libretech-cc.dts | 171 ++++++++++++++++++++++++++
>>  arch/arm/mach-meson/Kconfig                   |   9 ++
>>  board/amlogic/libretech-cc/Kconfig            |  12 ++
>>  board/amlogic/libretech-cc/MAINTAINERS        |   6 +
>>  board/amlogic/libretech-cc/Makefile           |   8 ++
>>  board/amlogic/libretech-cc/README             |  96 +++++++++++++++
>>  board/amlogic/libretech-cc/libretech-cc.c     |  52 ++++++++
>>  configs/libretech-cc_defconfig                |  35 ++++++
>>  include/configs/libretech-cc.h                |  21 ++++
>>  10 files changed, 412 insertions(+), 1 deletion(-)
>>  create mode 100644 arch/arm/dts/meson-gxl-s905x-libretech-cc.dts
>>  create mode 100644 board/amlogic/libretech-cc/Kconfig
>>  create mode 100644 board/amlogic/libretech-cc/MAINTAINERS
>>  create mode 100644 board/amlogic/libretech-cc/Makefile
>>  create mode 100644 board/amlogic/libretech-cc/README
>>  create mode 100644 board/amlogic/libretech-cc/libretech-cc.c
>>  create mode 100644 configs/libretech-cc_defconfig
>>  create mode 100644 include/configs/libretech-cc.h
>>
> 
> Reviewed-by: Simon Glass <sjg at chromium.org>
> 
> 
> [..]
> 
>> new file mode 100644
>> index 0000000..d0e3bbb
>> --- /dev/null
>> +++ b/board/amlogic/libretech-cc/Makefile
>> @@ -0,0 +1,8 @@
>> +#
>> +# (C) Copyright 2016 BayLibre, SAS
>> +# Author: Neil Armstrong <narmstrong at baylibre.com>
>> +#
>> +# SPDX-License-Identifier:     GPL-2.0+
>> +#
>> +
>> +obj-y  := libretech-cc.o
>> diff --git a/board/amlogic/libretech-cc/README b/board/amlogic/libretech-cc/README
>> new file mode 100644
>> index 0000000..8b38fff
>> --- /dev/null
>> +++ b/board/amlogic/libretech-cc/README
>> @@ -0,0 +1,96 @@
>> +U-Boot for LibreTech CC
>> +=======================
>> +
>> +LibreTech CC is a single board computer manufactured by Libre Technology
>> +with the following specifications:
>> +
>> + - Amlogic S905X ARM Cortex-A53 quad-core SoC @ 2GHz
>> + - ARM Mali 450 GPU
>> + - 2GB DDR3 SDRAM
>> + - Gigabit Ethernet
>> + - HDMI 2.0 4K/60Hz display
>> + - 40-pin GPIO header
>> + - 4 x USB 2.0 Host, 1 x USB OTG
>> + - eMMC, microSD
>> + - Infrared receiver
>> +
>> +Schematics are available on the manufacturer website.
>> +
>> +Currently the U-Boot port supports the following devices:
>> + - serial
>> + - eMMC, microSD
>> + - Ethernet
>> +
>> +u-boot compilation
> 
> U-Boot
> 
>> +==================
>> +
>> + > export ARCH=arm
>> + > export CROSS_COMPILE=aarch64-none-elf-
>> + > make libretech-cc_defconfig
>> + > make
>> +
>> +Image creation
>> +==============
>> +
>> +Amlogic doesn't provide sources for the firmware and for tools needed
>> +to create the bootloader image, so it is necessary to obtain them from
>> +the git tree published by the board vendor:
>> +
>> + > wget https://releases.linaro.org/archive/13.11/components/toolchain/binaries/gcc-linaro-aarch64-none-elf-4.8-2013.11_linux.tar.xz
>> + > wget https://releases.linaro.org/archive/13.11/components/toolchain/binaries/gcc-linaro-arm-none-eabi-4.8-2013.11_linux.tar.xz
>> + > tar xvfJ gcc-linaro-aarch64-none-elf-4.8-2013.11_linux.tar.xz
>> + > tar xvfJ gcc-linaro-arm-none-eabi-4.8-2013.11_linux.tar.xz
>> + > 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
>> + > git clone https://github.com/BayLibre/u-boot.git -b libretech-cc amlogic-u-boot
>> + > cd amlogic-u-boot
>> + > make libretech_cc_defconfig
>> + > make
>> + > export FIPDIR=$PWD/fip
>> +
>> +Go back to mainline U-Boot source tree then :
>> + > mkdir fip
>> +
>> + > cp $FIPDIR/gxl/bl2.bin fip/
>> + > cp $FIPDIR/gxl/acs.bin fip/
>> + > cp $FIPDIR/gxl/bl21.bin fip/
>> + > cp $FIPDIR/gxl/bl30.bin fip/
>> + > cp $FIPDIR/gxl/bl301.bin fip/
>> + > cp $FIPDIR/gxl/bl31.img fip/
>> + > cp u-boot.bin fip/bl33.bin
>> +
>> + > $FIPDIR/blx_fix.sh \
>> +       fip/bl30.bin \
>> +       fip/zero_tmp \
>> +       fip/bl30_zero.bin \
>> +       fip/bl301.bin \
>> +       fip/bl301_zero.bin \
>> +       fip/bl30_new.bin \
>> +       bl30
>> +
>> + > $FIPDIR/acs_tool.pyc fip/bl2.bin fip/bl2_acs.bin fip/acs.bin 0
>> +
>> + > $FIPDIR/blx_fix.sh \
>> +       fip/bl2_acs.bin \
>> +       fip/zero_tmp \
>> +       fip/bl2_zero.bin \
>> +       fip/bl21.bin \
>> +       fip/bl21_zero.bin \
>> +       fip/bl2_new.bin \
>> +       bl2
>> +
>> + > $FIPDIR/gxl/aml_encrypt_gxl --bl3enc --input fip/bl30_new.bin
>> + > $FIPDIR/gxl/aml_encrypt_gxl --bl3enc --input fip/bl31.img
>> + > $FIPDIR/gxl/aml_encrypt_gxl --bl3enc --input fip/bl33.bin
>> + > $FIPDIR/gxl/aml_encrypt_gxl --bl2sig --input fip/bl2_new.bin --output fip/bl2.n.bin.sig
>> + > $FIPDIR/gxl/aml_encrypt_gxl --bootmk \
>> +               --output fip/u-boot.bin \
>> +               --bl2 fip/bl2.n.bin.sig \
>> +               --bl30 fip/bl30_new.bin.enc \
>> +               --bl31 fip/bl31.img.enc \
>> +               --bl33 fip/bl33.bin.enc
>> +
>> +and then write the image to SD with:
>> +
>> + > DEV=/dev/your_sd_device
>> + > dd if=fip/u-boot.bin.sd.bin of=$DEV conv=fsync,notrunc bs=512 skip=1 seek=1
>> + > dd if=fip/u-boot.bin.sd.bin of=$DEV conv=fsync,notrunc bs=1 count=444
> 
> I wonder if the above could be done with binman? It is designed for
> putting images together.

Thanks for the tip, I'll have a look !

Neil

> 
> Regards,
> Simon
> 



More information about the linux-amlogic mailing list