[PATCH] spl: fit: List DTOs applied by SPL in U-Boot control DT
Quentin Schulz
quentin.schulz at cherry.de
Fri Jun 28 10:27:44 CEST 2024
Hi Marek,
On 6/28/24 4:42 AM, Marek Vasut wrote:
> On 6/27/24 2:42 PM, Quentin Schulz wrote:
>> Hi Marek,
>
> Hi,
>
>> On 6/27/24 1:58 AM, Marek Vasut wrote:
>>> Insert /u-boot,<dto-name> = <index> property into the U-Boot control DT
>>> during SPL DTO application process. This can be used by user to inspect
>>> which DTOs got applied by the SPL and in which order from running
>>> U-Boot.
>>>
>>> Example:
>>> ```
>>> u-boot=> fdt addr $fdtcontroladdr && fdt list /
>>> Working FDT set to aee9aeb0
>>> / {
>>> u-boot,fdt-dto-imx8mp-dhcom-pdk3-overlay-rev100 = <0x00000005>;
>>> u-boot,fdt-dto-imx8mp-dhcom-som-overlay-rev100 = <0x00000004>;
>>> u-boot,fdt-dto-imx8mp-dhcom-pdk-overlay-eth2xfast =
>>> <0x00000003>;
>>> u-boot,fdt-dto-imx8mp-dhcom-som-overlay-eth2xfast =
>>> <0x00000002>;
>>> ...
>>> ```
>>>
>>
>> Shouldn't this rather be in /config node?
>
> This is what I had there originally, but then I realized that some DTs
> might not have the /config node in them (or am I mistaken?), so I moved
> the new properties into the root node, which surely exists.
>
> It also keeps the code simpler, as it doesn't have to fiddle with
> creation of the /config node if it doesn't exist.
>
I don't think we should pollute the root node with this. If we want to
be able to expose this in a proper binding to the upstream DT binding
repo, I'm not sure this is going to fly :/
>> Also, I am highly suggesting to have an additional prefix aside from
>> u-boot to avoid unfortunate name clashes between DTO and existing
>> properties.
>
> OK, fixed in V2.
>
>> Or could be in its own child node of /config ?
>
> Please see above.
>
>> In any case, can you please add or edit a file somewhere to define
>> this new dt-binding.
>
> Done in V2
>
>> Additional question, what is this index for?
>
> To indicate in which order the DTOs were applied by the SPL. It matches
> the order in which the the DTOs are stored in the fitImage and the order
> in which SPL iterates over them. In case the SPL skips a DTO using
> board_spl_fit_append_fdt_skip(), the integer sequence might have gaps.
>
>> I am wondering if we cannot simply have a string array with overlays
>> applied left-to-right or right-to-left instead? Or u-boot,fdt-dto-N =
>> "imx8mp-dhcom-pdk3-overlay-rev100";
>
> We can, but that is much harder to test for presence of specific DTO on
> U-Boot command line. It is easy to test for presence of boolean or
> integer DT property using 'fdt' command.
>
Not sure dt-bindings people would love to hear that we adapt the fdt to
be easier to work with from the U-Boot CLI :)
In any case, another few thoughts that popped up overnight:
1- do we want to have this for SPL DTB modified by TPL? If so, I'm sure
we want it different from the one passed from SPL to U-Boot proper IFF
we start from a clean sheet (new DTB) and/or add the DTBO we applied on
top the DTBOs already applied by the TPL to the SPL DTB before passing
it to proper
2- Add info about which DTBOs were applied to the kernel DTB?
Cheers,
Quentin
More information about the U-Boot
mailing list