[U-Boot] [PATCH v2 3/3] rockchip: evb-rk3399: update document for board bring up

Jagan Teki jagannadh.teki at gmail.com
Thu Aug 31 06:13:41 UTC 2017


Hi Kever,

On Thu, Aug 31, 2017 at 6:37 AM, Kever Yang <kever.yang at rock-chips.com> wrote:
> Hi Jagan,
>
>
>
> On 08/30/2017 11:10 PM, Jagan Teki wrote:
>>
>> + Philipp
>>
>> On Mon, Aug 21, 2017 at 6:30 PM, Kever Yang <kever.yang at rock-chips.com>
>> wrote:
>>>
>>> Since we support ATF in SPL and add script for it, let's make the
>>> document up to date.
>>>
>>> Signed-off-by: Kever Yang <kever.yang at rock-chips.com>
>>> Acked-by: Philipp Tomsich <philipp.tomsich at theobroma-systems.com>
>>> ---
>>>
>>> Changes in v2:
>>> - typo fix, evb-firefly´╝Ź>firefly-rk3399
>>>
>>>   board/rockchip/evb_rk3399/README | 79
>>> ++++++++++++++++++++++++++++++++--------
>>>   1 file changed, 63 insertions(+), 16 deletions(-)
>>>
>>> diff --git a/board/rockchip/evb_rk3399/README
>>> b/board/rockchip/evb_rk3399/README
>>> index fb8bb19..b5c7614 100644
>>> --- a/board/rockchip/evb_rk3399/README
>>> +++ b/board/rockchip/evb_rk3399/README
>>> @@ -18,8 +18,8 @@ evb key features:
>>>   * PMIC: rk808
>>>   * debug console: UART2
>>>
>>> -In order to support Arm Trust Firmware(ATF), we need to use the
>>> -miniloader from rockchip which:
>>> +In order to support Arm Trust Firmware(ATF), we can use either SPL or
>>> +miniloader from rockchip to do:
>>>   * do DRAM init
>>>   * load and verify ATF image
>>>   * load and verify U-Boot image
>>> @@ -32,8 +32,8 @@ Get the Source and prebuild binary
>>>     > mkdir ~/evb_rk3399
>>>     > cd ~/evb_rk3399
>>>     > git clone https://github.com/ARM-software/arm-trusted-firmware.git
>>> -  > git clone https://github.com/rockchip-linux/rkbin
>>> -  > git clone https://github.com/rockchip-linux/rkflashtool
>>> +  > git clone https://github.com/rockchip-linux/rkbin.git
>>> +  > git clone https://github.com/rockchip-linux/rkdeveloptool.git
>>>
>>>   Compile the ATF
>>>   ===============
>>> @@ -42,32 +42,79 @@ Compile the ATF
>>>     > make realclean
>>>     > make CROSS_COMPILE=aarch64-linux-gnu- PLAT=rk3399 bl31
>>>
>>> +  Or you can get the bl31.elf directly from Rockchip:
>>> +  cp rkbin/rk33/rk3399_bl31_v1.00.elf ../u-boot/bl31.elf
>>> +
>>> +  Get bl31.elf in this step, copy it to U-Boot root dir:
>>> +  > cp bl31.elf ../u-boot/
>>> +
>>>   Compile the U-Boot
>>>   ==================
>>>
>>>     > cd ../u-boot
>>> -  > make CROSS_COMPILE=aarch64-linux-gnu- evb-rk3399_defconfig all
>>> +  > export ARCH=arm64
>>> +  > export CROSS_COMPILE=aarch64-linux-gnu-
>>> +  > make evb-rk3399_defconfig
>>> +  for firefly-rk3399, use below instead:
>>> +  > make firefly-rk3399_defconfig
>>> +  > make
>>> +  > make u-boot.itb
>>>
>>> -Compile the rkflashtool
>>> -=======================
>>> +  Get spl/u-boot-spl.bin and u-boot.itb in this step.
>>>
>>> +Compile the rkdeveloptool
>>> +=======================
>>> +  Follow instructions in latest README
>>>     > cd ../rkflashtool
>>> +  > autoreconf -i
>>> +  > ./configure
>>>     > make
>>> +  > sudo make install
>>> +
>>> +  Get rkdeveloptool in you Host in this step.
>>> +
>>> +Both origin binaries and Tool are ready now, choose either option 1 or
>>> +option 2 to deploy U-Boot.
>>> +
>>> +Package the image
>>> +=================
>>>
>>> -Package the image for miniloader
>>> -================================
>>> +Package the image for U-Boot SPL(option 1)
>>> +--------------------------------
>>>     > cd ..
>>> -  > cp arm-trusted-firmware/build/rk3399/release/bl31.bin rkbin/rk33
>>> +  > tools/mkimage -n rk3399 -T rksd -d spl/u-boot-spl.bin idbspl.img
>>> +
>>> +  Get idbspl.img in this step.
>>> +
>>> +Package the image for Rockchip miniloader(option 2)
>>> +------------------------------------------
>>> +  > cd ..
>>> +  > cp arm-trusted-firmware/build/rk3399/release/bl31.elf rkbin/rk33
>>>     > ./rkbin/tools/trust_merger rkbin/tools/RK3399TRUST.ini
>>>     > ./rkbin/tools/loaderimage --pack --uboot u-boot/u-boot-dtb.bin
>>> uboot.img
>>> -  > mkdir image
>>> -  > mv trust.img ./image/
>>> -  > mv uboot.img ./image/rk3399evb-uboot.bin
>>>
>>> -Flash the image
>>> -===============
>>> +  Get trust.img and uboot.img in this step.
>>> +
>>> +Flash the image to eMMC
>>> +=======================
>>> +
>>> +Flash the image with U-Boot SPL(option 1)
>>> +-------------------------------
>>>   Power on(or reset with RESET KEY) with MASKROM KEY preesed, and then:
>>> +  > rkdeveloptool db rkbin/rk33/rk3399_loader_v1.08.106.bin
>>> +  > rkdeveloptool wl 64 u-boot/idbspl.img
>>> +  > rkdeveloptool wl 512 u-boot/u-boot.itb
>>> +  > rkdeveloptool rd
>>
>> Do we still need rk3399_loader_v1.08.106.bin? if u-boot.itb has ATF,
>
>
> We need this for db command for now, if we enable rockusb in U-Boot, then we
> don't
> need db command and we don't need rk3399_loader_v1.08.106.bin
>
> rk3399_loader_v1.08.106.bin will be there for Windows flash tool like
> rkdeveloptool in Linux.

Ok, thanks for the info.

I'm trying to boot from SDMMC and written SPL and u-boot.itb
(ATF+Cortex-M0) like

# dd if=spl of=/dev/mmcblk0 seek=64
# dd if=u-boot.itb of=/dev/mmcblk0 seek=512

With this ROM picked boot image from eMMC instead of SDMMC and hang at
'try to start rockusb' [1]

Do I need to loader here? and wiki [2] doesn't mention to write loader
for ARMv8 with SPL

[1] https://paste.ubuntu.com/25436760/
[2] http://opensource.rock-chips.com/wiki_Boot_option#Boot_from_SD.2FTF_Card

-- 
Jagan Teki
Free Software Engineer | www.openedev.com
U-Boot, Linux | Upstream Maintainer
Hyderabad, India.


More information about the U-Boot mailing list