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:
Tom Rini
2024-11-11 07:25:25 -06:00
32 changed files with 1618 additions and 34 deletions
+68
View File
@@ -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
+9
View File
@@ -0,0 +1,9 @@
.. SPDX-License-Identifier: GPL-2.0+
Cool Pi
=================
.. toctree::
:maxdepth: 2
genbook_cm5_rk3588
+2
View File
@@ -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
+9
View File
@@ -0,0 +1,9 @@
.. SPDX-License-Identifier: GPL-2.0+
Qnap
====
.. toctree::
:maxdepth: 2
ts433.rst
+91
View File
@@ -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
+3
View File
@@ -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)