Zephyr Project
3.0.0

Contents

  • Introduction
  • Getting Started Guide
  • Contribution Guidelines
  • Development and Contribution Process
  • Build and Configuration Systems
  • Application Development
  • API Reference
  • User and Developer Guides
    • Beyond the Getting Started Guide
    • Architecture-related Guides
    • Bluetooth
    • Documentation Generation
    • Coccinelle
    • Code And Data Relocation
    • Cryptography
    • Flashing and Hardware Debugging
    • Debugging and Tracing
    • Device Management
    • Devicetree Guide
      • Introduction to devicetree
      • Design goals
      • Devicetree bindings
      • Devicetree access from C/C++
      • Devicetree HOWTOs
      • Troubleshooting devicetree
      • Devicetree versus Kconfig
    • Environment Variables
    • Pin Control
    • Power Management
    • Peripheral and Hardware Emulators
    • Modules (External projects)
    • Networking
    • Using with PlatformIO
    • OS Abstraction
    • Porting
    • State Machine Framework
    • Testing
    • Trusted Firmware-M
    • West (Zephyr’s meta-tool)
    • Optimizations
    • Zephyr CMake Package
  • Security
  • Samples and Demos
  • Supported Boards
  • Release Notes
Zephyr Project
  • »
  • User and Developer Guides »
  • Devicetree Guide
  • View page source

Devicetree Guide

This is a high-level guide to devicetree as it is used for Zephyr development. See Devicetree 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
Next Previous

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

Zephyr Project
Bridle
Kconfig Reference
Devicetree Bindings