zephyr/dts/bindings/base/base.yaml
Declan Snyder 8e87d55473 dts: bindings: base: Undeprecate label
Label property is described in DT spec and does not need to be
deprecated in base.yaml anymore. It was originally deprecated to
discourage what was previously the most common use case of labels in
zephyr which was the old device_get_binding, which was rightfully
removed. However, labels do have a purpose as described in DT spec of
providing a human readable string to software to describe the device,
which there is some use for.

The description of a label should be given in the device binding, as
stated in DT spec.

Label properties should be of type string.

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2024-11-26 15:44:24 -05:00

113 lines
2.6 KiB
YAML

# Common fields for all devices
include: [pm.yaml]
properties:
status:
type: string
description: indicates the operational status of a device
enum:
- "ok" # Deprecated form
- "okay"
- "disabled"
- "reserved"
- "fail"
- "fail-sss"
compatible:
type: string-array
required: true
description: compatible strings
reg:
type: array
description: register space
reg-names:
type: string-array
description: name of each register space
interrupts:
type: array
description: interrupts for device
# Does not follow the 'type: phandle-array' scheme, but gets type-checked
# by the code. Declare it here just so that other bindings can make it
# 'required: true' easily if they want to.
interrupts-extended:
type: compound
description: extended interrupt specifier for device
interrupt-names:
type: string-array
description: name of each interrupt
interrupt-parent:
type: phandle
description: phandle to interrupt controller node
# description of label should be given in bindings inheriting base.yaml
# label property is included here to help enforce its type being string
label:
type: string
description: No description provided for this label
clocks:
type: phandle-array
description: Clock gate information
clock-names:
type: string-array
description: name of each clock
"#address-cells":
type: int
description: number of address cells in reg property
"#size-cells":
type: int
description: number of size cells in reg property
dmas:
type: phandle-array
description: DMA channels specifiers
dma-names:
type: string-array
description: Provided names of DMA channel specifiers
io-channels:
type: phandle-array
description: IO channels specifiers
io-channel-names:
type: string-array
description: Provided names of IO channel specifiers
mboxes:
type: phandle-array
description: mailbox / IPM channels specifiers
specifier-space: mbox
mbox-names:
type: string-array
description: Provided names of mailbox / IPM channel specifiers
power-domains:
type: phandle-array
description: Power domain specifiers
power-domain-names:
type: string-array
description: Provided names of power domain specifiers
"#power-domain-cells":
type: int
description: Number of cells in power-domains property
zephyr,deferred-init:
type: boolean
description: |
Do not initialize device automatically on boot. Device should be manually
initialized using device_init().