zephyr/include
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
..
app_memory cleanup: include/: move misc/dlist.h to sys/dlist.h 2019-06-27 22:55:49 -04:00
arch kernel: rename NANO_ESF 2019-07-25 15:06:58 -07:00
audio cleanup: include/: move i2s.h to drivers/i2s.h 2019-06-27 22:55:49 -04:00
bluetooth Bluetooth: GATT: Use atomic_t for subscribe flags 2019-07-29 12:26:18 +02:00
cmsis_rtos_v1 all: Add 'U' suffix when using unsigned variables 2019-03-28 17:15:58 -05:00
cmsis_rtos_v2
console cleanup: include/: move tty.h to console/tty.h 2019-06-27 22:55:49 -04:00
crypto cleanup: include/: move misc/util.h to sys/util.h 2019-06-27 22:55:49 -04:00
data include: json: reorder designated initializers 2019-07-22 18:10:51 -07:00
debug include: gcov: fix compilation error 2019-07-03 07:19:49 -07:00
dfu cleanup: include/: move flash_map.h to storage/flash_map.h 2019-06-27 22:55:49 -04:00
disk sdhc: rename disk_access_sdhc.c 2019-07-10 11:58:15 -05:00
display subsys/cfb: correct font definition macro for linker script 2019-07-17 15:29:42 -07:00
drivers driver: display: Clarified blanking API 2019-07-20 08:25:59 -04:00
dt-bindings clock/usdhc: Enable clock of USDHC of i.MXRT 2019-07-10 11:58:15 -05:00
fs cleanup: include/: move misc/dlist.h to sys/dlist.h 2019-06-27 22:55:49 -04:00
linker net: ppp: Initial support for point-to-point protocol 2019-07-29 10:24:46 +03:00
logging logging: Fix undefined macro warning 2019-07-24 16:34:31 -04:00
mgmt
misc cleanup: include/: move misc/reboot.h to power/reboot.h 2019-06-27 22:55:49 -04:00
net net: ppp: Add proper support to receive Echo-Reply message 2019-07-29 10:24:46 +03:00
nvs cleanup: include/: move nvs/nvs.h to fs/nvs.h 2019-06-27 22:55:49 -04:00
posix posix: unistd.h: open() doesn't belong here 2019-07-25 13:50:58 -04:00
power cleanup: include/: move misc/reboot.h to power/reboot.h 2019-06-27 22:55:49 -04:00
random
settings cleanup: include/: move misc/util.h to sys/util.h 2019-06-27 22:55:49 -04:00
shell shell_history: align buffer to pointer size 2019-07-04 09:28:47 +02:00
stats cleanup: include/: move stats.h to stats/stats.h 2019-06-27 22:55:49 -04:00
storage cleanup: include/: move flash_map.h to storage/flash_map.h 2019-06-27 22:55:49 -04:00
sys sys/sem.h: fix path to atomic.h 2019-07-26 06:37:59 +03:00
toolchain toolchain/xcc: augment compiler provided macros to match gcc and clang 2019-07-03 06:09:16 -04:00
usb usb: sort usb config data by section 2019-06-27 12:18:05 +02:00
zephyr cleanup: include/: move zephyr/jwt.h to data/jwt.h 2019-06-27 22:55:49 -04:00
adc.h cleanup: include/: move adc.h to drivers/adc.h 2019-06-27 22:55:49 -04:00
aio_comparator.h cleanup: include/: move aio_comparator.h to drivers/aio_comparator.h 2019-06-27 22:55:49 -04:00
atomic.h cleanup: include/: move atomic.h to sys/atomic.h 2019-06-27 22:55:49 -04:00
base64.h cleanup: include/: move base64.h to sys/base64.h 2019-06-27 22:55:49 -04:00
cache.h
can.h cleanup: include/: move can.h to drivers/can.h 2019-06-27 22:55:49 -04:00
clock_control.h cleanup: include/: move clock_control.h to drivers/clock_control.h 2019-06-27 22:55:49 -04:00
console.h cleanup: include/: move console.h to console/console.h 2019-06-27 22:55:49 -04:00
counter.h cleanup: include/: move counter.h to drivers/counter.h 2019-06-27 22:55:49 -04:00
crc.h cleanup: include/: move crc.h to sys/crc.h 2019-06-27 22:55:49 -04:00
device.h linker generated list: explicit alignment on data definitions 2019-06-06 14:21:32 -07:00
disk_access.h cleanup: include/: move disk_access.h to disk/disk_access.h 2019-06-27 22:55:49 -04:00
display.h cleanup: include/: move display.h to drivers/display.h 2019-06-27 22:55:49 -04:00
dma.h cleanup: include/: move dma.h to drivers/dma.h 2019-06-27 22:55:49 -04:00
entropy.h cleanup: include/: move entropy.h to drivers/entropy.h 2019-06-27 22:55:49 -04:00
espi.h API: espi: Add API for Enhanced Serial Peripheral Interface 2019-07-25 08:23:38 -07:00
exc_handle.h
fatal.h kernel: rename NANO_ESF 2019-07-25 15:06:58 -07:00
fcb.h cleanup: include/: move fcb.h to fs/fcb.h 2019-06-27 22:55:49 -04:00
flash_map.h cleanup: include/: move flash_map.h to storage/flash_map.h 2019-06-27 22:55:49 -04:00
flash.h cleanup: include/: move flash.h to drivers/flash.h 2019-06-27 22:55:49 -04:00
fs.h cleanup: include/: move fs.h to fs/fs.h 2019-06-27 22:55:49 -04:00
generated_dts_board.h dts: Add new DTS/binding parser 2019-07-29 16:22:17 -04:00
gna.h cleanup: include/: move gna.h to drivers/gna.h 2019-06-27 22:55:49 -04:00
gpio.h cleanup: include/: move gpio.h to drivers/gpio.h 2019-06-27 22:55:49 -04:00
hwinfo.h cleanup: include/: move hwinfo.h to drivers/hwinfo.h 2019-06-27 22:55:49 -04:00
i2c.h cleanup: include/: move i2c.h to drivers/i2c.h 2019-06-27 22:55:49 -04:00
i2s.h cleanup: include/: move i2s.h to drivers/i2s.h 2019-06-27 22:55:49 -04:00
init.h all: Update reserved function names 2019-03-11 13:48:42 -04:00
ipm.h cleanup: include/: move ipm.h to drivers/ipm.h 2019-06-27 22:55:49 -04:00
irq_nextlevel.h
irq_offload.h
irq.h all: Update reserved function names 2019-03-11 13:48:42 -04:00
json.h cleanup: include/: move json.h to data/json.h 2019-06-27 22:55:49 -04:00
kernel_includes.h kernel: consolidate error handling code 2019-07-25 15:06:58 -07:00
kernel_version.h
kernel.h kernel: abolish _default_esf 2019-07-25 15:06:58 -07:00
led_strip.h cleanup: include/: move led_strip.h to drivers/led_strip.h 2019-06-27 22:55:49 -04:00
led.h cleanup: include/: move led.h to drivers/led.h 2019-06-27 22:55:49 -04:00
pinmux.h cleanup: include/: move pinmux.h to drivers/pinmux.h 2019-06-27 22:55:49 -04:00
power.h cleanup: include/: move power.h to power/power.h 2019-06-27 22:55:49 -04:00
ptp_clock.h cleanup: include/: move misc/util.h to sys/util.h 2019-06-27 22:55:49 -04:00
pwm.h cleanup: include/: move pwm.h to drivers/pwm.h 2019-06-27 22:55:49 -04:00
ring_buffer.h cleanup: include/: move ring_buffer.h to sys/ring_buffer.h 2019-06-27 22:55:49 -04:00
rtc.h cleanup: include/: move rtc.h to drivers/rtc.h 2019-06-27 22:55:49 -04:00
sched_priq.h cleanup: include/: move misc/util.h to sys/util.h 2019-06-27 22:55:49 -04:00
sensor.h cleanup: include/: move sensor.h to drivers/sensor.h 2019-06-27 22:55:49 -04:00
shared_irq.h
spi.h cleanup: include/: move spi.h to drivers/spi.h 2019-06-27 22:55:49 -04:00
spinlock.h cleanup: include/: move misc/__assert.h to sys/__assert.h 2019-06-27 22:55:49 -04:00
stats.h cleanup: include/: move stats.h to stats/stats.h 2019-06-27 22:55:49 -04:00
sw_isr_table.h Z_ISR_DECLARE: ensure proper alignment on 64-bit targets 2019-07-25 14:01:24 -07:00
sys_clock.h cleanup: include/: move misc/util.h to sys/util.h 2019-06-27 22:55:49 -04:00
sys_io.h cleanup: include/: move sys_io.h to sys/sys_io.h 2019-06-27 22:55:49 -04:00
syscall.h syscall: Fix comment 2019-04-12 17:59:25 -04:00
toolchain.h toolchain: Define a HAS_BUILTIN(x) macro in toolchain.h. 2019-05-14 19:53:30 -05:00
tracing.h cleanup: include/: move tracing.h to debug/tracing.h 2019-06-27 22:55:49 -04:00
tty.h cleanup: include/: move tty.h to console/tty.h 2019-06-27 22:55:49 -04:00
uart.h cleanup: include/: move uart.h to drivers/uart.h 2019-06-27 22:55:49 -04:00
updatehub.h lib: updatehub: Add UpdateHub.io support 2019-06-05 00:20:37 +02:00
watchdog.h cleanup: include/: move watchdog.h to drivers/watchdog.h 2019-06-27 22:55:49 -04:00
zephyr.h