diff --git a/docs/helios64/files/maskrom/rk3399_loader_v1.24_RevNocRL.126.bin b/docs/helios64/files/maskrom/rk3399_loader_v1.24_RevNocRL.126.bin new file mode 100755 index 0000000..7b30e63 Binary files /dev/null and b/docs/helios64/files/maskrom/rk3399_loader_v1.24_RevNocRL.126.bin differ diff --git a/docs/helios64/img/maskrom/androidtools_00_main.png b/docs/helios64/img/maskrom/androidtools_00_main.png new file mode 100755 index 0000000..815458e Binary files /dev/null and b/docs/helios64/img/maskrom/androidtools_00_main.png differ diff --git a/docs/helios64/img/maskrom/androidtools_01_ready_to_download.png b/docs/helios64/img/maskrom/androidtools_01_ready_to_download.png new file mode 100755 index 0000000..779430d Binary files /dev/null and b/docs/helios64/img/maskrom/androidtools_01_ready_to_download.png differ diff --git a/docs/helios64/img/maskrom/androidtools_02_download_in_progress.png b/docs/helios64/img/maskrom/androidtools_02_download_in_progress.png new file mode 100755 index 0000000..c854df3 Binary files /dev/null and b/docs/helios64/img/maskrom/androidtools_02_download_in_progress.png differ diff --git a/docs/helios64/img/maskrom/androidtools_03_done.png b/docs/helios64/img/maskrom/androidtools_03_done.png new file mode 100755 index 0000000..8d520f7 Binary files /dev/null and b/docs/helios64/img/maskrom/androidtools_03_done.png differ diff --git a/docs/helios64/img/maskrom/jumper_p13_enabled.jpg b/docs/helios64/img/maskrom/jumper_p13_enabled.jpg new file mode 100755 index 0000000..de22f30 Binary files /dev/null and b/docs/helios64/img/maskrom/jumper_p13_enabled.jpg differ diff --git a/docs/helios64/img/maskrom/rockusb_device.png b/docs/helios64/img/maskrom/rockusb_device.png new file mode 100755 index 0000000..caeed35 Binary files /dev/null and b/docs/helios64/img/maskrom/rockusb_device.png differ diff --git a/docs/helios64/maskrom.md b/docs/helios64/maskrom.md new file mode 100644 index 0000000..c776ab8 --- /dev/null +++ b/docs/helios64/maskrom.md @@ -0,0 +1,106 @@ +Maskrom is special internal firmware of RK3399 that run **Rockusb** driver automatically when there is no +bootable firmware found on on-board storage such as SPI flash, eMMC or microSD card. + +On Helios64, there are two ways to enter the maskrom mode: + +- Disable SPI flash and eMMC according to [Boot Mode Jumper](/helios64/jumper/#boot-mode-p10-p11) and remove microSD card. + +- Using [Recovery Button](/helios64/button/#recovery-button) + +Rockusb is a vendor specific USB class from Rockchip to download firmware. +This USB device has Vendor ID *0x2207* and Product ID *0x330c*. + +!!! Info + U-Boot has *rockusb* command, but it is not compatible with the Rockchip utilities + +## Prerequisites + +### RK3399 loader + + In maskrom mode, SoC initiliazed without DRAM and storage support therefore it need *loader* to initialized DRAM and prepare the flashing environment. + + Download the loader from [here](/helios64/files/maskrom/rk3399_loader_v1.24_RevNocRL.126.bin) + +### Windows + +#### Rockusb driver + +Download and extract *DriverAssistant.zip* from [Rockchip GitHub](https://github.com/rockchip-linux/tools/tree/rk3399/windows). + +Run **DriverInstall.exe** under the extracted folder and press **Install Driver**. + +!!! Info + At this time of writing, the filename is *DriverAssitant_v4.6.zip* and the extracted folder is *DriverAssitant_v4.6* + +#### AndroidTools + +Download and extract *AndroidTool_Release.zip* from [Rockchip GitHub](https://github.com/rockchip-linux/tools/tree/rk3399/windows). + +!!! Info + At this time of writing, the filename is *AndroidTool_Release_v2.52.zip*. + +### Linux + +Download prebuilt rkdevelop from [Rockchip GitHub](https://github.com/rockchip-linux/rkbin/archive/master.zip). +Extract the downloaded *rkbin-master.zip* file. + +!!! Note + You could also compile it from source by following instructions at [Rockchip Wiki](http://opensource.rock-chips.com/wiki_Rkdeveloptool). + +## Using Maskrom + +**1)** Make sure the system is powered off. + +**2)** Put jumper cap to P13 to enable it. + +![!Jumper P13](/helios64/img/maskrom/jumper_p13_enabled.jpg) + +**3)** Plug in USB type-C cable to Helios64 and the other side to PC. + +**4 a)** Disable SPI flash and eMMC according to [Boot Mode Jumper](/helios64/jumper/#boot-mode-p10-p11) and remove microSD card. Power on the system. + + or + +**4 b)** Press and hold Recovery button. Power on the system and release recovery button after System Status LED blink twice. + +### Under Windows + +**1.** Open Device Manager and verify whether rockusb device is recognized. + +![rockusb on Device Manager](/helios64/img/maskrom/rockusb_device.png) + +**2.** Run **AndroidTool.exe** and check whether there is **Found One MASKROM Device**. + +![!AndroidTool Main Window](/helios64/img/maskrom/androidtools_00_main.png) + +**3.** Press button to load and select following files, + +- Loader = rk3399_loader_v1.24_RevNocRL.126.bin + +- Image = OS image to write + +!!! Warning + The image must be Raw image, not in compressed form. + +![!AndroidTool Files loaded](/helios64/img/maskrom/androidtools_01_ready_to_download.png) + +**4.** Checklist both row and press **Run** button. Observer the log textbox. + +![!AndroidTool Writing Images](/helios64/img/maskrom/androidtools_02_download_in_progress.png) + +**5.** The log textbox will show **Download image OK** when finished and system will automatically reboot. + +![!AndroidTool Writing Images](/helios64/img/maskrom/androidtools_03_done.png) + +**6.** Remove jumper on P13, you should have USB Serial connected to your PC. + +**7.** Continue to setup the OS through Serial Console. + + +## References + +[Rkdeveloptool - Rockchip Open Source Document](http://opensource.rock-chips.com/wiki_Rkdeveloptool) + +[Rockusb - Rockchip Open Source Document](http://opensource.rock-chips.com/wiki_Rockusb) + + diff --git a/mkdocs.yml b/mkdocs.yml index acadb43..c0f9fe1 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -90,6 +90,7 @@ nav: - Jumper: 'helios64/jumper.md' - LED: 'helios64/led.md' - M.2: 'helios64/m2.md' + - Maskrom: 'helios64/maskrom.md' - PMIC: 'helios64/pmic.md' - PWM Fan: 'helios64/pwm.md' - RTC: 'helios64/rtc.md'