OF_UPSTREAM vs. additional dtbs

Frank Wunderlich frank-w at public-files.de
Tue Sep 10 14:36:56 CEST 2024


Am 10. September 2024 14:08:07 MESZ schrieb Jan Kiszka <jan.kiszka at siemens.com>:
>On 10.09.24 08:38, Sumit Garg wrote:
>> Hi Jan,
>> 
>> On Thu, 5 Sept 2024 at 12:08, Jan Kiszka <jan.kiszka at siemens.com> wrote:
>>>
>>> On 04.09.24 19:29, Frank Wunderlich wrote:
>>>>
>>>>
>>>>> Gesendet: Mittwoch, 04. September 2024 um 19:16 Uhr
>>>>> Von: "Jan Kiszka" <jan.kiszka at siemens.com>
>>>>> OK, our overlay sources are on their way into mainline, will only take
>>>>> until 6.12-rc1 to get them here.
>> 
>> Glad to hear that.
>> 
>>>>> To accelerate the preparation, I ported
>>>>> that change to a local branch - just to find out that OF_UPSTREAM has no
>>>>> clue about DT overlays so far. And it is not just that there are no
>>>>> build rules for them (that was quickly fixed). It's also that there is
>>>>> no way to trigger their build for your u-boot proper.
>>>>>
>>>>> Are there plans for addressing this? I'm inclined to revive my patch
>>>>> that allows to augment dtb-y from the board's config.mk. Better suggestions?
>>>>
>>>> Hi
>>>>
>>>> i hang also on this part, in my case i build the dtbos for the vendor and try to use fdtoverlay to merge base-dt with the defined overlays.
>>>>
>>>> see commits till July 11th
>>>>
>>>> https://github.com/frank-w/u-boot/commits/2024-07-bpi-ofupstream-all/
>>>>
>>>> this fails because the target for fdtoverlays needs targets for the dtbos (have used the fdtoverlay target from linux)...
>>>> but i build then without dedicated target (while building the basedt).
>>>>
>>>> maybe you can help solving the "small" problem in makefile.
>>>>
>>>
>>> This is close but not quite the same scenario because I only need "our"
>>> dtbos, and there is no need to create dtbs with them applied (they will
>>> be used during dt fixup in our case).

Where do you apply the dtbos? In my case it is
necessary to build the dtb with overlay as we have
no way to detect which overlay needs to be
applied.

We have overlays for different mmc (sdmmc/emmc)
and spi (nand/ nor) settings which cannot be probed at runtime (or at least we have not found 
a way to do this).


Maybe someone can help getting ftdoverlay target working in uboot with the dtbo list.

>>> What I've now done is this:
>>>
>>> diff --git a/dts/Kconfig b/dts/Kconfig
>>> index 569d4be338e..7ea4fd5a79b 100644
>>> --- a/dts/Kconfig
>>> +++ b/dts/Kconfig
>>> @@ -226,11 +226,11 @@ config OF_LIST
>>>
>>>  config OF_OVERLAY_LIST
>>>         string "List of device tree overlays to include for DT control"
>>> -       depends on SPL_LOAD_FIT_APPLY_OVERLAY
>>>         help
>>>           This option specifies a list of device tree overlays to use for DT
>>>           control. This option can then be used by a FIT generator to include
>>> -         the overlays in the FIT image.
>>> +         the overlays in the FIT image or by binman when assembling an image
>>> +         that uses overlays during DT fixup.
>>>
>>>  choice
>>>         prompt "OF LIST compression"
>>> diff --git a/scripts/Makefile.dts b/scripts/Makefile.dts
>>> index 790f3c508f1..dc181240a21 100644
>>> --- a/scripts/Makefile.dts
>>> +++ b/scripts/Makefile.dts
>>> @@ -1,6 +1,7 @@
>>>  # SPDX-License-Identifier: GPL-2.0+
>>>
>>>  dtb-y += $(patsubst %,%.dtb,$(subst ",,$(CONFIG_DEFAULT_DEVICE_TREE) $(CONFIG_OF_LIST) $(CONFIG_SPL_OF_LIST)))
>>> +dtb-y += $(patsubst %,%.dtbo,$(subst ",,$(CONFIG_OF_OVERLAY_LIST)))
>>>
>>>  ifeq ($(CONFIG_OF_UPSTREAM_BUILD_VENDOR),y)
>>>  ifeq ($(CONFIG_ARM64),y)
>>>
>> 
>> Yeah that's all you need to build DT overlays from dts/upstream
>> subtree. Care to send a proper patch for this?
>> 
>
>Can do if you already want this [1]. Our tree [2] where it is currently 
>included still has to wait for upstream 6.12, possibly even 6.13 as we 
>need one more overlay now.
>
>>>
>>> I will also provide a patch to enhance the machinery in dts/upstream
>>> /Makefile. This apparently plays no role when building U-Boot, but it
>>> would still be useful for validation purposes to have overlay support
>>> there.
>> 
>> As you mentioned we don't use Makefile for U-Boot builds. So it's
>> better to directly send that patch for inclusion in the DT rebasing
>> tree.
>
>No, this is about our shadow Makefiles, see [3].
>
>Jan
>
>[1] https://github.com/siemens/u-boot/commit/2be0393b1718990abf2feb0b13dbaf79629ce692
>[2] https://github.com/siemens/u-boot/commits/jan/iot2050
>[3] https://github.com/siemens/u-boot/commit/de3df1fed47d2075bb3f9ecccfaa93a368b58924
>


regards Frank


More information about the U-Boot mailing list