Lines Matching full:devicetree
6 As the name indicates, a devicetree is a tree. The human-readable text format
7 for this tree is called DTS (for devicetree source), and is defined in the
8 `Devicetree specification`_.
10 .. _Devicetree specification: https://www.devicetree.org/
12 This page's purpose is to introduce devicetree in a more gradual way than the
24 .. code-block:: devicetree
42 Like any tree data structure, a devicetree has a hierarchy of *nodes*.
54 can use node labels to refer to the node elsewhere in the devicetree.
56 Devicetree nodes have *paths* identifying their locations in the tree. Like
57 Unix file system paths, devicetree paths are strings separated by slashes
66 Devicetree nodes can also have *properties*. Properties are name/value pairs.
79 In practice, devicetree nodes usually correspond to some hardware, and the node
89 present in the devicetree. Reflecting the hardware layout, the
95 .. code-block:: devicetree
125 I2C devicetree example with real-world names and properties.
131 .. code-block:: devicetree
163 introduces a new devicetree concept: unit addresses. Unit addresses are the
168 In devicetree, unit addresses give a node's address in the
197 This applies when the devicetree is used to store a flash partition table.
201 .. code-block:: devicetree
224 The devicetree specification defines several standard properties.
242 ``devicetree.h`` to find nodes with relevant compatibles, in order to
278 The devicetree specification allows this property to have values
284 not defined (i.e. does not exist in the devicetree source). Nodes with
287 this usage is deprecated.) Devicetree nodes which correspond to physical
298 `Devicetree Specification release v0.3`_ for more details.
300 Zephyr's devicetree bindings language lets you give a name to each cell in
304 https://www.devicetree.org/specifications/
312 Use of the label *property* in new devicetree bindings, as well as use of
327 curious about details, see the devicetree specification.
395 .. code-block:: devicetree
401 - Property values refer to other nodes in the devicetree by their *phandles*.
403 <dt-node-labels>`. Here is an example devicetree fragment:
405 .. code-block:: devicetree
419 In the devicetree, a phandle value is a cell -- which again is just a 32-bit
420 unsigned int. However, the Zephyr devicetree API generally exposes these
427 .. code-block:: devicetree
445 Here is an example devicetree which uses both:
447 .. code-block:: devicetree
468 device. Their purpose is to specify other nodes in the devicetree.
480 subsystem-wide values. See :ref:`devicetree-chosen-nodes` for more information.