* [PATCH v2] arm/dt: Add a make rule to build dtb for enabled boards
@ 2011-04-04 15:01 Shawn Guo
2011-04-05 4:48 ` Grant Likely
0 siblings, 1 reply; 4+ messages in thread
From: Shawn Guo @ 2011-04-04 15:01 UTC (permalink / raw)
To: linux-arm-kernel
With 'make ARCH=arm dtb', it builds Device Tree Blobs for those boards
enabled by build CONFIG.
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
---
It's based on commit fe8e6d0b0e601ca0a63fe768d4b812d5a45a9da7
"arm/dt: Add dtb make rule" from Rob Herring. And it works against
Linaro kernel tree. But it needs to go through mainline review
before it gets applied.
Changes since v1:
* Take suggestion from Rob Herring to move .dts dection into machine
sepcific Makefile.boot, so that arch/arm/boot/Makefile can be as
clean as it is.
arch/arm/Makefile | 3 +++
arch/arm/boot/Makefile | 2 ++
arch/arm/mach-exynos4/Makefile.boot | 2 ++
arch/arm/mach-mx5/Makefile.boot | 5 +++++
arch/arm/mach-omap2/Makefile.boot | 4 ++++
arch/arm/mach-tegra/Makefile.boot | 2 ++
arch/arm/mach-versatile/Makefile.boot | 2 ++
7 files changed, 20 insertions(+), 0 deletions(-)
diff --git a/arch/arm/Makefile b/arch/arm/Makefile
index d51ab6c..7fd2af9 100644
--- a/arch/arm/Makefile
+++ b/arch/arm/Makefile
@@ -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)
diff --git a/arch/arm/boot/Makefile b/arch/arm/boot/Makefile
index 08fc37f..ce39850 100644
--- a/arch/arm/boot/Makefile
+++ b/arch/arm/boot/Makefile
@@ -63,6 +63,8 @@ endif
$(obj)/%.dtb: $(src)/dts/%.dts
$(call cmd,dtc)
+$(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) \
diff --git a/arch/arm/mach-exynos4/Makefile.boot b/arch/arm/mach-exynos4/Makefile.boot
index d65956f..fcee6b5 100644
--- a/arch/arm/mach-exynos4/Makefile.boot
+++ b/arch/arm/mach-exynos4/Makefile.boot
@@ -1,2 +1,4 @@
zreladdr-y := 0x40008000
params_phys-y := 0x40000100
+
+dtb-$(CONFIG_MACH_SMDKV310) += exynos4-smdkv310.dtb
diff --git a/arch/arm/mach-mx5/Makefile.boot b/arch/arm/mach-mx5/Makefile.boot
index e928be1..4111462 100644
--- a/arch/arm/mach-mx5/Makefile.boot
+++ b/arch/arm/mach-mx5/Makefile.boot
@@ -7,3 +7,8 @@ initrd_phys-$(CONFIG_ARCH_MX51) := 0x90800000
zreladdr-$(CONFIG_ARCH_MX53) := 0x70008000
params_phys-$(CONFIG_ARCH_MX53) := 0x70000100
initrd_phys-$(CONFIG_ARCH_MX53) := 0x70800000
+
+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
diff --git a/arch/arm/mach-omap2/Makefile.boot b/arch/arm/mach-omap2/Makefile.boot
index 565aff7..0f54901 100644
--- a/arch/arm/mach-omap2/Makefile.boot
+++ b/arch/arm/mach-omap2/Makefile.boot
@@ -1,3 +1,7 @@
zreladdr-y := 0x80008000
params_phys-y := 0x80000100
initrd_phys-y := 0x80800000
+
+dtb-$(CONFIG_MACH_OMAP3_BEAGLE) += omap3-beagle.dtb
+dtb-$(CONFIG_MACH_OMAP4_PANDA) += omap4-panda.dtb
+dtb-$(CONFIG_MACH_OVERO) += omap3-overo.dtb
diff --git a/arch/arm/mach-tegra/Makefile.boot b/arch/arm/mach-tegra/Makefile.boot
index db52d61..c98addf 100644
--- a/arch/arm/mach-tegra/Makefile.boot
+++ b/arch/arm/mach-tegra/Makefile.boot
@@ -1,3 +1,5 @@
zreladdr-$(CONFIG_ARCH_TEGRA_2x_SOC) := 0x00008000
params_phys-$(CONFIG_ARCH_TEGRA_2x_SOC) := 0x00000100
initrd_phys-$(CONFIG_ARCH_TEGRA_2x_SOC) := 0x00800000
+
+dtb-$(CONFIG_MACH_HARMONY) += tegra-harmony.dtb
diff --git a/arch/arm/mach-versatile/Makefile.boot b/arch/arm/mach-versatile/Makefile.boot
index c7e75ac..e2227d3 100644
--- a/arch/arm/mach-versatile/Makefile.boot
+++ b/arch/arm/mach-versatile/Makefile.boot
@@ -2,3 +2,5 @@
params_phys-y := 0x00000100
initrd_phys-y := 0x00800000
+dtb-$(CONFIG_ARCH_VERSATILE_PB) += versatile-pb.dtb
+dtb-$(CONFIG_MACH_VERSATILE_AB) += versatile-ab.dtb
--
1.7.1
^ permalink raw reply related [flat|nested] 4+ messages in thread* [PATCH v2] arm/dt: Add a make rule to build dtb for enabled boards
2011-04-04 15:01 [PATCH v2] arm/dt: Add a make rule to build dtb for enabled boards Shawn Guo
@ 2011-04-05 4:48 ` Grant Likely
2011-04-05 7:09 ` Shawn Guo
0 siblings, 1 reply; 4+ messages in thread
From: Grant Likely @ 2011-04-05 4:48 UTC (permalink / raw)
To: linux-arm-kernel
On Mon, Apr 04, 2011 at 11:01:47PM +0800, Shawn Guo wrote:
> With 'make ARCH=arm dtb', it builds Device Tree Blobs for those boards
> enabled by build CONFIG.
>
> Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
> ---
> It's based on commit fe8e6d0b0e601ca0a63fe768d4b812d5a45a9da7
> "arm/dt: Add dtb make rule" from Rob Herring. And it works against
> Linaro kernel tree. But it needs to go through mainline review
> before it gets applied.
>
> Changes since v1:
> * Take suggestion from Rob Herring to move .dts dection into machine
> sepcific Makefile.boot, so that arch/arm/boot/Makefile can be as
> clean as it is.
Looks good, some minor comments below, but I've picked it up and asked
Nicolas to merge it.
Cheers,
g.
>
> arch/arm/Makefile | 3 +++
> arch/arm/boot/Makefile | 2 ++
> arch/arm/mach-exynos4/Makefile.boot | 2 ++
> arch/arm/mach-mx5/Makefile.boot | 5 +++++
> arch/arm/mach-omap2/Makefile.boot | 4 ++++
> arch/arm/mach-tegra/Makefile.boot | 2 ++
> arch/arm/mach-versatile/Makefile.boot | 2 ++
> 7 files changed, 20 insertions(+), 0 deletions(-)
>
> diff --git a/arch/arm/Makefile b/arch/arm/Makefile
> index d51ab6c..7fd2af9 100644
> --- a/arch/arm/Makefile
> +++ b/arch/arm/Makefile
> @@ -292,6 +292,9 @@ zinstall uinstall install: vmlinux
> %.dtb:
> $(Q)$(MAKE) $(build)=$(boot) MACHINE=$(MACHINE) $(boot)/$@
>
> +dtb:
> + $(Q)$(MAKE) $(build)=$(boot) MACHINE=$(MACHINE) $(boot)/$@
> +
Since the target is the same, I've merged this rule with the %.dtb
rule. I also renamed the target 'dtbs' because it will build more
than one .dtb file.
> # We use MRPROPER_FILES and CLEAN_FILES now
> archclean:
> $(Q)$(MAKE) $(clean)=$(boot)
> diff --git a/arch/arm/boot/Makefile b/arch/arm/boot/Makefile
> index 08fc37f..ce39850 100644
> --- a/arch/arm/boot/Makefile
> +++ b/arch/arm/boot/Makefile
> @@ -63,6 +63,8 @@ endif
> $(obj)/%.dtb: $(src)/dts/%.dts
> $(call cmd,dtc)
>
> +$(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) \
> diff --git a/arch/arm/mach-exynos4/Makefile.boot b/arch/arm/mach-exynos4/Makefile.boot
> index d65956f..fcee6b5 100644
> --- a/arch/arm/mach-exynos4/Makefile.boot
> +++ b/arch/arm/mach-exynos4/Makefile.boot
> @@ -1,2 +1,4 @@
> zreladdr-y := 0x40008000
> params_phys-y := 0x40000100
> +
> +dtb-$(CONFIG_MACH_SMDKV310) += exynos4-smdkv310.dtb
> diff --git a/arch/arm/mach-mx5/Makefile.boot b/arch/arm/mach-mx5/Makefile.boot
> index e928be1..4111462 100644
> --- a/arch/arm/mach-mx5/Makefile.boot
> +++ b/arch/arm/mach-mx5/Makefile.boot
> @@ -7,3 +7,8 @@ initrd_phys-$(CONFIG_ARCH_MX51) := 0x90800000
> zreladdr-$(CONFIG_ARCH_MX53) := 0x70008000
> params_phys-$(CONFIG_ARCH_MX53) := 0x70000100
> initrd_phys-$(CONFIG_ARCH_MX53) := 0x70800000
> +
> +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
> diff --git a/arch/arm/mach-omap2/Makefile.boot b/arch/arm/mach-omap2/Makefile.boot
> index 565aff7..0f54901 100644
> --- a/arch/arm/mach-omap2/Makefile.boot
> +++ b/arch/arm/mach-omap2/Makefile.boot
> @@ -1,3 +1,7 @@
> zreladdr-y := 0x80008000
> params_phys-y := 0x80000100
> initrd_phys-y := 0x80800000
> +
> +dtb-$(CONFIG_MACH_OMAP3_BEAGLE) += omap3-beagle.dtb
> +dtb-$(CONFIG_MACH_OMAP4_PANDA) += omap4-panda.dtb
> +dtb-$(CONFIG_MACH_OVERO) += omap3-overo.dtb
> diff --git a/arch/arm/mach-tegra/Makefile.boot b/arch/arm/mach-tegra/Makefile.boot
> index db52d61..c98addf 100644
> --- a/arch/arm/mach-tegra/Makefile.boot
> +++ b/arch/arm/mach-tegra/Makefile.boot
> @@ -1,3 +1,5 @@
> zreladdr-$(CONFIG_ARCH_TEGRA_2x_SOC) := 0x00008000
> params_phys-$(CONFIG_ARCH_TEGRA_2x_SOC) := 0x00000100
> initrd_phys-$(CONFIG_ARCH_TEGRA_2x_SOC) := 0x00800000
> +
> +dtb-$(CONFIG_MACH_HARMONY) += tegra-harmony.dtb
> diff --git a/arch/arm/mach-versatile/Makefile.boot b/arch/arm/mach-versatile/Makefile.boot
> index c7e75ac..e2227d3 100644
> --- a/arch/arm/mach-versatile/Makefile.boot
> +++ b/arch/arm/mach-versatile/Makefile.boot
> @@ -2,3 +2,5 @@
> params_phys-y := 0x00000100
> initrd_phys-y := 0x00800000
>
> +dtb-$(CONFIG_ARCH_VERSATILE_PB) += versatile-pb.dtb
> +dtb-$(CONFIG_MACH_VERSATILE_AB) += versatile-ab.dtb
> --
> 1.7.1
>
> _______________________________________________
> devicetree-discuss mailing list
> devicetree-discuss at lists.ozlabs.org
> https://lists.ozlabs.org/listinfo/devicetree-discuss
^ permalink raw reply [flat|nested] 4+ messages in thread
* [PATCH v2] arm/dt: Add a make rule to build dtb for enabled boards
2011-04-05 4:48 ` Grant Likely
@ 2011-04-05 7:09 ` Shawn Guo
2011-04-05 14:50 ` Grant Likely
0 siblings, 1 reply; 4+ messages in thread
From: Shawn Guo @ 2011-04-05 7:09 UTC (permalink / raw)
To: linux-arm-kernel
On Mon, Apr 04, 2011 at 10:48:27PM -0600, Grant Likely wrote:
> On Mon, Apr 04, 2011 at 11:01:47PM +0800, Shawn Guo wrote:
> > With 'make ARCH=arm dtb', it builds Device Tree Blobs for those boards
> > enabled by build CONFIG.
> >
> > Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
> > ---
> > It's based on commit fe8e6d0b0e601ca0a63fe768d4b812d5a45a9da7
> > "arm/dt: Add dtb make rule" from Rob Herring. And it works against
> > Linaro kernel tree. But it needs to go through mainline review
> > before it gets applied.
> >
> > Changes since v1:
> > * Take suggestion from Rob Herring to move .dts dection into machine
> > sepcific Makefile.boot, so that arch/arm/boot/Makefile can be as
> > clean as it is.
>
> Looks good, some minor comments below, but I've picked it up and asked
> Nicolas to merge it.
>
> Cheers,
> g.
>
> >
> > arch/arm/Makefile | 3 +++
> > arch/arm/boot/Makefile | 2 ++
> > arch/arm/mach-exynos4/Makefile.boot | 2 ++
> > arch/arm/mach-mx5/Makefile.boot | 5 +++++
> > arch/arm/mach-omap2/Makefile.boot | 4 ++++
> > arch/arm/mach-tegra/Makefile.boot | 2 ++
> > arch/arm/mach-versatile/Makefile.boot | 2 ++
> > 7 files changed, 20 insertions(+), 0 deletions(-)
> >
> > diff --git a/arch/arm/Makefile b/arch/arm/Makefile
> > index d51ab6c..7fd2af9 100644
> > --- a/arch/arm/Makefile
> > +++ b/arch/arm/Makefile
> > @@ -292,6 +292,9 @@ zinstall uinstall install: vmlinux
> > %.dtb:
> > $(Q)$(MAKE) $(build)=$(boot) MACHINE=$(MACHINE) $(boot)/$@
> >
> > +dtb:
> > + $(Q)$(MAKE) $(build)=$(boot) MACHINE=$(MACHINE) $(boot)/$@
> > +
>
> Since the target is the same, I've merged this rule with the %.dtb
> rule. I also renamed the target 'dtbs' because it will build more
> than one .dtb file.
>
I started with 'dtbs' as target name, and later changed it to 'dtb'
to align with $(dtb-y). And 'dtbs' looks truly fine for me, but you
may want to change commit message accordingly, as there is
'make ARCH=arm dtb' in it.
--
Regards,
Shawn
^ permalink raw reply [flat|nested] 4+ messages in thread
* [PATCH v2] arm/dt: Add a make rule to build dtb for enabled boards
2011-04-05 7:09 ` Shawn Guo
@ 2011-04-05 14:50 ` Grant Likely
0 siblings, 0 replies; 4+ messages in thread
From: Grant Likely @ 2011-04-05 14:50 UTC (permalink / raw)
To: linux-arm-kernel
On Tue, Apr 05, 2011 at 03:09:05PM +0800, Shawn Guo wrote:
> On Mon, Apr 04, 2011 at 10:48:27PM -0600, Grant Likely wrote:
> > On Mon, Apr 04, 2011 at 11:01:47PM +0800, Shawn Guo wrote:
> > > With 'make ARCH=arm dtb', it builds Device Tree Blobs for those boards
> > > enabled by build CONFIG.
> > >
> > > Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
> > > ---
> > > It's based on commit fe8e6d0b0e601ca0a63fe768d4b812d5a45a9da7
> > > "arm/dt: Add dtb make rule" from Rob Herring. And it works against
> > > Linaro kernel tree. But it needs to go through mainline review
> > > before it gets applied.
> > >
> > > Changes since v1:
> > > * Take suggestion from Rob Herring to move .dts dection into machine
> > > sepcific Makefile.boot, so that arch/arm/boot/Makefile can be as
> > > clean as it is.
> >
> > Looks good, some minor comments below, but I've picked it up and asked
> > Nicolas to merge it.
> >
> > Cheers,
> > g.
> >
> > >
> > > arch/arm/Makefile | 3 +++
> > > arch/arm/boot/Makefile | 2 ++
> > > arch/arm/mach-exynos4/Makefile.boot | 2 ++
> > > arch/arm/mach-mx5/Makefile.boot | 5 +++++
> > > arch/arm/mach-omap2/Makefile.boot | 4 ++++
> > > arch/arm/mach-tegra/Makefile.boot | 2 ++
> > > arch/arm/mach-versatile/Makefile.boot | 2 ++
> > > 7 files changed, 20 insertions(+), 0 deletions(-)
> > >
> > > diff --git a/arch/arm/Makefile b/arch/arm/Makefile
> > > index d51ab6c..7fd2af9 100644
> > > --- a/arch/arm/Makefile
> > > +++ b/arch/arm/Makefile
> > > @@ -292,6 +292,9 @@ zinstall uinstall install: vmlinux
> > > %.dtb:
> > > $(Q)$(MAKE) $(build)=$(boot) MACHINE=$(MACHINE) $(boot)/$@
> > >
> > > +dtb:
> > > + $(Q)$(MAKE) $(build)=$(boot) MACHINE=$(MACHINE) $(boot)/$@
> > > +
> >
> > Since the target is the same, I've merged this rule with the %.dtb
> > rule. I also renamed the target 'dtbs' because it will build more
> > than one .dtb file.
> >
> I started with 'dtbs' as target name, and later changed it to 'dtb'
> to align with $(dtb-y). And 'dtbs' looks truly fine for me, but you
> may want to change commit message accordingly, as there is
> 'make ARCH=arm dtb' in it.
Thanks, fixed in my devicetree/test tree and also added something to
the help text.
g.
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2011-04-05 14:50 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-04-04 15:01 [PATCH v2] arm/dt: Add a make rule to build dtb for enabled boards Shawn Guo
2011-04-05 4:48 ` Grant Likely
2011-04-05 7:09 ` Shawn Guo
2011-04-05 14:50 ` Grant Likely
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).