Logo
3.1.0-0
Zephyr Project v: latest
Document Release Versions
latest
3.1.0
3.0.0
2.7.0
2.6.0
2.5.0
2.4.0
2.3.0
1.14.1
Downloads
PDF
zephyrproject.org Links
Project Home
SDK
Releases

Contents

  • Introduction
  • Developing with Zephyr
  • Kernel
  • OS Services
  • Build and Configuration Systems
    • Build System (CMake)
    • Devicetree
      • Introduction to devicetree
      • Design goals
      • Devicetree bindings
      • Devicetree access from C/C++
      • Devicetree HOWTOs
      • Troubleshooting devicetree
      • Devicetree versus Kconfig
      • Reference
    • Configuration System (Kconfig)
    • Zephyr CMake Package
  • Connectivity
  • Hardware Support
  • Contributing to Zephyr
  • Project and Governance
  • Security
  • Samples and Demos
  • Supported Boards
  • Release Notes

Reference

  • API
  • Kconfig Options
  • Devicetree Bindings
Zephyr Project
  • Docs / 3.1.0-0 »
  • Build and Configuration Systems »
  • Devicetree
  • Open on GitHub

The latest development version of this page may be more current than this released 3.1.0-0 version.

Devicetree¶

This is a high-level guide to devicetree as it is used for Zephyr development. See Reference for reference material.

  • Introduction to devicetree
    • Syntax and structure
    • Unit address examples
    • Important properties
    • Writing property values
    • Aliases and chosen nodes
    • Input and output files
  • Design goals
    • Single source for all hardware information
    • Source compatibility with other operating systems
  • Devicetree bindings
    • Introduction
    • Bindings file syntax
    • Rules for mainline bindings
    • Inferred bindings
  • Devicetree access from C/C++
    • A note for Linux developers
    • Node identifiers
    • Node identifiers are not values
    • Property access
    • Other APIs
    • Device driver conveniences
    • Hardware specific APIs
    • Generated macros
  • Devicetree HOWTOs
    • Get your devicetree and generated header
    • Get a struct device from a devicetree node
    • Find a devicetree binding
    • Set devicetree overlays
    • Use devicetree overlays
    • Write device drivers using devicetree APIs
    • Device drivers that depend on other devices
    • Applications that depend on board-specific devices
  • Troubleshooting devicetree
    • Try again with a pristine build directory
    • Make sure <devicetree.h> is included
    • Make sure you’re using the right names
    • Look at the preprocessor output
    • Validate properties
    • Check for missing bindings
    • Errors with DT_INST_() APIs
  • Devicetree versus Kconfig
  • Reference
    • Devicetree API
    • Bindings index

© Copyright 2015-2022 Zephyr Project members and individual contributors. Last updated on Jun 05, 2022.