[PATCH v2 0/9] spl: atf: add support for LOAD_IMAGE_V2
Michael Walle
michael at walle.cc
Fri Nov 20 12:27:17 CET 2020
Am 2020-11-20 12:15, schrieb Michal Simek:
> On 20. 11. 20 11:48, Michael Walle wrote:
>> Am 2020-11-20 11:14, schrieb Michal Simek:
>>> Hi,
>>>
>>> On 18. 11. 20 17:45, Michael Walle wrote:
>>>> Newer TF-A versions provide a new image loading protocol. This is
>>>> used on
>>>> (newer?) NXP's SoCs. Normally, the bootflow is bl1 -> bl2 -> bl31 ->
>>>> u-boot. With this series it is possible that U-Boot SPL loads the
>>>> bl31
>>>> directly and thus replacing bl1 and bl2 from the TF-A.
>>>>
>>>> This was tested on the Kontron sl28 board using NXPs bl31 and the
>>>> upstream
>>>> version of the OP-TEE Trusted OS.
>>>
>>> I still have some questions about this.
>>>
>>> As I see from TFA previous image format has been removed in 2018 by
>>>
>>> commit ed51b51f7a9163a7fc48289c5ed97a3fe4fe504f
>>> Author: Roberto Vargas <roberto.vargas at arm.com>
>>> AuthorDate: Mon Sep 24 17:20:48 2018 +0100
>>> Commit: Antonio Nino Diaz <antonio.ninodiaz at arm.com>
>>> CommitDate: Fri Sep 28 15:31:52 2018 +0100
>>>
>>> Remove build option LOAD_IMAGE_V2
>>>
>>> The code of LOAD_IMAGE_V2=0 has been removed.
>>>
>>> Change-Id: Iea03e5bebb90c66889bdb23f85c07d0c9717fffe
>>> Co-authored-by: Antonio Nino Diaz <antonio.ninodiaz at arm.com>
>>> Signed-off-by: Antonio Nino Diaz <antonio.ninodiaz at arm.com>
>>>
>>>
>>
>> DOH! Lol, I'm using just one non-upstream part for the whole board
>> and of course it is doing something miserable. I wasn't aware of this.
>>
>>> On Xilinx ZynqMP I use SPL->bl31 loading but not using that TFA
>>> structure because xilinx is using own format.
>>>
>>> But I am curious if V2 was removed in 2018 who is really using
>>> previous
>>> one and also if current implemenation is origin or also not full v2.
>>
>> NXP,
>> https://source.codeaurora.org/external/qoriq/qoriq-components/atf/tree/plat/nxp/common/common.mk#n55
>>
>>
>> The last non-nxp commit there was from around March 2018..
>>
>>> And these patches are not breaking boot on zynqmp that's why not big
>>> deal for me.
>>
>> I was looking at porting TFA to upstream for this board but there is
>> such a huge gap. Therefore, it seemed to be easier to just use the
>> vendor version for now.
>
> Please get this reviewed by people who are using current blX code.
What do you mean by blX code? Nobody is using this flow for now, i.e.
spl -> bl31 -> u-boot
For the LOAD_IMAGE_V2 case.
NXP is using bl1 -> bl2 -> bl3 -> u-boot.
> As I said this series is not breaking our flow on xilinx zynqmp soc but
> maybe your code is more or less duplication of what's there now.
> Or maybe if there is any NXP private way it should be handled
> differently as I do for zynqmp.
The code is split into the generic v2 handling and layerscape LS1028A
specific stuff, hence the _default() function which is used in the
board files and then arch specific parameters are applied.
Also I don't know wether unifying the
bl2_plat_get_bl31_params_default() and
bl2_plat_get_bl31_params_v2_default()
is worth it. If that is what you mean by "more or less a duplication".
-michael
More information about the U-Boot
mailing list