mbox series

[U-Boot,v3,00/14] uboot overlays, FIT image & unittest

Message ID 1504555943-12893-1-git-send-email-pantelis.antoniou@konsulko.com
Headers show
Series uboot overlays, FIT image & unittest | expand

Message

Pantelis Antoniou Sept. 4, 2017, 8:12 p.m. UTC
This patchset allows uboot to handle overlays in a manner that uses
a base DT blob and an arbitrary number of DT overlays blobs.

While it is intended to be used with FIT images since handling a multitude
of device tree blobs manually is a chore, manual fdt overlay application
is supported and described.

Changes since v2:
* Addressed review comments by splitting patches and documenting methods.
* Patch preserving extra configuration on fit-load

The patchset is available at

	https://github.com/pantoniou/u-boot/tree/uboot-overlays

and is against mainline u-boot as pulled today, 4/9/2017.

Franklin S Cooper Jr (1):
  doc: overlays: Tweak documentation regarding overlays

Pantelis Antoniou (13):
  Introduce fdt_setprop_placeholder() method
  fdt: Introduce helper method fdt_overlay_apply_verbose()
  fdt: Switch to using the verbose overlay application method
  fdt: Allow stacked overlays phandle references
  fit: Allow multiple images per property
  fit: Do not throw away extra configuration on fit_image_load()
  fit: Introduce methods for applying overlays on fit-load
  fit: fdt overlays doc
  doc: Document how to apply fdt overlays
  dtbo: make dtbos special
  config: sandbox: Add unit tests
  ut: fix fdt_getprop_u32() change
  test: overlay: Add unit test for stacked overlay

 cmd/fdt.c                                    |   7 +-
 common/fdt_support.c                         |  31 ++++
 common/image-fdt.c                           |   7 +-
 common/image-fit.c                           | 210 ++++++++++++++++++++++--
 configs/sandbox_defconfig                    |   2 +
 doc/README.fdt-overlays                      | 114 ++++++++++++++
 doc/uImage.FIT/command_syntax_extensions.txt |  12 +-
 doc/uImage.FIT/overlay-fdt-boot.txt          | 225 ++++++++++++++++++++++++++
 doc/uImage.FIT/source_file_format.txt        |   6 +-
 include/fdt_support.h                        |   2 +
 include/image.h                              |  25 +++
 lib/libfdt/fdt_overlay.c                     | 228 ++++++++++++++++++++++++---
 lib/libfdt/fdt_rw.c                          |  20 ++-
 lib/libfdt/libfdt.h                          |  31 ++++
 scripts/Makefile.lib                         |  17 ++
 test/overlay/Makefile                        |   1 +
 test/overlay/cmd_ut_overlay.c                |  50 ++++--
 test/overlay/test-fdt-overlay-stacked.dts    |  21 +++
 18 files changed, 953 insertions(+), 56 deletions(-)
 create mode 100644 doc/README.fdt-overlays
 create mode 100644 doc/uImage.FIT/overlay-fdt-boot.txt
 create mode 100644 test/overlay/test-fdt-overlay-stacked.dts

Comments

Simon Glass Sept. 14, 2017, 12:53 a.m. UTC | #1
Hi Pantelis,

On 4 September 2017 at 14:12, Pantelis Antoniou
<pantelis.antoniou@konsulko.com> wrote:
> This patchset allows uboot to handle overlays in a manner that uses
> a base DT blob and an arbitrary number of DT overlays blobs.
>
> While it is intended to be used with FIT images since handling a multitude
> of device tree blobs manually is a chore, manual fdt overlay application
> is supported and described.
>
> Changes since v2:
> * Addressed review comments by splitting patches and documenting methods.
> * Patch preserving extra configuration on fit-load
>
> The patchset is available at
>
>         https://github.com/pantoniou/u-boot/tree/uboot-overlays
>
> and is against mainline u-boot as pulled today, 4/9/2017.
>
> Franklin S Cooper Jr (1):
>   doc: overlays: Tweak documentation regarding overlays
>
> Pantelis Antoniou (13):
>   Introduce fdt_setprop_placeholder() method
>   fdt: Introduce helper method fdt_overlay_apply_verbose()
>   fdt: Switch to using the verbose overlay application method
>   fdt: Allow stacked overlays phandle references
>   fit: Allow multiple images per property
>   fit: Do not throw away extra configuration on fit_image_load()
>   fit: Introduce methods for applying overlays on fit-load
>   fit: fdt overlays doc
>   doc: Document how to apply fdt overlays
>   dtbo: make dtbos special
>   config: sandbox: Add unit tests
>   ut: fix fdt_getprop_u32() change
>   test: overlay: Add unit test for stacked overlay

