WIP: device tree MVP

This commit is contained in:
Daniel Agar
2022-01-06 17:20:17 -05:00
parent 07d75d85cf
commit 1f39b42525
1395 changed files with 68755 additions and 0 deletions
+110
View File
@@ -0,0 +1,110 @@
# Common fields for all devices
include: [pm.yaml]
properties:
status:
type: string
required: false
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
required: false
reg-names:
type: string-array
description: name of each register space
required: false
interrupts:
type: array
required: false
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
required: false
description: extended interrupt specifier for device
interrupt-names:
type: string-array
required: false
description: name of each interrupt
interrupt-parent:
type: phandle
required: false
description: phandle to interrupt controller node
label:
type: string
required: false
description: Human readable string describing the device (used as device_get_binding() argument)
clocks:
type: phandle-array
required: false
description: Clock gate information
clock-names:
type: string-array
required: false
description: name of each clock
"#address-cells":
type: int
required: false
description: number of address cells in reg property
"#size-cells":
type: int
required: false
description: number of size cells in reg property
dmas:
required: false
type: phandle-array
description: DMA channels specifiers
dma-names:
required: false
type: string-array
description: Provided names of DMA channel specifiers
io-channels:
required: false
type: phandle-array
description: IO channels specifiers
io-channel-names:
required: false
type: string-array
description: Provided names of IO channel specifiers
mboxes:
required: false
type: phandle-array
description: mailbox / IPM channels specifiers
specifier-space: mbox
mbox-names:
required: false
type: string-array
description: Provided names of mailbox / IPM channel specifiers
+13
View File
@@ -0,0 +1,13 @@
# Copyright (c) 2021, CSIRO
# SPDX-License-Identifier: Apache-2.0
# Common fields for devices resulting in linker memory regions
properties:
zephyr,memory-region:
type: string
required: false
description: |
Signify that this node should result in a dedicated linker script
memory region in the final executable. The region address and size
is taken from the <reg> property, while the name is the value of
this property.
+18
View File
@@ -0,0 +1,18 @@
# Copyright (c) 2021 Intel Corporation.
# SPDX-License-Identifier: Apache-2.0
# Properties for Power Management (PM)
properties:
wakeup-source:
required: false
type: boolean
description: |
Property to identify that a device can be used as wake up source.
When this property is provided a specific flag is set into the
device that tells the system that the device is capable of
wake up the system.
Wake up capable devices are disabled (interruptions will not wake up
the system) by default but they can be enabled at runtime if necessary.
+33
View File
@@ -0,0 +1,33 @@
# Copyright (c) 2020, Nordic Semiconductor ASA
# SPDX-License-Identifier: Apache-2.0
# Properties for nodes with controllable power supplies.
properties:
supply-gpios:
type: phandle-array
required: false
description: |
GPIO specifier that controls power to the device.
This property should be provided when the device has a dedicated
switch that controls power to the device. The supply state is
entirely the responsibility of the device driver.
Contrast with vin-supply.
vin-supply:
type: phandle
required: false
description: |
Reference to the regulator that controls power to the device.
The referenced devicetree node must have a regulator compatible.
This property should be provided when device power is supplied
by a shared regulator. The supply state is dependent on the
request status of all devices fed by the regulator.
Contrast with supply-gpios. If both properties are provided
then the regulator must be requested before the supply GPIOS is
set to an active state, and the supply GPIOS must be set to an
inactive state before releasing the regulator.