1
0
mirror of https://xff.cz/git/u-boot/ synced 2026-01-09 01:59:18 +01:00
Files
u-boot-megous/lib
Pantelis Antoniou f00c36a01e fdt: Allow stacked overlays phandle references
This patch enables an overlay to refer to a previous overlay's
labels by performing a merge of symbol information at application
time.

In a nutshell it allows an overlay to refer to a symbol that a previous
overlay has defined. It requires both the base and all the overlays
to be compiled with the -@ command line switch so that symbol
information is included.

base.dts
--------

	/dts-v1/;
	/ {
		foo: foonode {
			foo-property;
		};
	};

	$ dtc -@ -I dts -O dtb -o base.dtb base.dts

bar.dts
-------

	/dts-v1/;
	/plugin/;
	/ {
		fragment@1 {
			target = <&foo>;
			__overlay__ {
				overlay-1-property;
				bar: barnode {
					bar-property;
				};
			};
		};
	};

	$ dtc -@ -I dts -O dtb -o bar.dtb bar.dts

baz.dts
-------

	/dts-v1/;
	/plugin/;
	/ {
		fragment@1 {
			target = <&bar>;
			__overlay__ {
				overlay-2-property;
				baz: baznode {
					baz-property;
				};
			};
		};
	};

	$ dtc -@ -I dts -O dtb -o baz.dtb baz.dts

Applying the overlays:

	$ fdtoverlay -i base.dtb -o target.dtb bar.dtb baz.dtb

Dumping:

	$ fdtdump target.dtb
	/ {
            foonode {
                overlay-1-property;
                foo-property;
                linux,phandle = <0x00000001>;
                phandle = <0x00000001>;
                barnode {
                    overlay-2-property;
                    phandle = <0x00000002>;
                    linux,phandle = <0x00000002>;
                    bar-property;
                    baznode {
                        phandle = <0x00000003>;
                        linux,phandle = <0x00000003>;
                        baz-property;
                    };
                };
            };
            __symbols__ {
                baz = "/foonode/barnode/baznode";
                bar = "/foonode/barnode";
                foo = "/foonode";
            };
	};

Signed-off-by: Pantelis Antoniou <pantelis.antoniou@konsulko.com>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
Acked-by: Simon Glass <sjg@chromium.org>
2017-09-15 05:27:48 -06:00
..
2017-05-12 08:37:19 -04:00
2016-02-06 12:00:59 +01:00
2017-04-12 13:28:27 -04:00
2017-09-12 17:57:59 -04:00
2011-01-18 23:38:08 +01:00
2016-04-11 20:48:26 -04:00
2017-04-13 09:41:10 -04:00
2010-09-19 19:29:47 +02:00
2016-05-02 18:37:09 -04:00
2014-10-25 07:02:01 -04:00
2012-04-29 14:14:08 +02:00
2015-07-21 17:39:28 -06:00
2016-11-21 14:07:30 -05:00
2017-05-12 08:37:18 -04:00
2017-08-16 08:30:24 -04:00
2017-06-01 07:03:12 -06:00
2016-10-11 11:55:33 +08:00
2017-08-13 15:17:29 -04:00
2017-08-16 08:22:18 -04:00
2017-09-12 17:58:00 -04:00