On Wed, 10 Jul 2024 at 09:17, Rasmus Villemoes <[email protected]> wrote: > > [linux commit 941214a512d8, modified for U-Boot by removing the > include of vmlinux.lds.h and replacing STRUCT_ALIGNMENT by 16.] > > DTB files can be built into the kernel by converting them to assembly > files then assembling them into object files. We extend this here > for DTB overlays with the .dtso extensions. > > We change the start and end delimiting tag prefix to make it clear that > this data came from overlay files. > > Signed-off-by: Rasmus Villemoes <[email protected]> > --- > scripts/Makefile.lib | 20 +++++++++++++++++++- > 1 file changed, 19 insertions(+), 1 deletion(-) >
Reviewed-by: Simon Glass <[email protected]> > diff --git a/scripts/Makefile.lib b/scripts/Makefile.lib > index 3e68d5aa803..549c3619472 100644 > --- a/scripts/Makefile.lib > +++ b/scripts/Makefile.lib > @@ -305,7 +305,7 @@ endif > DTC_FLAGS += $(DTC_FLAGS_$(basetarget)) > > # Generate an assembly file to wrap the output of the device tree compiler > -quiet_cmd_dt_S_dtb= DTB $@ > +quiet_cmd_dt_S_dtb= DTBS $@ > # Modified for U-Boot > cmd_dt_S_dtb= \ > ( \ > @@ -322,6 +322,24 @@ cmd_dt_S_dtb= > \ > $(obj)/%.dtb.S: $(obj)/%.dtb > $(call cmd,dt_S_dtb) > > +# Generate an assembly file to wrap the output of the device tree compiler > +quiet_cmd_dt_S_dtbo= DTBOS $@ > +# Modified for U-Boot > +cmd_dt_S_dtbo= \ > +{ \ > + echo '.section .dtb.init.rodata,"a"'; \ > + echo '.balign 16'; \ > + echo '.global __dtbo_$(subst -,_,$(*F))_begin'; \ > + echo '__dtbo_$(subst -,_,$(*F))_begin:'; \ > + echo '.incbin "$<" '; \ > + echo '__dtbo_$(subst -,_,$(*F))_end:'; \ > + echo '.global __dtbo_$(subst -,_,$(*F))_end'; \ > + echo '.balign 16'; \ > +} > $@ > + > +$(obj)/%.dtbo.S: $(obj)/%.dtbo > + $(call cmd,dt_S_dtbo) > + > ifeq ($(CONFIG_OF_LIBFDT_OVERLAY),y) > DTC_FLAGS += -@ > endif > -- > 2.45.2 >

