Difference between revisions of "Device tree"

From Wiki at Neela Nurseries
Jump to: navigation, search
m
m
Line 15: Line 15:
 
<ul>
 
<ul>
 
*  https://github.com/devicetree-org/devicetree-specification/releases/tag/v0.3
 
*  https://github.com/devicetree-org/devicetree-specification/releases/tag/v0.3
</ul>
+
</ul>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 [https://community.jaredwolff.com/ Jared Wolff] of CircuitDojo, relating to his [https://github.com/circuitdojo/air-quality-wing-zephyr-drivers/|Air Quality Wing] Zephyr driver project and specifically the [https://github.com/circuitdojo/air-quality-wing-zephyr-drivers/tree/main/dts/bindings|dts files in Jared's AQW project].
 
Today Monday studying section 4.0, "Device Bindings" and binding guidelines.  May have questions for [https://community.jaredwolff.com/ Jared Wolff] of CircuitDojo, relating to his [https://github.com/circuitdojo/air-quality-wing-zephyr-drivers/|Air Quality Wing] Zephyr driver project and specifically the [https://github.com/circuitdojo/air-quality-wing-zephyr-drivers/tree/main/dts/bindings|dts files in Jared's AQW project].
Line 37: Line 37:
 
<!-- comment -->
 
<!-- comment -->
  
== Device Tree bindings files are yml format files ==
+
== [[#top|^]] Device Tree bindings files are yml format files ==
  
 
Noting that in AQW bindings file for SHCT3 sensor there is an <code>include</code> line:
 
Noting that in AQW bindings file for SHCT3 sensor there is an <code>include</code> line:
Line 77: Line 77:
 
<b>QUESTION:</b>  how does a developer know to include <code>i2c-device.yaml</code>?
 
<b>QUESTION:</b>  how does a developer know to include <code>i2c-device.yaml</code>?
  
 +
<!-- comment -->
 +
 +
== [[#top|^]] Zephyr Device Tree API - A System Of Macros ==
 +
 +
*  https://docs.zephyrproject.org/2.6.0/reference/devicetree/api.html
  
 +
 +
<!-- comment -->
  
 
<!-- end of page -->
 
<!-- end of page -->

Revision as of 23:06, 29 October 2021

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:


^ 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