Difference between revisions of "Rockusb"

From Rockchip open source Document
Jump to: navigation, search
Line 10: Line 10:
 
*maskrom mode, no firmware found on chip, target run maskrom rockusb driver;  
 
*maskrom mode, no firmware found on chip, target run maskrom rockusb driver;  
 
*Loader mode, target run bootloader rockusb driver.  
 
*Loader mode, target run bootloader rockusb driver.  
 +
  
 
== Maskrom mode ==
 
== Maskrom mode ==
  
When there is no any firmware found on board, the SoC will run Rockusb driver automaticlly, we call it Bootrom mode or Maskrom mode.
+
If there is no firmware found on board, the SoC will run Rockusb driver automatically, we call it Bootrom mode or Maskrom mode.
  
 
If firmware is at somewhere of the board, in order to get into this mode, we can do something to prevent cpu read the firmware successful:
 
If firmware is at somewhere of the board, in order to get into this mode, we can do something to prevent cpu read the firmware successful:

Revision as of 10:06, 11 April 2017

Introduce

Rockusb is a vendor specific USB class from Rockchip, which is for firmware dowmload for Rockchip SoCs.

Get into Rockusb

There are two cases for Rockchip SoCs to get into Rockusb.

  • maskrom mode, no firmware found on chip, target run maskrom rockusb driver;
  • Loader mode, target run bootloader rockusb driver.


Maskrom mode

If there is no firmware found on board, the SoC will run Rockusb driver automatically, we call it Bootrom mode or Maskrom mode.

If firmware is at somewhere of the board, in order to get into this mode, we can do something to prevent cpu read the firmware successful:

  • for sd-card, unplug the sd-card;
  • for eMMC, short the eMMC clock to GND;
  • for NAND, short the data line or clock line;
  • for SPI, short the spi signal to GND;

In Maskrom mode, the DRAM is not available, so the download size is limit by the internal memory size.

Use db command in rkdeveloptool, system will init the DRAM and run into usbplug(with rockusb driver) which have no size limitation in download size.

Bootloader mode

If you are using miniloader, which with Rockusb driver inside, system will run rockusb driver after power on if recovery key is pressed, or there is no next stage firmware found.

Rockusb driver support in U-Boot is WIP, if done, we can also enter bootloader mode with U-Boot.

usbplug mode

The usbplug is a firmware used for USB download with rkdeveloptool db command, with rockusb driver inside, the DRAM already initialized in this mode.

USB ID

Rockchip Vendor ID is 0x2207, and the product ID for different SoCs are different.

Rockusb product ID:

  • RK3288: 0x320a
  • RK3328: 0x320c
  • RK3399: 0x330c

Please use lsusb command in Linux PC to check if there is a Rockusb device connect.

Firmware download

rkdeveloptool is the tool to do the firmware upgrade for Rockchip SoCs which is using Rockusb protocol via USB.

Please follow the steps for boot from eMMC for how to use the tool.