zephyr/scripts
Ulf Magnusson 62d5741476 dts: Add new DTS/binding parser
Add a new DTS/binding parser to scripts/dts/ for generating
generated_dts_board.conf and generated_dts_board_unfixed.h.

The old code is kept to generate some deprecated defines, using the
--deprecated-only flag. It will be removed later.

The new parser is implemented in three files in scripts/dts/:

dtlib.py:
  A low-level .dts parsing library. This is similar to devicetree.py in
  the old code, but is a general robust DTS parser that doesn't rely on
  preprocessing.

edtlib.py (e for extended):
  A library built on top of dtlib.py that brings together data from DTS
  files and bindings and creates Device instances with all the data for
  a device.

gen_defines.py:
  A script that uses edtlib.py to generate generated_dts_board.conf and
  generated_dts_board_unfixed.h. Corresponds to extract_dts_includes.py
  and the files in extract/ in the old code.

testdtlib.py:
  Test suite for dtlib.py. Can be run directly as a script.

testedtlib.py (uses test.dts and test-bindings/):
  Test suite for edtlib.py. Can be run directly as a script.

The test suites will be run automatically in CI.

The new code turns some things that were warnings (or not checked) in
the old code into errors, like missing properties that are specified
with 'category: required' in the binding for the node.

The code includes lots of documentation and tries to give helpful error
messages instead of Python errors.

Co-authored-by: Kumar Gala <kumar.gala@linaro.org>
Signed-off-by: Ulf Magnusson <Ulf.Magnusson@nordicsemi.no>
2019-07-29 16:22:17 -04:00
..
checkpatch kernel: rename NANO_ESF 2019-07-25 15:06:58 -07:00
ci ci: increase sleep time between sanitycheck runs 2019-06-20 22:15:27 +02:00
coccinelle scripts/coccinelle: Add script for counting identifier length 2019-04-18 12:29:07 -04:00
dts dts: Add new DTS/binding parser 2019-07-29 16:22:17 -04:00
footprint size_report: Don't crash when observing stripped symbols 2019-07-05 14:18:49 -04:00
gitlint license: cleanup: add SPDX Apache-2.0 license identifier 2019-04-07 08:45:22 -04:00
kconfig genrest: De-spam docs by skipping direct deps. in more places 2019-06-24 12:14:06 -07:00
sanity_chk sanitycheck: simplify fault detection 2019-07-25 15:06:58 -07:00
support license: cleanup: add SPDX Apache-2.0 license identifier 2019-04-07 08:45:22 -04:00
west_commands west: Load CMakeCache.txt as a UTF-8 encoded file 2019-07-18 16:50:08 +02:00
.gitignore
checkpatch.pl dts: import vendor-prefixes.txt from linux kernel 2019-05-22 12:40:20 -04:00
checkstack.pl
coccicheck docs: fix misspelling across the tree 2019-06-19 15:34:13 -05:00
dir_is_writeable.py license: cleanup: add SPDX Apache-2.0 license identifier 2019-04-07 08:45:22 -04:00
elf_helper.py scripts: elf_helper: correct kernel object address check range 2019-07-08 13:28:13 -07:00
file2hex.py file2hex.py: new --gzip-mtime option that defaults to zero + test 2019-04-17 08:27:40 -04:00
filter-known-issues.py docs: fix misspelling across the tree 2019-06-19 15:34:13 -05:00
gen_app_partitions.py gen_app_partitions: deterministic _and_ decreasing app_smem_*.ld 2019-06-27 18:06:30 -07:00
gen_cfb_font_header.py scripts: gen_cfb_font_header: correct command sanitization 2019-07-11 20:20:59 -07:00
gen_gcov_files.py scripts: gen_gcov_files: report if data capture is not complete 2019-01-29 15:03:38 -05:00
gen_kobject_list.py userspace: add kobject flag for drivers 2019-07-24 12:33:34 +02:00
gen_offset_header.py
gen_priv_stacks.py scripts: gen_priv_stacks.py: use the right alignment for priv stacks 2019-06-24 10:16:57 -07:00
gen_relocate_app.py scripts: make mpu align in sections for code reloation 2019-07-18 11:09:48 -04:00
gen_syscall_header.py scripts: Remove unnecessary () around if/while conditions in Python 2019-03-26 07:59:59 -05:00
gen_syscalls.py userspace: properly namespace handler functions 2019-03-18 09:23:11 -07:00
mergehex.py scripts: mergehex: Add --overlap argument 2019-05-16 07:16:55 -05:00
parse_syscalls.py userspace: add additional script documentation 2019-03-12 08:37:58 +01:00
process_gperf.py scripts: Remove unnecessary () around if/while conditions in Python 2019-03-26 07:59:59 -05:00
qemu-machine-hack.py license: cleanup: add SPDX Apache-2.0 license identifier 2019-04-07 08:45:22 -04:00
requirements.txt scripts: Upgrade pyocd for pack support 2019-06-18 23:03:35 -04:00
sanitycheck net: ppp: Initial support for point-to-point protocol 2019-07-29 10:24:46 +03:00
series-push-hook.sh scripts: fix path issue in push-hook script 2019-03-13 11:59:38 -05:00
spelling.txt
subfolder_list.py cmake: Encode and decode in UTF-8 in build system 2019-07-18 16:50:08 +02:00
tags.sh
valgrind.supp valgrind: Add error supression file for POSIX arch 2018-12-21 21:07:18 +01:00
waitpid
west-commands.yml west: Add completion command 2019-05-10 13:08:27 +02:00
zephyr_module.py cmake: Encode and decode in UTF-8 in build system 2019-07-18 16:50:08 +02:00