doc: rockchip: puma: update build and flash instructions
[platform/kernel/u-boot.git] / board / theobroma-systems / puma_rk3399 / README
1 Introduction
2 ============
3
4 The RK3399-Q7 (Puma) is a system-on-module featuring the Rockchip
5 RK3399 in a Qseven-compatible form-factor.
6
7 RK3399-Q7 features:
8         * CPU: ARMv8 64bit Big-Little architecture,
9                 * Big: dual-core Cortex-A72
10                 * Little: quad-core Cortex-A53
11                 * IRAM: 200KB
12         * DRAM: 4GB-128MB dual-channel
13         * eMMC: onboard eMMC
14         * SD/MMC
15         * GbE (onboard Micrel KSZ9031) Gigabit ethernet PHY
16         * USB:
17                 * USB3.0 dual role port
18                 * 2x USB3.0 host, 1x USB2.0 host via onboard USB3.0 hub
19         * Display: HDMI/eDP/MIPI
20         * Camera: 2x CSI (one on the edge connector, one on the Q7 specified CSI ZIF)
21         * NOR Flash: onboard SPI NOR
22         * Companion Controller: onboard additional Cortex-M0 microcontroller
23                 * RTC
24                 * fan controller
25                 * CAN
26
27 Here is the step-by-step to boot to U-Boot on rk3399.
28
29 Get the Source and build ATF binary
30 ===================================
31
32   > git clone https://git.trustedfirmware.org/TF-A/trusted-firmware-a.git
33
34 Compile the ATF
35 ===============
36
37   > cd trusted-firmware-a
38   > make CROSS_COMPILE=aarch64-linux-gnu- PLAT=rk3399 bl31
39   > cp build/rk3399/release/bl31/bl31.elf ../u-boot/bl31.elf
40
41 Compile the U-Boot
42 ==================
43
44   > cd ../u-boot
45   > make CROSS_COMPILE=aarch64-linux-gnu- puma-rk3399_defconfig all
46
47 Package the image
48 =================
49
50 The SPL image for SD-Card/eMMC is readily available in idbloader.img at the
51 root of U-Boot after compilation.
52
53 Creating an SPL image for SPI-NOR:
54   > tools/mkimage -n rk3399 -T rkspi -d spl/u-boot-spl.bin idbloader-spi.img
55
56 Flash the image
57 ===============
58
59 Copy the SPL to offset 32k for SD/eMMC, offset 0 for NOR-Flash and the FIT
60 image to offset 256k.
61
62 SD-Card
63 -------
64
65   > dd if=idbloader.img of=/dev/sdb seek=64
66   > dd if=u-boot.itb of=/dev/sdb seek=512
67
68 eMMC
69 ----
70
71 rkdeveloptool allows to flash the on-board eMMC via the USB OTG interface with
72 help of the Rockchip loader binary.
73
74   > git clone https://github.com/rockchip-linux/rkdeveloptool
75   > cd rkdeveloptool
76   > autoreconf -i && ./configure && make
77   > git clone https://github.com/rockchip-linux/rkbin.git
78   > cd rkbin
79   > ./tools/boot_merger RKBOOT/RK3399MINIALL.ini
80   > cd ..
81   > ./rkdeveloptool db rkbin/rk3399_loader_v1.25.126.bin
82   > ./rkdeveloptool wl 64 ../idbloader.img
83   > ./rkdeveloptool wl 512 ../u-boot.itb
84
85 NOR-Flash
86 ---------
87
88 rkdeveloptool allows to flash the on-board SPI via the USB OTG interface with
89 help of the Rockchip loader binary.
90
91   > git clone https://github.com/rockchip-linux/rkdeveloptool
92   > cd rkdeveloptool
93   > autoreconf -i && ./configure && make
94   > git clone https://github.com/rockchip-linux/rkbin.git
95   > cd rkbin
96   > ./tools/boot_merger RKBOOT/RK3399MINIALL_SPINOR.ini
97   > cd ..
98   > ./rkdeveloptool db rkbin/rk3399_loader_spinor_v1.25.114.bin
99   > ./rkdeveloptool ef
100   > ./rkdeveloptool wl 0 ../idbloader-spi.img
101   > ./rkdeveloptool wl 512 ../u-boot.itb