arm/dt: Add a make rule to build dtb for enabled platform
PATCH 1/1 arm/dt: Add a make rule to build dtb for enabled platform
It's based on commit fe8e6d0b0e601ca0a63fe768d4b812d5a45a9da7 "arm/dt: Add dtb make rule" from Rob Herring.
With 'make ARCH=arm dtb', it builds Device Tree Blobs for those platforms enabled by CONFIG.
---
This patch works against Linaro kernel tree. But it needs to go through mainline review before it gets applied.
arch/arm/Makefile | 3 +++ arch/arm/boot/Makefile | 14 ++++++++++++++ 2 files changed, 17 insertions(+), 0 deletions(-)
arch/arm/Makefile +3 -0
@@ -292,6 +292,9 @@ zinstall uinstall install: vmlinux %.dtb: $(Q)$(MAKE) $(build)=$(boot) MACHINE=$(MACHINE) $(boot)/$@ +dtb: + $(Q)$(MAKE) $(build)=$(boot) MACHINE=$(MACHINE) $(boot)/$@ + # We use MRPROPER_FILES and CLEAN_FILES now archclean: $(Q)$(MAKE) $(clean)=$(boot)
arch/arm/boot/Makefile +14 -0
@@ -63,6 +63,20 @@ endif $(obj)/%.dtb: $(src)/dts/%.dts $(call cmd,dtc) +dtb-$(CONFIG_MACH_HARMONY) += tegra-harmony.dtb +dtb-$(CONFIG_MACH_MX51_BABBAGE) += mx51-babbage.dtb +dtb-$(CONFIG_MACH_MX51_EFIKAMX) += genesi-efikamx.dtb +dtb-$(CONFIG_MACH_MX51_EFIKASB) += genesi-efikasb.dtb +dtb-$(CONFIG_MACH_MX53_LOCO) += mx53-loco.dtb +dtb-$(CONFIG_MACH_OMAP3_BEAGLE) += omap3-beagle.dtb +dtb-$(CONFIG_MACH_OMAP4_PANDA) += omap4-panda.dtb +dtb-$(CONFIG_MACH_OVERO) += omap3-overo.dtb +dtb-$(CONFIG_MACH_SMDKV310) += exynos4-smdkv310.dtb +dtb-$(CONFIG_ARCH_VERSATILE_PB) += versatile-pb.dtb +dtb-$(CONFIG_MACH_VERSATILE_AB) += versatile-ab.dtb + +$(obj)/dtb: $(addprefix $(obj)/, $(dtb-y)) + quiet_cmd_uimage = UIMAGE $@ cmd_uimage = $(CONFIG_SHELL) $(MKIMAGE) -A arm -O linux -T kernel \ -C none -a $(LOADADDR) -e $(STARTADDR) \
Signature · 1 line
1.7.1
PATCH 1/1 arm/dt: Add a make rule to build dtb for enabled platform
Shawn,
Quoted 38 lines · Shawn Guo
It's based on commit
fe8e6d0b0e601ca0a63fe768d4b812d5a45a9da7"arm/dt: Add dtb make rule" from Rob Herring.With 'make ARCH=arm dtb', it builds Device Tree Blobs for those platforms enabled by CONFIG.
Signed-off-by Shawn Guo<[email protected]>---
This patch works against Linaro kernel tree. But it needs to go through mainline review before it gets applied.arch/arm/Makefile | 3 +++ arch/arm/boot/Makefile | 14 ++++++++++++++ 2 files changed, 17 insertions(+), 0 deletions(-)arch/arm/Makefile +3
-0@@ -292,6 +292,9 @@ zinstall uinstall install: vmlinux %.dtb: $(Q)$(MAKE) $(build)=$(boot) MACHINE=$(MACHINE) $(boot)/$@ +dtb: + $(Q)$(MAKE) $(build)=$(boot) MACHINE=$(MACHINE) $(boot)/$@ + # We use MRPROPER_FILES and CLEAN_FILES now archclean: $(Q)$(MAKE) $(clean)=$(boot)arch/arm/boot/Makefile +1
-0@@ -63,6 +63,20 @@ endif $(obj)/%.dtb: $(src)/dts/%.dts $(call cmd,dtc) +dtb-$(CONFIG_MACH_HARMONY) += tegra-harmony.dtb
arch/arm/boot/Makefile endif · line 76
Quoted 10 lines
arch/arm/boot/Makefile +10
-0+dtb-$(CONFIG_MACH_MX51_BABBAGE) += mx51-babbage.dtb +dtb-$(CONFIG_MACH_MX51_EFIKAMX) += genesi-efikamx.dtb +dtb-$(CONFIG_MACH_MX51_EFIKASB) += genesi-efikasb.dtb +dtb-$(CONFIG_MACH_MX53_LOCO) += mx53-loco.dtb +dtb-$(CONFIG_MACH_OMAP3_BEAGLE) += omap3-beagle.dtb +dtb-$(CONFIG_MACH_OMAP4_PANDA) += omap4-panda.dtb +dtb-$(CONFIG_MACH_OVERO) += omap3-overo.dtb +dtb-$(CONFIG_MACH_SMDKV310) += exynos4-smdkv310.dtb +dtb-$(CONFIG_ARCH_VERSATILE_PB) += versatile-pb.dtb +dtb-$(CONFIG_MACH_VERSATILE_AB) += versatile-ab.dtb
And now this file has to be touched for every platform added. Perhaps this can pick-up the dts name from Makefile.boot. Although Makefile.boot could possibly be removed on some platforms.
Rob
PATCH 1/1 arm/dt: Add a make rule to build dtb for enabled platform
Quoted 2 lines · Rob Herring
Shawn,
Hi Rob,
Quoted 38 lines · Shawn Guo
Quoted 37 lines
It's based on commit
fe8e6d0b0e601ca0a63fe768d4b812d5a45a9da7"arm/dt: Add dtb make rule" from Rob Herring.With 'make ARCH=arm dtb', it builds Device Tree Blobs for those platforms enabled by CONFIG.
Signed-off-by Shawn Guo<[email protected]>---
This patch works against Linaro kernel tree. But it needs to go through mainline review before it gets applied.arch/arm/Makefile | 3 +++ arch/arm/boot/Makefile | 14 ++++++++++++++ 2 files changed, 17 insertions(+), 0 deletions(-)arch/arm/Makefile +3
-0@@ -292,6 +292,9 @@ zinstall uinstall install: vmlinux %.dtb: $(Q)$(MAKE) $(build)=$(boot) MACHINE=$(MACHINE) $(boot)/$@ +dtb: + $(Q)$(MAKE) $(build)=$(boot) MACHINE=$(MACHINE) $(boot)/$@ + # We use MRPROPER_FILES and CLEAN_FILES now archclean: $(Q)$(MAKE) $(clean)=$(boot)arch/arm/boot/Makefile +0
-0@@ -63,6 +63,20 @@ endif $(obj)/%.dtb: $(src)/dts/%.dts $(call cmd,dtc)
Quoted 16 lines
arch/arm/boot/Makefile endif · line 76
Quoted 11 lines
arch/arm/boot/Makefile +11
-0+dtb-$(CONFIG_MACH_HARMONY) += tegra-harmony.dtb +dtb-$(CONFIG_MACH_MX51_BABBAGE) += mx51-babbage.dtb +dtb-$(CONFIG_MACH_MX51_EFIKAMX) += genesi-efikamx.dtb +dtb-$(CONFIG_MACH_MX51_EFIKASB) += genesi-efikasb.dtb +dtb-$(CONFIG_MACH_MX53_LOCO) += mx53-loco.dtb +dtb-$(CONFIG_MACH_OMAP3_BEAGLE) += omap3-beagle.dtb +dtb-$(CONFIG_MACH_OMAP4_PANDA) += omap4-panda.dtb +dtb-$(CONFIG_MACH_OVERO) += omap3-overo.dtb +dtb-$(CONFIG_MACH_SMDKV310) += exynos4-smdkv310.dtb +dtb-$(CONFIG_ARCH_VERSATILE_PB) += versatile-pb.dtb +dtb-$(CONFIG_MACH_VERSATILE_AB) += versatile-ab.dtbAnd now this file has to be touched for every platform added. Perhaps this can pick-up the dts name from Makefile.boot. Although Makefile.boot could possibly be removed on some platforms.
I was following the way that powerpc does similar thing. But yes, your suggestion looks saner in terms of keeping arch/arm/boot/Makefile clean. I would incorporate it in v2.
Thanks for the comment.
Signature · 2 lines
Regards, Shawn