zephyr/scripts
Ulf Magnusson 0b1ab4ab09 scripts: dts: Replace 'sub-node:' with more general 'child-binding:'
Deprecate 'sub-node:' and add a more general 'child-binding:' mechanism
to bindings. Keep supporting 'sub-node:', but print a deprecation
warning when it's used.

Like 'sub-node:', 'child-binding:' gives a binding to child nodes, but
the binding is required to be a complete binding, and is treated (and
checked) like a normal binding.

'child-binding:' can in turn contain another 'child-binding:', up to any
number of levels. This is automatic from treating it like a normal
binding, and from the code initializing parent Devices before child
Devices.

This lets nodes give bindings to grandchildren.

For example, take this devicetree fragment:

    parent {
            compatible = "foo";
            child-1 {
                    grandchild-1 {
                            ...
                    };
                    grandchild-2 {
                            ...
                    };
            };
            child-2 {
                    grandchild-3 {
                            ...
                    };
            };
    };

The binding for 'foo' could provide bindings for grandchild-1/2/3 like
this:

    compatible: "foo"

    # Binding for children
    child-binding:
        title: ...
        description: ...

        ...

        # Binding for grandchildren
        child-binding:
            title: ...
            description: ...

            properties:
                ...

Due to implementation issues with the old devicetree scripts, only two
levels of 'child-binding:' is supported for now. This limitation will go
away in Zephyr 2.2.

Piggyback shortening 'description:' and 'title:' in some bindings that
provide child bindings. This makes the generated header a bit neater.

Signed-off-by: Ulf Magnusson <Ulf.Magnusson@nordicsemi.no>
2019-09-19 08:39:22 -05:00
..
checkpatch
ci ci: run_ci: Refactor west setup into a function 2019-09-18 19:13:37 -05:00
coccinelle
dts scripts: dts: Replace 'sub-node:' with more general 'child-binding:' 2019-09-19 08:39:22 -05:00
footprint scripts: footprint: Fix pylint warnings 2019-09-14 13:35:08 +08:00
gitlint zephyr_commit_rules.py: Fix pylint warning by simplifying conditional 2019-09-08 22:19:37 -04:00
kconfig kconfig: support multiple DTS bindings directories 2019-09-16 05:29:27 -05:00
sanity_chk scripts: Simplify code with sys.exit(<string>) 2019-09-08 12:34:16 +02:00
support scripts: Simplify code with sys.exit(<string>) 2019-09-08 12:34:16 +02:00
west_commands west: flash: Fix exception on build folder guessing 2019-09-07 10:24:17 -04:00
.gitignore
checkpatch.pl
checkstack.pl
coccicheck
dir_is_writeable.py
elf_helper.py scripts: elf_helper.py: fix C++ template constexpr value processing 2019-09-17 20:49:34 +08:00
file2hex.py
filter-known-issues.py filter-known-issues.py: Remove '== True' test 2019-09-08 22:20:20 -04:00
gen_app_partitions.py scripts: Fix random typo'd whitespace 2019-09-07 07:54:17 -04:00
gen_cfb_font_header.py scripts: Fix random typo'd whitespace 2019-09-07 07:54:17 -04:00
gen_gcov_files.py gen_gcov_files.py: Replace bare 'except' with 'except Exception' 2019-09-07 07:58:16 -04:00
gen_kobject_list.py rtc: Remove old rtc functionality 2019-09-14 07:33:38 -05:00
gen_offset_header.py
gen_priv_stacks.py scripts: Simplify code with sys.exit(<string>) 2019-09-08 12:34:16 +02:00
gen_relocate_app.py scripts: pep8 gen_relocate_app.py 2019-09-19 00:34:38 -04:00
gen_syscall_header.py userspace: Support for split 64 bit arguments 2019-09-12 11:31:50 +08:00
gen_syscalls.py gen_syscalls.py: Remove semicolons, unused variables, and a '!= None' 2019-09-14 13:36:41 +08:00
mergehex.py
parse_syscalls.py
process_gperf.py scripts: Simplify code with sys.exit(<string>) 2019-09-08 12:34:16 +02:00
requirements.txt scripts: west_commands: verify minimum cmake version 2019-09-07 10:08:23 -04:00
sanitycheck sanitycheck: Merge common vs per-test "filter" field values semantically 2019-09-19 00:29:41 -04:00
series-push-hook.sh
spelling.txt
subfolder_list.py
tags.sh
valgrind.supp
waitpid
west-commands.yml
zephyr_module.py scripts: Simplify code with sys.exit(<string>) 2019-09-08 12:34:16 +02:00