Difference between revisions of "Device Tree Reference"

From eLinux.org
Jump to: navigation, search
(add link to top device tree page)
(move "Tools" section from top device tree page)
Line 88: Line 88:
 
** binding driver to device
 
** binding driver to device
 
** deferred binding
 
** deferred binding
 +
 +
=== Tools ===
 +
* Device Tree Compiler (dtc) - converts between the human editable device tree source "dts" format and the compact device tree blob "dtb" representation usable by the kernel or assembler source.  dtc is also a dtb decompiler.
 +
** The linux version of dtc is maintained in <tt>scripts/dtc/</tt> in the kernel source directory.
 +
** The upstream project is maintained in
 +
*** https://git.kernel.org/cgit/utils/dtc/dtc.git
 +
*** git clone git://git.kernel.org/pub/scm/utils/dtc/dtc.git
 +
** Documentation
 +
*** [https://git.kernel.org/?p=utils/dtc/dtc.git;a=blob_plain;f=Documentation/manual.txt;hb=HEAD Documentation/manual.txt] Device Tree Compiler Manual
 +
*** [https://git.kernel.org/?p=utils/dtc/dtc.git;a=blob_plain;f=Documentation/dts-format.txt;hb=HEAD Documentation/dts-format.txt] Device Tree Source Format
 +
** The Maintainers are listed in the file [https://git.kernel.org/?p=utils/dtc/dtc.git;a=blob_plain;f=README;hb=HEAD README]
 +
* Xilinx EDK device-tree generator - Generates an FDT from Xilinx FPGA design files.
 +
** http://xilinx.wikidot.com/device-tree-generator
 +
"The device tree generator is a Xilinx EDK tool that plugs into the
 +
Automatic BSP Generation features of the tool, XPS"
  
 
=== man pages ===
 
=== man pages ===

Revision as of 11:47, 9 June 2016


Top Device Tree page

Reference Manual

Introduction

Device Tree Usage

The Device Tree Usage page was previously located at devicetree.org

It walks through how to write a device tree for a new machine.

It is intended to provide an overview of device tree concepts and how they are used to describe a machine.

Miscellaneous Tips

Linux Drivers Device Tree Guide

Device Tree Source

  • presentations

Bindings

Subsystem specific

  • gpio / pinctrl
  • interrupts
  • timers
  • etc

Overlays

Device Tree Source Validation

Compiling .dtb (FDT binary blob)

  • via kernel make system
    • all configured .dtb
      • make dtbs
    • specific .dtb
      • make arch/arm/boot/dts/qcom-apq8074-dragonboard.dtb
  • via generated script in build directory
    • arch/arm/boot/dts/.*.dtb.cmd
    • arch/${ARCH}/boot/dts/.*.dtb.cmd

install

  • make dtbs_install
    • installs in /boot/dtbs/<kernel version> ???? -- is this useful ???
  • many other ways to install ....

boot loaders

booting

debugging

  • diffing .dts, .dtb, /proc/devicetree/
  • locating source location for properties
  • boot time messages
    • device creation
    • driver registration
    • binding driver to device
    • deferred binding

Tools

"The device tree generator is a Xilinx EDK tool that plugs into the
Automatic BSP Generation features of the tool, XPS"

man pages

Glossary

  • .dtb - File name suffix, by convention, for compiled devicetree.
  • .dts - File name suffix, by convention, for devicetree source.
  • .dtsi - File name suffix, by convention, for devicetree source to be included by a .dts or .dtsi file.
  • Binary Blob - File containing a compiled devicetree.
  • dtc - Devicetree compiler.
  • EDT Expanded Device Tree - A copy of an FDT, but converted to kernel data structures, in the kernel memory space.
  • FDT Flattened Device Tree - A copy of a binary blob in the kernel memory space.

Definitions