Home | History | Annotate | Download | only in Documentation

Lines Matching defs:Device

14 \title{Device trees everywhere}
45 device tree supplied by Open Firmware on IBM\R servers and Apple\R
48 The ``blob'' representing the device tree can be created using \dtc
49 --- the Device Tree Compiler --- that turns a simple text
63 \subsection{OF and the device tree}
67 Among other boot-time services, OF maintains a device tree that
70 the Linux kernel uses OF calls to scan the device tree and transfer it
72 various device information.
74 The device tree consists of nodes representing devices or
77 information about the device. The values are arbitrary byte strings,
85 but nothing as detailed or complete as the OF device tree. This has
88 device tree. These vary from specialised boot wrappers to parse
98 around the lack of a device tree. Even so, the lack means the iSeries
102 The device tree also presents a problem for implementing \kexec. When
109 In May 2005 \benh implemented a new approach to handling the device
113 walks the device tree using OF calls, and transcribes it into a
114 compact, flattened format. The resulting device tree ``blob'' is then
121 directly from the entry point taking a flattened device tree. The
122 device tree blob must be passed in from outside, rather than generated
124 \texttt{kexec} tools build the blob from the runtime device tree
152 \subsection{Format of the device tree blob}
199 \caption{Device tree blob layout}
210 containing the device tree. It has three sections of variable size:
225 The structure block contains the device tree proper. Each node is
247 Having seen how to represent the device tree structure as a flattened
250 transcribed directly from the OF device tree, so for simplicity we
254 device tree. The flattened tree need only provide those nodes and
257 For example, an OF device tree would normally include nodes for each
258 PCI device on the system. A flattened tree need only include nodes
260 described to find the subsidiary devices. The device tree can include
266 describe various buses in the device tree (for example,
285 device. Parsing these and other interrupt related properties allows
300 device type followed by an \texttt{@} followed by a \emph{unit
314 \section{The Device Tree Compiler}
371 As we've seen, the flattened device tree format provides a convenient
372 way of communicating device tree information to the kernel. It's
379 it's usually possible to build the device tree blob at compile time
384 The device trees for embedded boards are usually quite simple, and
386 so is tedious. The ``device tree compiler'', \dtc{}\footnote{\dtc can
387 be obtained from \cite{dtcgit}.}, is designed to make creating device
393 As well as the normal mode of compiling a device tree blob from text
394 source, \dtc can convert a device tree between a number of
398 \item source, the normal case. The device tree is described in a text
402 device tree blob.
404 layout of \texttt{/proc/device-tree} (roughly, a directory for each
405 node in the device tree, a file for each property). This is useful
406 for building a blob for the device tree in use by the currently
420 device tree blob, with symbols giving the beginning of the blob and
438 The ``source'' format for \dtc is a text description of the device
442 then the device tree proper is described.
480 essentially fixed device tree with a few variable properties, such as
481 the size of memory. The bootloader for such a board can have a device
488 Between reading in the device tree and writing it out in the new
502 \item \emph{Linux requirements}: \dtc checks that the device tree
507 These checks are useful to catch simple problems with the device tree,
516 The flattened device tree has always been the only supported way to
522 to the flattened device tree approach. We plan to remove the
524 various embedded boards to use the flattened device tree.
529 that \dtc could include to make creating device trees more convenient:
532 number of checks on the device tree, they are rather haphazard. In
539 \item \emph{binary include}: Occasionally, it is useful for the device
541 board-specific purpose. For example, many of Apple's device trees
562 as well as the device tree compiler. In the past, he has worked on