diff mbox series

[v2,2/2] doc: rockchip: Update and improve info on rk3308, TPL and TF-A

Message ID 20230909093333.11976-1-massimo.pegorer+oss@gmail.com
State Accepted
Commit 9841fe21197e9cfcbd64ecb257e298b9eec8a385
Delegated to: Kever Yang
Headers show
Series rockchip: Use an external TPL binary on RK3308 | expand

Commit Message

Massimo Pegorer Sept. 9, 2023, 9:33 a.m. UTC
Update and improve documentation about build steps for SoCs that
require using TF-A and TPL binaries provided by Rockchip, such as
rk3308. Add rk3308 boards case to rST document. Add ROCK Pi S in
the list of supported boards. Minor page format improvements.

Signed-off-by: Massimo Pegorer <massimo.pegorer+oss@gmail.com>
---
 doc/README.rockchip             | 10 +-------
 doc/board/rockchip/rockchip.rst | 43 +++++++++++++++++++++++++++------
 2 files changed, 36 insertions(+), 17 deletions(-)

Comments

Kever Yang Sept. 19, 2023, 7:58 a.m. UTC | #1
On 2023/9/9 17:33, Massimo Pegorer wrote:
> Update and improve documentation about build steps for SoCs that
> require using TF-A and TPL binaries provided by Rockchip, such as
> rk3308. Add rk3308 boards case to rST document. Add ROCK Pi S in
> the list of supported boards. Minor page format improvements.
>
> Signed-off-by: Massimo Pegorer <massimo.pegorer+oss@gmail.com>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>

