mirror of
https://git.codelinaro.org/clo/qsdk/oss/boot/u-boot-2016.git
synced 2026-03-14 21:10:27 +01:00
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>
|
||
|---|---|---|
| .. | ||
| at91 | ||
| bzip2 | ||
| dhry | ||
| efi | ||
| efi_loader | ||
| libfdt | ||
| lzma | ||
| lzo | ||
| rsa | ||
| tizen | ||
| zlib | ||
| addr_map.c | ||
| aes.c | ||
| asm-offsets.c | ||
| bch.c | ||
| bitrev.c | ||
| charset.c | ||
| circbuf.c | ||
| crc7.c | ||
| crc8.c | ||
| crc16.c | ||
| crc32.c | ||
| ctype.c | ||
| display_options.c | ||
| div64.c | ||
| errno.c | ||
| errno_str.c | ||
| fdtdec.c | ||
| fdtdec_common.c | ||
| fdtdec_test.c | ||
| gunzip.c | ||
| gzip.c | ||
| hang.c | ||
| hashtable.c | ||
| initcall.c | ||
| Kconfig | ||
| ldiv.c | ||
| linux_compat.c | ||
| linux_string.c | ||
| list_sort.c | ||
| lmb.c | ||
| lz4.c | ||
| lz4_wrapper.c | ||
| Makefile | ||
| md5.c | ||
| membuff.c | ||
| net_utils.c | ||
| of_live.c | ||
| panic.c | ||
| physmem.c | ||
| qsort.c | ||
| rand.c | ||
| rbtree.c | ||
| rc4.c | ||
| sha1.c | ||
| sha256.c | ||
| slre.c | ||
| smbios.c | ||
| string.c | ||
| strmhz.c | ||
| strto.c | ||
| tables_csum.c | ||
| time.c | ||
| tiny-printf.c | ||
| tpm.c | ||
| trace.c | ||
| uuid.c | ||
| vsprintf.c | ||