[U-Boot] Booting on RK3399

Philipp Tomsich philipp.tomsich at theobroma-systems.com
Thu Jan 3 15:49:40 UTC 2019



> On 03.01.2019, at 16:40, Mark Kettenis <mark.kettenis at xs4all.nl> wrote:
> 
>> From: Jagan Teki <jagan at amarulasolutions.com>
>> Date: Thu, 3 Jan 2019 20:53:43 +0530
>> 
>> On Thu, Jan 3, 2019 at 7:20 AM Mark Kettenis <mark.kettenis at xs4all.nl> wrote:
>>> 
>>>> From: Simon Glass <sjg at chromium.org>
>>>> Date: Wed, 2 Jan 2019 18:15:31 -0700
>>>> 
>>>> Hi Kever,
>>>> 
>>>> I have a firefly-rk3399 and would like to boot it into U-Boot (as a start)
>>>> from an uSD card.
>>>> 
>>>> Are there instructions somewhere on how to do this? I gather that I need
>>>> OP-TEE but not how to build it or how to put the image together. I would
>>>> like to have instructions in README.rockchip if possible.
>>>> 
>>>> I'm planning to add U-Boot support for bob and maybe kevin (both
>>>> Chromebooks) but am not sure where to start. I thought the firefly might be
>>>> best since it is pretty common.
>>> 
>>> Hi Simon,
>>> 
>>> The instructions in board/u-boot/rockchip/evb_rk3399/README apply to
>>> the firefly-rk3399 as well.  I've successfully built working firmware
>>> for my board using the TF-A (ATF) 2.0 release and U-Boot SPL in the
>>> past that way.
>> 
>> What is TF-A here, I'm trying to build master, but it's failed to build
> 
> TF-A (Trusted Firmware-A) == ATF (Arm Trusted Firmware)
> 
> For seam reasom ARM, eh I mean arm, decided to rebrand it.
> 
> 
>> $ make CROSS_COMPILE=aarch64-linux-gnu- PLAT=rk3399 bl31
>> make -C plat/rockchip/rk3399/drivers/m0
>> BUILD=/root/arm-trusted-firmware/build/rk3399/release/m0
>> make[1]: Entering directory
>> '/root/arm-trusted-firmware/plat/rockchip/rk3399/drivers/m0'
>>  CC      src/dram.c
>> arm-none-eabi-gcc -g -mcpu=cortex-m0 -mthumb -Wall -O3 -nostdlib
>> -mfloat-abi=soft -ffunction-sections -fdata-sections
>> -fomit-frame-pointer -fno-common -Iinclude/ -I../../include/shared/
>> -MMD -MT /root/arm-trusted-firmware/build/rk3399/release/m0/dram.o -c
>> src/dram.c -o /root/arm-trusted-firmware/build/rk3399/release/m0/dram.o
>> make[1]: arm-none-eabi-gcc: Command not found
> 
> The RK3399 has a Cortex-M0 MCU built into it, and TF-A includes a
> firmware for that.  I think it is supposed to assist the SoC with
> suspend/resume.

In fact there’s two M0s: one in the PMU power domain and the other in
the PERI power domain. The ATF uses the one in the PMU domain for
suspend/resume and during DFS on DRAM.

I am working (it’s not my highest priority, though) on getting these booted
before entering ATF from SPL, so the PMU M0 is no longer being started
from ATF but actually running on ATF entry.

> You'll need to install an arm-none-eabi- cross compiler as well to
> build it.
> 
> Cheers,
> 
> Mark
> _______________________________________________
> U-Boot mailing list
> U-Boot at lists.denx.de <mailto:U-Boot at lists.denx.de>
> https://lists.denx.de/listinfo/u-boot <https://lists.denx.de/listinfo/u-boot>


More information about the U-Boot mailing list