Merge tag 'u-boot-rockchip-20241111' of https://source.denx.de/u-boot/custodians/u-boot-rockchip
CI: https://source.denx.de/u-boot/custodians/u-boot-rockchip/-/pipelines/23280 - Add board: rk3328: FriendlyElec NanoPi R2S Plus rk3568: Qnap TS433 rk3588: Cool Pi CM5 GenBook - Move rk3399_force_power_on_reset to TPL for puma board;
This commit is contained in:
@@ -0,0 +1,68 @@
|
||||
.. SPDX-License-Identifier: GPL-2.0+
|
||||
|
||||
GenBook
|
||||
=======
|
||||
Cool Pi GenBook is a laptop powered by RK3588, it works with a
|
||||
carrier board connect with CM5.
|
||||
|
||||
Specification:
|
||||
* Rockchip RK3588
|
||||
* LPDDR5X 8/32 GB
|
||||
* eMMC 64 GB
|
||||
* SPI Nor 8 MB
|
||||
* HDMI Type A out x 1
|
||||
* USB 3.0 Host x 1
|
||||
* USB-C 3.0 with DisplayPort AltMode
|
||||
* PCIE M.2 E Key for RTL8852BE Wireless connection
|
||||
* PCIE M.2 M Key for NVME connection
|
||||
* eDP panel with 1920x1080
|
||||
|
||||
Here is the step-by-step to compile and boot to U-Boot on GenBook.
|
||||
|
||||
Get the TF-A and DDR init (TPL) binaries
|
||||
----------------------------------------
|
||||
|
||||
.. prompt:: bash
|
||||
|
||||
> cd u-boot
|
||||
> export ROCKCHIP_TPL=../rkbin/bin/rk35/rk3588_ddr_lp4_2112MHz_lp5_2400MHz_v1.17.bin
|
||||
> export BL31=../rkbin/bin/rk35/rk3588_bl31_v1.46.elf
|
||||
> make coolpi-genbook-cm5-rk3588_defconfig
|
||||
> make CROSS_COMPILE=aarch64-linux-gnu-
|
||||
|
||||
This will build ``u-boot-rockchip.bin`` for eMMC and ``u-boot-rockchip-spi.bin`` for SPI Nor.
|
||||
|
||||
Write u-boot to eMMC or SPI Nor from a Linux system on the laptop
|
||||
-----------------------------------------------------------------
|
||||
|
||||
Copy ``u-boot-rockchip.bin`` and ``u-boot-rockchip-spi.bin`` to the laptop.
|
||||
|
||||
eMMC
|
||||
~~~~
|
||||
|
||||
.. prompt:: bash
|
||||
|
||||
dd if=u-boot-rockchip.bin of=/dev/mmcblk0 bs=512 seek=64
|
||||
|
||||
SPI Nor
|
||||
~~~~~~~
|
||||
|
||||
.. prompt:: bash
|
||||
|
||||
dd if=u-boot-rockchip-spi.bin of=/dev/mtdblock0
|
||||
|
||||
``upgrade_tool`` allows to flash the on-board SPI Nor via the USB TypeC interface
|
||||
with help of the Rockchip loader binary.
|
||||
|
||||
To enter the USB flashing mode, connect the laptop and your HOST PC with a USB-C
|
||||
cable, reset the laptop with ``Loader Key`` pressed.
|
||||
On your PC, check with ``lsusb -d 2207:350b``).
|
||||
|
||||
To flash U-Boot on the SPI Nor with ``upgrade_tool``:
|
||||
|
||||
.. prompt:: bash
|
||||
|
||||
upgrade_tool db rk3588/MiniLoaderAll.bin
|
||||
upgrade_tool ssd // Input 5 for SPINOR download mode
|
||||
upgrade_tool wl 0 u-boot-rockchip-spi.bin
|
||||
upgrade_tool rd
|
||||
@@ -0,0 +1,9 @@
|
||||
.. SPDX-License-Identifier: GPL-2.0+
|
||||
|
||||
Cool Pi
|
||||
=================
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 2
|
||||
|
||||
genbook_cm5_rk3588
|
||||
@@ -23,6 +23,7 @@ Board-specific doc
|
||||
bsh/index
|
||||
cloos/index
|
||||
congatec/index
|
||||
coolpi/index
|
||||
coreboot/index
|
||||
emcraft/index
|
||||
emulation/index
|
||||
@@ -43,6 +44,7 @@ Board-specific doc
|
||||
phytec/index
|
||||
purism/index
|
||||
qualcomm/index
|
||||
qnap/index
|
||||
renesas/index
|
||||
rockchip/index
|
||||
samsung/index
|
||||
|
||||
@@ -0,0 +1,9 @@
|
||||
.. SPDX-License-Identifier: GPL-2.0+
|
||||
|
||||
Qnap
|
||||
====
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 2
|
||||
|
||||
ts433.rst
|
||||
@@ -0,0 +1,91 @@
|
||||
.. SPDX-License-Identifier: GPL-2.0+
|
||||
|
||||
U-Boot for Qnap TS433 Devices
|
||||
=================================
|
||||
|
||||
This allows U-Boot to boot the Qnap TS433 NAS
|
||||
|
||||
Preparing the serial
|
||||
--------------------
|
||||
|
||||
Qnap devices run their serial console with a 115200 baudrate. As the
|
||||
binary DDR-init and maskrom-downloader expect a 1500000 rate, it is
|
||||
necessary to adapt the binaries if their output is needed.
|
||||
|
||||
This can be done with a binary provided in the rkbin repository.
|
||||
First the ddrbin_param.txt in the rkbin repo needs to be modified:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
diff --git a/tools/ddrbin_param.txt b/tools/ddrbin_param.txt
|
||||
index 0dfdd318..82ade7e7 100644
|
||||
--- a/tools/ddrbin_param.txt
|
||||
+++ b/tools/ddrbin_param.txt
|
||||
@@ -11,7 +11,7 @@ lp5_freq=
|
||||
|
||||
uart id=
|
||||
uart iomux=
|
||||
-uart baudrate=
|
||||
+uart baudrate=115200
|
||||
|
||||
sr_idle=
|
||||
pd_idle=
|
||||
|
||||
And after that the ddrbin_tool binary can be used to modify apply this
|
||||
modification and also a new maskrom downloader can be build:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
$ tools/ddrbin_tool rk3568 tools/ddrbin_param.txt bin/rk35/rk3568_ddr_1560MHz_v1.21.bin
|
||||
$ tools/boot_merger RKBOOT/RK3568MINIALL.ini
|
||||
|
||||
Building U-Boot
|
||||
---------------
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
$ export CROSS_COMPILE=aarch64-linux-gnu-
|
||||
$ export BL31=../rkbin/bin/rk35/rk3568_bl31_v1.34.elf
|
||||
$ export ROCKCHIP_TPL=../rkbin/bin/rk35/rk3568_ddr_1056MHz_v1.13.bin
|
||||
$ make qnap-ts433-rk3568_defconfig
|
||||
$ make
|
||||
|
||||
This will build ``u-boot-rockchip.bin`` which can be written to the
|
||||
on-board eMMC.
|
||||
|
||||
Image installation
|
||||
------------------
|
||||
|
||||
The Qnap thankfully provides an easily accessible serial header as well as
|
||||
a very user-friendly jumper-header to bring the device into maskrom mode.
|
||||
|
||||
To access both, the drive trays need to be removed. Looking at the board,
|
||||
through the upper cutout of the metal frame the white 4-port serial-header
|
||||
can be seen next to a barcode sticker. It's pinout is as follows:
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
,_ _.
|
||||
|1234| 1=TX 2=VCC
|
||||
`----' 3=RX 4=GND
|
||||
|
||||
|
||||
Directly below it, the mentioned 2-pin jumper header can be seen.
|
||||
|
||||
To write your u-boot to the device, it needs to be powered off first. Then
|
||||
a jumper or suitable cable needs to be used to connect the two pins of the
|
||||
maskrom header. Turning on the device now will start it in maskrom mode.
|
||||
|
||||
It is important that the jumper gets removed after that stop and before
|
||||
actually trying to write to the emmc.
|
||||
|
||||
The front usb-port needs to be connected to the host with an USB-A-to-A
|
||||
cable to allow flashing.
|
||||
|
||||
The flashing itself is done via rkdeveloptool, which can be found for
|
||||
example as package of that name in Debian-based distributions:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
$ rkdeveloptool db rk356x_spl_loader_v1.21.113.bin
|
||||
$ rkdeveloptool wl 64 u-boot-rockchip.bin
|
||||
@@ -65,6 +65,7 @@ List of mainline supported Rockchip boards:
|
||||
- FriendlyElec NanoPi R2C (nanopi-r2c-rk3328)
|
||||
- FriendlyElec NanoPi R2C Plus (nanopi-r2c-plus-rk3328)
|
||||
- FriendlyElec NanoPi R2S (nanopi-r2s-rk3328)
|
||||
- FriendlyElec NanoPi R2S Plus (nanopi-r2s-plus-rk3328)
|
||||
- Pine64 Rock64 (rock64-rk3328)
|
||||
- Radxa ROCK Pi E (rock-pi-e-rk3328)
|
||||
- Xunlong Orange Pi R1 Plus (orangepi-r1-plus-rk3328)
|
||||
@@ -119,6 +120,7 @@ List of mainline supported Rockchip boards:
|
||||
- FriendlyElec NanoPi R5S (nanopi-r5s-rk3568)
|
||||
- Generic RK3566/RK3568 (generic-rk3568)
|
||||
- Hardkernel ODROID-M1 (odroid-m1-rk3568)
|
||||
- QNAP TS-433 (qnap-ts433-rk3568)
|
||||
- Radxa E25 Carrier Board (radxa-e25-rk3568)
|
||||
- Radxa ROCK 3A (rock-3a-rk3568)
|
||||
- Radxa ROCK 3B (rock-3b-rk3568)
|
||||
@@ -147,6 +149,7 @@ List of mainline supported Rockchip boards:
|
||||
- Xunlong Orange Pi 5 Plus (orangepi-5-plus-rk3588)
|
||||
- Yanyi Tech CoolPi 4 Model B (coolpi-4b-rk3588s)
|
||||
- Yanyi Tech CoolPi CM5 EVB (coolpi-cm5-evb-rk3588)
|
||||
- Yanyi Tech CoolPi CM5 GenBook (coolpi-cm5-genbook-rk3588)
|
||||
|
||||
* rv1108
|
||||
- Rockchip Evb-rv1108 (evb-rv1108)
|
||||
|
||||
Reference in New Issue
Block a user