Jagan Teki | 338b86c | 2020-01-10 00:16:22 +0530 | [diff] [blame] | 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 | - Evb-RK3288 |
| 26 | - Firefly-RK3288 |
| 27 | - mqmaker MiQi |
| 28 | - Phytec RK3288 PCM-947 |
| 29 | - PopMetal-RK3288 |
| 30 | - Radxa Rock 2 Square |
| 31 | - Tinker-RK3288 |
| 32 | - Google Jerry |
| 33 | - Google Mickey |
| 34 | - Google Minnie |
| 35 | - Google Speedy |
| 36 | - Amarula Vyasa-RK3288 |
| 37 | * rk3328 |
| 38 | - Rockchip RK3328 EVB |
| 39 | - Pine64 Rock64 |
| 40 | * rk3368 |
| 41 | - GeekBox |
| 42 | - PX5 EVB |
| 43 | - Rockchip sheep board |
| 44 | - Theobroma Systems RK3368-uQ7 SoM |
| 45 | * rk3399 |
| 46 | - 96boards RK3399 Ficus |
| 47 | - 96boards Rock960 |
| 48 | - Firefly-RK3399 Board |
| 49 | - Firefly ROC-RK3399-PC Board |
| 50 | - FriendlyElec NanoPC-T4 |
| 51 | - FriendlyElec NanoPi M4 |
| 52 | - FriendlyARM NanoPi NEO4 |
| 53 | - Google Bob |
| 54 | - Khadas Edge |
| 55 | - Khadas Edge-Captain |
| 56 | - Khadas Edge-V |
| 57 | - Orange Pi RK3399 Board |
| 58 | - Pine64 RockPro64 |
| 59 | - Radxa ROCK Pi 4 |
| 60 | - Rockchip RK3399 Evaluation Board |
| 61 | - Theobroma Systems RK3399-Q7 SoM |
| 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 | |
Jagan Teki | 7e01363 | 2020-05-24 23:02:13 +0530 | [diff] [blame] | 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 | |
Jagan Teki | 338b86c | 2020-01-10 00:16:22 +0530 | [diff] [blame] | 149 | TODO |
| 150 | ---- |
| 151 | |
| 152 | - Add rockchip idbloader image building |
| 153 | - Add rockchip TPL image building |
| 154 | - Document SPI flash boot |
Jagan Teki | 338b86c | 2020-01-10 00:16:22 +0530 | [diff] [blame] | 155 | - Add missing SoC's with it boards list |
| 156 | |
| 157 | .. Jagan Teki <jagan@amarulasolutions.com> |
Jagan Teki | 7e01363 | 2020-05-24 23:02:13 +0530 | [diff] [blame] | 158 | .. Sunday 24 May 2020 10:08:41 PM IST |