[{"id":1764315,"web_url":"http://patchwork.ozlabs.org/comment/1764315/","msgid":"<49fedf05-4896-3105-f143-d24db31f6182@denx.de>","list_archive_url":null,"date":"2017-09-06T19:06:21","subject":"Re: [U-Boot] [PATCH v3 08/14] fit: fdt overlays doc","submitter":{"id":70701,"url":"http://patchwork.ozlabs.org/api/people/70701/","name":"Lukasz Majewski","email":"lukma@denx.de"},"content":"On 09/04/2017 10:12 PM, Pantelis Antoniou wrote:\n> Signed-off-by: Pantelis Antoniou <pantelis.antoniou@konsulko.com>\n> ---\n>   doc/uImage.FIT/command_syntax_extensions.txt |  12 +-\n>   doc/uImage.FIT/overlay-fdt-boot.txt          | 221 +++++++++++++++++++++++++++\n>   doc/uImage.FIT/source_file_format.txt        |   6 +-\n>   3 files changed, 236 insertions(+), 3 deletions(-)\n>   create mode 100644 doc/uImage.FIT/overlay-fdt-boot.txt\n> \n> diff --git a/doc/uImage.FIT/command_syntax_extensions.txt b/doc/uImage.FIT/command_syntax_extensions.txt\n> index 6c99b1c..676f992 100644\n> --- a/doc/uImage.FIT/command_syntax_extensions.txt\n> +++ b/doc/uImage.FIT/command_syntax_extensions.txt\n> @@ -36,7 +36,7 @@ Old uImage:\n>   New uImage:\n>   8.  bootm <addr1>\n>   9.  bootm [<addr1>]:<subimg1>\n> -10. bootm [<addr1>]#<conf>\n> +10. bootm [<addr1>]#<conf>[#<extra-conf[#...]]\n>   11. bootm [<addr1>]:<subimg1> [<addr2>]:<subimg2>\n>   12. bootm [<addr1>]:<subimg1> [<addr2>]:<subimg2> [<addr3>]:<subimg3>\n>   13. bootm [<addr1>]:<subimg1> [<addr2>]:<subimg2> <addr3>\n> @@ -129,6 +129,12 @@ following syntax:\n>   - new uImage configuration specification\n>   <addr>#<configuration unit_name>\n>   \n> +- new uImage configuration specification with extra configuration components\n> +<addr>#<configuration unit_name>[#<extra configuration unit_name>[#..]]\n> +\n> +The extra configuration currently is supported only for additional device tree\n> +overlays to apply on the base device tree supplied by the first configuration\n> +unit.\n>   \n>   Examples:\n>   \n> @@ -138,6 +144,10 @@ bootm 200000:kernel@1\n>   - boot configuration \"cfg@1\" from a new uImage located at 200000:\n>   bootm 200000#cfg@1\n>   \n> +- boot configuration \"cfg@1\" with extra \"cfg@2\" from a new uImage located\n> +  at 200000:\n> +bootm 200000#cfg@1#cfg@2\n> +\n>   - boot \"kernel@1\" from a new uImage at 200000 with initrd \"ramdisk@2\" found in\n>     some other new uImage stored at address 800000:\n>   bootm 200000:kernel@1 800000:ramdisk@2\n> diff --git a/doc/uImage.FIT/overlay-fdt-boot.txt b/doc/uImage.FIT/overlay-fdt-boot.txt\n> new file mode 100644\n> index 0000000..dbdf2a1\n> --- /dev/null\n> +++ b/doc/uImage.FIT/overlay-fdt-boot.txt\n> @@ -0,0 +1,221 @@\n> +U-Boot FDT Overlay usage\n> +========================\n> +\n> +Introduction\n> +------------\n> +In many cases it is desirable to have a single FIT image support a multitude\n> +of similar boards and their expansion options. The same kernel on DT enabled\n> +platforms can support this easily enough by providing a DT blob upon boot\n> +that matches the desired configuration.\n> +\n> +Configuration without overlays\n> +------------------------------\n> +\n> +Take a hypothetical board named 'foo' where there are different supported\n> +revisions, reva and revb. Assume that both board revisions can use add a bar\n> +add-on board, while only the revb board can use a baz add-on board.\n> +\n> +Without using overlays the configuration would be as follows for every case.\n> +\n> +\t/dts-v1/;\n> +\t/ {\n> +\t\timages {\n> +\t\t\tkernel@1 {\n> +\t\t\t\tdata = /incbin/(\"./zImage\");\n> +\t\t\t\ttype = \"kernel\";\n> +\t\t\t\tarch = \"arm\";\n> +\t\t\t\tos = \"linux\";\n> +\t\t\t\tload = <0x82000000>;\n> +\t\t\t\tentry = <0x82000000>;\n> +\t\t\t};\n> +\t\t\tfdt@1 {\n> +\t\t\t\tdata = /incbin/(\"./foo-reva.dtb\");\n> +\t\t\t\ttype = \"flat_dt\";\n> +\t\t\t\tarch = \"arm\";\n> +\t\t\t};\n> +\t\t\tfdt@2 {\n> +\t\t\t\tdata = /incbin/(\"./foo-revb.dtb\");\n> +\t\t\t\ttype = \"flat_dt\";\n> +\t\t\t\tarch = \"arm\";\n> +\t\t\t};\n> +\t\t\tfdt@3 {\n> +\t\t\t\tdata = /incbin/(\"./foo-reva-bar.dtb\");\n> +\t\t\t\ttype = \"flat_dt\";\n> +\t\t\t\tarch = \"arm\";\n> +\t\t\t};\n> +\t\t\tfdt@4 {\n> +\t\t\t\tdata = /incbin/(\"./foo-revb-bar.dtb\");\n> +\t\t\t\ttype = \"flat_dt\";\n> +\t\t\t\tarch = \"arm\";\n> +\t\t\t};\n> +\t\t\tfdt@5 {\n> +\t\t\t\tdata = /incbin/(\"./foo-revb-baz.dtb\");\n> +\t\t\t\ttype = \"flat_dt\";\n> +\t\t\t\tarch = \"arm\";\n> +\t\t\t};\n> +\t\t\tfdt@6 {\n> +\t\t\t\tdata = /incbin/(\"./foo-revb-bar-baz.dtb\");\n> +\t\t\t\ttype = \"flat_dt\";\n> +\t\t\t\tarch = \"arm\";\n> +\t\t\t};\n> +\t\t};\n> +\n> +\t\tconfigurations {\n> +\t\t\tdefault = \"foo-reva.dtb;\n> +\t\t\tfoo-reva.dtb {\n> +\t\t\t\tkernel = \"kernel@1\";\n> +\t\t\t\tfdt = \"fdt@1\";\n> +\t\t\t};\n> +\t\t\tfoo-revb.dtb {\n> +\t\t\t\tkernel = \"kernel@1\";\n> +\t\t\t\tfdt = \"fdt@2\";\n> +\t\t\t};\n> +\t\t\tfoo-reva-bar.dtb {\n> +\t\t\t\tkernel = \"kernel@1\";\n> +\t\t\t\tfdt = \"fdt@3\";\n> +\t\t\t};\n> +\t\t\tfoo-revb-bar.dtb {\n> +\t\t\t\tkernel = \"kernel@1\";\n> +\t\t\t\tfdt = \"fdt@4\";\n> +\t\t\t};\n> +\t\t\tfoo-revb-baz.dtb {\n> +\t\t\t\tkernel = \"kernel@1\";\n> +\t\t\t\tfdt = \"fdt@5\";\n> +\t\t\t};\n> +\t\t\tfoo-revb-bar-baz.dtb {\n> +\t\t\t\tkernel = \"kernel@1\";\n> +\t\t\t\tfdt = \"fdt@6\";\n> +\t\t\t};\n> +\t\t};\n> +\t};\n> +\n> +Note the blob needs to be compiled for each case and the combinatorial explosion of\n> +configurations. A typical device tree blob is in the low hunderds of kbytes so a\n> +multitude of configuration grows the image quite a bit.\n> +\n> +Booting this image is done by using\n> +\n> +\t# bootm <addr>#<config>\n> +\n> +Where config is one of:\n> +\tfoo-reva.dtb, foo-revb.dtb, foo-reva-bar.dtb, foo-revb-bar.dtb,\n> +\tfoo-revb-baz.dtb, foo-revb-bar-baz.dtb\n> +\n> +This selects the DTB to use when booting.\n> +\n> +Configuration using overlays\n> +----------------------------\n> +\n> +Device tree overlays can be applied to a base DT and result in the same blob\n> +being passed to the booting kernel. This saves on space and avoid the combinatorial\n> +explosion problem.\n> +\n> +\t/dts-v1/;\n> +\t/ {\n> +\t\timages {\n> +\t\t\tkernel@1 {\n> +\t\t\t\tdata = /incbin/(\"./zImage\");\n> +\t\t\t\ttype = \"kernel\";\n> +\t\t\t\tarch = \"arm\";\n> +\t\t\t\tos = \"linux\";\n> +\t\t\t\tload = <0x82000000>;\n> +\t\t\t\tentry = <0x82000000>;\n> +\t\t\t};\n> +\t\t\tfdt@1 {\n> +\t\t\t\tdata = /incbin/(\"./foo.dtb\");\n> +\t\t\t\ttype = \"flat_dt\";\n> +\t\t\t\tarch = \"arm\";\n> +\t\t\t\tload = <0x87f00000>;\n> +\t\t\t};\n> +\t\t\tfdt@2 {\n> +\t\t\t\tdata = /incbin/(\"./reva.dtbo\");\n> +\t\t\t\ttype = \"flat_dt\";\n> +\t\t\t\tarch = \"arm\";\n> +\t\t\t\tload = <0x87fc0000>;\n> +\t\t\t};\n> +\t\t\tfdt@3 {\n> +\t\t\t\tdata = /incbin/(\"./revb.dtbo\");\n> +\t\t\t\ttype = \"flat_dt\";\n> +\t\t\t\tarch = \"arm\";\n> +\t\t\t\tload = <0x87fc0000>;\n> +\t\t\t};\n> +\t\t\tfdt@4 {\n> +\t\t\t\tdata = /incbin/(\"./bar.dtbo\");\n> +\t\t\t\ttype = \"flat_dt\";\n> +\t\t\t\tarch = \"arm\";\n> +\t\t\t\tload = <0x87fc0000>;\n> +\t\t\t};\n> +\t\t\tfdt@5 {\n> +\t\t\t\tdata = /incbin/(\"./baz.dtbo\");\n> +\t\t\t\ttype = \"flat_dt\";\n> +\t\t\t\tarch = \"arm\";\n> +\t\t\t\tload = <0x87fc0000>;\n> +\t\t\t};\n> +\t\t};\n> +\n> +\t\tconfigurations {\n> +\t\t\tdefault = \"foo-reva.dtb;\n> +\t\t\tfoo-reva.dtb {\n> +\t\t\t\tkernel = \"kernel@1\";\n> +\t\t\t\tfdt = \"fdt@1\", \"fdt@2\";\n> +\t\t\t};\n> +\t\t\tfoo-revb.dtb {\n> +\t\t\t\tkernel = \"kernel@1\";\n> +\t\t\t\tfdt = \"fdt@1\", \"fdt@3\";\n> +\t\t\t};\n> +\t\t\tfoo-reva-bar.dtb {\n> +\t\t\t\tkernel = \"kernel@1\";\n> +\t\t\t\tfdt = \"fdt@1\", \"fdt@2\", \"fdt@4\";\n> +\t\t\t};\n> +\t\t\tfoo-revb-bar.dtb {\n> +\t\t\t\tkernel = \"kernel@1\";\n> +\t\t\t\tfdt = \"fdt@1\", \"fdt@3\", \"fdt@4\";\n> +\t\t\t};\n> +\t\t\tfoo-revb-baz.dtb {\n> +\t\t\t\tkernel = \"kernel@1\";\n> +\t\t\t\tfdt = \"fdt@1\", \"fdt@3\", \"fdt@5\";\n> +\t\t\t};\n> +\t\t\tfoo-revb-bar-baz.dtb {\n> +\t\t\t\tkernel = \"kernel@1\";\n> +\t\t\t\tfdt = \"fdt@1\", \"fdt@3\", \"fdt@4\", \"fdt@5\";\n> +\t\t\t};\n> +\t\t\tbar {\n> +\t\t\t\tfdt = \"fdt@4\";\n> +\t\t\t};\n> +\t\t\tbaz {\n> +\t\t\t\tfdt = \"fdt@5\";\n> +\t\t\t};\n> +\t\t};\n> +\t};\n> +\n> +Booting this image is exactly the same as the non-overlay example.\n> +u-boot will retrieve the base blob and apply the overlays in sequence as\n> +they are declared in the configuration.\n> +\n> +Note the minimum amount of different DT blobs, as well as the requirement for\n> +the DT blobs to have a load address; the overlay application requires the blobs\n> +to be writeable.\n> +\n> +Configuration using overlays and feature selection\n> +--------------------------------------------------\n> +\n> +Although the configuration in the previous section works is a bit inflexible\n> +since it requires all possible configuration options to be laid out before\n> +hand in the FIT image. For the add-on boards the extra config selection method\n> +might make sense.\n> +\n> +Note the two bar & baz configuration nodes. To boot a reva board with\n> +the bar add-on board enabled simply use:\n> +\n> +\t# bootm <addr>#foo-reva.dtb#bar\n> +\n> +While booting a revb with bar and baz is as follows:\n> +\n> +\t# bootm <addr>#foo-revb.dtb#bar#baz\n> +\n> +The limitation for a feature selection configuration node is that a single\n> +fdt option is currently supported.\n> +\n> +Pantelis Antoniou\n> +pantelis.antoniou@konsulko.com\n> +12/6/2017\n> diff --git a/doc/uImage.FIT/source_file_format.txt b/doc/uImage.FIT/source_file_format.txt\n> index 136d3d7..ba8013a 100644\n> --- a/doc/uImage.FIT/source_file_format.txt\n> +++ b/doc/uImage.FIT/source_file_format.txt\n> @@ -235,7 +235,7 @@ o config@1\n>     |- description = \"configuration description\"\n>     |- kernel = \"kernel sub-node unit name\"\n>     |- ramdisk = \"ramdisk sub-node unit name\"\n> -  |- fdt = \"fdt sub-node unit-name\"\n> +  |- fdt = \"fdt sub-node unit-name\" [, \"fdt overlay sub-node unit-name\", ...]\n>     |- fpga = \"fpga sub-node unit-name\"\n>     |- loadables = \"loadables sub-node unit-name\"\n>   \n> @@ -249,7 +249,9 @@ o config@1\n>     - ramdisk : Unit name of the corresponding ramdisk image (component image\n>       node of a \"ramdisk\" type).\n>     - fdt : Unit name of the corresponding fdt blob (component image node of a\n> -    \"fdt type\").\n> +    \"fdt type\"). Additional fdt overlay nodes can be supplied which signify\n> +    that the resulting device tree blob is generated by the first base fdt\n> +    blob with all subsequent overlays applied.\n>     - setup : Unit name of the corresponding setup binary (used for booting\n>       an x86 kernel). This contains the setup.bin file built by the kernel.\n>     - fpga : Unit name of the corresponding fpga bitstream blob\n> \n\nReviewed-by: Łukasz Majewski\n\n\nI'm just curious - what was the fit image size reduction on your test setup?","headers":{"Return-Path":"<u-boot-bounces@lists.denx.de>","X-Original-To":"incoming@patchwork.ozlabs.org","Delivered-To":"patchwork-incoming@bilbo.ozlabs.org","Authentication-Results":"ozlabs.org;\n\tspf=none (mailfrom) smtp.mailfrom=lists.denx.de\n\t(client-ip=81.169.180.215; helo=lists.denx.de;\n\tenvelope-from=u-boot-bounces@lists.denx.de;\n\treceiver=<UNKNOWN>)","Received":["from lists.denx.de (dione.denx.de [81.169.180.215])\n\tby ozlabs.org (Postfix) with ESMTP id 3xnY3L6YfGz9t2R\n\tfor <incoming@patchwork.ozlabs.org>;\n\tThu,  7 Sep 2017 05:06:37 +1000 (AEST)","by lists.denx.de (Postfix, from userid 105)\n\tid 06AA0C21F3C; Wed,  6 Sep 2017 19:06:30 +0000 (UTC)","from lists.denx.de (localhost [IPv6:::1])\n\tby lists.denx.de (Postfix) with ESMTP id 11747C21DB5;\n\tWed,  6 Sep 2017 19:06:27 +0000 (UTC)","by lists.denx.de (Postfix, from userid 105)\n\tid 53E47C21DB5; Wed,  6 Sep 2017 19:06:25 +0000 (UTC)","from mail-out.m-online.net (mail-out.m-online.net [212.18.0.10])\n\tby lists.denx.de (Postfix) with ESMTPS id 05664C21D88\n\tfor <u-boot@lists.denx.de>; Wed,  6 Sep 2017 19:06:25 +0000 (UTC)","from frontend01.mail.m-online.net (unknown [192.168.8.182])\n\tby mail-out.m-online.net (Postfix) with ESMTP id 3xnY3437rLz1qsW9;\n\tWed,  6 Sep 2017 21:06:24 +0200 (CEST)","from localhost (dynscan1.mnet-online.de [192.168.6.70])\n\tby mail.m-online.net (Postfix) with ESMTP id 3xnY3420tgz3hj69;\n\tWed,  6 Sep 2017 21:06:24 +0200 (CEST)","from mail.mnet-online.de ([192.168.8.182])\n\tby localhost (dynscan1.mail.m-online.net [192.168.6.70]) (amavisd-new,\n\tport 10024)\n\twith ESMTP id a5AXeRQH9-7x; Wed,  6 Sep 2017 21:06:22 +0200 (CEST)","from [192.168.2.222] (89-64-27-66.dynamic.chello.pl [89.64.27.66])\n\t(using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits))\n\t(No client certificate requested)\n\tby mail.mnet-online.de (Postfix) with ESMTPSA;\n\tWed,  6 Sep 2017 21:06:22 +0200 (CEST)"],"X-Spam-Checker-Version":"SpamAssassin 3.4.0 (2014-02-07) on lists.denx.de","X-Spam-Level":"","X-Spam-Status":"No, score=-0.7 required=5.0 tests=RCVD_IN_DNSWL_LOW,\n\tRCVD_IN_MSPIKE_H3,\n\tRCVD_IN_MSPIKE_WL autolearn=unavailable autolearn_force=no\n\tversion=3.4.0","X-Virus-Scanned":"amavisd-new at mnet-online.de","X-Auth-Info":"A7emlo5X9G57OaXD6ZtLlrhSMtKAee8K2RQawhh8oG4=","To":"Pantelis Antoniou <pantelis.antoniou@konsulko.com>,\n\tTom Rini <trini@konsulko.com>","References":"<1504555943-12893-1-git-send-email-pantelis.antoniou@konsulko.com>\n\t<1504555943-12893-9-git-send-email-pantelis.antoniou@konsulko.com>","From":"=?utf-8?q?=C5=81ukasz_Majewski?= <lukma@denx.de>","Organization":"DENX","Message-ID":"<49fedf05-4896-3105-f143-d24db31f6182@denx.de>","Date":"Wed, 6 Sep 2017 21:06:21 +0200","User-Agent":"Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101\n\tThunderbird/52.2.1","MIME-Version":"1.0","In-Reply-To":"<1504555943-12893-9-git-send-email-pantelis.antoniou@konsulko.com>","Content-Language":"en-US","Cc":"Marek Vasut <marex@denx.de>, Tero Kristo <t-kristo@ti.com>,\n\tu-boot@lists.denx.de, Maxime Ripard <maxime.ripard@free-electrons.com>,\n\tStefan Roese <sr@denx.de>, Alan Ott <alan@signal11.us>","Subject":"Re: [U-Boot] [PATCH v3 08/14] fit: fdt overlays doc","X-BeenThere":"u-boot@lists.denx.de","X-Mailman-Version":"2.1.18","Precedence":"list","List-Id":"U-Boot discussion <u-boot.lists.denx.de>","List-Unsubscribe":"<https://lists.denx.de/options/u-boot>,\n\t<mailto:u-boot-request@lists.denx.de?subject=unsubscribe>","List-Archive":"<http://lists.denx.de/pipermail/u-boot/>","List-Post":"<mailto:u-boot@lists.denx.de>","List-Help":"<mailto:u-boot-request@lists.denx.de?subject=help>","List-Subscribe":"<https://lists.denx.de/listinfo/u-boot>,\n\t<mailto:u-boot-request@lists.denx.de?subject=subscribe>","Content-Transfer-Encoding":"base64","Content-Type":"text/plain; charset=\"utf-8\"; Format=\"flowed\"","Errors-To":"u-boot-bounces@lists.denx.de","Sender":"\"U-Boot\" <u-boot-bounces@lists.denx.de>"}},{"id":1764536,"web_url":"http://patchwork.ozlabs.org/comment/1764536/","msgid":"<1504767130.23573.14.camel@hp800z>","list_archive_url":null,"date":"2017-09-07T06:52:10","subject":"Re: [U-Boot] [PATCH v3 08/14] fit: fdt overlays doc","submitter":{"id":64098,"url":"http://patchwork.ozlabs.org/api/people/64098/","name":"Pantelis Antoniou","email":"pantelis.antoniou@konsulko.com"},"content":"Hi Lukasz,\n\nOn Wed, 2017-09-06 at 21:06 +0200, Łukasz Majewski wrote:\n> On 09/04/2017 10:12 PM, Pantelis Antoniou wrote:\n> > Signed-off-by: Pantelis Antoniou <pantelis.antoniou@konsulko.com>\n> > ---\n> >   doc/uImage.FIT/command_syntax_extensions.txt |  12 +-\n> >   doc/uImage.FIT/overlay-fdt-boot.txt          | 221 +++++++++++++++++++++++++++\n> >   doc/uImage.FIT/source_file_format.txt        |   6 +-\n> >   3 files changed, 236 insertions(+), 3 deletions(-)\n> >   create mode 100644 doc/uImage.FIT/overlay-fdt-boot.txt\n> > \n> > diff --git a/doc/uImage.FIT/command_syntax_extensions.txt b/doc/uImage.FIT/command_syntax_extensions.txt\n> > index 6c99b1c..676f992 100644\n> > --- a/doc/uImage.FIT/command_syntax_extensions.txt\n> > +++ b/doc/uImage.FIT/command_syntax_extensions.txt\n> > @@ -36,7 +36,7 @@ Old uImage:\n> >   New uImage:\n> >   8.  bootm <addr1>\n> >   9.  bootm [<addr1>]:<subimg1>\n> > -10. bootm [<addr1>]#<conf>\n> > +10. bootm [<addr1>]#<conf>[#<extra-conf[#...]]\n> >   11. bootm [<addr1>]:<subimg1> [<addr2>]:<subimg2>\n> >   12. bootm [<addr1>]:<subimg1> [<addr2>]:<subimg2> [<addr3>]:<subimg3>\n> >   13. bootm [<addr1>]:<subimg1> [<addr2>]:<subimg2> <addr3>\n> > @@ -129,6 +129,12 @@ following syntax:\n> >   - new uImage configuration specification\n> >   <addr>#<configuration unit_name>\n> >   \n> > +- new uImage configuration specification with extra configuration components\n> > +<addr>#<configuration unit_name>[#<extra configuration unit_name>[#..]]\n> > +\n> > +The extra configuration currently is supported only for additional device tree\n> > +overlays to apply on the base device tree supplied by the first configuration\n> > +unit.\n> >   \n> >   Examples:\n> >   \n> > @@ -138,6 +144,10 @@ bootm 200000:kernel@1\n> >   - boot configuration \"cfg@1\" from a new uImage located at 200000:\n> >   bootm 200000#cfg@1\n> >   \n> > +- boot configuration \"cfg@1\" with extra \"cfg@2\" from a new uImage located\n> > +  at 200000:\n> > +bootm 200000#cfg@1#cfg@2\n> > +\n> >   - boot \"kernel@1\" from a new uImage at 200000 with initrd \"ramdisk@2\" found in\n> >     some other new uImage stored at address 800000:\n> >   bootm 200000:kernel@1 800000:ramdisk@2\n> > diff --git a/doc/uImage.FIT/overlay-fdt-boot.txt b/doc/uImage.FIT/overlay-fdt-boot.txt\n> > new file mode 100644\n> > index 0000000..dbdf2a1\n> > --- /dev/null\n> > +++ b/doc/uImage.FIT/overlay-fdt-boot.txt\n> > @@ -0,0 +1,221 @@\n> > +U-Boot FDT Overlay usage\n> > +========================\n> > +\n> > +Introduction\n> > +------------\n> > +In many cases it is desirable to have a single FIT image support a multitude\n> > +of similar boards and their expansion options. The same kernel on DT enabled\n> > +platforms can support this easily enough by providing a DT blob upon boot\n> > +that matches the desired configuration.\n> > +\n> > +Configuration without overlays\n> > +------------------------------\n> > +\n> > +Take a hypothetical board named 'foo' where there are different supported\n> > +revisions, reva and revb. Assume that both board revisions can use add a bar\n> > +add-on board, while only the revb board can use a baz add-on board.\n> > +\n> > +Without using overlays the configuration would be as follows for every case.\n> > +\n> > +\t/dts-v1/;\n> > +\t/ {\n> > +\t\timages {\n> > +\t\t\tkernel@1 {\n> > +\t\t\t\tdata = /incbin/(\"./zImage\");\n> > +\t\t\t\ttype = \"kernel\";\n> > +\t\t\t\tarch = \"arm\";\n> > +\t\t\t\tos = \"linux\";\n> > +\t\t\t\tload = <0x82000000>;\n> > +\t\t\t\tentry = <0x82000000>;\n> > +\t\t\t};\n> > +\t\t\tfdt@1 {\n> > +\t\t\t\tdata = /incbin/(\"./foo-reva.dtb\");\n> > +\t\t\t\ttype = \"flat_dt\";\n> > +\t\t\t\tarch = \"arm\";\n> > +\t\t\t};\n> > +\t\t\tfdt@2 {\n> > +\t\t\t\tdata = /incbin/(\"./foo-revb.dtb\");\n> > +\t\t\t\ttype = \"flat_dt\";\n> > +\t\t\t\tarch = \"arm\";\n> > +\t\t\t};\n> > +\t\t\tfdt@3 {\n> > +\t\t\t\tdata = /incbin/(\"./foo-reva-bar.dtb\");\n> > +\t\t\t\ttype = \"flat_dt\";\n> > +\t\t\t\tarch = \"arm\";\n> > +\t\t\t};\n> > +\t\t\tfdt@4 {\n> > +\t\t\t\tdata = /incbin/(\"./foo-revb-bar.dtb\");\n> > +\t\t\t\ttype = \"flat_dt\";\n> > +\t\t\t\tarch = \"arm\";\n> > +\t\t\t};\n> > +\t\t\tfdt@5 {\n> > +\t\t\t\tdata = /incbin/(\"./foo-revb-baz.dtb\");\n> > +\t\t\t\ttype = \"flat_dt\";\n> > +\t\t\t\tarch = \"arm\";\n> > +\t\t\t};\n> > +\t\t\tfdt@6 {\n> > +\t\t\t\tdata = /incbin/(\"./foo-revb-bar-baz.dtb\");\n> > +\t\t\t\ttype = \"flat_dt\";\n> > +\t\t\t\tarch = \"arm\";\n> > +\t\t\t};\n> > +\t\t};\n> > +\n> > +\t\tconfigurations {\n> > +\t\t\tdefault = \"foo-reva.dtb;\n> > +\t\t\tfoo-reva.dtb {\n> > +\t\t\t\tkernel = \"kernel@1\";\n> > +\t\t\t\tfdt = \"fdt@1\";\n> > +\t\t\t};\n> > +\t\t\tfoo-revb.dtb {\n> > +\t\t\t\tkernel = \"kernel@1\";\n> > +\t\t\t\tfdt = \"fdt@2\";\n> > +\t\t\t};\n> > +\t\t\tfoo-reva-bar.dtb {\n> > +\t\t\t\tkernel = \"kernel@1\";\n> > +\t\t\t\tfdt = \"fdt@3\";\n> > +\t\t\t};\n> > +\t\t\tfoo-revb-bar.dtb {\n> > +\t\t\t\tkernel = \"kernel@1\";\n> > +\t\t\t\tfdt = \"fdt@4\";\n> > +\t\t\t};\n> > +\t\t\tfoo-revb-baz.dtb {\n> > +\t\t\t\tkernel = \"kernel@1\";\n> > +\t\t\t\tfdt = \"fdt@5\";\n> > +\t\t\t};\n> > +\t\t\tfoo-revb-bar-baz.dtb {\n> > +\t\t\t\tkernel = \"kernel@1\";\n> > +\t\t\t\tfdt = \"fdt@6\";\n> > +\t\t\t};\n> > +\t\t};\n> > +\t};\n> > +\n> > +Note the blob needs to be compiled for each case and the combinatorial explosion of\n> > +configurations. A typical device tree blob is in the low hunderds of kbytes so a\n> > +multitude of configuration grows the image quite a bit.\n> > +\n> > +Booting this image is done by using\n> > +\n> > +\t# bootm <addr>#<config>\n> > +\n> > +Where config is one of:\n> > +\tfoo-reva.dtb, foo-revb.dtb, foo-reva-bar.dtb, foo-revb-bar.dtb,\n> > +\tfoo-revb-baz.dtb, foo-revb-bar-baz.dtb\n> > +\n> > +This selects the DTB to use when booting.\n> > +\n> > +Configuration using overlays\n> > +----------------------------\n> > +\n> > +Device tree overlays can be applied to a base DT and result in the same blob\n> > +being passed to the booting kernel. This saves on space and avoid the combinatorial\n> > +explosion problem.\n> > +\n> > +\t/dts-v1/;\n> > +\t/ {\n> > +\t\timages {\n> > +\t\t\tkernel@1 {\n> > +\t\t\t\tdata = /incbin/(\"./zImage\");\n> > +\t\t\t\ttype = \"kernel\";\n> > +\t\t\t\tarch = \"arm\";\n> > +\t\t\t\tos = \"linux\";\n> > +\t\t\t\tload = <0x82000000>;\n> > +\t\t\t\tentry = <0x82000000>;\n> > +\t\t\t};\n> > +\t\t\tfdt@1 {\n> > +\t\t\t\tdata = /incbin/(\"./foo.dtb\");\n> > +\t\t\t\ttype = \"flat_dt\";\n> > +\t\t\t\tarch = \"arm\";\n> > +\t\t\t\tload = <0x87f00000>;\n> > +\t\t\t};\n> > +\t\t\tfdt@2 {\n> > +\t\t\t\tdata = /incbin/(\"./reva.dtbo\");\n> > +\t\t\t\ttype = \"flat_dt\";\n> > +\t\t\t\tarch = \"arm\";\n> > +\t\t\t\tload = <0x87fc0000>;\n> > +\t\t\t};\n> > +\t\t\tfdt@3 {\n> > +\t\t\t\tdata = /incbin/(\"./revb.dtbo\");\n> > +\t\t\t\ttype = \"flat_dt\";\n> > +\t\t\t\tarch = \"arm\";\n> > +\t\t\t\tload = <0x87fc0000>;\n> > +\t\t\t};\n> > +\t\t\tfdt@4 {\n> > +\t\t\t\tdata = /incbin/(\"./bar.dtbo\");\n> > +\t\t\t\ttype = \"flat_dt\";\n> > +\t\t\t\tarch = \"arm\";\n> > +\t\t\t\tload = <0x87fc0000>;\n> > +\t\t\t};\n> > +\t\t\tfdt@5 {\n> > +\t\t\t\tdata = /incbin/(\"./baz.dtbo\");\n> > +\t\t\t\ttype = \"flat_dt\";\n> > +\t\t\t\tarch = \"arm\";\n> > +\t\t\t\tload = <0x87fc0000>;\n> > +\t\t\t};\n> > +\t\t};\n> > +\n> > +\t\tconfigurations {\n> > +\t\t\tdefault = \"foo-reva.dtb;\n> > +\t\t\tfoo-reva.dtb {\n> > +\t\t\t\tkernel = \"kernel@1\";\n> > +\t\t\t\tfdt = \"fdt@1\", \"fdt@2\";\n> > +\t\t\t};\n> > +\t\t\tfoo-revb.dtb {\n> > +\t\t\t\tkernel = \"kernel@1\";\n> > +\t\t\t\tfdt = \"fdt@1\", \"fdt@3\";\n> > +\t\t\t};\n> > +\t\t\tfoo-reva-bar.dtb {\n> > +\t\t\t\tkernel = \"kernel@1\";\n> > +\t\t\t\tfdt = \"fdt@1\", \"fdt@2\", \"fdt@4\";\n> > +\t\t\t};\n> > +\t\t\tfoo-revb-bar.dtb {\n> > +\t\t\t\tkernel = \"kernel@1\";\n> > +\t\t\t\tfdt = \"fdt@1\", \"fdt@3\", \"fdt@4\";\n> > +\t\t\t};\n> > +\t\t\tfoo-revb-baz.dtb {\n> > +\t\t\t\tkernel = \"kernel@1\";\n> > +\t\t\t\tfdt = \"fdt@1\", \"fdt@3\", \"fdt@5\";\n> > +\t\t\t};\n> > +\t\t\tfoo-revb-bar-baz.dtb {\n> > +\t\t\t\tkernel = \"kernel@1\";\n> > +\t\t\t\tfdt = \"fdt@1\", \"fdt@3\", \"fdt@4\", \"fdt@5\";\n> > +\t\t\t};\n> > +\t\t\tbar {\n> > +\t\t\t\tfdt = \"fdt@4\";\n> > +\t\t\t};\n> > +\t\t\tbaz {\n> > +\t\t\t\tfdt = \"fdt@5\";\n> > +\t\t\t};\n> > +\t\t};\n> > +\t};\n> > +\n> > +Booting this image is exactly the same as the non-overlay example.\n> > +u-boot will retrieve the base blob and apply the overlays in sequence as\n> > +they are declared in the configuration.\n> > +\n> > +Note the minimum amount of different DT blobs, as well as the requirement for\n> > +the DT blobs to have a load address; the overlay application requires the blobs\n> > +to be writeable.\n> > +\n> > +Configuration using overlays and feature selection\n> > +--------------------------------------------------\n> > +\n> > +Although the configuration in the previous section works is a bit inflexible\n> > +since it requires all possible configuration options to be laid out before\n> > +hand in the FIT image. For the add-on boards the extra config selection method\n> > +might make sense.\n> > +\n> > +Note the two bar & baz configuration nodes. To boot a reva board with\n> > +the bar add-on board enabled simply use:\n> > +\n> > +\t# bootm <addr>#foo-reva.dtb#bar\n> > +\n> > +While booting a revb with bar and baz is as follows:\n> > +\n> > +\t# bootm <addr>#foo-revb.dtb#bar#baz\n> > +\n> > +The limitation for a feature selection configuration node is that a single\n> > +fdt option is currently supported.\n> > +\n> > +Pantelis Antoniou\n> > +pantelis.antoniou@konsulko.com\n> > +12/6/2017\n> > diff --git a/doc/uImage.FIT/source_file_format.txt b/doc/uImage.FIT/source_file_format.txt\n> > index 136d3d7..ba8013a 100644\n> > --- a/doc/uImage.FIT/source_file_format.txt\n> > +++ b/doc/uImage.FIT/source_file_format.txt\n> > @@ -235,7 +235,7 @@ o config@1\n> >     |- description = \"configuration description\"\n> >     |- kernel = \"kernel sub-node unit name\"\n> >     |- ramdisk = \"ramdisk sub-node unit name\"\n> > -  |- fdt = \"fdt sub-node unit-name\"\n> > +  |- fdt = \"fdt sub-node unit-name\" [, \"fdt overlay sub-node unit-name\", ...]\n> >     |- fpga = \"fpga sub-node unit-name\"\n> >     |- loadables = \"loadables sub-node unit-name\"\n> >   \n> > @@ -249,7 +249,9 @@ o config@1\n> >     - ramdisk : Unit name of the corresponding ramdisk image (component image\n> >       node of a \"ramdisk\" type).\n> >     - fdt : Unit name of the corresponding fdt blob (component image node of a\n> > -    \"fdt type\").\n> > +    \"fdt type\"). Additional fdt overlay nodes can be supplied which signify\n> > +    that the resulting device tree blob is generated by the first base fdt\n> > +    blob with all subsequent overlays applied.\n> >     - setup : Unit name of the corresponding setup binary (used for booting\n> >       an x86 kernel). This contains the setup.bin file built by the kernel.\n> >     - fpga : Unit name of the corresponding fpga bitstream blob\n> > \n> \n> Reviewed-by: Łukasz Majewski\n> \n> \n> I'm just curious - what was the fit image size reduction on your test setup?\n> \n\nI haven't measured, but it's easy to calculate.\n\nAssume each base blob is B bytes in average with each additional overlay\nbeing Oi extra bytes when included in the base and O bytes (in average)\nwhen compiled as an overlay (with O > Oi, overhead is almost constant -\nO = Oi + C). Then for n cases:\n\nThe size of a non-overlay case is:\n\n  Si = (B + Oi) * n = B * n + Oi * n\n\nThe size of an overlay case is\n\n  So = B + O * n = B + (Oi + C) * n = B + Oi * n + C * n\n\nThe delta in size is:\n\n  d = Si - So = B * n + Qi * n - B - Oi * n - C * n = \n    = B * (n - 1) - C * n\n\nFor contemporary device trees (which are in the 140K sizes) and\nthe average overhead at about 200 bytes.\n\n  d = 140K * (n - 1) - 200 * n\n\nIt's pretty much a win even at n = 2.\n\nFor example for n = 5 (a common case).\n\n  d = 140K * (5 - 1) - 200 * 5 = 559K\n\nIt's not earth-shattering smaller, but it's significant.\n\nRegards\n\n-- Pantelis","headers":{"Return-Path":"<u-boot-bounces@lists.denx.de>","X-Original-To":"incoming@patchwork.ozlabs.org","Delivered-To":"patchwork-incoming@bilbo.ozlabs.org","Authentication-Results":["ozlabs.org;\n\tspf=none (mailfrom) smtp.mailfrom=lists.denx.de\n\t(client-ip=81.169.180.215; helo=lists.denx.de;\n\tenvelope-from=u-boot-bounces@lists.denx.de;\n\treceiver=<UNKNOWN>)","ozlabs.org;\n\tdkim=fail reason=\"signature verification failed\" (1024-bit key;\n\tunprotected) header.d=konsulko.com header.i=@konsulko.com\n\theader.b=\"sBvAl/KS\"; dkim-atps=neutral"],"Received":["from lists.denx.de (dione.denx.de [81.169.180.215])\n\tby ozlabs.org (Postfix) with ESMTP id 3xnrk76sGRz9sCZ\n\tfor <incoming@patchwork.ozlabs.org>;\n\tThu,  7 Sep 2017 16:52:47 +1000 (AEST)","by lists.denx.de (Postfix, from userid 105)\n\tid 98743C21D92; Thu,  7 Sep 2017 06:52:45 +0000 (UTC)","from lists.denx.de (localhost [IPv6:::1])\n\tby lists.denx.de (Postfix) with ESMTP id D44D5C21C57;\n\tThu,  7 Sep 2017 06:52:41 +0000 (UTC)","by lists.denx.de (Postfix, from userid 105)\n\tid 2595FC21C57; Thu,  7 Sep 2017 06:52:40 +0000 (UTC)","from mail-wm0-f44.google.com (mail-wm0-f44.google.com\n\t[74.125.82.44])\n\tby lists.denx.de (Postfix) with ESMTPS id AFD0EC21C40\n\tfor <u-boot@lists.denx.de>; Thu,  7 Sep 2017 06:52:39 +0000 (UTC)","by mail-wm0-f44.google.com with SMTP id i145so2238183wmf.1\n\tfor <u-boot@lists.denx.de>; Wed, 06 Sep 2017 23:52:39 -0700 (PDT)","from [192.168.2.248] ([195.97.110.117])\n\tby smtp.gmail.com with ESMTPSA id\n\ts86sm546961wma.24.2017.09.06.23.52.36\n\t(version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128);\n\tWed, 06 Sep 2017 23:52:38 -0700 (PDT)"],"X-Spam-Checker-Version":"SpamAssassin 3.4.0 (2014-02-07) on lists.denx.de","X-Spam-Level":"","X-Spam-Status":"No, score=-0.0 required=5.0 tests=RCVD_IN_DNSWL_NONE,\n\tRCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL,\n\tT_DKIM_INVALID autolearn=unavailable\n\tautolearn_force=no version=3.4.0","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed; d=konsulko.com;\n\ts=google; \n\th=message-id:subject:from:to:cc:date:in-reply-to:references\n\t:mime-version:content-transfer-encoding;\n\tbh=DwIebBRRzENVdfgnFlvqdbPKxoYaV2Ap2j3Y/xeWc8E=;\n\tb=sBvAl/KSeXVH9fERskcSuw4tn7pj6YAzKLhCu5Om68vPV0MOevHxkpc1NIPyVspJAZ\n\t5i1U9BaiNno2mM0M2QKmhqWsm/JoZWTO5GowxwK6VzzWgyd8xCpJG15yPFJIBxy7V4yd\n\tvSW/XpYz3M3b9Wwa4AYwRBjd7M6qi413DvV0o=","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20161025;\n\th=x-gm-message-state:message-id:subject:from:to:cc:date:in-reply-to\n\t:references:mime-version:content-transfer-encoding;\n\tbh=DwIebBRRzENVdfgnFlvqdbPKxoYaV2Ap2j3Y/xeWc8E=;\n\tb=NshqH2bvCgcqHLWjqUrevpGXnsqMRLhnkXCR4M9/shIGtwUoWKPomYNQsmyuc7aEwB\n\tbFBSnvER+FUxSBjzsg0RX/YYzCMSCHrTsi/yLwjkBpQtW/0FOogI7yLmPzhzyQIDfAwZ\n\tcVb1NcmXzqQf81hKjtLzB8rGXQIf8lyJRCbkDim5QSqQZfedfTxsqybnIVj6qKyY1sMb\n\t/C5CPpJHFS7irSdqGUkXXfYmtL+xvHy2+fkYe6VjVpZmhevXrM3mG8W2UwF5S9i4qMIg\n\timTEGXuol4Y/qIpbb1wfcVuJspbNMWuGkocMOAjAVcLDx6+HkUdtuLl13jCBARcA8gtE\n\tklZA==","X-Gm-Message-State":"AHPjjUixxq0GONMTGPx0tR61b+pJnIWk8369KkodqbwAVrSFytUPbfeh\n\tINWIiySJsZKAR+l2","X-Google-Smtp-Source":"ADKCNb7shk7DX944/suLdjCrBhQaLkYXrIhAGlbnNeDeh57m/VJ51iPfwdgc9vtyR/ItTboMxKLrPA==","X-Received":"by 10.28.73.133 with SMTP id w127mr1310409wma.55.1504767159134; \n\tWed, 06 Sep 2017 23:52:39 -0700 (PDT)","Message-ID":"<1504767130.23573.14.camel@hp800z>","From":"Pantelis Antoniou <pantelis.antoniou@konsulko.com>","To":"=?utf-8?q?=C5=81ukasz?= Majewski <lukma@denx.de>","Date":"Thu, 07 Sep 2017 09:52:10 +0300","In-Reply-To":"<49fedf05-4896-3105-f143-d24db31f6182@denx.de>","References":"<1504555943-12893-1-git-send-email-pantelis.antoniou@konsulko.com>\n\t<1504555943-12893-9-git-send-email-pantelis.antoniou@konsulko.com>\n\t<49fedf05-4896-3105-f143-d24db31f6182@denx.de>","X-Mailer":"Evolution 3.10.4-0ubuntu2 ","Mime-Version":"1.0","Cc":"Marek Vasut <marex@denx.de>, Tom Rini <trini@konsulko.com>,\n\tTero Kristo <t-kristo@ti.com>, u-boot@lists.denx.de,\n\tMaxime Ripard <maxime.ripard@free-electrons.com>,\n\tStefan Roese <sr@denx.de>, Alan Ott <alan@signal11.us>","Subject":"Re: [U-Boot] [PATCH v3 08/14] fit: fdt overlays doc","X-BeenThere":"u-boot@lists.denx.de","X-Mailman-Version":"2.1.18","Precedence":"list","List-Id":"U-Boot discussion <u-boot.lists.denx.de>","List-Unsubscribe":"<https://lists.denx.de/options/u-boot>,\n\t<mailto:u-boot-request@lists.denx.de?subject=unsubscribe>","List-Archive":"<http://lists.denx.de/pipermail/u-boot/>","List-Post":"<mailto:u-boot@lists.denx.de>","List-Help":"<mailto:u-boot-request@lists.denx.de?subject=help>","List-Subscribe":"<https://lists.denx.de/listinfo/u-boot>,\n\t<mailto:u-boot-request@lists.denx.de?subject=subscribe>","Content-Type":"text/plain; charset=\"utf-8\"","Content-Transfer-Encoding":"base64","Errors-To":"u-boot-bounces@lists.denx.de","Sender":"\"U-Boot\" <u-boot-bounces@lists.denx.de>"}},{"id":1765724,"web_url":"http://patchwork.ozlabs.org/comment/1765724/","msgid":"<CAPnjgZ1zex8LyDBZzZmifQM+-K3cseFVGRMptP9XnHgXAR2Tow@mail.gmail.com>","list_archive_url":null,"date":"2017-09-09T04:53:59","subject":"Re: [U-Boot] [PATCH v3 08/14] fit: fdt overlays doc","submitter":{"id":6170,"url":"http://patchwork.ozlabs.org/api/people/6170/","name":"Simon Glass","email":"sjg@chromium.org"},"content":"On 4 September 2017 at 14:12, Pantelis Antoniou\n<pantelis.antoniou@konsulko.com> wrote:\n> Signed-off-by: Pantelis Antoniou <pantelis.antoniou@konsulko.com>\n> ---\n>  doc/uImage.FIT/command_syntax_extensions.txt |  12 +-\n>  doc/uImage.FIT/overlay-fdt-boot.txt          | 221 +++++++++++++++++++++++++++\n>  doc/uImage.FIT/source_file_format.txt        |   6 +-\n>  3 files changed, 236 insertions(+), 3 deletions(-)\n>  create mode 100644 doc/uImage.FIT/overlay-fdt-boot.txt\n>\n\nAcked-by: Simon Glass <sjg@chromium.org>","headers":{"Return-Path":"<u-boot-bounces@lists.denx.de>","X-Original-To":"incoming@patchwork.ozlabs.org","Delivered-To":"patchwork-incoming@bilbo.ozlabs.org","Authentication-Results":["ozlabs.org;\n\tspf=none (mailfrom) smtp.mailfrom=lists.denx.de\n\t(client-ip=81.169.180.215; helo=lists.denx.de;\n\tenvelope-from=u-boot-bounces@lists.denx.de;\n\treceiver=<UNKNOWN>)","ozlabs.org;\n\tdkim=fail reason=\"signature verification failed\" (2048-bit key;\n\tunprotected) header.d=google.com header.i=@google.com\n\theader.b=\"NFkWx0zX\"; \n\tdkim=fail reason=\"signature verification failed\" (1024-bit key;\n\tunprotected) header.d=chromium.org header.i=@chromium.org\n\theader.b=\"M7l0xStb\"; dkim-atps=neutral"],"Received":["from lists.denx.de (dione.denx.de [81.169.180.215])\n\tby ozlabs.org (Postfix) with ESMTP id 3xq2G70tPcz9s8J\n\tfor <incoming@patchwork.ozlabs.org>;\n\tSat,  9 Sep 2017 15:06:07 +1000 (AEST)","by lists.denx.de (Postfix, from userid 105)\n\tid B5277C21E1D; Sat,  9 Sep 2017 04:59:45 +0000 (UTC)","from lists.denx.de (localhost [IPv6:::1])\n\tby lists.denx.de (Postfix) with ESMTP id C1031C21F3E;\n\tSat,  9 Sep 2017 04:56:47 +0000 (UTC)","by lists.denx.de (Postfix, from userid 105)\n\tid ECCD7C21CA5; Sat,  9 Sep 2017 04:56:30 +0000 (UTC)","from mail-qk0-f170.google.com (mail-qk0-f170.google.com\n\t[209.85.220.170])\n\tby lists.denx.de (Postfix) with ESMTPS id 155C9C21F03\n\tfor <u-boot@lists.denx.de>; Sat,  9 Sep 2017 04:54:21 +0000 (UTC)","by mail-qk0-f170.google.com with SMTP id a128so10424545qkc.5\n\tfor <u-boot@lists.denx.de>; Fri, 08 Sep 2017 21:54:21 -0700 (PDT)","by 10.200.37.200 with HTTP; Fri, 8 Sep 2017 21:53:59 -0700 (PDT)"],"X-Spam-Checker-Version":"SpamAssassin 3.4.0 (2014-02-07) on lists.denx.de","X-Spam-Level":"","X-Spam-Status":"No, score=-0.0 required=5.0 tests=RCVD_IN_DNSWL_NONE,\n\tRCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL,\n\tT_DKIM_INVALID autolearn=unavailable\n\tautolearn_force=no version=3.4.0","DKIM-Signature":["v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com;\n\ts=20161025; \n\th=mime-version:sender:in-reply-to:references:from:date:message-id\n\t:subject:to:cc;\n\tbh=pNV+Ftm4r7qfYlB4gbs3ksjxzgRJ7RGXy5kByijSr+Y=;\n\tb=NFkWx0zXyqy27Frq4SwvPmI1Ys8+DyYZ3xyRWda5mL0fHxQ+mGizok6ufwiGcAtNoO\n\t7RvpUPkvwMRF3rfhwO72WqdzIfnQAHHt7YyrZvTv81X/NKFADwELgrRciRVc/tbYDttR\n\tGyx+hv4UvERyyBUM8Mrhq7zroVHgviQUrgBfLyCiG6PgMHvrNz0Iaaye/SLaAoseOB+A\n\t7xCfSpUc8tJfrIJVIHN+x8nKOyN81qwfHMxJzb3sjYOtQ5dYXCwRDzpC1oQ0vwWV6CsM\n\tJgw8ZkzBarWOVbOZbpTx9utGn05kph9IFdb4wPSsAz8Kwqf7jw0Km2zLiUlsUGSJTzRR\n\t8kfg==","v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org;\n\ts=google; \n\th=mime-version:sender:in-reply-to:references:from:date:message-id\n\t:subject:to:cc;\n\tbh=pNV+Ftm4r7qfYlB4gbs3ksjxzgRJ7RGXy5kByijSr+Y=;\n\tb=M7l0xStbIQFz+0BrtU4fAP0pXRk6S+kO2tF/SqpPP9+K1r+66QFa8oX+gxGlDhaCnW\n\tdFVAAcZ3/SEs9/23Dxwb6DVs1TEdjT3XI6rZ+Pr7rpGNx2p5TTghViHkI+m1BTrnrDDN\n\tGQfrK2HH/qT3RnBzhrfVa0xstcjFfNJIhNl6k="],"X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20161025;\n\th=x-gm-message-state:mime-version:sender:in-reply-to:references:from\n\t:date:message-id:subject:to:cc;\n\tbh=pNV+Ftm4r7qfYlB4gbs3ksjxzgRJ7RGXy5kByijSr+Y=;\n\tb=YNsxQfn3IGxbaiBegvTQTgUK+nB6ZM2M6cT0vVpQYKAZOTwOO+QrsxvYePvumI1gcO\n\txIXaHksSqp2yzctLCv+aa3F0P2UqJaclUl4Qhkwzf7jkbhOzUDR4b7wBbK2nLW0nFMIv\n\tpzDrOjV5RwvONrG/pc88E2202fkmnaQESIvvTmLNcm3aS2vRpplIEayI+aDVs02ORlJW\n\t6jciMYqDc2zX0RtvtpMg1ObrzR3aReG229BytWiSYu/GPeHYtlWaj1DKxQqlkxFFp0wM\n\tuVg6OJ5Ifj3Iaow4O7XrRUK/VOg5TnE/Ipu1I32mkOWIssU5H/IbOmbOqqvPiG2LyQ7K\n\t2WRA==","X-Gm-Message-State":"AHPjjUjnT81nMUvpmET1WmFvrr2JDzl+LZW++TsFs/qugB6CVpZv5S4v\n\taKEqFo0DRroTBfP6/TruzmWHrRw3WAfg826YDp0kfA==","X-Google-Smtp-Source":"AOwi7QBcxXZ1V6P8ZKA0ivXz7VCiHvi+syHg5oZxQUlT4+iPXHuH370uBm/8fi1fTSKIsYFQcaP13filGkYf0f0cjg0=","X-Received":"by 10.55.76.205 with SMTP id z196mr7098016qka.252.1504932859814; \n\tFri, 08 Sep 2017 21:54:19 -0700 (PDT)","MIME-Version":"1.0","In-Reply-To":"<1504555943-12893-9-git-send-email-pantelis.antoniou@konsulko.com>","References":"<1504555943-12893-1-git-send-email-pantelis.antoniou@konsulko.com>\n\t<1504555943-12893-9-git-send-email-pantelis.antoniou@konsulko.com>","From":"Simon Glass <sjg@chromium.org>","Date":"Fri, 8 Sep 2017 22:53:59 -0600","X-Google-Sender-Auth":"GL_Xym9uYmd3xTQWnwexERiG-Rg","Message-ID":"<CAPnjgZ1zex8LyDBZzZmifQM+-K3cseFVGRMptP9XnHgXAR2Tow@mail.gmail.com>","To":"Pantelis Antoniou <pantelis.antoniou@konsulko.com>","Cc":"Marek Vasut <marex@denx.de>, Tom Rini <trini@konsulko.com>,\n\tTero Kristo <t-kristo@ti.com>,\n\tU-Boot Mailing List <u-boot@lists.denx.de>, \n\tMaxime Ripard <maxime.ripard@free-electrons.com>,\n\tStefan Roese <sr@denx.de>, Alan Ott <alan@signal11.us>","Subject":"Re: [U-Boot] [PATCH v3 08/14] fit: fdt overlays doc","X-BeenThere":"u-boot@lists.denx.de","X-Mailman-Version":"2.1.18","Precedence":"list","List-Id":"U-Boot discussion <u-boot.lists.denx.de>","List-Unsubscribe":"<https://lists.denx.de/options/u-boot>,\n\t<mailto:u-boot-request@lists.denx.de?subject=unsubscribe>","List-Archive":"<http://lists.denx.de/pipermail/u-boot/>","List-Post":"<mailto:u-boot@lists.denx.de>","List-Help":"<mailto:u-boot-request@lists.denx.de?subject=help>","List-Subscribe":"<https://lists.denx.de/listinfo/u-boot>,\n\t<mailto:u-boot-request@lists.denx.de?subject=subscribe>","Content-Type":"text/plain; charset=\"utf-8\"","Content-Transfer-Encoding":"base64","Errors-To":"u-boot-bounces@lists.denx.de","Sender":"\"U-Boot\" <u-boot-bounces@lists.denx.de>"}},{"id":1769388,"web_url":"http://patchwork.ozlabs.org/comment/1769388/","msgid":"<CAPnjgZ3cix7OC_yP01KviPM559OLQWew4RYKWJPBsdx59zNhiA@mail.gmail.com>","list_archive_url":null,"date":"2017-09-15T19:19:41","subject":"Re: [U-Boot] [PATCH v3 08/14] fit: fdt overlays doc","submitter":{"id":12501,"url":"http://patchwork.ozlabs.org/api/people/12501/","name":"Simon Glass","email":"sjg@google.com"},"content":"On 4 September 2017 at 14:12, Pantelis Antoniou\n<pantelis.antoniou@konsulko.com> wrote:\n> Signed-off-by: Pantelis Antoniou <pantelis.antoniou@konsulko.com>\n> ---\n>  doc/uImage.FIT/command_syntax_extensions.txt |  12 +-\n>  doc/uImage.FIT/overlay-fdt-boot.txt          | 221 +++++++++++++++++++++++++++\n>  doc/uImage.FIT/source_file_format.txt        |   6 +-\n>  3 files changed, 236 insertions(+), 3 deletions(-)\n>  create mode 100644 doc/uImage.FIT/overlay-fdt-boot.txt\n>\n\nAcked-by: Simon Glass <sjg@chromium.org>\n\nApplied to u-boot-fdt thanks!","headers":{"Return-Path":"<u-boot-bounces@lists.denx.de>","X-Original-To":"incoming@patchwork.ozlabs.org","Delivered-To":"patchwork-incoming@bilbo.ozlabs.org","Authentication-Results":["ozlabs.org;\n\tspf=none (mailfrom) smtp.mailfrom=lists.denx.de\n\t(client-ip=81.169.180.215; helo=lists.denx.de;\n\tenvelope-from=u-boot-bounces@lists.denx.de;\n\treceiver=<UNKNOWN>)","ozlabs.org;\n\tdkim=fail reason=\"signature verification failed\" (2048-bit key;\n\tunprotected) header.d=google.com header.i=@google.com\n\theader.b=\"eUvYsqGc\"; dkim-atps=neutral"],"Received":["from lists.denx.de (dione.denx.de [81.169.180.215])\n\tby ozlabs.org (Postfix) with ESMTP id 3xv59z2MtDz9s0Z\n\tfor <incoming@patchwork.ozlabs.org>;\n\tSat, 16 Sep 2017 05:31:35 +1000 (AEST)","by lists.denx.de (Postfix, from userid 105)\n\tid 08457C21FB7; Fri, 15 Sep 2017 19:21:21 +0000 (UTC)","from lists.denx.de (localhost [IPv6:::1])\n\tby lists.denx.de (Postfix) with ESMTP id B8351C21F22;\n\tFri, 15 Sep 2017 19:20:18 +0000 (UTC)","by lists.denx.de (Postfix, from userid 105)\n\tid E8B6EC21EC9; Fri, 15 Sep 2017 19:19:47 +0000 (UTC)","from mail-qk0-f176.google.com (mail-qk0-f176.google.com\n\t[209.85.220.176])\n\tby lists.denx.de (Postfix) with ESMTPS id 36863C21F47\n\tfor <u-boot@lists.denx.de>; Fri, 15 Sep 2017 19:19:44 +0000 (UTC)","by mail-qk0-f176.google.com with SMTP id a128so2962088qkc.5\n\tfor <u-boot@lists.denx.de>; Fri, 15 Sep 2017 12:19:44 -0700 (PDT)","from 480794996271 named unknown by gmailapi.google.com with\n\tHTTPREST; Fri, 15 Sep 2017 21:19:41 +0200"],"X-Spam-Checker-Version":"SpamAssassin 3.4.0 (2014-02-07) on lists.denx.de","X-Spam-Level":"","X-Spam-Status":"No, score=0.0 required=5.0 tests=RCVD_IN_DNSWL_NONE,\n\tRCVD_IN_MSPIKE_H2, T_DKIM_INVALID,\n\tUNPARSEABLE_RELAY autolearn=unavailable\n\tautolearn_force=no version=3.4.0","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com;\n\ts=20161025; \n\th=mime-version:sender:from:in-reply-to:references:date:message-id\n\t:subject:to:cc;\n\tbh=tLXWyc2+XSqIxNIgPuxGBbA5GhUhFcCLQwv3R2x0zwI=;\n\tb=eUvYsqGch1bx2tInxpoU1zOvQxpJpIiDD8/GydgowxBJJc83ugKd9BbydGzEKeA0OF\n\tBvawcHGkTSwUIwMgJabbF8+jgJPjOFa/EAbxUrr82nFM6bWKTDEFwE4d0raeGWvvnqwc\n\tkfFGq5lbnDFKQDUCo0rn2InkwXyBMjsJIdS37RrBsQli7dUsXA6+C/a3o3voh8vRMWtd\n\tLx5XTybgRR+OV2Z/bQ4LNF20QiCidyuwnnKivv5cA7NwovdaxTyuJd36E7cT4tvv+woQ\n\tzIEjbqZdZR63atk8+w9ABCE0i74ixVMcpLFve+L7NG9AwQV+yLfUB8syHz7nCqLIIxCZ\n\tmUhg==","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20161025;\n\th=x-gm-message-state:mime-version:sender:from:in-reply-to:references\n\t:date:message-id:subject:to:cc;\n\tbh=tLXWyc2+XSqIxNIgPuxGBbA5GhUhFcCLQwv3R2x0zwI=;\n\tb=hLzMXHCKBHZEZtIBlw3qXMFVX/hEa0XHYUI9NKGNfBuNADzdDHltNwVE2ZS5ZFAByS\n\tuI8bgi6BUIIHI9J7/FcP6x7DlEMMoFld2zx0lNLyVHRxjxmkiaN06sDXk64m3LefKjSn\n\tnWRO+qTZd7I6Xq2iAIt4ms2OXKtsiJeGoENGEJXCKT7Cdr2SagFDIESXZZjH5UaZBA1h\n\txnv8SE3wAa5MLCPPENCpqamGToK+Z+CSy+T3/HjobJoapXb8PR+z7F6k5kxTHRW5N82R\n\t2ssJgfBSGTipUUW0eRDy2SP/RrexOAhBqEjvTwHI/h1u7BRDwxjzxwSkIf4dDvzDymq/\n\tzRjQ==","X-Gm-Message-State":"AHPjjUh/VxCgJFeLVrr6bh9kay7ME4nd/QYUUU++Lpu/svyUJKHPWC4U\n\tFwdNEKGnglGOTb5p+JnutHdW26f1GBkUAU9mQ3MZ1Q==","X-Google-Smtp-Source":"AOwi7QCZq5gplfOZ2px8blwj13q7UQONPW0QLGQYo7p/RfWs6rJL2QjLNXjgBQ+9VpQubER6y6MbStPI71yRtxAaaNU=","X-Received":"by 10.55.76.205 with SMTP id z196mr9393866qka.252.1505503182910; \n\tFri, 15 Sep 2017 12:19:42 -0700 (PDT)","MIME-Version":"1.0","From":"sjg@google.com","In-Reply-To":"<CAPnjgZ1zex8LyDBZzZmifQM+-K3cseFVGRMptP9XnHgXAR2Tow@mail.gmail.com>","References":"<CAPnjgZ1zex8LyDBZzZmifQM+-K3cseFVGRMptP9XnHgXAR2Tow@mail.gmail.com>\n\t<1504555943-12893-1-git-send-email-pantelis.antoniou@konsulko.com>\n\t<1504555943-12893-9-git-send-email-pantelis.antoniou@konsulko.com>","Date":"Fri, 15 Sep 2017 21:19:41 +0200","X-Google-Sender-Auth":"nCgxJQMfS-7yULUskQYqO5QJ4Hc","Message-ID":"<CAPnjgZ3cix7OC_yP01KviPM559OLQWew4RYKWJPBsdx59zNhiA@mail.gmail.com>","To":"Simon Glass <sjg@chromium.org>","Cc":"Marek Vasut <marex@denx.de>, Tom Rini <trini@konsulko.com>,\n\tPantelis Antoniou <pantelis.antoniou@konsulko.com>,\n\tTero Kristo <t-kristo@ti.com>,\n\tU-Boot Mailing List <u-boot@lists.denx.de>, \n\tMaxime Ripard <maxime.ripard@free-electrons.com>,\n\tStefan Roese <sr@denx.de>, Alan Ott <alan@signal11.us>","Subject":"Re: [U-Boot] [PATCH v3 08/14] fit: fdt overlays doc","X-BeenThere":"u-boot@lists.denx.de","X-Mailman-Version":"2.1.18","Precedence":"list","List-Id":"U-Boot discussion <u-boot.lists.denx.de>","List-Unsubscribe":"<https://lists.denx.de/options/u-boot>,\n\t<mailto:u-boot-request@lists.denx.de?subject=unsubscribe>","List-Archive":"<http://lists.denx.de/pipermail/u-boot/>","List-Post":"<mailto:u-boot@lists.denx.de>","List-Help":"<mailto:u-boot-request@lists.denx.de?subject=help>","List-Subscribe":"<https://lists.denx.de/listinfo/u-boot>,\n\t<mailto:u-boot-request@lists.denx.de?subject=subscribe>","Content-Type":"text/plain; charset=\"utf-8\"","Content-Transfer-Encoding":"base64","Errors-To":"u-boot-bounces@lists.denx.de","Sender":"\"U-Boot\" <u-boot-bounces@lists.denx.de>"}}]