diff options
Diffstat (limited to 'Documentation/boards/rockchip.rst')
-rw-r--r-- | Documentation/boards/rockchip.rst | 74 |
1 files changed, 74 insertions, 0 deletions
diff --git a/Documentation/boards/rockchip.rst b/Documentation/boards/rockchip.rst index a5599c6d5f..aa2febc8eb 100644 --- a/Documentation/boards/rockchip.rst +++ b/Documentation/boards/rockchip.rst @@ -45,3 +45,77 @@ Instructions. * Run "rk-makebootable FlashData barebox-radxa-rock.bin rrboot.bin" * Insert SD card and run "dd if=rrboot.bin of=</dev/sdcard> bs=$((0x200)) seek=$((0x40))" * SD card is ready + +Rockchip RK356x +=============== + +Barebox features support for the Rockchip RK3566 and RK3568 SoCs, where the +RK3566 can be considered as reduced but largely identical version of the +RK3568. + +Supported Boards +---------------- + +- Rockchip RK3568 EVB +- Rockchip RK3568 Bananapi R2 Pro +- Pine64 Quartz64 Model A +- Radxa ROCK3 Model A +- Radxa CM3 (RK3566) IO Board +- Protonic MECSBC + +The steps described in the following target the RK3568 and the RK3568 EVB but +generally apply to both SoCs and all boards. +Differences between the SoCs or boards are outlined where required. + +Building +-------- + +The build process needs three binary files which have to be copied from the +`rkbin https://github.com/rockchip-linux/rkbin` repository to the barebox source tree: + +.. code-block:: sh + + cp $RKBIN/bin/rk35/rk3568_bl31_v1.34.elf firmware/rk3568-bl31.bin + cp $RKBIN/bin/rk35/rk3568_bl32_v2.08.bin firmware/rk3568-op-tee.bin + cp $RKBIN/bin/rk35/rk3568_ddr_1560MHz_v1.13.bin arch/arm/boards/rockchip-rk3568-evb/sdram-init.bin + +With these barebox can be compiled as: + +.. code-block:: sh + + make ARCH=arm rockchip_v8_defconfig + make ARCH=arm + +**NOTE** I found the bl32 firmware non working for me as of 7d631e0d5b2d373b54d4533580d08fb9bd2eaad4 in the rkbin repository. + +**NOTE** The RK3566 and RK3568 seem to share the bl31 and bl32 firmware files, +whereas the memory initialization blob is different. + +Creating a bootable SD card +--------------------------- + +A bootable SD card can be created with: + +.. code-block:: sh + + dd if=images/barebox-rk3568-evb.img of=/dev/sdx bs=1024 seek=32 + +The barebox image is written to the raw device, so make sure the partitioning +doesn't conflict with the are barebox is written to. Starting the first +partition at offset 8MiB is a safe bet. + +USB bootstrapping +----------------- + +The RK3568 can be bootstrapped via USB for which the rk-usb-loader tool in the barebox +repository can be used. The tool takes the same images as written on SD cards: + +.. code-block:: sh + + ./scripts/rk-usb-loader images/barebox-rk3568-evb.img + +Note that the boot order of the RK3568 is not configurable. The SoC will only enter USB +MaskROM mode when no other bootsource contains a valid bootloader. This means to use USB +you have to make all other bootsources invalid by removing SD cards and shortcircuiting +eMMCs. The RK3568 EVB has a pushbutton to disable the eMMC. +On the Quartz64 boards, remove the eMMC module if present. |