I applied this series (to u-boot-fdt/testing) but it requires a later
version of dtc than we use in our travis tests:

https://travis-ci.org/sglass68/u-boot/jobs/275239527

Could you please take a look? I don't think I can pull this in until I
know it can make it to mainline.

The good news is that with the new dtc my buildman test went through
with no errors.

>
>  cmd/fdt.c                                    |   7 +-
>  common/fdt_support.c                         |  31 ++++
>  common/image-fdt.c                           |   7 +-
>  common/image-fit.c                           | 210 ++++++++++++++++++++++--
>  configs/sandbox_defconfig                    |   2 +
>  doc/README.fdt-overlays                      | 114 ++++++++++++++
>  doc/uImage.FIT/command_syntax_extensions.txt |  12 +-
>  doc/uImage.FIT/overlay-fdt-boot.txt          | 225 ++++++++++++++++++++++++++
>  doc/uImage.FIT/source_file_format.txt        |   6 +-
>  include/fdt_support.h                        |   2 +
>  include/image.h                              |  25 +++
>  lib/libfdt/fdt_overlay.c                     | 228 ++++++++++++++++++++++++---
>  lib/libfdt/fdt_rw.c                          |  20 ++-
>  lib/libfdt/libfdt.h                          |  31 ++++
>  scripts/Makefile.lib                         |  17 ++
>  test/overlay/Makefile                        |   1 +
>  test/overlay/cmd_ut_overlay.c                |  50 ++++--
>  test/overlay/test-fdt-overlay-stacked.dts    |  21 +++
>  18 files changed, 953 insertions(+), 56 deletions(-)
>  create mode 100644 doc/README.fdt-overlays
>  create mode 100644 doc/uImage.FIT/overlay-fdt-boot.txt
>  create mode 100644 test/overlay/test-fdt-overlay-stacked.dts
>
> --
> 2.1.4
>

Regards,
Simon
Tom Rini Sept. 14, 2017, 1:03 a.m. UTC | #2
On Wed, Sep 13, 2017 at 06:53:17PM -0600, Simon Glass wrote:
> Hi Pantelis,
> 
> On 4 September 2017 at 14:12, Pantelis Antoniou
> <pantelis.antoniou@konsulko.com> wrote:
> > This patchset allows uboot to handle overlays in a manner that uses
> > a base DT blob and an arbitrary number of DT overlays blobs.
> >
> > While it is intended to be used with FIT images since handling a multitude
> > of device tree blobs manually is a chore, manual fdt overlay application
> > is supported and described.
> >
> > Changes since v2:
> > * Addressed review comments by splitting patches and documenting methods.
> > * Patch preserving extra configuration on fit-load
> >
> > The patchset is available at
> >
> >         https://github.com/pantoniou/u-boot/tree/uboot-overlays
> >
> > and is against mainline u-boot as pulled today, 4/9/2017.
> >
> > Franklin S Cooper Jr (1):
> >   doc: overlays: Tweak documentation regarding overlays
> >
> > Pantelis Antoniou (13):
> >   Introduce fdt_setprop_placeholder() method
> >   fdt: Introduce helper method fdt_overlay_apply_verbose()
> >   fdt: Switch to using the verbose overlay application method
> >   fdt: Allow stacked overlays phandle references
> >   fit: Allow multiple images per property
> >   fit: Do not throw away extra configuration on fit_image_load()
> >   fit: Introduce methods for applying overlays on fit-load
> >   fit: fdt overlays doc
> >   doc: Document how to apply fdt overlays
> >   dtbo: make dtbos special
> >   config: sandbox: Add unit tests
> >   ut: fix fdt_getprop_u32() change
> >   test: overlay: Add unit test for stacked overlay
> 
> I applied this series (to u-boot-fdt/testing) but it requires a later
> version of dtc than we use in our travis tests:
> 
> https://travis-ci.org/sglass68/u-boot/jobs/275239527

