Skip to contentSkip to conversation

arm/dt: Add a make rule to build dtb for enabled platform

PATCH Superseded Shawn Guo 3 participants 3 messages Apr 2, 2011 – Apr 3, 2011 Arm (32-bit)

v1 of 2 Superseded Latest is v2 →

lore
Share & tools
lore

Shawn Guo

author
#0 lore raw

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
index d51ab6c..7fd2af9 100644
@@ -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
index 08fc37f..dcea984 100644
@@ -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
#1 lore raw

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.

---
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
index d51ab6c..7fd2af9 100644
@@ -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
index 08fc37f..dcea984 100644
@@ -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

#2 lore raw

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.

---
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
index d51ab6c..7fd2af9 100644
@@ -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
index 08fc37f..dcea984 100644
@@ -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.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.

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