From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from phobos.denx.de (phobos.denx.de [85.214.62.61]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 0C862C433F5 for ; Mon, 11 Apr 2022 01:33:21 +0000 (UTC) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 1808183E32; Mon, 11 Apr 2022 03:31:29 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="HIY26rQ4"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 0FEDB83DC4; Mon, 11 Apr 2022 03:30:48 +0200 (CEST) Received: from mail-ed1-x52d.google.com (mail-ed1-x52d.google.com [IPv6:2a00:1450:4864:20::52d]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id 1B66783DF0 for ; Mon, 11 Apr 2022 03:30:06 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=jbx6244@gmail.com Received: by mail-ed1-x52d.google.com with SMTP id c64so4352976edf.11 for ; Sun, 10 Apr 2022 18:30:06 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=5Pfax/RPTBsiFq84cPfF9UTXOL+L/jt73jt2eLV5f4s=; b=HIY26rQ4shW1FrqZITw8Fca3mdQ9iIGLWU+cBoEVlpiE+OYNsN990at8iWIYlh3Au3 /kgJnMtApiy+4sHfx0N7JQfg3Z47xkDxlmZ1qM4M+AImOfaj8JmzmH8MAHg7Y1NQf5u8 AA4w78ap4A4oWpGAvFCkwA7/JkxwhnvZk0Zp08DRP9tmO/uFLUrTq2fPvQJlm8GBYLcY HuL5NE4E7WCip5tuoFRiDXVzlcsyLD2chKXG7wTHmG2ED4AyWAWErPSK9Ex2SUUytggb SW1gN/qxQNjFmHgzhBXEMeSBBJ7L+BJ5boE06vjeb4fCOBkwdMhKAgEOA2L0iCGixiFu ZTtg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=5Pfax/RPTBsiFq84cPfF9UTXOL+L/jt73jt2eLV5f4s=; b=hlB119eelCiifRbyWQmAZDF5rtIL/BDJlA01M7hzScFRvTunrS6uQOTRDV6xJ8hz6t LcZOUYCadnAOpKR0oqKNXvJ4lCGuRg7tsUaONUWJ+okL0t8nO6Z0vh61x1rcQCRDJe5J bO3rSmn27C+C6KQFzunNlv+Zo4kOfVXOJvlSCwOsWTOtdaq7pW4vj7DFLlpaKvOpfF1c t8sUzWmauE9tBSoG7Dex3CwRnle5CJqA5BmvdywsRytGQddpSoy7/eI2WGYxcJs4pIWF dNAZ2EBulfiNHHJG6DB9uWlzGdTnwKuwBo4BlTq8YFU/ZXr+WN4GkXKJ88Z0WWekZjUW SQ+Q== X-Gm-Message-State: AOAM531qKoKCwTcY5tlvVFt5vSB5cI+7E+5lWw4NPVGD6N03j8ZdgiJ9 owY33SYHkzc+7wi6qJGKCJc= X-Google-Smtp-Source: ABdhPJwBNIxRjfsgXNItiBmnLE2sXPXW8yb54kWZBHkehl/DYYhUmf3Zc2SlgiGmjrFVz6WtVlYj2A== X-Received: by 2002:a05:6402:5193:b0:419:3d19:ce9e with SMTP id q19-20020a056402519300b004193d19ce9emr30756282edd.199.1649640605565; Sun, 10 Apr 2022 18:30:05 -0700 (PDT) Received: from debian.home (81-204-249-205.fixed.kpn.net. [81.204.249.205]) by smtp.gmail.com with ESMTPSA id a22-20020a50ff16000000b00410d029ea5csm14121333edu.96.2022.04.10.18.30.04 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 10 Apr 2022 18:30:05 -0700 (PDT) From: Johan Jonker To: kever.yang@rock-chips.com Cc: sjg@chromium.org, philipp.tomsich@vrull.eu, lukma@denx.de, seanga2@gmail.com, u-boot@lists.denx.de Subject: [PATCH v10 14/16] doc: rockchip: restyle rockchip.rst Date: Mon, 11 Apr 2022 03:29:44 +0200 Message-Id: <20220411012946.14099-15-jbx6244@gmail.com> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20220411012946.14099-1-jbx6244@gmail.com> References: <20220411012946.14099-1-jbx6244@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.39 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.103.5 at phobos.denx.de X-Virus-Status: Clean With more text coming to the rockchip.rst document, give it a restyle first. Changed: sort build examples alphabetically add git clone example fix bash examples fix phrases (grammer) fix typos Signed-off-by: Johan Jonker --- doc/board/rockchip/rockchip.rst | 138 ++++++++++++++++++++------------ 1 file changed, 88 insertions(+), 50 deletions(-) diff --git a/doc/board/rockchip/rockchip.rst b/doc/board/rockchip/rockchip.rst index a75e60b9fa..7953203c75 100644 --- a/doc/board/rockchip/rockchip.rst +++ b/doc/board/rockchip/rockchip.rst @@ -13,7 +13,7 @@ and it's usage steps. Rockchip boards --------------- -Rockchip is SoC solutions provider for tablets & PCs, streaming media +Rockchip is a SoC solutions provider for tablets & PCs, streaming media TV boxes, AI audio & vision, IoT hardware. A wide range of Rockchip SoCs with associated boards are supported in @@ -85,42 +85,58 @@ Building TF-A ^^^^ -TF-A would require to build for ARM64 Rockchip SoCs platforms. +TF-A is required when building ARM64 Rockchip SoCs images. -To build TF-A:: +To build TF-A: - git clone https://github.com/ARM-software/arm-trusted-firmware.git +.. code-block:: bash + + git clone --depth 1 https://github.com/ARM-software/arm-trusted-firmware.git cd arm-trusted-firmware make realclean make CROSS_COMPILE=aarch64-linux-gnu- PLAT=rk3399 + cd .. Specify the PLAT= with desired Rockchip platform to build TF-A for. U-Boot ^^^^^^ -To build rk3328 boards:: +.. code-block:: bash - export BL31=/path/to/arm-trusted-firmware/to/bl31.elf - make evb-rk3328_defconfig - make + git clone --depth 1 https://source.denx.de/u-boot/u-boot.git + cd u-boot + +To build rk3288 boards: -To build rk3288 boards:: +.. code-block:: bash make evb-rk3288_defconfig - make + make CROSS_COMPILE=arm-linux-gnueabihf- + +To build rk3328 boards: + +.. code-block:: bash + + export BL31=../arm-trusted-firmware/build/rk3328/release/bl31/bl31.elf + make evb-rk3328_defconfig + make CROSS_COMPILE=aarch64-linux-gnu- + +To build rk3368 boards: -To build rk3368 boards:: +.. code-block:: bash - export BL31=/path/to/arm-trusted-firmware/to/bl31.elf + export BL31=../arm-trusted-firmware/build/rk3368/release/bl31/bl31.elf make evb-px5_defconfig - make + make CROSS_COMPILE=aarch64-linux-gnu- + +To build rk3399 boards: -To build rk3399 boards:: +.. code-block:: bash - export BL31=/path/to/arm-trusted-firmware/to/bl31.elf + export BL31=../arm-trusted-firmware/build/rk3399/release/bl31/bl31.elf make evb-rk3399_defconfig - make + make CROSS_COMPILE=aarch64-linux-gnu- Flashing -------- @@ -131,10 +147,12 @@ Flashing SD Card ^^^^^^^ -All Rockchip platforms, except rk3128 (which doesn't use SPL) are now -supporting single boot image using binman and pad_cat. +All Rockchip platforms (except rk3128 which doesn't use SPL) are now +supporting a single boot image using binman and pad_cat. -To write an image that boots from an SD card (assumed to be /dev/sda):: +To write an image that boots from a SD card (assumed to be /dev/sda): + +.. code-block:: bash sudo dd if=u-boot-rockchip.bin of=/dev/sda seek=64 sync @@ -144,45 +162,60 @@ eMMC eMMC flash would probe on mmc0 in most of the Rockchip platforms. -Create GPT partition layout as defined in configurations:: +Create GPT partition layout as defined in $partitions: + +.. code-block:: bash mmc dev 0 gpt write mmc 0 $partitions -Connect the USB-OTG cable between host and target device. +Connect the USB-OTG cable between the host and a target device. + +Launch fastboot on the target with: -Launch fastboot at target:: +.. code-block:: bash fastboot 0 -Upon successful gadget connection,host show the USB device like:: +Upon a successful gadget connection the host shows the USB device with: + +.. code-block:: bash lsusb Bus 001 Device 020: ID 2207:330c Fuzhou Rockchip Electronics Company RK3399 in Mask ROM mode -Program the flash:: +Program the flash with: + +.. code-block:: bash sudo fastboot -i 0x2207 flash loader1 idbloader.img sudo fastboot -i 0x2207 flash loader2 u-boot.itb -Note: for Rockchip 32-bit platforms the U-Boot proper image +Note: + +For Rockchip 32-bit platforms the U-Boot proper image is u-boot-dtb.img SPI ^^^ -Generating idbloader for SPI boot would require to input a multi image -image format to mkimage tool instead of concerting (like for MMC boot). +The SPI boot method requires the generation of idbloader.img with help of the mkimage tool. + +SPL-alone SPI boot image: -SPL-alone SPI boot image:: +.. code-block:: bash ./tools/mkimage -n rk3399 -T rkspi -d spl/u-boot-spl.bin idbloader.img -TPL+SPL SPI boot image:: +TPL+SPL SPI boot image: + +.. code-block:: bash ./tools/mkimage -n rk3399 -T rkspi -d tpl/u-boot-tpl.bin:spl/u-boot-spl.bin idbloader.img -Copy SPI boot images into SD card and boot from SD:: +Copy SPI boot images into SD card and boot from SD: + +.. code-block:: bash sf probe load mmc 1:1 $kernel_addr_r idbloader.img @@ -195,35 +228,42 @@ Copy SPI boot images into SD card and boot from SD:: 2. Package the image with Rockchip miniloader --------------------------------------------- -Image package with Rockchip miniloader requires robin [1]. +Image package with Rockchip miniloader requires rkbin [1]. + +.. code-block:: bash + + cd .. + git clone --depth 1 https://github.com/rockchip-linux/rkbin -Create idbloader.img +Create idbloader.img: -.. code-block:: none +.. code-block:: bash - cd u-boot - ./tools/mkimage -n px30 -T rksd -d rkbin/bin/rk33/px30_ddr_333MHz_v1.15.bin idbloader.img - cat rkbin/bin/rk33/px30_miniloader_v1.22.bin >> idbloader.img - sudo dd if=idbloader.img of=/dev/sda seek=64 + cd u-boot + ./tools/mkimage -n px30 -T rksd -d ../rkbin/bin/rk33/px30_ddr_333MHz_v1.16.bin idbloader.img + cat ../rkbin/bin/rk33/px30_miniloader_v1.31.bin >> idbloader.img + sudo dd if=idbloader.img of=/dev/sda seek=64 -Create trust.img +Create trust.img: -.. code-block:: none +.. code-block:: bash - cd rkbin - ./tools/trust_merger RKTRUST/PX30TRUST.ini - sudo dd if=trust.img of=/dev/sda seek=24576 + cd ../rkbin + ./tools/trust_merger RKTRUST/PX30TRUST.ini + sudo dd if=trust.img of=/dev/sda seek=24576 -Create uboot.img +Create uboot.img [2]: -.. code-block:: none +.. code-block:: bash - rbink/tools/loaderimage --pack --uboot u-boot-dtb.bin uboot.img 0x200000 - sudo dd if=uboot.img of=/dev/sda seek=16384 + cd ../u-boot + ../rkbin/tools/loaderimage --pack --uboot u-boot-dtb.bin uboot.img 0x200000 + sudo dd if=uboot.img of=/dev/sda seek=16384 Note: -1. 0x200000 is load address and it's an optional in some platforms. -2. rkbin binaries are kept on updating, so would recommend to use the latest versions. + +1. rkbin binaries are regularly updated, so it would be recommended to use the latest version. +2. 0x200000 is a load address and is an option for some platforms. TODO ---- @@ -233,7 +273,5 @@ TODO - Document SPI flash boot - Add missing SoC's with it boards list -[1] https://github.com/rockchip-linux/rkbin - .. Jagan Teki .. Wednesday 28 October 2020 06:47:26 PM IST -- 2.20.1