The -@ flag has been around for a long time, relatively speaking.  Is
there a problem in our .travis.yml perhaps where it's not picking up the
dtc we're building from git?
Tom Rini Sept. 14, 2017, 11:23 a.m. UTC | #3
On Wed, Sep 13, 2017 at 09:03:38PM -0400, Tom Rini wrote:
> On Wed, Sep 13, 2017 at 06:53:17PM -0600, Simon Glass wrote:
> > Hi Pantelis,
> > 
> > On 4 September 2017 at 14:12, Pantelis Antoniou
> > <pantelis.antoniou@konsulko.com> wrote:
> > > This patchset allows uboot to handle overlays in a manner that uses
> > > a base DT blob and an arbitrary number of DT overlays blobs.
> > >
> > > While it is intended to be used with FIT images since handling a multitude
> > > of device tree blobs manually is a chore, manual fdt overlay application
> > > is supported and described.
> > >
> > > Changes since v2:
> > > * Addressed review comments by splitting patches and documenting methods.
> > > * Patch preserving extra configuration on fit-load
> > >
> > > The patchset is available at
> > >
> > >         https://github.com/pantoniou/u-boot/tree/uboot-overlays
> > >
> > > and is against mainline u-boot as pulled today, 4/9/2017.
> > >
> > > Franklin S Cooper Jr (1):
> > >   doc: overlays: Tweak documentation regarding overlays
> > >
> > > Pantelis Antoniou (13):
> > >   Introduce fdt_setprop_placeholder() method
> > >   fdt: Introduce helper method fdt_overlay_apply_verbose()
> > >   fdt: Switch to using the verbose overlay application method
> > >   fdt: Allow stacked overlays phandle references
> > >   fit: Allow multiple images per property
> > >   fit: Do not throw away extra configuration on fit_image_load()
> > >   fit: Introduce methods for applying overlays on fit-load
> > >   fit: fdt overlays doc
> > >   doc: Document how to apply fdt overlays
> > >   dtbo: make dtbos special
> > >   config: sandbox: Add unit tests
> > >   ut: fix fdt_getprop_u32() change
> > >   test: overlay: Add unit test for stacked overlay
> > 
> > I applied this series (to u-boot-fdt/testing) but it requires a later
> > version of dtc than we use in our travis tests:
> > 
> > https://travis-ci.org/sglass68/u-boot/jobs/275239527
> 
> The -@ flag has been around for a long time, relatively speaking.  Is
> there a problem in our .travis.yml perhaps where it's not picking up the
> dtc we're building from git?

Yeah, it's not:
https://travis-ci.org/trini/u-boot/builds/275424745

