
On Tue, 2 Jan 2024 at 21:07, Sumit Garg sumit.garg@linaro.org wrote:
On Tue, 2 Jan 2024 at 19:36, Simon Glass sjg@chromium.org wrote:
<snip>
- Adjust the build system to use the dts/ directory for .dts files
when OF_UPSTREAM is enabled
Then it will be easy. People can enable OF_UPSTREAM for an SoC (without changing DEFAULT_DEVICE_TREE)
I am still not sure what we will gain via keeping DEFAULT_DEVICE_TREE the same. However, without a per vendor directory Makefile like: dts/arch/arm64/<vendor>/Makefile it won't be possible. But to do that we won't be able to softlink vendor directories from DT rebasing tree but rather have to softlink every board DTS file which is much more painful.
Even after this you have to tell <vendor> name via DEFAULT_DEVICE_TREE because the DTB path is constructed via:
DEVICE_TREE ?= $(CONFIG_DEFAULT_DEVICE_TREE:"%"=%) ifeq ($(DEVICE_TREE),) DEVICE_TREE := unset endif
ifeq ($(CONFIG_OF_UPSTREAM),y) ifeq ($(CONFIG_ARM64),y) dt_dir := dts/arch/arm64 else dt_dir := dts/arch/$(ARCH) endif else dt_dir := arch/$(ARCH)/dts endif
ifneq ($(EXT_DTB),) DTB := $(EXT_DTB) else DTB := $(dt_dir)/$(DEVICE_TREE).dtb endif
So with a move to Linux directory structure for dts directory, DEFAULT_DEVICE_TREE have to specify <vendor>/<name> as DT filename.
-Sumit
and will get the same behaviour as now, just with upstream .dts files. All the .dts files for an SoC are built, as now, just as Linux does. We can continue cleaning up the DT build rules as time permits.
I will reiterate here, we can decide to add Makefile rules on a case by case basis. If there is a need (from packaging perspective or a particular SoC supports a generic U-Boot image) then we should be able to add them. The cleanup would be automatically part of the process as we switch SoCs to OF_UPSTREAM.
-Sumit
Regards, Simon
[1] http://patchwork.ozlabs.org/project/uboot/list/?series=388154 [2] https://git.pengutronix.de/cgit/barebox/tree/dts