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:func:`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
109 devicetree node.
115 .. doxygengroup:: devicetree-generic-foreach
126 .. doxygengroup:: devicetree-generic-exist
133 The ``devicetree.h`` API has some support for tracking dependencies between
135 devicetree nodes, which is defined as the `transitive closure
145 A *dependency ordering* of a devicetree is a list of its nodes, where each node
148 distinct devicetree nodes ``n1`` and ``n2`` with dependency ordinals ``d1`` and
155 The Zephyr build system chooses a dependency ordering of the final devicetree
164 .. doxygengroup:: devicetree-dep-ord
169 Zephyr's devicetree bindings language supports a ``bus:`` key which allows
174 .. doxygengroup:: devicetree-generic-bus
183 implements support for. Here is an example devicetree fragment:
185 .. code-block:: devicetree
209 :ref:`devicetree-generic-apis`. The equivalent generic API can be found by
221 specific hardware; these are documented in :ref:`devicetree-hw-api`.
223 .. doxygengroup:: devicetree-inst
230 The following APIs can also be used by including ``<devicetree.h>``;
241 .. doxygengroup:: devicetree-can
249 .. doxygengroup:: devicetree-clocks
257 .. doxygengroup:: devicetree-dmas
268 .. doxygengroup:: devicetree-fixed-partition
278 .. doxygengroup:: devicetree-gpio
286 .. doxygengroup:: devicetree-io-channels
296 .. doxygengroup:: devicetree-mbox
305 Devicetree nodes may have properties which specify pin control (sometimes known
326 .. doxygengroup:: devicetree-pinctrl
334 .. doxygengroup:: devicetree-pwms
342 .. doxygengroup:: devicetree-reset-controller
350 .. doxygengroup:: devicetree-spi
361 .. doxygengroup:: devicetree-generic-chosen
372 predates devicetree support in Zephyr. In other cases, there is no Kconfig
373 option, and the devicetree node is used directly in the source code to select a