I bet this got broken recently too, I'll see what we need to fix in the
travis environment.
Tom Rini Sept. 14, 2017, 11:25 a.m. UTC | #4
On Thu, Sep 14, 2017 at 07:23:29AM -0400, Tom Rini wrote:
> On Wed, Sep 13, 2017 at 09:03:38PM -0400, Tom Rini wrote:
> > On Wed, Sep 13, 2017 at 06:53:17PM -0600, Simon Glass wrote:
> > > Hi Pantelis,
> > > 
> > > On 4 September 2017 at 14:12, Pantelis Antoniou
> > > <pantelis.antoniou@konsulko.com> wrote:
> > > > This patchset allows uboot to handle overlays in a manner that uses
> > > > a base DT blob and an arbitrary number of DT overlays blobs.
> > > >
> > > > While it is intended to be used with FIT images since handling a multitude
> > > > of device tree blobs manually is a chore, manual fdt overlay application
> > > > is supported and described.
> > > >
> > > > Changes since v2:
> > > > * Addressed review comments by splitting patches and documenting methods.
> > > > * Patch preserving extra configuration on fit-load
> > > >
> > > > The patchset is available at
> > > >
> > > >         https://github.com/pantoniou/u-boot/tree/uboot-overlays
> > > >
> > > > and is against mainline u-boot as pulled today, 4/9/2017.
> > > >
> > > > Franklin S Cooper Jr (1):
> > > >   doc: overlays: Tweak documentation regarding overlays
> > > >
> > > > Pantelis Antoniou (13):
> > > >   Introduce fdt_setprop_placeholder() method
> > > >   fdt: Introduce helper method fdt_overlay_apply_verbose()
> > > >   fdt: Switch to using the verbose overlay application method
> > > >   fdt: Allow stacked overlays phandle references
> > > >   fit: Allow multiple images per property
> > > >   fit: Do not throw away extra configuration on fit_image_load()
> > > >   fit: Introduce methods for applying overlays on fit-load
> > > >   fit: fdt overlays doc
> > > >   doc: Document how to apply fdt overlays
> > > >   dtbo: make dtbos special
> > > >   config: sandbox: Add unit tests
> > > >   ut: fix fdt_getprop_u32() change
> > > >   test: overlay: Add unit test for stacked overlay
> > > 
> > > I applied this series (to u-boot-fdt/testing) but it requires a later
> > > version of dtc than we use in our travis tests:
> > > 
> > > https://travis-ci.org/sglass68/u-boot/jobs/275239527
> > 
> > The -@ flag has been around for a long time, relatively speaking.  Is
> > there a problem in our .travis.yml perhaps where it's not picking up the
> > dtc we're building from git?
> 
> Yeah, it's not:
> https://travis-ci.org/trini/u-boot/builds/275424745
> 
> I bet this got broken recently too, I'll see what we need to fix in the
> travis environment.

Nope, it's related to me disabling newer dtc due to all of the warnings
which in turn caused travis-ci to fail due to log sizes.
Tom Rini Sept. 14, 2017, 3:30 p.m. UTC | #5
On Wed, Sep 13, 2017 at 06:53:17PM -0600, Simon Glass wrote:

> Hi Pantelis,
> 
> On 4 September 2017 at 14:12, Pantelis Antoniou
> <pantelis.antoniou@konsulko.com> wrote:
> > This patchset allows uboot to handle overlays in a manner that uses
> > a base DT blob and an arbitrary number of DT overlays blobs.
> >
> > While it is intended to be used with FIT images since handling a multitude
> > of device tree blobs manually is a chore, manual fdt overlay application
> > is supported and described.
> >
> > Changes since v2:
> > * Addressed review comments by splitting patches and documenting methods.
> > * Patch preserving extra configuration on fit-load
> >
> > The patchset is available at
> >
> >         https://github.com/pantoniou/u-boot/tree/uboot-overlays
> >
> > and is against mainline u-boot as pulled today, 4/9/2017.
> >
> > Franklin S Cooper Jr (1):
> >   doc: overlays: Tweak documentation regarding overlays
> >
> > Pantelis Antoniou (13):
> >   Introduce fdt_setprop_placeholder() method
> >   fdt: Introduce helper method fdt_overlay_apply_verbose()
> >   fdt: Switch to using the verbose overlay application method
> >   fdt: Allow stacked overlays phandle references
> >   fit: Allow multiple images per property
> >   fit: Do not throw away extra configuration on fit_image_load()
> >   fit: Introduce methods for applying overlays on fit-load
> >   fit: fdt overlays doc
> >   doc: Document how to apply fdt overlays
> >   dtbo: make dtbos special
> >   config: sandbox: Add unit tests
> >   ut: fix fdt_getprop_u32() change
> >   test: overlay: Add unit test for stacked overlay
> 
> I applied this series (to u-boot-fdt/testing) but it requires a later
> version of dtc than we use in our travis tests:
> 
> https://travis-ci.org/sglass68/u-boot/jobs/275239527
> 
> Could you please take a look? I don't think I can pull this in until I
> know it can make it to mainline.
> 
> The good news is that with the new dtc my buildman test went through
> with no errors.

OK, please add https://patchwork.ozlabs.org/patch/813888/ into your PR,
make sure it still works (as it should), and then send it along to me.
Thanks!