zephyr/dts/bindings/device_node.yaml.template

78 lines
2.4 KiB
Plaintext

---
title: <Title should describe what node you are describing>
version: 0.1
description: >
Describe in free form text w/ spanning lines what you
are describing
inherits:
- !include other.yaml # or [other1.yaml, other2.yaml]
# other.yaml contains bindings that also apply to this node.
# In case there are duplicate definitions in the different
# bindings the one that is defined first prevails.
< parent | child >:
# parent/child is used to document implicit relation between nodes.
# This information is required to generate parent related bits in child
# attributes.
# In case parent has 'bus', slave inherits some information from master.
# parent and child should share same bus-type value.
bus: <bus-type>
# properties will be the contents of the device tree node
# property names must match the property names in the DT
properties:
# A typical property entry will look like the following
# <name of property as it is in device tree>
# category: <required | optional>
# type: <string | int | array | compound>
# description: <description of property>
# generation: <define | structure>
# At a minimum, the compatible is required for matching nodes
compatible: <list of string compatible matches>
category: required
type: string
description: compatible of node
generation: define
# reg is used to denote mmio registers
reg:
type: array
description: mmio register space
generation: define
category: required
# interrupts specifies the interrupts that the driver may utilize
interrupts:
type: array
category: required
description: required interrupts
generation: define
# If a node is a interrupt controller, gpio controller, pinmux device
# or any device which is referenced via phandle plus some number of cells
# then the cell fiels below must be present.
"#cells":
- cell0 # name of first cell
- cell1 # name of second cell
- cell2 # name of third cell
- and so on and so forth
# When the "generation" attribute is set to "define", value "use-prop-name"
# could be added to indicate that generated #define should use property
# name instead of controller generic name, for instance _CS_GPIO_ instead
# of _GPIOS_
# "type" attribute is currenty not used.
base_label: LABEL
# This will use 'LABEL' instead of the device generated name when we produce
# #define's for the node
...