Lines Matching +full:check +full:- +full:common +full:- +full:files

1 # SPDX-License-Identifier: Apache-2.0
15 # - To Zephyr and application source code files, as a C macro API
18 # - To other arbitrary Python scripts (like twister) using a
22 # - To users as a final devicetree source (DTS) file which can
25 # - To CMake files, after this module has finished running, using
28 # - To Kconfig files, both using some Kconfig symbols we generate
36 # files in scripts/dts to make all this work. We also optionally will
44 # - The pre_dt module has been included; refer to its outcome
46 # - DTS_SOURCE: set to the path to the devicetree file which
48 # - ${BINARY_DIR_INCLUDE_GENERATED}/devicetree_generated.h exists
53 # - CACHED_DTS_ROOT_BINDINGS is set in the cache to the
55 # - DTS_ROOT_BINDINGS is set to a ;-list of locations where DT
57 # - ${PROJECT_BINARY_DIR}/zephyr.dts exists
58 # - ${PROJECT_BINARY_DIR}/edt.pickle exists
59 # - ${KCONFIG_BINARY_DIR}/Kconfig.dts exists
60 # - DTS_INCLUDE_FILES is set to a ;-list of all devicetree files
62 # system will be regenerated if any of those files change)
63 # - the devicetree extensions in the extensions.cmake module
64 # will be ready for use in other CMake list files that run
68 # - BINARY_DIR_INCLUDE_GENERATED: where to put generated include files
69 # - DTS_ROOT: a deduplicated list of places where devicetree
70 # implementation files (like bindings, vendor prefixes, etc.) are
72 # - DTS_ROOT_SYSTEM_INCLUDE_DIRS: set to "PATH1 PATH2 ...",
74 # may be found for devicetree files
75 # - KCONFIG_BINARY_DIR: where to put generated Kconfig files
78 # - BOARD: board name to use when looking for DTS_SOURCE
79 # - BOARD_DIRECTORIES: list of board directories to use when looking for DTS_SOURCE
80 # - BOARD_REVISION_STRING: used when looking for a board revision's
82 # - CMAKE_DTS_PREPROCESSOR: the path to the preprocessor to use
83 # for devicetree files
84 # - DTC_OVERLAY_FILE: list of devicetree overlay files which will be
86 # - EXTRA_DTC_OVERLAY_FILE: list of extra devicetree overlay files.
87 # This variable is similar to DTC_OVERLAY_FILE but the files in
89 # thus files specified by EXTRA_DTC_OVERLAY_FILE have higher precedence.
90 # - EXTRA_DTC_FLAGS: list of extra command line options to pass to
91 # dtc when using it to check for additional errors and warnings;
93 # - DTS_EXTRA_CPPFLAGS: extra command line options to pass to the
95 # - DTS_SOURCE: the devicetree source file to use may be pre-set
100 # use only, and may be removed, renamed, or re-purposed without prior notice.
134 set(VENDOR_PREFIXES dts/bindings/vendor-prefixes.txt)
173 set(DTS_SOURCE ${ZEPHYR_BASE}/boards/common/stub.dts)
177 # Find all the DTS files we need to concatenate and preprocess, as
193 build_info(devicetree user-files PATH ${DTC_OVERLAY_FILE_AS_LIST})
203 build_info(devicetree extra-user-files PATH ${EXTRA_DTC_OVERLAY_FILE_AS_LIST})
233 list(APPEND EXTRA_GEN_EDT_ARGS --vendor-prefixes ${vendor_prefixes})
251 # Run the preprocessor on the DTS input files.
268 # Make sure we re-run CMake if any devicetree sources or transitive
278 # Add the results to the list of files that, when change, force the
279 # build system to re-run CMake.
295 --dts ${DTS_POST_CPP}
296 --dtc-flags '${EXTRA_DTC_FLAGS_RAW}'
297 --bindings-dirs ${DTS_ROOT_BINDINGS}
298 --dts-out ${ZEPHYR_DTS}.new # for debugging and dtc
299 --edt-pickle-out ${EDT_PICKLE}.new
319 --header-out ${DEVICETREE_GENERATED_H}.new
320 --edt-pickle ${EDT_PICKLE}
340 --kconfig-out ${DTS_KCONFIG}
341 --bindings-dirs ${DTS_ROOT_BINDINGS}
361 --edt-pickle ${EDT_PICKLE}
362 --cmake-out ${dts_cmake_tmp}
385 check_dtc_flag("-Wunique_unit_address_if_enabled" check)
386 if (check)
387 set(DTC_WARN_UNIT_ADDR_IF_ENABLED "-Wunique_unit_address_if_enabled")
391 check_dtc_flag("-Wno-unique_unit_address" check)
392 if (check)
393 set(DTC_NO_WARN_UNIT_ADDR "-Wno-unique_unit_address")
398 check_dtc_flag(${extra_opt} check)
399 if (check)
407 -O dts
408 -o - # Write output to stdout, which we discard below
409 -b 0
410 -E unit_address_vs_reg
430 build_info(devicetree files PATH ${dts_files})
431 build_info(devicetree include-dirs PATH ${DTS_ROOT_SYSTEM_INCLUDE_DIRS})
432 build_info(devicetree bindings-dirs PATH ${DTS_ROOT_BINDINGS})