Thanks,
- Kever
> ---
>   doc/README.rockchip             | 10 +-------
>   doc/board/rockchip/rockchip.rst | 43 +++++++++++++++++++++++++++------
>   2 files changed, 36 insertions(+), 17 deletions(-)
>
> diff --git a/doc/README.rockchip b/doc/README.rockchip
> index 52b5140eca..84caff8a24 100644
> --- a/doc/README.rockchip
> +++ b/doc/README.rockchip
> @@ -38,16 +38,8 @@ Building
>       (or you can use another cross compiler if you prefer)
>   
>   2. To build RK3308 board:
> -   - Get the rkbin
> -     => git clone https://github.com/rockchip-linux/rkbin.git
>   
> -   - Compile U-Boot
> -     => cd /path/to/u-boot
> -     => export BL31=/path/to/rkbin/bin/rk33/rk3308_bl31_v2.22.elf
> -     => make roc-cc-rk3308_defconfig
> -     => make CROSS_COMPILE=aarch64-linux-gnu- all
> -     => ./tools/mkimage -n rk3308 -T rksd -d /path/to/rkbin/bin/rk33/rk3308_ddr_589MHz_uart2_m0_v1.26.bin idbloader.img
> -     => cat spl/u-boot-spl.bin  >> idbloader.img
> +   See doc/board/rockchip/rockchip.rst
>   
>   3. To build RK3399 board:
>   
> diff --git a/doc/board/rockchip/rockchip.rst b/doc/board/rockchip/rockchip.rst
> index de9fe8e642..d0fa7a9c8f 100644
> --- a/doc/board/rockchip/rockchip.rst
> +++ b/doc/board/rockchip/rockchip.rst
> @@ -53,6 +53,7 @@ List of mainline supported Rockchip boards:
>        - Google Speedy (chromebook_speedy)
>        - Amarula Vyasa-RK3288 (vyasa-rk3288)
>   * rk3308
> +     - Radxa ROCK Pi S (rock-pi-s-rk3308)
>        - Rockchip Evb-RK3308 (evb-rk3308)
>        - Roc-cc-RK3308 (roc-cc-rk3308)
>   * rk3326
> @@ -142,6 +143,19 @@ To build TF-A:
>   
>   Specify the PLAT= with desired Rockchip platform to build TF-A for.
>   
> +For SoCs whose TF-A code is not available as open source, use BL31 binary provided by Rockchip:
> +
> +.. code-block:: bash
> +
> +        git clone --depth 1 https://github.com/rockchip-linux/rkbin
> +
> +TPL
> +^^^
> +
> +For some SoCs U-Boot sources lack of support to inizialize DRAM.
> +In these cases, to get a fully functional image following :ref:`PackageWithTPLandSPL`, use DDR binary provided by Rockchip rkbin repository as ROCKCHIP_TPL when building U-Boot.
> +Otherwise, follow :ref:`PackageWithRockchipMiniloader`.
> +
>   U-Boot
>   ^^^^^^
>   
> @@ -172,6 +186,15 @@ To build rk3288 boards:
>           make evb-rk3288_defconfig
>           make CROSS_COMPILE=arm-linux-gnueabihf-
>   
> +To build rk3308 boards:
> +
> +.. code-block:: bash
> +
> +        export BL31=../rkbin/bin/rk33/rk3308_bl31_v2.26.elf
> +        export ROCKCHIP_TPL=../rkbin/bin/rk33/rk3308_ddr_589MHz_uartX_mY_v2.07.bin
> +        make evb-rk3308_defconfig
> +        make CROSS_COMPILE=aarch64-linux-gnu-
> +
>   To build rk3328 boards:
>   
>   .. code-block:: bash
> @@ -218,11 +241,13 @@ To build rk3588 boards:
>   Flashing
>   --------
>   
> +.. _`PackageWithTPLandSPL`:
> +
>   1. Package the image with U-Boot TPL/SPL
> ------------------------------------------
> +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
>   
>   SD Card
> -^^^^^^^
> +"""""""
>   
>   All Rockchip platforms (except rk3128 which doesn't use SPL) are now
>   supporting a single boot image using binman.
> @@ -235,7 +260,7 @@ To write an image that boots from a SD card (assumed to be /dev/sda):
>           sync
>   
>   eMMC
> -^^^^
> +""""
>   
>   eMMC flash would probe on mmc0 in most of the Rockchip platforms.
>   
> @@ -274,7 +299,7 @@ For Rockchip 32-bit platforms the U-Boot proper image
>   is u-boot-dtb.img
>   
>   SPI
> -^^^
> +"""
>   
>   Write u-boot-rockchip-spi.bin to offset 0 of SPI flash.
>   
> @@ -286,8 +311,10 @@ Copy u-boot-rockchip-spi.bin into SD card and boot from SD:
>           load mmc 1:1 $kernel_addr_r u-boot-rockchip-spi.bin
>           sf update $fileaddr 0 $filesize
>   
> +.. _`PackageWithRockchipMiniloader`:
> +
>   2. Package the image with Rockchip miniloader
> ----------------------------------------------
> +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
>   
>   Image package with Rockchip miniloader requires rkbin [1].
>   
> @@ -327,14 +354,14 @@ Note:
>   2. 0x200000 is a load address and is an option for some platforms.
>   
>   3. Package the RK3066 image with U-Boot TPL/SPL on NAND
> --------------------------------------------------------
> +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
>   
>   Unlike later SoC models the rk3066 BootROM doesn't have SDMMC support.
>   If all other boot options fail then it enters into a BootROM mode on the USB OTG port.
>   This method loads TPL/SPL on NAND with U-Boot and kernel on SD card.
>   
>   SD Card
> -^^^^^^^
> +"""""""
>   
>   U-Boot expects a GPT partition map and a boot directory structure with files on the SD card.
>   
> @@ -369,7 +396,7 @@ To write a U-Boot image to the SD card (assumed to be /dev/sda):
>           sync
>   
>   NAND
> -^^^^
> +""""
>   
>   Bring device in BootROM mode:
>
diff mbox series

Patch

diff --git a/doc/README.rockchip b/doc/README.rockchip
index 52b5140eca..84caff8a24 100644
--- a/doc/README.rockchip
+++ b/doc/README.rockchip
@@ -38,16 +38,8 @@  Building
     (or you can use another cross compiler if you prefer)
 
 2. To build RK3308 board:
-   - Get the rkbin
-     => git clone https://github.com/rockchip-linux/rkbin.git
 
-   - Compile U-Boot
-     => cd /path/to/u-boot
-     => export BL31=/path/to/rkbin/bin/rk33/rk3308_bl31_v2.22.elf
-     => make roc-cc-rk3308_defconfig
-     => make CROSS_COMPILE=aarch64-linux-gnu- all
-     => ./tools/mkimage -n rk3308 -T rksd -d /path/to/rkbin/bin/rk33/rk3308_ddr_589MHz_uart2_m0_v1.26.bin idbloader.img
-     => cat spl/u-boot-spl.bin  >> idbloader.img
+   See doc/board/rockchip/rockchip.rst
 
 3. To build RK3399 board:
 
diff --git a/doc/board/rockchip/rockchip.rst b/doc/board/rockchip/rockchip.rst
index de9fe8e642..d0fa7a9c8f 100644
--- a/doc/board/rockchip/rockchip.rst
+++ b/doc/board/rockchip/rockchip.rst
@@ -53,6 +53,7 @@  List of mainline supported Rockchip boards:
      - Google Speedy (chromebook_speedy)
      - Amarula Vyasa-RK3288 (vyasa-rk3288)
 * rk3308
+     - Radxa ROCK Pi S (rock-pi-s-rk3308)
      - Rockchip Evb-RK3308 (evb-rk3308)
      - Roc-cc-RK3308 (roc-cc-rk3308)
 * rk3326
@@ -142,6 +143,19 @@  To build TF-A:
 
 Specify the PLAT= with desired Rockchip platform to build TF-A for.
 
+For SoCs whose TF-A code is not available as open source, use BL31 binary provided by Rockchip:
+
+.. code-block:: bash
+
+        git clone --depth 1 https://github.com/rockchip-linux/rkbin
+
+TPL
+^^^
+
+For some SoCs U-Boot sources lack of support to inizialize DRAM.
+In these cases, to get a fully functional image following :ref:`PackageWithTPLandSPL`, use DDR binary provided by Rockchip rkbin repository as ROCKCHIP_TPL when building U-Boot.
+Otherwise, follow :ref:`PackageWithRockchipMiniloader`. 
+
 U-Boot
 ^^^^^^
 
@@ -172,6 +186,15 @@  To build rk3288 boards:
         make evb-rk3288_defconfig
         make CROSS_COMPILE=arm-linux-gnueabihf-
 
+To build rk3308 boards:
+
+.. code-block:: bash
+
+        export BL31=../rkbin/bin/rk33/rk3308_bl31_v2.26.elf
+        export ROCKCHIP_TPL=../rkbin/bin/rk33/rk3308_ddr_589MHz_uartX_mY_v2.07.bin
+        make evb-rk3308_defconfig
+        make CROSS_COMPILE=aarch64-linux-gnu-
+
 To build rk3328 boards:
 
 .. code-block:: bash
@@ -218,11 +241,13 @@  To build rk3588 boards:
 Flashing
 --------
 
+.. _`PackageWithTPLandSPL`:
+
 1. Package the image with U-Boot TPL/SPL
------------------------------------------
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 
 SD Card
-^^^^^^^
+"""""""
 
 All Rockchip platforms (except rk3128 which doesn't use SPL) are now
 supporting a single boot image using binman.
@@ -235,7 +260,7 @@  To write an image that boots from a SD card (assumed to be /dev/sda):
         sync
 
 eMMC
-^^^^
+""""
 
 eMMC flash would probe on mmc0 in most of the Rockchip platforms.
 
@@ -274,7 +299,7 @@  For Rockchip 32-bit platforms the U-Boot proper image
 is u-boot-dtb.img
 
 SPI
-^^^
+"""
 
 Write u-boot-rockchip-spi.bin to offset 0 of SPI flash.
 
@@ -286,8 +311,10 @@  Copy u-boot-rockchip-spi.bin into SD card and boot from SD:
         load mmc 1:1 $kernel_addr_r u-boot-rockchip-spi.bin
         sf update $fileaddr 0 $filesize
 
+.. _`PackageWithRockchipMiniloader`:
+
 2. Package the image with Rockchip miniloader
----------------------------------------------
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 
 Image package with Rockchip miniloader requires rkbin [1].
 
@@ -327,14 +354,14 @@  Note:
 2. 0x200000 is a load address and is an option for some platforms.
 
 3. Package the RK3066 image with U-Boot TPL/SPL on NAND
--------------------------------------------------------
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 
 Unlike later SoC models the rk3066 BootROM doesn't have SDMMC support.
 If all other boot options fail then it enters into a BootROM mode on the USB OTG port.
 This method loads TPL/SPL on NAND with U-Boot and kernel on SD card.
 
 SD Card
-^^^^^^^
+"""""""
 
 U-Boot expects a GPT partition map and a boot directory structure with files on the SD card.
 
@@ -369,7 +396,7 @@  To write a U-Boot image to the SD card (assumed to be /dev/sda):
         sync
 
 NAND
-^^^^
+""""
 
 Bring device in BootROM mode: