diff --git a/doc/guides/dts/index.rst b/doc/guides/dts/index.rst index 485d94084bb..81932b222f9 100644 --- a/doc/guides/dts/index.rst +++ b/doc/guides/dts/index.rst @@ -23,12 +23,15 @@ This figure shows how devicetree fits into the Zephyr build system: Devicetree build flow -Zephyr's build system can use a devicetree to generate C language code. This -code generation uses rules in additional files called :ref:`devicetree bindings -` to control how devicetree data is converted to C definitions. The -generated code can be included by Zephyr :ref:`device drivers ` -and other C sources. The C macros generated by this process all begin with -``DT_``. +Zephyr's build system generates C preprocessor macros from devicetree +definitions. These macros can be referenced in :ref:`device drivers +` and other C code. All macro identifiers that are directly +generated by the devicetree scripts start with ``DT_*``. + +Some devicetree-related identifiers also start with ``CONFIG_*``, which is the +identifier prefix used by :ref:`Kconfig `. This happens when +devicetree-related information is referenced from Kconfig symbol definitions, +via the :ref:`Kconfig preprocessor `. This differs significantly from how devicetree is used on Linux. The Linux kernel would instead read the entire devicetree data structure in its @@ -470,7 +473,10 @@ to ``uart1`` in this board: zephyr,shell-uart = &uart1; }; -The full set of Zephyr-specific ``chosen`` nodes follows: +The table below lists Zephyr-specific ``chosen`` properties. The macro +identifiers that start with ``CONFIG_*`` are generated from Kconfig symbols +that reference devicetree data via the :ref:`Kconfig preprocessor +`. .. list-table:: :header-rows: 1