Lines Matching full:devicetree
3 Devicetree API
6 This is a reference page for the ``<zephyr/devicetree.h>`` API. The API is macro
30 A *node identifier* is a way to refer to a devicetree node at C preprocessor
32 devicetree data in C rvalue form using, for example, the
33 :ref:`devicetree-property-access` API.
36 identifiers for other devicetree nodes using :c:macro:`DT_PATH`,
45 .. doxygengroup:: devicetree-generic-id
53 There are special-purpose APIs for accessing the :ref:`devicetree-ranges-property`,
54 :ref:`devicetree-reg-property` and :ref:`devicetree-interrupts-property`.
59 .. doxygengroup:: devicetree-generic-prop
66 Use these APIs instead of :ref:`devicetree-property-access` to access the
68 devicetree specification, these macros can be used even for nodes without
76 .. doxygengroup:: devicetree-ranges-prop
83 Use these APIs instead of :ref:`devicetree-property-access` to access the
85 devicetree specification, these macros can be used even for nodes without
88 .. doxygengroup:: devicetree-reg-prop
95 Use these APIs instead of :ref:`devicetree-property-access` to access the
98 Because this property's semantics are defined by the devicetree specification,
102 .. doxygengroup:: devicetree-interrupts-prop
108 of a devicetree node.
112 devicetree node.
118 .. doxygengroup:: devicetree-generic-foreach
129 .. doxygengroup:: devicetree-generic-exist
136 The ``devicetree.h`` API has some support for tracking dependencies between
138 devicetree nodes, which is defined as the `transitive closure
148 A *dependency ordering* of a devicetree is a list of its nodes, where each node
151 distinct devicetree nodes ``n1`` and ``n2`` with dependency ordinals ``d1`` and
158 The Zephyr build system chooses a dependency ordering of the final devicetree
167 .. doxygengroup:: devicetree-dep-ord
172 Zephyr's devicetree bindings language supports a ``bus:`` key which allows
177 .. doxygengroup:: devicetree-generic-bus
186 implements support for. Here is an example devicetree fragment:
188 .. code-block:: devicetree
212 :ref:`devicetree-generic-apis`. The equivalent generic API can be found by
224 specific hardware; these are documented in :ref:`devicetree-hw-api`.
226 .. doxygengroup:: devicetree-inst
233 The following APIs can also be used by including ``<devicetree.h>``;
244 .. doxygengroup:: devicetree-can
252 .. doxygengroup:: devicetree-clocks
260 .. doxygengroup:: devicetree-dmas
271 .. doxygengroup:: devicetree-fixed-partition
281 .. doxygengroup:: devicetree-gpio
289 .. doxygengroup:: devicetree-io-channels
299 .. doxygengroup:: devicetree-mbox
308 Devicetree nodes may have properties which specify pin control (sometimes known
329 .. doxygengroup:: devicetree-pinctrl
337 .. doxygengroup:: devicetree-pwms
345 .. doxygengroup:: devicetree-reset-controller
353 .. doxygengroup:: devicetree-spi
364 .. doxygengroup:: devicetree-generic-chosen
374 predates devicetree support in Zephyr. In other cases, there is no Kconfig
375 option, and the devicetree node is used directly in the source code to select a