u-boot-brain/board/theobroma-systems/lion_rk3368
Philipp Tomsich 6696fe5a2f rockchip: board: lion-rk3368: avoid ATF overwriting active SPL stage
The RK3368-uQ7 ATF has been moved back to 0x100000 (1MB from the start
of DRAM) to avoid it overwriting the active SPL stage during FIT image
loading.  This change adapts the .its to match up (again) with our ATF
repository for the RK3368-uQ7.

Signed-off-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
2017-10-01 00:33:33 +02:00
..
fit_spl_atf.its rockchip: board: lion-rk3368: avoid ATF overwriting active SPL stage 2017-10-01 00:33:33 +02:00
Kconfig rockchip: board: lion-rk3368: add support for the RK3368-uQ7 2017-08-13 17:12:34 +02:00
lion_rk3368.c rockchip: board: lion-rk3368: add support for the RK3368-uQ7 2017-08-13 17:12:34 +02:00
MAINTAINERS rockchip: board: lion-rk3368: add support for the RK3368-uQ7 2017-08-13 17:12:34 +02:00
Makefile rockchip: board: lion-rk3368: add support for the RK3368-uQ7 2017-08-13 17:12:34 +02:00
README rockchip: board: lion_rk3368: update README flash instructions 2017-09-18 20:40:33 +02:00

Here is the step-by-step to boot to U-Boot on RK3368-uQ7

Get the Source and build ATF
============================

  > git clone git://git.theobroma-systems.com/arm-trusted-firmware.git
  > cd arm-trusted-firmware
  > make CROSS_COMPILE=aarch64-linux-gnu- PLAT=rk3368 bl31
  > cp build/rk3368/release/bl31.bin ../u-boot/bl31-rk3368.bin

Configure U-Boot
================

  > cd ../u-boot
  > make lion-rk3368_defconfig

Build the TPL/SPL stage
=======================

  > make CROSS_COMPILE=aarch64-unknown-elf- ARCH=arm
  > tools/mkimage -n rk3368 -T rksd -d tpl/u-boot-tpl.bin spl-3368.img
  > cat spl/u-boot-spl-dtb.bin >> spl-3368.img

Build the full U-Boot and a FIT image including the ATF
=======================================================

  > make CROSS_COMPILE=aarch64-unknown-elf- ARCH=arm u-boot.itb

Flash the image
===============

Copy the SPL to offset 32k and the FIT image containing the payloads
(U-Boot proper, ATF, devicetree) to offset 256k card.

SD-Card
-------

  > dd if=spl-3368.img of=/dev/sdb seek=64
  > dd if=u-boot.itb of=/dev/sdb seek=512

eMMC
----

rkdeveloptool allows to flash the on-board eMMC via the USB OTG interface with
help of the Rockchip loader binary.

  > git clone https://github.com/rockchip-linux/rkdeveloptool
  > cd rkdeveloptool
  > autoreconf -i && && ./configure && make
  > git clone https://github.com/rockchip-linux/rkbin.git
  > ./rkdeveloptool db rkbin/rk33/rk3368_loader_v2.00.256.bin
  > ./rkdeveloptool wl 64 ../spl.img
  > ./rkdeveloptool wl 512 ../u-boot.itb


If everything went according to plan, you should see the following
output on UART0:

<debug_uart> U-Boot TPL board init
Trying to boot from BOOTROM
Returning to boot ROM...
Trying to boot from MMC1
NOTICE:  BL31: v1.3(release):v1.2-1320-gbf43a443
NOTICE:  BL31: Built : 18:04:47, Jul  5 2017


U-Boot 2017.07-00158-g2395e99858 (Jul 18 2017 - 21:03:31 +0200)

Model: Theobroma Systems RK3368-uQ7 SoM
DRAM:  2 GiB
MMC:   dwmmc@ff0c0000: 1, dwmmc@ff0f0000: 0
Using default environment

In:    serial@ff180000
Out:   serial@ff180000
Err:   serial@ff180000
Net:
Warning: ethernet@ff290000 (eth0) using random MAC address - d2:69:35:7e:d0:1e
eth0: ethernet@ff290000
Hit any key to stop autoboot:  2