Lines Matching refs:phandle
6 The devicetree concept of a *phandle* is very similar to pointers in
16 The usual way to get a phandle for a devicetree node is from one of its node
26 You can write the phandle for:
44 One node: phandle type
68 These properties have type ``phandle``.
89 Zero or more nodes with metadata: phandle-array type
98 These properties have type ``phandle-array``.
100 .. _dt-phandle-arrays:
102 phandle-array properties
111 Usually, properties with this type are written like ``phandle-array-prop`` in
117 phandle-array-prop = <&foo 1 2>, <&bar 3>, <&baz 4 5>;
122 Each "group" starts with a phandle (``&foo``, ``&bar``, ``&baz``). The values
123 that follow the phandle in each "group" are called *specifiers*. There are
130 The phandle in each "group" is used to "point" to the hardware that controls
135 document more rules about how to use phandle-array properties in practice.
137 Example phandle-arrays: GPIOs
140 Perhaps the most common use case for phandle-array properties is specifying one
143 cases** that are handled in devicetree with phandle-array properties.
156 that represents a GPIO pin, and you can't use a single phandle to represent it.
158 Instead, you would use a phandle-array property, like this:
166 In this example, ``irq-gpios`` is a phandle-array property with just one
167 "group" in its value. ``&gpioX`` is the phandle for the GPIO controller node
188 - ``pinX`` on the GPIO controller with phandle ``&gpioX``, flags ``flagsX``
202 use them in phandle-array properties.
212 As described above, a phandle-array property is a sequence of "groups" of
218 phandle-array-prop = <&foo 1 2>, <&bar 3>;
221 The cells that follow each phandle are called a *specifier*. In this example,
227 Every phandle-array property has an associated *specifier space*. This sounds
229 follow each phandle in a hardware specific way. Every specifier space has a
235 ``phandle-array-prop``\ 's specifier space is named ``baz``. Then we would need
249 to validate the number of cells in each specifier in ``phandle-array-prop``.
266 With that, if ``phandle-array-prop-2`` has specifier space ``bob``, we could
272 phandle-array-prop = <&foo 1 2>, <&bar 3>;
273 phandle-array-prop-2 = <&foo 4>;
305 - each phandle-array property has an associated specifier space
310 In this section, we explain how phandle-array properties get their specifier
316 In general, a ``phandle-array`` property named ``foos`` implicitly has
323 type: phandle-array
325 type: phandle-array
339 You can manually specify the specifier space for any ``phandle-array``
370 phandle types (``phandle``, ``phandles``, ``phandle-array``)
372 - :ref:`dt-bindings-specifier-space`: how to manually specify a phandle-array