doc: board: rockchip: Improve supported board list format
[platform/kernel/u-boot.git] / doc / board / rockchip / rockchip.rst
1 .. SPDX-License-Identifier: GPL-2.0+
2 .. Copyright (C) 2019 Jagan Teki <jagan@amarulasolutions.com>
3
4 ROCKCHIP
5 ========
6
7 About this
8 ----------
9
10 This document describes the information about Rockchip supported boards
11 and it's usage steps.
12
13 Rockchip boards
14 ---------------
15
16 Rockchip is SoC solutions provider for tablets & PCs, streaming media
17 TV boxes, AI audio & vision, IoT hardware.
18
19 A wide range of Rockchip SoCs with associated boardsare supported in
20 mainline U-Boot.
21
22 List of mainline supported rockchip boards:
23
24 * rk3288
25      - Rockchip Evb-RK3288 (evb-rk3288)
26      - Firefly-RK3288 (firefly-rk3288)
27      - MQmaker MiQi (miqi-rk3288)
28      - Phytec RK3288 PCM-947 (phycore-rk3288)
29      - PopMetal-RK3288 (popmetal-rk3288)
30      - Radxa Rock 2 Square (rock2)
31      - Tinker-RK3288 (tinker-rk3288)
32      - Google Jerry (chromebook_jerry)
33      - Google Mickey (chromebook_mickey)
34      - Google Minnie (chromebook_minnie)
35      - Google Speedy (chromebook_speedy)
36      - Amarula Vyasa-RK3288 (vyasa-rk3288)
37 * rk3328
38      - Rockchip Evb-RK3328 (evb-rk3328)
39      - Pine64 Rock64 (rock64-rk3328)
40 * rk3368
41      - GeekBox (geekbox)
42      - PX5 EVB (evb-px5)
43      - Rockchip Sheep (sheep-rk3368)
44      - Theobroma Systems RK3368-uQ7 SoM - Lion (lion-rk3368)
45 * rk3399
46      - 96boards RK3399 Ficus (ficus-rk3399)
47      - 96boards Rock960 (rock960-rk3399)
48      - Firefly-RK3399 (firefly_rk3399)
49      - Firefly ROC-RK3399-PC
50      - FriendlyElec NanoPC-T4 (nanopc-t4-rk3399)
51      - FriendlyElec NanoPi M4 (nanopi-m4-rk3399)
52      - FriendlyARM NanoPi NEO4 (nanopi-neo4-rk3399)
53      - Google Bob (chromebook_bob)
54      - Khadas Edge (khadas-edge-rk3399)
55      - Khadas Edge-Captain (khadas-edge-captain-rk3399)
56      - Khadas Edge-V (hadas-edge-v-rk3399)
57      - Orange Pi RK3399 (orangepi-rk3399)
58      - Pine64 RockPro64 (rockpro64-rk3399)
59      - Radxa ROCK Pi 4 (rock-pi-4-rk3399)
60      - Rockchip Evb-RK3399 (evb_rk3399)
61      - Theobroma Systems RK3399-Q7 SoM - Puma (puma_rk3399)
62
63 Building
64 --------
65
66 TF-A
67 ^^^^
68
69 TF-A would require to build for ARM64 Rockchip SoCs platforms.
70
71 To build TF-A::
72
73         git clone https://github.com/ARM-software/arm-trusted-firmware.git
74         cd arm-trusted-firmware
75         make realclean
76         make CROSS_COMPILE=aarch64-linux-gnu- PLAT=rk3399
77
78 Specify the PLAT= with desired rockchip platform to build TF-A for.
79
80 U-Boot
81 ^^^^^^
82
83 To build rk3328 boards::
84
85         export BL31=/path/to/arm-trusted-firmware/to/bl31.elf
86         make evb-rk3328_defconfig
87         make
88
89 To build rk3288 boards::
90
91         make evb-rk3288_defconfig
92         make
93
94 To build rk3368 boards::
95
96         export BL31=/path/to/arm-trusted-firmware/to/bl31.elf
97         make evb-px5_defconfig
98         make
99
100 To build rk3399 boards::
101
102         export BL31=/path/to/arm-trusted-firmware/to/bl31.elf
103         make evb-rk3399_defconfig
104         make
105
106 Flashing
107 --------
108
109 SD Card
110 ^^^^^^^
111
112 All rockchip platforms, except rk3128 (which doesn't use SPL) are now
113 supporting single boot image using binman and pad_cat.
114
115 To write an image that boots from an SD card (assumed to be /dev/sda)::
116
117         sudo dd if=u-boot-rockchip.bin of=/dev/sda seek=64
118         sync
119
120 eMMC
121 ^^^^
122
123 eMMC flash would probe on mmc0 in most of the rockchip platforms.
124
125 Create GPT partition layout as defined in configurations::
126
127         mmc dev 0
128         gpt write mmc 0 $partitions
129
130 Connect the USB-OTG cable between host and target device.
131
132 Launch fastboot at target::
133
134         fastboot 0
135
136 Upon successful gadget connection,host show the USB device like::
137
138         lsusb
139         Bus 001 Device 020: ID 2207:330c Fuzhou Rockchip Electronics Company RK3399 in Mask ROM mode
140
141 Program the flash::
142
143         sudo fastboot -i 0x2207 flash loader1 idbloader.img
144         sudo fastboot -i 0x2207 flash loader2 u-boot.itb
145
146 Note: for rockchip 32-bit platforms the U-Boot proper image
147 is u-boot-dtb.img
148
149 TODO
150 ----
151
152 - Add rockchip idbloader image building
153 - Add rockchip TPL image building
154 - Document SPI flash boot
155 - Add missing SoC's with it boards list
156
157 .. Jagan Teki <jagan@amarulasolutions.com>
158 .. Sunday 24 May 2020 10:08:41 PM IST