Difference between revisions of "Device tree"

From Wiki at Neela Nurseries
Jump to: navigation, search
m
m (2022-06-23 adding section 'historical context' of device tree source.)
Line 34: Line 34:
 
*  https://docs.zephyrproject.org/apidoc/latest/group__devicetree-generic-id.html
 
*  https://docs.zephyrproject.org/apidoc/latest/group__devicetree-generic-id.html
 
</ul>
 
</ul>
 +
 +
<!-- comment -->
 +
 +
== [[#top|^]] Some Historical Context ==
 +
 +
Some device tree historical context given in this Power Point presentation by Thomas Petazzoni of Free Electrons:
 +
 +
*  https://elinux.org/images/f/f9/Petazzoni-device-tree-dummies_0.pdf
 +
  
 
<!-- comment -->
 
<!-- comment -->

Revision as of 17:23, 23 June 2022

Unix and Linux config   ::   Containers   ::   Zephyr device drivers

Zephyr RTOS building blocks   ::   Device Tree Source   ::   Kconfig   ::   cmake   ::   `west` manifest files



2021-08-23 Monday Starting notes for Device Tree, an OS independent framework with its own governance and steering committee, community, web site and on-line documentation. First Device Tree documentation noted here is:

https://docs.zephyrproject.org/2.6.0/reference/devicetree/api.html

Today Monday studying section 4.0, "Device Bindings" and binding guidelines. May have questions for Jared Wolff of CircuitDojo, relating to his Quality Wing Zephyr driver project and specifically the files in Jared's AQW project.

Latest Zephyr documentation as of 2021-08-23 is here:


^ Some Historical Context

Some device tree historical context given in this Power Point presentation by Thomas Petazzoni of Free Electrons:


^ Device Tree bindings files are yml format files

Noting that in AQW bindings file for SHCT3 sensor there is an include line:

Code excerpt, full file from Jared Wolff AQW driver:

#
# Copyright (c) 2021 Circuit Dojo LLC
#

description: Sensirion SHTC3 Temp/Humidity Sensor

compatible: "sensirion,shtc3"

include: i2c-device.yaml

The file i2c-device.yaml is found locally in /usr/local/share/ncs/v1.6.1/zephyr/dts/bindings/i2c/i2c-device.yaml, and this file contains:

Code excerpt, full file from Zephyr project:

# Copyright (c) 2017, Linaro Limited
# SPDX-License-Identifier: Apache-2.0

# Common fields for I2C devices

include: [base.yaml, power.yaml]

on-bus: i2c

properties:
    reg:
      required: true
      description: device address on i2c bus
    label:
      required: true

QUESTION: how does a developer know to include i2c-device.yaml?


^ Zephyr Device Tree API - A System Of Macros


== ^ 0408 - Undocumented Device Tree syntax and features . . . Early Google search result when seeking info on `/delete-property/` token in Device Tree Source file, observed specifically in Jared Wolff (Circuit Dojo) nfed release tag v1.7.1, active_sleep sample app board overlay file.