[U-Boot] [PATCH v2 11/12] RFC: Use binman for a sunxi board

Tom Rini trini at konsulko.com
Sun Oct 2 02:46:37 CEST 2016


On Sat, Oct 01, 2016 at 06:29:42PM -0600, Simon Glass wrote:
> Hi Tom,
> 
> On 1 October 2016 at 18:15, Tom Rini <trini at konsulko.com> wrote:
> > On Wed, Sep 28, 2016 at 09:46:25AM -0600, Simon Glass wrote:
> >> Hi Tom,
> >>
> >> On 27 September 2016 at 19:55, Tom Rini <trini at konsulko.com> wrote:
> >> > On Sun, Sep 25, 2016 at 03:52:27PM -0600, Simon Glass wrote:
> >> >
> >> >> Add an example usage of binman for a sunxi board. This involves adding the
> >> >> image definition to the device tree and using it in the Makefile.
> >> >>
> >> >> This is for example only.
> >> >>
> >> >> Signed-off-by: Simon Glass <sjg at chromium.org>
> >> >> ---
> >> >>
> >> >> Changes in v2: None
> >> >>
> >> >>  Makefile                            |  4 +---
> >> >>  arch/arm/dts/sun7i-a20-pcduino3.dts | 12 ++++++++++++
> >> >
> >> > I think this shows the big problem with using binman today.  For the
> >> > common case of ARM, where we sync in the dts* files from upstream, this
> >> > will add hunks that must not be overwritten each time.
> >> >
> >> > Looking at scripts/Makefile.lib::cmd_fdt I wonder if we couldn't come up
> >> > with some wildcard rule and check if, somewhere CONFIG'd ? $(BOARDDIR)/
> >> > ? u-boot.dtsi exists add in -include that/file.dtsi to the CPP rule so
> >> > that we can keep the parts that will never get upstream separate.
> >>
> >> We can do that, but I have found that most boards with the same SoC
> >> are the same, or similar. So for x86 [1] I put it in a separate patch
> >> with just an #include in the .dts file.
> >>
> >> We could have binman be a bit smarter about where it looks - e.g. if
> >> there is no binman node, it could look in the same directory for a
> >> file that matches the board name, or part of it?
> >
> > I'd really like to try and better solve the generic problem we have tho
> > too while we're at it.  ie the u-boot,dm-pre-reloc tag on various nodes
> > could also go into this file.
> 
> What sort of solution are you thinking of? A U-Boot .dtsi include that
> is #included at the top of all files?

Something like:
ifneq ($(wildcard $(srctree)/arch/$(CONFIG_SYS_ARCH)/cpu/$(CONFIG_SYS_CPU)/$(CONFIG_SYS_SOC)/u-boot.dtsi),)
dtc_cpp_flags += -include
$(srctree)/arch/$(CONFIG_SYS_ARCH)/cpu/$(CONFIG_SYS_CPU)/$(CONFIG_SYS_SOC)/u-boot.dtsi
endif

And maybe a few other wildcards, I'm not sure, so that for everything
rockchip related, ie what binman needs, what nodes need to be pre-reloc,
etc, can end up in that one file.  And we use -include to get it so that
arch/arm/dts/ can be unmodified from upstream.

-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: Digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20161001/126726df/attachment.sig>


More information about the U-Boot mailing list