mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-12-19 01:33:10 +00:00
35f571b56c
The offset of the SPL payload on Puma is different than for other Rockchip devices in that it is stored at offset 256K instead of much further away in the MMC. Flashing one binary instead of two at different offsets is much more user friendly so let's migrate to it by modifying the offset in the Puma specific Device Tree. Cc: Quentin Schulz <foss+uboot@0leil.net> Signed-off-by: Quentin Schulz <quentin.schulz@theobroma-systems.com> Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
96 lines
2.6 KiB
Text
96 lines
2.6 KiB
Text
Introduction
|
|
============
|
|
|
|
The RK3399-Q7 (Puma) is a system-on-module featuring the Rockchip
|
|
RK3399 in a Qseven-compatible form-factor.
|
|
|
|
RK3399-Q7 features:
|
|
* CPU: ARMv8 64bit Big-Little architecture,
|
|
* Big: dual-core Cortex-A72
|
|
* Little: quad-core Cortex-A53
|
|
* IRAM: 200KB
|
|
* DRAM: 4GB-128MB dual-channel
|
|
* eMMC: onboard eMMC
|
|
* SD/MMC
|
|
* GbE (onboard Micrel KSZ9031) Gigabit ethernet PHY
|
|
* USB:
|
|
* USB3.0 dual role port
|
|
* 2x USB3.0 host, 1x USB2.0 host via onboard USB3.0 hub
|
|
* Display: HDMI/eDP/MIPI
|
|
* Camera: 2x CSI (one on the edge connector, one on the Q7 specified CSI ZIF)
|
|
* NOR Flash: onboard SPI NOR
|
|
* Companion Controller: onboard additional Cortex-M0 microcontroller
|
|
* RTC
|
|
* fan controller
|
|
* CAN
|
|
|
|
Here is the step-by-step to boot to U-Boot on rk3399.
|
|
|
|
Get the Source and build ATF binary
|
|
===================================
|
|
|
|
> git clone https://git.trustedfirmware.org/TF-A/trusted-firmware-a.git
|
|
|
|
Compile the ATF
|
|
===============
|
|
|
|
> cd trusted-firmware-a
|
|
> make CROSS_COMPILE=aarch64-linux-gnu- PLAT=rk3399 bl31
|
|
> cp build/rk3399/release/bl31/bl31.elf ../u-boot/bl31.elf
|
|
|
|
Compile the U-Boot
|
|
==================
|
|
|
|
> cd ../u-boot
|
|
> make CROSS_COMPILE=aarch64-linux-gnu- puma-rk3399_defconfig all
|
|
|
|
Package the image
|
|
=================
|
|
|
|
Creating an SPL image for SPI-NOR:
|
|
> tools/mkimage -n rk3399 -T rkspi -d tpl/u-boot-tpl.bin:spl/u-boot-spl.bin idbloader-spi.img
|
|
|
|
Flash the image
|
|
===============
|
|
|
|
Copy u-boot-rockchip.bin to offset 32k for SD/eMMC.
|
|
Copy the SPL to offset 0 and the FIT image to offset 512k for NOR-Flash.
|
|
|
|
SD-Card
|
|
-------
|
|
|
|
> dd if=u-boot-rockchip.bin of=/dev/sdb seek=64
|
|
|
|
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
|
|
> cd rkbin
|
|
> ./tools/boot_merger RKBOOT/RK3399MINIALL.ini
|
|
> cd ..
|
|
> ./rkdeveloptool db rkbin/rk3399_loader_v1.25.126.bin
|
|
> ./rkdeveloptool wl 64 ../u-boot-rockchip.bin
|
|
|
|
NOR-Flash
|
|
---------
|
|
|
|
rkdeveloptool allows to flash the on-board SPI 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
|
|
> cd rkbin
|
|
> ./tools/boot_merger RKBOOT/RK3399MINIALL_SPINOR.ini
|
|
> cd ..
|
|
> ./rkdeveloptool db rkbin/rk3399_loader_spinor_v1.25.114.bin
|
|
> ./rkdeveloptool ef
|
|
> ./rkdeveloptool wl 0 ../idbloader-spi.img
|
|
> ./rkdeveloptool wl 1024 ../u-boot.itb
|