Source-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[src/netbsd-8]: src/external/gpl2/dtc Pull up following revision(s) (requeste...
details: https://anonhg.NetBSD.org/src/rev/4ee614e05cd0
branches: netbsd-8
changeset: 850834:4ee614e05cd0
user: snj <snj%NetBSD.org@localhost>
date: Tue Jul 18 17:17:52 2017 +0000
description:
Pull up following revision(s) (requested by jmcneill in ticket #114):
external/gpl2/dtc/Makefile: up to 1.1
external/gpl2/dtc/Makefile.inc: up to 1.2
external/gpl2/dtc/dist/.gitignore delete
external/gpl2/dtc/dist/.travis.yml delete
external/gpl2/dtc/dist/Documentation/dt-object-internal.txt: up to 1.1.1.1
external/gpl2/dtc/dist/Documentation/manual.txt: up to 1.1.1.2
external/gpl2/dtc/dist/Makefile: up to 1.1.1.2
external/gpl2/dtc/dist/README: up to 1.1.1.2
external/gpl2/dtc/dist/checks.c: up to 1.1.1.2
external/gpl2/dtc/dist/convert-dtsv0-lexer.l: up to 1.1.1.2
external/gpl2/dtc/dist/data.c: up to 1.3
external/gpl2/dtc/dist/dtc-lexer.l: up to 1.3
external/gpl2/dtc/dist/dtc-parser.y: up to 1.3
external/gpl2/dtc/dist/dtc.c: up to 1.1.1.2
external/gpl2/dtc/dist/dtc.h: up to 1.3
external/gpl2/dtc/dist/fdtdump.c: up to 1.3
external/gpl2/dtc/dist/fdtget.c: up to 1.1.1.2
external/gpl2/dtc/dist/fdtput.c: up to 1.3
external/gpl2/dtc/dist/flattree.c: up to 1.4
external/gpl2/dtc/dist/fstree.c: up to 1.1.1.2
external/gpl2/dtc/dist/libfdt/Makefile.libfdt delete
external/gpl2/dtc/dist/libfdt/TODO delete
external/gpl2/dtc/dist/libfdt/fdt.c delete
external/gpl2/dtc/dist/libfdt/fdt.h delete
external/gpl2/dtc/dist/libfdt/fdt_addresses.c delete
external/gpl2/dtc/dist/libfdt/fdt_empty_tree.c delete
external/gpl2/dtc/dist/libfdt/fdt_ro.c delete
external/gpl2/dtc/dist/libfdt/fdt_rw.c delete
external/gpl2/dtc/dist/libfdt/fdt_strerror.c delete
external/gpl2/dtc/dist/libfdt/fdt_sw.c delete
external/gpl2/dtc/dist/libfdt/fdt_wip.c delete
external/gpl2/dtc/dist/libfdt/libfdt.h delete
external/gpl2/dtc/dist/libfdt/libfdt_env.h delete
external/gpl2/dtc/dist/libfdt/libfdt_internal.h delete
external/gpl2/dtc/dist/libfdt/version.lds delete
external/gpl2/dtc/dist/livetree.c: up to 1.1.1.2
external/gpl2/dtc/dist/srcpos.c: up to 1.3
external/gpl2/dtc/dist/srcpos.h: up to 1.1.1.2
external/gpl2/dtc/dist/tests/.gitignore: up to 1.1.1.2
external/gpl2/dtc/dist/tests/Makefile.tests: up to 1.1.1.2
external/gpl2/dtc/dist/tests/add_subnode_with_nops.c: up to 1.1.1.2
external/gpl2/dtc/dist/tests/addr_size_cells.c: up to 1.1.1.2
external/gpl2/dtc/dist/tests/appendprop1.c: up to 1.1.1.2
external/gpl2/dtc/dist/tests/appendprop2.c: up to 1.1.1.2
external/gpl2/dtc/dist/tests/asm_tree_dump.c: up to 1.1.1.2
external/gpl2/dtc/dist/tests/bad-octal-literal.dts: up to 1.1.1.1
external/gpl2/dtc/dist/tests/boot-cpuid.c: up to 1.1.1.2
external/gpl2/dtc/dist/tests/char_literal.c: up to 1.1.1.2
external/gpl2/dtc/dist/tests/check_path.c: up to 1.1.1.1
external/gpl2/dtc/dist/tests/del_node.c: up to 1.1.1.2
external/gpl2/dtc/dist/tests/del_property.c: up to 1.1.1.2
external/gpl2/dtc/dist/tests/division-by-zero.dts: up to 1.1.1.1
external/gpl2/dtc/dist/tests/dtb_reverse.c: up to 1.1.1.2
external/gpl2/dtc/dist/tests/dtbs_equal_ordered.c: up to 1.1.1.2
external/gpl2/dtc/dist/tests/dtbs_equal_unordered.c: up to 1.1.1.2
external/gpl2/dtc/dist/tests/dumptrees.c: up to 1.1.1.2
external/gpl2/dtc/dist/tests/extra-terminating-null.c: up to 1.1.1.2
external/gpl2/dtc/dist/tests/find_property.c: up to 1.1.1.2
external/gpl2/dtc/dist/tests/get_alias.c: up to 1.1.1.2
external/gpl2/dtc/dist/tests/get_mem_rsv.c: up to 1.1.1.2
external/gpl2/dtc/dist/tests/get_name.c: up to 1.1.1.2
external/gpl2/dtc/dist/tests/get_path.c: up to 1.1.1.2
external/gpl2/dtc/dist/tests/get_phandle.c: up to 1.1.1.2
external/gpl2/dtc/dist/tests/getprop.c: up to 1.1.1.2
external/gpl2/dtc/dist/tests/incbin.c: up to 1.1.1.2
external/gpl2/dtc/dist/tests/integer-expressions.c: up to 1.1.1.2
external/gpl2/dtc/dist/tests/line_directives.dts: up to 1.1.1.2
external/gpl2/dtc/dist/tests/mangle-layout.c: up to 1.3
external/gpl2/dtc/dist/tests/move_and_save.c: up to 1.3
external/gpl2/dtc/dist/tests/node_check_compatible.c: up to 1.1.1.2
external/gpl2/dtc/dist/tests/node_offset_by_compatible.c: up to 1.1.1.2
external/gpl2/dtc/dist/tests/node_offset_by_phandle.c: up to 1.1.1.2
external/gpl2/dtc/dist/tests/node_offset_by_prop_value.c: up to 1.1.1.2
external/gpl2/dtc/dist/tests/nop_node.c: up to 1.1.1.2
external/gpl2/dtc/dist/tests/nop_property.c: up to 1.1.1.2
external/gpl2/dtc/dist/tests/nopulate.c: up to 1.1.1.2
external/gpl2/dtc/dist/tests/notfound.c: up to 1.1.1.2
external/gpl2/dtc/dist/tests/nul-in-escape.dts: up to 1.1.1.1
external/gpl2/dtc/dist/tests/nul-in-line-info1.dts: up to 1.1.1.1
external/gpl2/dtc/dist/tests/nul-in-line-info2.dts: up to 1.1.1.1
external/gpl2/dtc/dist/tests/open_pack.c: up to 1.1.1.2
external/gpl2/dtc/dist/tests/overlay.c: up to 1.1.1.1
external/gpl2/dtc/dist/tests/overlay_bad_fixup.c: up to 1.1.1.1
external/gpl2/dtc/dist/tests/overlay_bad_fixup_bad_index.dts: up to 1.1.1.1
external/gpl2/dtc/dist/tests/overlay_bad_fixup_base.dtsi: up to 1.1.1.1
external/gpl2/dtc/dist/tests/overlay_bad_fixup_empty.dts: up to 1.1.1.1
external/gpl2/dtc/dist/tests/overlay_bad_fixup_empty_index.dts: up to 1.1.1.1
external/gpl2/dtc/dist/tests/overlay_bad_fixup_index_trailing.dts: up to 1.1.1.1
external/gpl2/dtc/dist/tests/overlay_bad_fixup_path_empty_prop.dts: up to 1.1.1.1
external/gpl2/dtc/dist/tests/overlay_bad_fixup_path_only.dts: up to 1.1.1.1
external/gpl2/dtc/dist/tests/overlay_bad_fixup_path_only_sep.dts: up to 1.1.1.1
external/gpl2/dtc/dist/tests/overlay_bad_fixup_path_prop.dts: up to 1.1.1.1
external/gpl2/dtc/dist/tests/overlay_base.dts: up to 1.1.1.1
external/gpl2/dtc/dist/tests/overlay_base_manual_symbols.dts: up to 1.1.1.1
external/gpl2/dtc/dist/tests/overlay_overlay.dts: up to 1.1.1.1
external/gpl2/dtc/dist/tests/overlay_overlay_manual_fixups.dts: up to 1.1.1.1
external/gpl2/dtc/dist/tests/overlay_overlay_no_fixups.dts: up to 1.1.1.1
external/gpl2/dtc/dist/tests/overlay_overlay_simple.dts: up to 1.1.1.1
external/gpl2/dtc/dist/tests/parent_offset.c: up to 1.1.1.2
external/gpl2/dtc/dist/tests/path-references.c: up to 1.1.1.2
external/gpl2/dtc/dist/tests/path_offset.c: up to 1.1.1.2
external/gpl2/dtc/dist/tests/path_offset_aliases.c: up to 1.1.1.2
external/gpl2/dtc/dist/tests/phandle_format.c: up to 1.1.1.2
external/gpl2/dtc/dist/tests/property_iterate.c: up to 1.1.1.1
external/gpl2/dtc/dist/tests/property_iterate.dts: up to 1.1.1.1
external/gpl2/dtc/dist/tests/propname_escapes.c: up to 1.1.1.2
external/gpl2/dtc/dist/tests/references.c: up to 1.1.1.2
external/gpl2/dtc/dist/tests/reg-without-unit-addr.dts: up to 1.1.1.1
external/gpl2/dtc/dist/tests/root_node.c: up to 1.1.1.2
external/gpl2/dtc/dist/tests/run_tests.sh: up to 1.1.1.2
external/gpl2/dtc/dist/tests/rw_tree1.c: up to 1.1.1.2
external/gpl2/dtc/dist/tests/set_name.c: up to 1.1.1.2
external/gpl2/dtc/dist/tests/setprop.c: up to 1.1.1.2
external/gpl2/dtc/dist/tests/setprop_inplace.c: up to 1.1.1.2
external/gpl2/dtc/dist/tests/sized_cells.c: up to 1.1.1.2
external/gpl2/dtc/dist/tests/string_escapes.c: up to 1.1.1.2
external/gpl2/dtc/dist/tests/stringlist.c: up to 1.1.1.2
external/gpl2/dtc/dist/tests/subnode_iterate.c: up to 1.1.1.2
external/gpl2/dtc/dist/tests/subnode_offset.c: up to 1.1.1.2
external/gpl2/dtc/dist/tests/supernode_atdepth_offset.c: up to 1.1.1.2
external/gpl2/dtc/dist/tests/sw_tree1.c: up to 1.1.1.2
external/gpl2/dtc/dist/tests/test_label_ref.dts: up to 1.1.1.1
external/gpl2/dtc/dist/tests/test_tree1.dts: up to 1.1.1.2
external/gpl2/dtc/dist/tests/test_tree1_body.dtsi delete
external/gpl2/dtc/dist/tests/test_tree1_delete.dts: up to 1.1.1.2
external/gpl2/dtc/dist/tests/testdata.h: up to 1.1.1.2
external/gpl2/dtc/dist/tests/tests.h: up to 1.3
external/gpl2/dtc/dist/tests/testutils.c: up to 1.1.1.2
external/gpl2/dtc/dist/tests/trees.S: up to 1.1.1.2
external/gpl2/dtc/dist/tests/truncated_property.c: up to 1.1.1.2
external/gpl2/dtc/dist/tests/unit-addr-without-reg.dts: up to 1.1.1.1
external/gpl2/dtc/dist/tests/utilfdt_test.c: up to 1.1.1.2
external/gpl2/dtc/dist/tests/value-labels.c: up to 1.1.1.2
external/gpl2/dtc/dist/treesource.c: up to 1.1.1.2
external/gpl2/dtc/dist/util.c: up to 1.1.1.2
external/gpl2/dtc/dist/util.h: up to 1.3
external/gpl2/dtc/dtc2netbsd: up to 1.2
external/gpl2/dtc/lib/Makefile: up to 1.1
external/gpl2/dtc/lib/libfdt/Makefile: up to 1.3
external/gpl2/dtc/usr.bin/Makefile: up to 1.1
external/gpl2/dtc/usr.bin/Makefile.inc: up to 1.1
external/gpl2/dtc/usr.bin/dtc/Makefile: up to 1.2
external/gpl2/dtc/usr.bin/dtc/version_gen.h: up to 1.2
Import DTC 1.4.4.
diffstat:
external/gpl2/dtc/Makefile | 5 +
external/gpl2/dtc/Makefile.inc | 5 +
external/gpl2/dtc/dist/.gitignore | 17 -
external/gpl2/dtc/dist/.travis.yml | 5 -
external/gpl2/dtc/dist/Documentation/dt-object-internal.txt | 310 +
external/gpl2/dtc/dist/Documentation/manual.txt | 23 +-
external/gpl2/dtc/dist/Makefile | 32 +-
external/gpl2/dtc/dist/README | 4 -
external/gpl2/dtc/dist/checks.c | 481 +-
external/gpl2/dtc/dist/convert-dtsv0-lexer.l | 6 +-
external/gpl2/dtc/dist/data.c | 20 +-
external/gpl2/dtc/dist/dtc-lexer.l | 67 +-
external/gpl2/dtc/dist/dtc-parser.y | 73 +-
external/gpl2/dtc/dist/dtc.c | 78 +-
external/gpl2/dtc/dist/dtc.h | 49 +-
external/gpl2/dtc/dist/fdtdump.c | 41 +-
external/gpl2/dtc/dist/fdtget.c | 14 +-
external/gpl2/dtc/dist/fdtput.c | 19 +-
external/gpl2/dtc/dist/flattree.c | 109 +-
external/gpl2/dtc/dist/fstree.c | 7 +-
external/gpl2/dtc/dist/libfdt/Makefile.libfdt | 11 -
external/gpl2/dtc/dist/libfdt/TODO | 3 -
external/gpl2/dtc/dist/libfdt/fdt.c | 250 -
external/gpl2/dtc/dist/libfdt/fdt.h | 111 -
external/gpl2/dtc/dist/libfdt/fdt_addresses.c | 96 -
external/gpl2/dtc/dist/libfdt/fdt_empty_tree.c | 84 -
external/gpl2/dtc/dist/libfdt/fdt_ro.c | 679 ----
external/gpl2/dtc/dist/libfdt/fdt_rw.c | 494 --
external/gpl2/dtc/dist/libfdt/fdt_strerror.c | 96 -
external/gpl2/dtc/dist/libfdt/fdt_sw.c | 288 -
external/gpl2/dtc/dist/libfdt/fdt_wip.c | 118 -
external/gpl2/dtc/dist/libfdt/libfdt.h | 1653 ----------
external/gpl2/dtc/dist/libfdt/libfdt_env.h | 111 -
external/gpl2/dtc/dist/libfdt/libfdt_internal.h | 95 -
external/gpl2/dtc/dist/libfdt/version.lds | 67 -
external/gpl2/dtc/dist/livetree.c | 321 +-
external/gpl2/dtc/dist/srcpos.c | 41 +-
external/gpl2/dtc/dist/srcpos.h | 14 +-
external/gpl2/dtc/dist/tests/.gitignore | 4 +
external/gpl2/dtc/dist/tests/Makefile.tests | 5 +-
external/gpl2/dtc/dist/tests/add_subnode_with_nops.c | 2 +
external/gpl2/dtc/dist/tests/addr_size_cells.c | 2 +
external/gpl2/dtc/dist/tests/appendprop1.c | 2 +
external/gpl2/dtc/dist/tests/appendprop2.c | 2 +
external/gpl2/dtc/dist/tests/asm_tree_dump.c | 2 +
external/gpl2/dtc/dist/tests/bad-octal-literal.dts | 5 +
external/gpl2/dtc/dist/tests/boot-cpuid.c | 2 +
external/gpl2/dtc/dist/tests/char_literal.c | 4 +-
external/gpl2/dtc/dist/tests/check_path.c | 85 +
external/gpl2/dtc/dist/tests/del_node.c | 2 +
external/gpl2/dtc/dist/tests/del_property.c | 2 +
external/gpl2/dtc/dist/tests/division-by-zero.dts | 6 +
external/gpl2/dtc/dist/tests/dtb_reverse.c | 2 +
external/gpl2/dtc/dist/tests/dtbs_equal_ordered.c | 4 +-
external/gpl2/dtc/dist/tests/dtbs_equal_unordered.c | 12 +-
external/gpl2/dtc/dist/tests/dumptrees.c | 5 +-
external/gpl2/dtc/dist/tests/extra-terminating-null.c | 2 +
external/gpl2/dtc/dist/tests/find_property.c | 2 +
external/gpl2/dtc/dist/tests/get_alias.c | 2 +
external/gpl2/dtc/dist/tests/get_mem_rsv.c | 2 +
external/gpl2/dtc/dist/tests/get_name.c | 2 +
external/gpl2/dtc/dist/tests/get_path.c | 2 +
external/gpl2/dtc/dist/tests/get_phandle.c | 8 +
external/gpl2/dtc/dist/tests/getprop.c | 2 +
external/gpl2/dtc/dist/tests/incbin.c | 2 +
external/gpl2/dtc/dist/tests/integer-expressions.c | 6 +-
external/gpl2/dtc/dist/tests/line_directives.dts | 5 +
external/gpl2/dtc/dist/tests/mangle-layout.c | 4 +-
external/gpl2/dtc/dist/tests/move_and_save.c | 4 +-
external/gpl2/dtc/dist/tests/node_check_compatible.c | 2 +
external/gpl2/dtc/dist/tests/node_offset_by_compatible.c | 2 +
external/gpl2/dtc/dist/tests/node_offset_by_phandle.c | 2 +
external/gpl2/dtc/dist/tests/node_offset_by_prop_value.c | 4 +-
external/gpl2/dtc/dist/tests/nop_node.c | 2 +
external/gpl2/dtc/dist/tests/nop_property.c | 2 +
external/gpl2/dtc/dist/tests/nopulate.c | 4 +-
external/gpl2/dtc/dist/tests/notfound.c | 2 +
external/gpl2/dtc/dist/tests/nul-in-escape.dts | Bin
external/gpl2/dtc/dist/tests/nul-in-line-info1.dts | Bin
external/gpl2/dtc/dist/tests/nul-in-line-info2.dts | 1 +
external/gpl2/dtc/dist/tests/open_pack.c | 2 +
external/gpl2/dtc/dist/tests/overlay.c | 235 +
external/gpl2/dtc/dist/tests/overlay_bad_fixup.c | 72 +
external/gpl2/dtc/dist/tests/overlay_bad_fixup_bad_index.dts | 14 +
external/gpl2/dtc/dist/tests/overlay_bad_fixup_base.dtsi | 18 +
external/gpl2/dtc/dist/tests/overlay_bad_fixup_empty.dts | 14 +
external/gpl2/dtc/dist/tests/overlay_bad_fixup_empty_index.dts | 14 +
external/gpl2/dtc/dist/tests/overlay_bad_fixup_index_trailing.dts | 14 +
external/gpl2/dtc/dist/tests/overlay_bad_fixup_path_empty_prop.dts | 14 +
external/gpl2/dtc/dist/tests/overlay_bad_fixup_path_only.dts | 14 +
external/gpl2/dtc/dist/tests/overlay_bad_fixup_path_only_sep.dts | 14 +
external/gpl2/dtc/dist/tests/overlay_bad_fixup_path_prop.dts | 14 +
external/gpl2/dtc/dist/tests/overlay_base.dts | 21 +
external/gpl2/dtc/dist/tests/overlay_base_manual_symbols.dts | 25 +
external/gpl2/dtc/dist/tests/overlay_overlay.dts | 86 +
external/gpl2/dtc/dist/tests/overlay_overlay_manual_fixups.dts | 112 +
external/gpl2/dtc/dist/tests/overlay_overlay_no_fixups.dts | 82 +
external/gpl2/dtc/dist/tests/overlay_overlay_simple.dts | 12 +
external/gpl2/dtc/dist/tests/parent_offset.c | 2 +
external/gpl2/dtc/dist/tests/path-references.c | 2 +
external/gpl2/dtc/dist/tests/path_offset.c | 2 +
external/gpl2/dtc/dist/tests/path_offset_aliases.c | 2 +
external/gpl2/dtc/dist/tests/phandle_format.c | 2 +
external/gpl2/dtc/dist/tests/property_iterate.c | 99 +
external/gpl2/dtc/dist/tests/property_iterate.dts | 23 +
external/gpl2/dtc/dist/tests/propname_escapes.c | 2 +
external/gpl2/dtc/dist/tests/references.c | 6 +-
external/gpl2/dtc/dist/tests/reg-without-unit-addr.dts | 10 +
external/gpl2/dtc/dist/tests/root_node.c | 2 +
external/gpl2/dtc/dist/tests/run_tests.sh | 119 +
external/gpl2/dtc/dist/tests/rw_tree1.c | 2 +
external/gpl2/dtc/dist/tests/set_name.c | 2 +
external/gpl2/dtc/dist/tests/setprop.c | 4 +-
external/gpl2/dtc/dist/tests/setprop_inplace.c | 12 +
external/gpl2/dtc/dist/tests/sized_cells.c | 8 +-
external/gpl2/dtc/dist/tests/string_escapes.c | 2 +
external/gpl2/dtc/dist/tests/stringlist.c | 2 +
external/gpl2/dtc/dist/tests/subnode_iterate.c | 14 +-
external/gpl2/dtc/dist/tests/subnode_offset.c | 2 +
external/gpl2/dtc/dist/tests/supernode_atdepth_offset.c | 2 +
external/gpl2/dtc/dist/tests/sw_tree1.c | 6 +-
external/gpl2/dtc/dist/tests/test_label_ref.dts | 9 +
external/gpl2/dtc/dist/tests/test_tree1.dts | 44 +-
external/gpl2/dtc/dist/tests/test_tree1_body.dtsi | 43 -
external/gpl2/dtc/dist/tests/test_tree1_delete.dts | 2 +-
external/gpl2/dtc/dist/tests/testdata.h | 6 +
external/gpl2/dtc/dist/tests/tests.h | 12 +-
external/gpl2/dtc/dist/tests/testutils.c | 2 +
external/gpl2/dtc/dist/tests/trees.S | 31 +
external/gpl2/dtc/dist/tests/truncated_property.c | 2 +
external/gpl2/dtc/dist/tests/unit-addr-without-reg.dts | 9 +
external/gpl2/dtc/dist/tests/utilfdt_test.c | 2 +
external/gpl2/dtc/dist/tests/value-labels.c | 8 +-
external/gpl2/dtc/dist/treesource.c | 22 +-
external/gpl2/dtc/dist/util.c | 44 +-
external/gpl2/dtc/dist/util.h | 29 +-
external/gpl2/dtc/dtc2netbsd | 127 +
external/gpl2/dtc/lib/Makefile | 5 +
external/gpl2/dtc/lib/libfdt/Makefile | 19 +
external/gpl2/dtc/usr.bin/Makefile | 5 +
external/gpl2/dtc/usr.bin/dtc/Makefile | 21 +
external/gpl2/dtc/usr.bin/dtc/version_gen.h | 1 +
142 files changed, 2951 insertions(+), 4705 deletions(-)
diffs (truncated from 10097 to 300 lines):
diff -r 73b331c9b6c7 -r 4ee614e05cd0 external/gpl2/dtc/Makefile
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/external/gpl2/dtc/Makefile Tue Jul 18 17:17:52 2017 +0000
@@ -0,0 +1,5 @@
+# $NetBSD: Makefile,v 1.1.4.2 2017/07/18 17:17:52 snj Exp $
+
+SUBDIR = lib .WAIT usr.bin
+
+.include <bsd.subdir.mk>
diff -r 73b331c9b6c7 -r 4ee614e05cd0 external/gpl2/dtc/Makefile.inc
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/external/gpl2/dtc/Makefile.inc Tue Jul 18 17:17:52 2017 +0000
@@ -0,0 +1,5 @@
+# $NetBSD: Makefile.inc,v 1.2.4.2 2017/07/18 17:17:52 snj Exp $
+
+BINDIR= /usr/bin
+DTCDIST= ${NETBSDSRCDIR}/external/gpl2/dtc/dist
+LIBFDTDIST= ${NETBSDSRCDIR}/sys/external/bsd/libfdt/dist
diff -r 73b331c9b6c7 -r 4ee614e05cd0 external/gpl2/dtc/dist/.gitignore
--- a/external/gpl2/dtc/dist/.gitignore Tue Jul 18 17:09:06 2017 +0000
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,17 +0,0 @@
-*.o
-*.d
-*.a
-*.patch
-*.so
-*~
-*.tab.[ch]
-lex.yy.c
-*.lex.c
-/dtc
-/fdtdump
-/convert-dtsv0
-/version_gen.h
-/fdtget
-/fdtput
-/patches
-/.pc
diff -r 73b331c9b6c7 -r 4ee614e05cd0 external/gpl2/dtc/dist/.travis.yml
--- a/external/gpl2/dtc/dist/.travis.yml Tue Jul 18 17:09:06 2017 +0000
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,5 +0,0 @@
-language: c
-
-script:
- - make
- - make check
diff -r 73b331c9b6c7 -r 4ee614e05cd0 external/gpl2/dtc/dist/Documentation/dt-object-internal.txt
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/external/gpl2/dtc/dist/Documentation/dt-object-internal.txt Tue Jul 18 17:17:52 2017 +0000
@@ -0,0 +1,310 @@
+Device Tree Dynamic Object format internals
+-------------------------------------------
+
+The Device Tree for most platforms is a static representation of
+the hardware capabilities. This is insufficient for platforms
+that need to dynamically insert Device Tree fragments into the
+live tree.
+
+This document explains the the Device Tree object format and
+modifications made to the Device Tree compiler, which make it possible.
+
+1. Simplified Problem Definition
+--------------------------------
+
+Assume we have a platform which boots using following simplified Device Tree.
+
+---- foo.dts -----------------------------------------------------------------
+ /* FOO platform */
+ / {
+ compatible = "corp,foo";
+
+ /* shared resources */
+ res: res {
+ };
+
+ /* On chip peripherals */
+ ocp: ocp {
+ /* peripherals that are always instantiated */
+ peripheral1 { ... };
+ };
+ };
+---- foo.dts -----------------------------------------------------------------
+
+We have a number of peripherals that after probing (using some undefined method)
+should result in different Device Tree configuration.
+
+We cannot boot with this static tree because due to the configuration of the
+foo platform there exist multiple conficting peripherals DT fragments.
+
+So for the bar peripheral we would have this:
+
+---- foo+bar.dts -------------------------------------------------------------
+ /* FOO platform + bar peripheral */
+ / {
+ compatible = "corp,foo";
+
+ /* shared resources */
+ res: res {
+ };
+
+ /* On chip peripherals */
+ ocp: ocp {
+ /* peripherals that are always instantiated */
+ peripheral1 { ... };
+
+ /* bar peripheral */
+ bar {
+ compatible = "corp,bar";
+ ... /* various properties and child nodes */
+ };
+ };
+ };
+---- foo+bar.dts -------------------------------------------------------------
+
+While for the baz peripheral we would have this:
+
+---- foo+baz.dts -------------------------------------------------------------
+ /* FOO platform + baz peripheral */
+ / {
+ compatible = "corp,foo";
+
+ /* shared resources */
+ res: res {
+ /* baz resources */
+ baz_res: res_baz { ... };
+ };
+
+ /* On chip peripherals */
+ ocp: ocp {
+ /* peripherals that are always instantiated */
+ peripheral1 { ... };
+
+ /* baz peripheral */
+ baz {
+ compatible = "corp,baz";
+ /* reference to another point in the tree */
+ ref-to-res = <&baz_res>;
+ ... /* various properties and child nodes */
+ };
+ };
+ };
+---- foo+baz.dts -------------------------------------------------------------
+
+We note that the baz case is more complicated, since the baz peripheral needs to
+reference another node in the DT tree.
+
+2. Device Tree Object Format Requirements
+-----------------------------------------
+
+Since the Device Tree is used for booting a number of very different hardware
+platforms it is imperative that we tread very carefully.
+
+2.a) No changes to the Device Tree binary format for the base tree. We cannot
+modify the tree format at all and all the information we require should be
+encoded using Device Tree itself. We can add nodes that can be safely ignored
+by both bootloaders and the kernel. The plugin dtbs are optionally tagged
+with a different magic number in the header but otherwise they're simple
+blobs.
+
+2.b) Changes to the DTS source format should be absolutely minimal, and should
+only be needed for the DT fragment definitions, and not the base boot DT.
+
+2.c) An explicit option should be used to instruct DTC to generate the required
+information needed for object resolution. Platforms that don't use the
+dynamic object format can safely ignore it.
+
+2.d) Finally, DT syntax changes should be kept to a minimum. It should be
+possible to express everything using the existing DT syntax.
+
+3. Implementation
+-----------------
+
+The basic unit of addressing in Device Tree is the phandle. Turns out it's
+relatively simple to extend the way phandles are generated and referenced
+so that it's possible to dynamically convert symbolic references (labels)
+to phandle values. This is a valid assumption as long as the author uses
+reference syntax and does not assign phandle values manually (which might
+be a problem with decompiled source files).
+
+We can roughly divide the operation into two steps.
+
+3.a) Compilation of the base board DTS file using the '-@' option
+generates a valid DT blob with an added __symbols__ node at the root node,
+containing a list of all nodes that are marked with a label.
+
+Using the foo.dts file above the following node will be generated;
+
+$ dtc -@ -O dtb -o foo.dtb -b 0 foo.dts
+$ fdtdump foo.dtb
+...
+/ {
+ ...
+ res {
+ ...
+ phandle = <0x00000001>;
+ ...
+ };
+ ocp {
+ ...
+ phandle = <0x00000002>;
+ ...
+ };
+ __symbols__ {
+ res="/res";
+ ocp="/ocp";
+ };
+};
+
+Notice that all the nodes that had a label have been recorded, and that
+phandles have been generated for them.
+
+This blob can be used to boot the board normally, the __symbols__ node will
+be safely ignored both by the bootloader and the kernel (the only loss will
+be a few bytes of memory and disk space).
+
+We generate a __symbols__ node to record nodes that had labels in the base
+tree (or subsequent loaded overlays) so that they can be matched up with
+references made to them in Device Tree objects.
+
+3.b) The Device Tree fragments must be compiled with the same option but they
+must also have a tag (/plugin/) that allows undefined references to nodes
+that are not present at compilation time to be recorded so that the runtime
+loader can fix them.
+
+So the bar peripheral's DTS format would be of the form:
+
+/dts-v1/;
+/plugin/; /* allow undefined references and record them */
+/ {
+ .... /* various properties for loader use; i.e. part id etc. */
+ fragment@0 {
+ target = <&ocp>;
+ __overlay__ {
+ /* bar peripheral */
+ bar {
+ compatible = "corp,bar";
+ ... /* various properties and child nodes */
+ }
+ };
+ };
+};
+
+Note that there's a target property that specifies the location where the
+contents of the overlay node will be placed, and it references the node
+in the foo.dts file.
+
+$ dtc -@ -O dtb -o bar.dtbo -b 0 bar.dts
+$ fdtdump bar.dtbo
+...
+/ {
+ ... /* properties */
+ fragment@0 {
+ target = <0xffffffff>;
+ __overlay__ {
+ bar {
+ compatible = "corp,bar";
+ ... /* various properties and child nodes */
+ }
+ };
+ };
+ __fixups__ {
+ ocp = "/fragment@0:target:0";
+ };
+};
+
+No __symbols__ node has been generated (no label in bar.dts).
+Note that the target's ocp label is undefined, so the phandle
+value is filled with the illegal value '0xffffffff', while a __fixups__
+node has been generated, which marks the location in the tree where
+the label lookup should store the runtime phandle value of the ocp node.
+
+The format of the __fixups__ node entry is
+
+ <label> = "<local-full-path>:<property-name>:<offset>"
+ [, "<local-full-path>:<property-name>:<offset>"...];
+
+ <label> Is the label we're referring
+ <local-full-path> Is the full path of the node the reference is
+ <property-name> Is the name of the property containing the
+ reference
+ <offset> The offset (in bytes) of where the property's
+ phandle value is located.
+
+Doing the same with the baz peripheral's DTS format is a little bit more
+involved, since baz contains references to local labels which require
+local fixups.
+
+/dts-v1/;
+/plugin/; /* allow undefined label references and record them */
+/ {
+ .... /* various properties for loader use; i.e. part id etc. */
+ fragment@0 {
+ target = <&res>;
+ __overlay__ {
+ /* baz resources */
+ baz_res: res_baz { ... };
+ };
+ };
Home |
Main Index |
Thread Index |
Old Index