[PATCH v3 4/8] dts: Add alternative location for upstream DTB builds
Tom Rini
trini at konsulko.com
Thu Dec 28 15:03:13 CET 2023
On Thu, Dec 28, 2023 at 01:37:26PM +0000, Simon Glass wrote:
> Hi Sumit,
>
> On Thu, Dec 28, 2023 at 11:58 AM Sumit Garg <sumit.garg at linaro.org> wrote:
> >
> > Allow platform owners to mirror devicetree files from devitree-rebasing
> > directory into dts/arch/$(ARCH) (special case for dts/arch/arm64). Then
> > build then along with any *-u-boot.dtsi file present in arch/$(ARCH)/dts
> > directory. Also add a new Makefile for arm64.
> >
> > This will help easy migration for platforms which currently are compliant
> > with upstream Linux kernel devicetree files.
> >
> > Signed-off-by: Sumit Garg <sumit.garg at linaro.org>
> > ---
> >
> > Changes in v3:
> > --------------
> > - Minor commit message update
> >
> > Changes in v2:
> > --------------
> > - s/DEVICE_TREE_LOC/dt_dir/ and s/U-boot/U-Boot/
> >
> > dts/Kconfig | 11 +++++++++++
> > dts/Makefile | 17 ++++++++++++++---
> > dts/arch/arm64/Makefile | 14 ++++++++++++++
> > 3 files changed, 39 insertions(+), 3 deletions(-)
> > create mode 100644 dts/arch/arm64/Makefile
> >
> > diff --git a/dts/Kconfig b/dts/Kconfig
> > index 00c0aeff893..e58c1c6f2ab 100644
> > --- a/dts/Kconfig
> > +++ b/dts/Kconfig
> > @@ -85,6 +85,17 @@ config OF_LIVE
> > enables a live tree which is available after relocation,
> > and can be adjusted as needed.
> >
> > +config OF_UPSTREAM
> > + bool "Enable use of devicetree imported from Linux kernel release"
> > + help
> > + Traditionally, U-Boot platforms used to have their custom devicetree
> > + files or copy devicetree files from Linux kernel which are hard to
> > + maintain and can usually get out-of-sync from Linux kernel. This
> > + option enables platforms to migrate to devicetree-rebasing repo where
> > + a regular sync will be maintained every major Linux kernel release
> > + cycle. However, platforms can still have some custom u-boot specific
> > + bits maintained as part of *-u-boot.dtsi files.
>
> My only other suggestion here is to mention that this should be set in
> Kconfig, for the SoC as a whole. So I believe that means that it
> should be hidden, with no string for the 'bool':
>
> bool # Enable use of devicetree imported from Linux kernel release
I think we can just keep prompting for it now, to make the transition
easier, before this option just goes away in time, hopefully.
> Also, this doesn't seem to work for me. Before this series I get these
> files when building firefly-rk3399:
>
> rk3399-eaidk-610.dtb rk3399-khadas-edge-v.dtb
> rk3399-orangepi.dtb rk3399-rock-pi-4a.dtb
> rk3399-evb.dtb rk3399-leez-p710.dtb
> rk3399-pinebook-pro.dtb rk3399-rock-pi-4c.dtb
> rk3399-ficus.dtb rk3399-nanopc-t4.dtb
> rk3399-pinephone-pro.dtb rk3399-rockpro64.dtb
> rk3399-firefly.dtb rk3399-nanopi-m4-2gb.dtb
> rk3399pro-rock-pi-n10.dtb rk3399-roc-pc.dtb
> rk3399-gru-bob.dtb rk3399-nanopi-m4b.dtb
> rk3399-puma-haikou.dtb rk3399-roc-pc-mezzanine.dtb
> rk3399-gru-kevin.dtb rk3399-nanopi-m4.dtb
> rk3399-rock-4c-plus.dtb
> rk3399-khadas-edge-captain.dtb rk3399-nanopi-neo4.dtb rk3399-rock-4se.dtb
> rk3399-khadas-edge.dtb rk3399-nanopi-r4s.dtb rk3399-rock960.dtb
>
> Afterwards I get this:
>
> make[3]: *** No rule to make target
> 'dts/arch/arm64/rk3399-firefly.dtb', needed by 'dtbs'. Stop.
>
> So I set this manually for that one board:
>
> CONFIG_DEFAULT_DEVICE_TREE="rockchip/rk3399-firefly"
>
> and get:
>
> make[3]: *** No rule to make target
> 'dts/arch/arm64/rockchip/rk3399-firefly.dtb', needed by 'dtbs'. Stop.
>
> I am not sure how to fix this, nor how this can be made to build all
> the DTs for rk3399, as it does today.
Looking at the patch for amlogic boards, you need to make the link to
devicetree-rebasing inside dts/...
> > diff --git a/dts/arch/arm64/Makefile b/dts/arch/arm64/Makefile
> > new file mode 100644
> > index 00000000000..16e9fea622d
> > --- /dev/null
> > +++ b/dts/arch/arm64/Makefile
> > @@ -0,0 +1,14 @@
> > +# SPDX-License-Identifier: GPL-2.0+
> > +
> > +include $(srctree)/scripts/Makefile.dts
> > +
> > +targets += $(dtb-y)
> > +
> > +# Add any required device tree compiler flags here
> > +DTC_FLAGS += -a 0x8
> > +
> > +PHONY += dtbs
> > +dtbs: $(addprefix $(obj)/, $(dtb-y))
> > + @:
> > +
> > +clean-files := */*.dtb */*.dtbo */*_HS
>
> What is _HS for?
Should we even need the clean-files part here? I think this is fixed
with:
https://patchwork.ozlabs.org/project/uboot/patch/20231226154619.5071-9-maxim.uvarov@linaro.org/
--
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 659 bytes
Desc: not available
URL: <https://lists.denx.de/pipermail/u-boot-custodians/attachments/20231228/5bcdfe01/attachment-0001.sig>
More information about the U-Boot-Custodians
mailing list