zephyr/scripts
Johan Hedberg 4ba387829b edtlib: Match any parent bus when binding lacks an explicit on-bus
There are some drivers in the tree that support devices on multiple
different buses, although so far this has not been represented in
device tree using the bus concept. In order to convert these drivers &
bindings to refer to a formal bus in device tree we need to be able to
match bindings which lack an explicit "on-bus: ..." value against any
parent bus. This will also be needed for any external bindings, since
those would not be aware of on-bus (as it's a Zephyhr-specific
extension).

The two drivers I'm particularly targeting is the ns16550 UART driver
(drivers/serial/uart_ns16550.c) and the DW I2C driver
(drivers/i2c/i2c_dw.c). They both support devices with a fixed MMIO
address as well as devices connected and discovered over PCIe. The
only issue is that instead of encoding the bus information the proper
DT way these bindings use a special "pcie" property in the DT node
entries to indicate whether the node is on the PCIe bus or not.

Being able to convert the above two drivers to use the DT bus concept
allow the removal of "hacks" like this:

 if DT_INST_PROP(0, pcie) || \
       DT_INST_PROP(1, pcie) || \
       DT_INST_PROP(2, pcie) || \
       DT_INST_PROP(3, pcie)

to the more intuitive:

 if DT_ANY_INST_ON_BUS_STATUS_OKAY(pcie)

This also has the benefit that the driver doesn't need to make any
arbitrary assumptions of how many matching devices there may be but
works for any number of matches. This is already a problem now since
e.g. the ns16550 driver assumes a maximum of 4 nodes, whereas
dts/x86/elkhart_lake.dtsi defines up to 9 different ns16550 nodes.

Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
2021-01-07 20:07:12 +02:00
..
checkpatch
ci ci: fetch sof submodules 2021-01-06 07:53:46 -06:00
coccinelle scripts: coccinelle: Scripts for finding wrong device instance usage 2020-09-02 13:48:13 +02:00
coredump coredump: add support for ARM Cortex-M 2020-08-24 20:28:24 -04:00
dts edtlib: Match any parent bus when binding lacks an explicit on-bus 2021-01-07 20:07:12 +02:00
footprint twister: fixed pylint issues 2020-12-11 14:13:02 -05:00
gitlint
kconfig dts: remove legacy macro support 2020-10-09 08:45:38 -05:00
net net: scripts: Make test runner script fully generic 2020-11-20 16:07:59 +02:00
pylib/twister twister: add 12 hexadecimal digits to version 2021-01-04 08:42:40 -05:00
release twister: change all occurances of sanitycheck 2020-12-11 14:13:02 -05:00
schemas/twister twister: adapt platform schema 2020-12-11 14:13:02 -05:00
support
tests twister: remove some leftover sanitycheck mentions 2020-12-14 14:13:16 -05:00
tracing tracing: scripts: add scripts for parsing ctf data 2020-08-24 13:21:12 +02:00
west_commands runners: fix nrfjprog UICR check 2021-01-05 08:44:05 -06:00
.gitignore
checkpatch.pl scripts: update checkpatch based on current linux kernel version 2020-08-21 13:57:02 -04:00
checkstack.pl
coccicheck scripts: Fix documunt referenc for coccicheck 2020-05-08 17:44:44 +02:00
dir_is_writeable.py
file2hex.py scripts: file2hex.py: PEP 8 style fix 2020-06-12 11:09:58 +02:00
filter-known-issues.py
gen_app_partitions.py linker: tweak section naming to feet all linkers 2020-09-05 10:22:56 -05:00
gen_cfb_font_header.py zephyr: replace zephyr integer types with C99 types 2020-06-08 08:23:57 -05:00
gen_gcov_files.py scripts: gen_gcov_files.py: add argument help text 2020-06-13 16:33:22 -04:00
gen_kobject_list.py userspace: update k_object API to support immutable objects 2020-09-02 13:48:13 +02:00
gen_offset_header.py scripts: gen_offset_header: add argument help text 2020-05-21 14:45:24 +02:00
gen_relocate_app.py zephyr: replace zephyr integer types with C99 types 2020-06-08 08:23:57 -05:00
gen_syscalls.py scripts: gen_syscalls: typo fix 2020-06-09 10:39:49 +02:00
get_maintainer.py scripts: add maintainer script 2020-07-24 17:07:48 +02:00
mergehex.py
parse_syscalls.py userspace: net sockets are kernel objects 2020-06-03 22:33:32 +02:00
process_gperf.py scripts: process_gperf: typo fix 2020-06-09 10:40:58 +02:00
requirements-base.txt ARC: west: mdb runner: record MDB's CLD process pid to file 2020-11-11 08:18:38 -05:00
requirements-build-test.txt scripts: runners: add type checking for west_commands 2020-09-03 16:49:09 -05:00
requirements-compliance.txt python3: add check_compliance package requirements 2020-08-11 14:49:48 -04:00
requirements-doc.txt doc: fix broken text search 2021-01-04 07:57:07 -05:00
requirements-extras.txt scripts: Add imgtool to requirements 2020-11-16 13:38:47 +01:00
requirements-run-test.txt documents: update the pyocd required version 2020-09-29 13:37:53 -05:00
requirements.txt python3: add check_compliance package requirements 2020-08-11 14:49:48 -04:00
sanitycheck twister: add a wrapper script with old name 2020-12-11 14:13:02 -05:00
series-push-hook.sh scripts: series-push-hook: Fix behavior after rebase 2020-10-21 07:16:54 -05:00
spelling.txt
subfolder_list.py scripts: subfolder_list.py: refactor the code 2020-07-20 17:31:53 -04:00
tags.sh
twister twister: remove some leftover sanitycheck mentions 2020-12-14 14:13:16 -05:00
user_wordsize.py posix arch: build on aarch64 / allow host-specific cmake includes 2020-05-09 12:17:24 +02:00
valgrind.supp
west-commands.yml
zephyr_module.py modules: rename options for twister support 2020-12-11 14:13:02 -05:00