blob: 66437e17e46bbd61f721c82a5fdfc62e15ece377 [file] [log] [blame]
Rockusb (Rockchip USB protocol)
=====================================================
Overview
--------
Rockusb protocol is widely used by Rockchip SoC based devices. It can
read/write info, image to/from devices. This document briefly describes how to
use Rockusb for upgrading firmware (e.g. kernel, u-boot, rootfs, etc.).
Tools
--------
There are many tools can support Rockusb protocol. rkdeveloptool
(https://github.com/rockchip-linux/rkdeveloptool) is open source,
It is maintained by Rockchip. People don't want to build from source
can download from here
(https://github.com/rockchip-linux/rkbin/blob/master/tools/rkdeveloptool)
Usage
--------
The Usage of Rockusb command is:
rockusb <USB_controller> <devtype> <dev[:part]>
e.g. rockusb 0 mmc 0
On your U-Boot console, type this command to enter rockusb mode.
On your host PC. use lsusb command. you should see a usb device
using 0x2207 as its USB verdor id.
for more detail about the rkdeveloptool. please read the usage.
rkdeveloptool -h
use rkdeveloptool wl command to write lba. BeginSec is the lba on device
you want to write.
sudo rkdeveloptool wl <BeginSec> <File>
to flash U-Boot image use below command. U-Boot binary is made by mkimage.
see doc/README.rockchip for more detail about how to get U-Boot binary.
sudo rkdeveloptool wl 64 <U-Boot binary>
Current set of rkdeveloptool commands supported:
- rci: Read Chip Info
- rfi: Read Flash Id
- rd : Reset Device
- td : Test Device Ready
- rl : Read blocks using LBA
- wl : Write blocks using LBA
- wlx: Write partition
To do
-----
* Fully support Rockusb protocol