Zephyr API Documentation 4.1.99
A Scalable Open Source RTOS
 4.1.99
All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
devicetree.h File Reference

Devicetree main header. More...

Go to the source code of this file.

Macros

#define DT_INVALID_NODE   _
 Name for an invalid node identifier.
 
#define DT_ROOT   DT_N
 Node identifier for the root node in the devicetree.
 
#define DT_PATH(...)
 Get a node identifier for a devicetree path.
 
#define DT_NODELABEL(label)
 Get a node identifier for a node label.
 
#define DT_ALIAS(alias)
 Get a node identifier from /aliases.
 
#define DT_HAS_ALIAS(alias_name)
 Test if the devicetree has a given alias.
 
#define DT_NODE_HASH(node_id)
 Get the hash associated with a DT node.
 
#define DT_INST(inst, compat)
 Get a node identifier for an instance of a compatible.
 
#define DT_PARENT(node_id)
 Get a node identifier for a parent node.
 
#define DT_GPARENT(node_id)
 Get a node identifier for a grandparent node.
 
#define DT_CHILD(node_id, child)
 Get a node identifier for a child node.
 
#define DT_COMPAT_GET_ANY_STATUS_OKAY(compat)
 Get a node identifier for a status okay node with a compatible.
 
#define DT_NODE_PATH(node_id)
 Get a devicetree node's full path as a string literal.
 
#define DT_NODE_FULL_NAME(node_id)
 Get a devicetree node's name with unit-address as a string literal.
 
#define DT_NODE_FULL_NAME_UNQUOTED(node_id)
 Get the node's full name, including the unit-address, as an unquoted sequence of tokens.
 
#define DT_NODE_FULL_NAME_TOKEN(node_id)
 Get the node's full name, including the unit-address, as a token.
 
#define DT_NODE_FULL_NAME_UPPER_TOKEN(node_id)
 Like DT_NODE_FULL_NAME_TOKEN(), but uppercased.
 
#define DT_NODE_CHILD_IDX(node_id)
 Get a devicetree node's index into its parent's list of children.
 
#define DT_CHILD_NUM(node_id)
 Get the number of child nodes of a given node.
 
#define DT_CHILD_NUM_STATUS_OKAY(node_id)
 Get the number of child nodes of a given node which child nodes' status are okay.
 
#define DT_SAME_NODE(node_id1, node_id2)
 Do node_id1 and node_id2 refer to the same node?
 
#define DT_NODELABEL_STRING_ARRAY(node_id)
 Get a devicetree node's node labels as an array of strings.
 
#define DT_PROP(node_id, prop)
 Get a devicetree property value.
 
#define DT_PROP_LEN(node_id, prop)
 Get a property's logical length.
 
#define DT_PROP_LEN_OR(node_id, prop, default_value)
 Like DT_PROP_LEN(), but with a fallback to default_value.
 
#define DT_PROP_HAS_IDX(node_id, prop, idx)
 Is index idx valid for an array type property?
 
#define DT_PROP_HAS_NAME(node_id, prop, name)
 Is name name available in a foo-names property?
 
#define DT_PROP_BY_IDX(node_id, prop, idx)
 Get the value at index idx in an array type property.
 
#define DT_PROP_LAST(node_id, prop)
 Get the last element of an array type property.
 
#define DT_PROP_OR(node_id, prop, default_value)
 Like DT_PROP(), but with a fallback to default_value.
 
#define DT_ENUM_IDX_BY_IDX(node_id, prop, idx)
 Get a property array value's index into its enumeration values.
 
#define DT_ENUM_IDX(node_id, prop)
 Equivalent to DT_ENUM_IDX_BY_IDX(node_id, prop, 0).
 
#define DT_ENUM_IDX_BY_IDX_OR(node_id, prop, idx, default_idx_value)
 Like DT_ENUM_IDX_BY_IDX(), but with a fallback to a default enum index.
 
#define DT_ENUM_IDX_OR(node_id, prop, default_idx_value)
 Equivalent to DT_ENUM_IDX_BY_IDX_OR(node_id, prop, 0, default_idx_value).
 
#define DT_ENUM_HAS_VALUE_BY_IDX(node_id, prop, idx, value)
 Does a node enumeration property array have a given value?
 
#define DT_ENUM_HAS_VALUE(node_id, prop, value)
 Equivalent to DT_ENUM_HAS_VALUE_BY_IDX(node_id, prop, 0, value).
 
#define DT_STRING_TOKEN(node_id, prop)
 Get a string property's value as a token.
 
#define DT_STRING_TOKEN_OR(node_id, prop, default_value)
 Like DT_STRING_TOKEN(), but with a fallback to default_value.
 
#define DT_STRING_UPPER_TOKEN(node_id, prop)
 Like DT_STRING_TOKEN(), but uppercased.
 
#define DT_STRING_UPPER_TOKEN_OR(node_id, prop, default_value)
 Like DT_STRING_UPPER_TOKEN(), but with a fallback to default_value.
 
#define DT_STRING_UNQUOTED(node_id, prop)
 Get a string property's value as an unquoted sequence of tokens.
 
#define DT_STRING_UNQUOTED_OR(node_id, prop, default_value)
 Like DT_STRING_UNQUOTED(), but with a fallback to default_value.
 
#define DT_STRING_TOKEN_BY_IDX(node_id, prop, idx)
 Get an element out of a string-array property as a token.
 
#define DT_STRING_UPPER_TOKEN_BY_IDX(node_id, prop, idx)
 Like DT_STRING_TOKEN_BY_IDX(), but uppercased.
 
#define DT_STRING_UNQUOTED_BY_IDX(node_id, prop, idx)
 Get a string array item value as an unquoted sequence of tokens.
 
#define DT_PROP_BY_PHANDLE_IDX(node_id, phs, idx, prop)
 Get a property value from a phandle in a property.
 
#define DT_PROP_BY_PHANDLE_IDX_OR(node_id, phs, idx, prop, default_value)
 Like DT_PROP_BY_PHANDLE_IDX(), but with a fallback to default_value.
 
#define DT_PROP_BY_PHANDLE(node_id, ph, prop)
 Get a property value from a phandle's node.
 
#define DT_PHA_BY_IDX(node_id, pha, idx, cell)
 Get a phandle-array specifier cell value at an index.
 
#define DT_PHA_BY_IDX_OR(node_id, pha, idx, cell, default_value)
 Like DT_PHA_BY_IDX(), but with a fallback to default_value.
 
#define DT_PHA(node_id, pha, cell)
 Equivalent to DT_PHA_BY_IDX(node_id, pha, 0, cell)
 
#define DT_PHA_OR(node_id, pha, cell, default_value)
 Like DT_PHA(), but with a fallback to default_value.
 
#define DT_PHA_BY_NAME(node_id, pha, name, cell)
 Get a value within a phandle-array specifier by name.
 
#define DT_PHA_BY_NAME_OR(node_id, pha, name, cell, default_value)
 Like DT_PHA_BY_NAME(), but with a fallback to default_value.
 
#define DT_PHANDLE_BY_NAME(node_id, pha, name)
 Get a phandle's node identifier from a phandle array by name.
 
#define DT_PHANDLE_BY_IDX(node_id, prop, idx)
 Get a node identifier for a phandle in a property.
 
#define DT_PHANDLE(node_id, prop)
 Get a node identifier for a phandle property's value.
 
#define DT_NUM_RANGES(node_id)
 Get the number of range blocks in the ranges property.
 
#define DT_RANGES_HAS_IDX(node_id, idx)
 Is idx a valid range block index?
 
#define DT_RANGES_HAS_CHILD_BUS_FLAGS_AT_IDX(node_id, idx)
 Does a ranges property have child bus flags at index?
 
#define DT_RANGES_CHILD_BUS_FLAGS_BY_IDX(node_id, idx)
 Get the ranges property child bus flags at index.
 
#define DT_RANGES_CHILD_BUS_ADDRESS_BY_IDX(node_id, idx)
 Get the ranges property child bus address at index.
 
#define DT_RANGES_PARENT_BUS_ADDRESS_BY_IDX(node_id, idx)
 Get the ranges property parent bus address at index.
 
#define DT_RANGES_LENGTH_BY_IDX(node_id, idx)
 Get the ranges property length at index.
 
#define DT_FOREACH_RANGE(node_id, fn)
 Invokes fn for each entry of node_id ranges property.
 
#define DT_NODE_VENDOR_BY_IDX(node_id, idx)
 Get the vendor at index idx as a string literal.
 
#define DT_NODE_VENDOR_HAS_IDX(node_id, idx)
 Does a node's compatible property have a vendor at an index?
 
#define DT_NODE_VENDOR_BY_IDX_OR(node_id, idx, default_value)
 Like DT_NODE_VENDOR_BY_IDX(), but with a fallback to default_value.
 
#define DT_NODE_VENDOR_OR(node_id, default_value)
 Get the node's (only) vendor as a string literal.
 
#define DT_NODE_MODEL_BY_IDX(node_id, idx)
 Get the model at index "idx" as a string literal.
 
#define DT_NODE_MODEL_HAS_IDX(node_id, idx)
 Does a node's compatible property have a model at an index?
 
#define DT_NODE_MODEL_BY_IDX_OR(node_id, idx, default_value)
 Like DT_NODE_MODEL_BY_IDX(), but with a fallback to default_value.
 
#define DT_NODE_MODEL_OR(node_id, default_value)
 Get the node's (only) model as a string literal.
 
#define DT_NUM_REGS(node_id)
 Get the number of register blocks in the reg property.
 
#define DT_REG_HAS_IDX(node_id, idx)
 Is idx a valid register block index?
 
#define DT_REG_HAS_NAME(node_id, name)
 Is name a valid register block name?
 
#define DT_REG_ADDR_BY_IDX_RAW(node_id, idx)
 Get the base raw address of the register block at index idx.
 
#define DT_REG_ADDR_RAW(node_id)
 Get a node's (only) register block raw address.
 
#define DT_REG_ADDR_BY_IDX(node_id, idx)
 Get the base address of the register block at index idx.
 
#define DT_REG_SIZE_BY_IDX(node_id, idx)
 Get the size of the register block at index idx.
 
#define DT_REG_ADDR(node_id)
 Get a node's (only) register block address.
 
#define DT_REG_ADDR_U64(node_id)
 64-bit version of DT_REG_ADDR()
 
#define DT_REG_SIZE(node_id)
 Get a node's (only) register block size.
 
#define DT_REG_ADDR_BY_NAME(node_id, name)
 Get a register block's base address by name.
 
#define DT_REG_ADDR_BY_NAME_OR(node_id, name, default_value)
 Like DT_REG_ADDR_BY_NAME(), but with a fallback to default_value.
 
#define DT_REG_ADDR_BY_NAME_U64(node_id, name)
 64-bit version of DT_REG_ADDR_BY_NAME()
 
#define DT_REG_SIZE_BY_NAME(node_id, name)
 Get a register block's size by name.
 
#define DT_REG_SIZE_BY_NAME_OR(node_id, name, default_value)
 Like DT_REG_SIZE_BY_NAME(), but with a fallback to default_value.
 
#define DT_NUM_IRQS(node_id)
 Get the number of interrupt sources for the node.
 
#define DT_NUM_NODELABELS(node_id)
 Get the number of node labels that a node has.
 
#define DT_IRQ_LEVEL(node_id)
 Get the interrupt level for the node.
 
#define DT_IRQ_HAS_IDX(node_id, idx)
 Is idx a valid interrupt index?
 
#define DT_IRQ_HAS_CELL_AT_IDX(node_id, idx, cell)
 Does an interrupts property have a named cell specifier at an index? If this returns 1, then DT_IRQ_BY_IDX(node_id, idx, cell) is valid.
 
#define DT_IRQ_HAS_CELL(node_id, cell)
 Equivalent to DT_IRQ_HAS_CELL_AT_IDX(node_id, 0, cell)
 
#define DT_IRQ_HAS_NAME(node_id, name)
 Does an interrupts property have a named specifier value at an index? If this returns 1, then DT_IRQ_BY_NAME(node_id, name, cell) is valid.
 
#define DT_IRQ_BY_IDX(node_id, idx, cell)
 Get a value within an interrupt specifier at an index.
 
#define DT_IRQ_BY_NAME(node_id, name, cell)
 Get a value within an interrupt specifier by name.
 
#define DT_IRQ(node_id, cell)
 Get an interrupt specifier's value Equivalent to DT_IRQ_BY_IDX(node_id, 0, cell).
 
#define DT_IRQ_INTC_BY_IDX(node_id, idx)
 Get an interrupt specifier's interrupt controller by index.
 
#define DT_IRQ_INTC_BY_NAME(node_id, name)
 Get an interrupt specifier's interrupt controller by name.
 
#define DT_IRQ_INTC(node_id)
 Get an interrupt specifier's interrupt controller.
 
#define DT_IRQN_BY_IDX(node_id, idx)
 Get the node's Zephyr interrupt number at index If CONFIG_MULTI_LEVEL_INTERRUPTS is enabled, the interrupt number at index will be multi-level encoded.
 
#define DT_IRQN(node_id)
 Get a node's (only) irq number.
 
#define DT_CHOSEN(prop)
 Get a node identifier for a /chosen node property.
 
#define DT_HAS_CHOSEN(prop)
 Test if the devicetree has a /chosen node.
 
#define DT_FOREACH_NODE(fn)
 Invokes fn for every node in the tree.
 
#define DT_FOREACH_NODE_VARGS(fn, ...)
 Invokes fn for every node in the tree with multiple arguments.
 
#define DT_FOREACH_STATUS_OKAY_NODE(fn)
 Invokes fn for every status okay node in the tree.
 
#define DT_FOREACH_STATUS_OKAY_NODE_VARGS(fn, ...)
 Invokes fn for every status okay node in the tree with multiple arguments.
 
#define DT_FOREACH_ANCESTOR(node_id, fn)
 Invokes fn for each ancestor of node_id.
 
#define DT_FOREACH_CHILD(node_id, fn)
 Invokes fn for each child of node_id.
 
#define DT_FOREACH_CHILD_SEP(node_id, fn, sep)
 Invokes fn for each child of node_id with a separator.
 
#define DT_FOREACH_CHILD_VARGS(node_id, fn, ...)
 Invokes fn for each child of node_id with multiple arguments.
 
#define DT_FOREACH_CHILD_SEP_VARGS(node_id, fn, sep, ...)
 Invokes fn for each child of node_id with separator and multiple arguments.
 
#define DT_FOREACH_CHILD_STATUS_OKAY(node_id, fn)
 Call fn on the child nodes with status okay
 
#define DT_FOREACH_CHILD_STATUS_OKAY_SEP(node_id, fn, sep)
 Call fn on the child nodes with status okay with separator.
 
#define DT_FOREACH_CHILD_STATUS_OKAY_VARGS(node_id, fn, ...)
 Call fn on the child nodes with status okay with multiple arguments.
 
#define DT_FOREACH_CHILD_STATUS_OKAY_SEP_VARGS(node_id, fn, sep, ...)
 Call fn on the child nodes with status okay with separator and multiple arguments.
 
#define DT_FOREACH_PROP_ELEM(node_id, prop, fn)
 Invokes fn for each element in the value of property prop.
 
#define DT_FOREACH_PROP_ELEM_SEP(node_id, prop, fn, sep)
 Invokes fn for each element in the value of property prop with separator.
 
#define DT_FOREACH_PROP_ELEM_VARGS(node_id, prop, fn, ...)
 Invokes fn for each element in the value of property prop with multiple arguments.
 
#define DT_FOREACH_PROP_ELEM_SEP_VARGS(node_id, prop, fn, sep, ...)
 Invokes fn for each element in the value of property prop with multiple arguments and a separator.
 
#define DT_FOREACH_STATUS_OKAY(compat, fn)
 Invokes fn for each status okay node of a compatible.
 
#define DT_FOREACH_STATUS_OKAY_VARGS(compat, fn, ...)
 Invokes fn for each status okay node of a compatible with multiple arguments.
 
#define DT_COMPAT_FOREACH_STATUS_OKAY_VARGS(compat, fn, ...)
 Call fn on all nodes with compatible compat and status okay with multiple arguments.
 
#define DT_FOREACH_NODELABEL(node_id, fn)
 Invokes fn for each node label of a given node.
 
#define DT_FOREACH_NODELABEL_VARGS(node_id, fn, ...)
 Invokes fn for each node label of a given node with multiple arguments.
 
#define DT_NODE_EXISTS(node_id)
 Does a node identifier refer to a node?
 
#define DT_NODE_HAS_STATUS(node_id, status)
 Does a node identifier refer to a node with a status?
 
#define DT_NODE_HAS_STATUS_OKAY(node_id)
 Does a node identifier refer to a node with a status okay?
 
#define DT_HAS_COMPAT_STATUS_OKAY(compat)
 Does the devicetree have a status okay node with a compatible?
 
#define DT_NUM_INST_STATUS_OKAY(compat)
 Get the number of instances of a given compatible with status okay
 
#define DT_NODE_HAS_COMPAT(node_id, compat)
 Does a devicetree node match a compatible?
 
#define DT_NODE_HAS_COMPAT_STATUS(node_id, compat, status)
 Does a devicetree node have a compatible and status?
 
#define DT_NODE_HAS_PROP(node_id, prop)
 Does a devicetree node have a property?
 
#define DT_PHA_HAS_CELL_AT_IDX(node_id, pha, idx, cell)
 Does a phandle array have a named cell specifier at an index?
 
#define DT_PHA_HAS_CELL(node_id, pha, cell)
 Equivalent to DT_PHA_HAS_CELL_AT_IDX(node_id, pha, 0, cell)
 
#define DT_BUS(node_id)
 Node's bus controller.
 
#define DT_ON_BUS(node_id, bus)
 Is a node on a bus of a given type?
 
#define DT_DRV_INST(inst)
 Node identifier for an instance of a DT_DRV_COMPAT compatible.
 
#define DT_INST_PARENT(inst)
 Get a DT_DRV_COMPAT parent's node identifier.
 
#define DT_INST_GPARENT(inst)
 Get a DT_DRV_COMPAT grandparent's node identifier.
 
#define DT_INST_CHILD(inst, child)
 Get a node identifier for a child node of DT_DRV_INST(inst)
 
#define DT_INST_CHILD_NUM(inst)
 Get the number of child nodes of a given node.
 
#define DT_INST_CHILD_NUM_STATUS_OKAY(inst)
 Get the number of child nodes of a given node.
 
#define DT_INST_NODELABEL_STRING_ARRAY(inst)
 Get a string array of DT_DRV_INST(inst)'s node labels.
 
#define DT_INST_NUM_NODELABELS(inst)
 Get the number of node labels by instance number.
 
#define DT_INST_FOREACH_CHILD(inst, fn)
 Call fn on all child nodes of DT_DRV_INST(inst).
 
#define DT_INST_FOREACH_CHILD_SEP(inst, fn, sep)
 Call fn on all child nodes of DT_DRV_INST(inst) with a separator.
 
#define DT_INST_FOREACH_CHILD_VARGS(inst, fn, ...)
 Call fn on all child nodes of DT_DRV_INST(inst).
 
#define DT_INST_FOREACH_CHILD_SEP_VARGS(inst, fn, sep, ...)
 Call fn on all child nodes of DT_DRV_INST(inst) with separator.
 
#define DT_INST_FOREACH_CHILD_STATUS_OKAY(inst, fn)
 Call fn on all child nodes of DT_DRV_INST(inst) with status okay.
 
#define DT_INST_FOREACH_CHILD_STATUS_OKAY_SEP(inst, fn, sep)
 Call fn on all child nodes of DT_DRV_INST(inst) with status okay and with separator.
 
#define DT_INST_FOREACH_CHILD_STATUS_OKAY_VARGS(inst, fn, ...)
 Call fn on all child nodes of DT_DRV_INST(inst) with status okay and multiple arguments.
 
#define DT_INST_FOREACH_CHILD_STATUS_OKAY_SEP_VARGS(inst, fn, sep, ...)
 Call fn on all child nodes of DT_DRV_INST(inst) with status okay and with separator and multiple arguments.
 
#define DT_INST_ENUM_IDX_BY_IDX(inst, prop, idx)
 Get a DT_DRV_COMPAT property array value's index into its enumeration values.
 
#define DT_INST_ENUM_IDX(inst, prop)
 Get a DT_DRV_COMPAT value's index into its enumeration values.
 
#define DT_INST_ENUM_IDX_BY_IDX_OR(inst, prop, idx, default_idx_value)
 Like DT_INST_ENUM_IDX_BY_IDX(), but with a fallback to a default enum index.
 
#define DT_INST_ENUM_IDX_OR(inst, prop, default_idx_value)
 Like DT_INST_ENUM_IDX(), but with a fallback to a default enum index.
 
#define DT_INST_ENUM_HAS_VALUE_BY_IDX(inst, prop, idx, value)
 Does a DT_DRV_COMPAT enumeration property have a given value by index?
 
#define DT_INST_ENUM_HAS_VALUE(inst, prop, value)
 Does a DT_DRV_COMPAT enumeration property have a given value?
 
#define DT_INST_PROP(inst, prop)
 Get a DT_DRV_COMPAT instance property.
 
#define DT_INST_PROP_LEN(inst, prop)
 Get a DT_DRV_COMPAT property length.
 
#define DT_INST_PROP_HAS_IDX(inst, prop, idx)
 Is index idx valid for an array type property on a DT_DRV_COMPAT instance?
 
#define DT_INST_PROP_HAS_NAME(inst, prop, name)
 Is name name available in a foo-names property?
 
#define DT_INST_PROP_BY_IDX(inst, prop, idx)
 Get a DT_DRV_COMPAT element value in an array property.
 
#define DT_INST_PROP_OR(inst, prop, default_value)
 Like DT_INST_PROP(), but with a fallback to default_value.
 
#define DT_INST_PROP_LEN_OR(inst, prop, default_value)
 Like DT_INST_PROP_LEN(), but with a fallback to default_value.
 
#define DT_INST_STRING_TOKEN(inst, prop)
 Get a DT_DRV_COMPAT instance's string property's value as a token.
 
#define DT_INST_STRING_UPPER_TOKEN(inst, prop)
 Like DT_INST_STRING_TOKEN(), but uppercased.
 
#define DT_INST_STRING_UNQUOTED(inst, prop)
 Get a DT_DRV_COMPAT instance's string property's value as an unquoted sequence of tokens.
 
#define DT_INST_STRING_TOKEN_BY_IDX(inst, prop, idx)
 Get an element out of string-array property as a token.
 
#define DT_INST_STRING_UPPER_TOKEN_BY_IDX(inst, prop, idx)
 Like DT_INST_STRING_TOKEN_BY_IDX(), but uppercased.
 
#define DT_INST_STRING_UNQUOTED_BY_IDX(inst, prop, idx)
 Get an element out of string-array property as an unquoted sequence of tokens.
 
#define DT_INST_PROP_BY_PHANDLE(inst, ph, prop)
 Get a DT_DRV_COMPAT instance's property value from a phandle's node.
 
#define DT_INST_PROP_BY_PHANDLE_IDX(inst, phs, idx, prop)
 Get a DT_DRV_COMPAT instance's property value from a phandle in a property.
 
#define DT_INST_PHA_BY_IDX(inst, pha, idx, cell)
 Get a DT_DRV_COMPAT instance's phandle-array specifier value at an index.
 
#define DT_INST_PHA_BY_IDX_OR(inst, pha, idx, cell, default_value)
 Like DT_INST_PHA_BY_IDX(), but with a fallback to default_value.
 
#define DT_INST_PHA(inst, pha, cell)
 Get a DT_DRV_COMPAT instance's phandle-array specifier value Equivalent to DT_INST_PHA_BY_IDX(inst, pha, 0, cell)
 
#define DT_INST_PHA_OR(inst, pha, cell, default_value)
 Like DT_INST_PHA(), but with a fallback to default_value.
 
#define DT_INST_PHA_BY_NAME(inst, pha, name, cell)
 Get a DT_DRV_COMPAT instance's value within a phandle-array specifier by name.
 
#define DT_INST_PHA_BY_NAME_OR(inst, pha, name, cell, default_value)
 Like DT_INST_PHA_BY_NAME(), but with a fallback to default_value.
 
#define DT_INST_PHANDLE_BY_NAME(inst, pha, name)
 Get a DT_DRV_COMPAT instance's phandle node identifier from a phandle array by name.
 
#define DT_INST_PHANDLE_BY_IDX(inst, prop, idx)
 Get a DT_DRV_COMPAT instance's node identifier for a phandle in a property.
 
#define DT_INST_PHANDLE(inst, prop)
 Get a DT_DRV_COMPAT instance's node identifier for a phandle property's value.
 
#define DT_INST_REG_HAS_IDX(inst, idx)
 is idx a valid register block index on a DT_DRV_COMPAT instance?
 
#define DT_INST_REG_HAS_NAME(inst, name)
 is name a valid register block name on a DT_DRV_COMPAT instance?
 
#define DT_INST_REG_ADDR_BY_IDX_RAW(inst, idx)
 Get a DT_DRV_COMPAT instance's idx-th register block's raw address.
 
#define DT_INST_REG_ADDR_BY_IDX(inst, idx)
 Get a DT_DRV_COMPAT instance's idx-th register block's address.
 
#define DT_INST_REG_SIZE_BY_IDX(inst, idx)
 Get a DT_DRV_COMPAT instance's idx-th register block's size.
 
#define DT_INST_REG_ADDR_BY_NAME(inst, name)
 Get a DT_DRV_COMPAT's register block address by name.
 
#define DT_INST_REG_ADDR_BY_NAME_OR(inst, name, default_value)
 Like DT_INST_REG_ADDR_BY_NAME(), but with a fallback to default_value.
 
#define DT_INST_REG_ADDR_BY_NAME_U64(inst, name)
 64-bit version of DT_INST_REG_ADDR_BY_NAME()
 
#define DT_INST_REG_SIZE_BY_NAME(inst, name)
 Get a DT_DRV_COMPAT's register block size by name.
 
#define DT_INST_REG_SIZE_BY_NAME_OR(inst, name, default_value)
 Like DT_INST_REG_SIZE_BY_NAME(), but with a fallback to default_value.
 
#define DT_INST_REG_ADDR_RAW(inst)
 Get a DT_DRV_COMPAT's (only) register block raw address.
 
#define DT_INST_REG_ADDR(inst)
 Get a DT_DRV_COMPAT's (only) register block address.
 
#define DT_INST_REG_ADDR_U64(inst)
 64-bit version of DT_INST_REG_ADDR()
 
#define DT_INST_REG_SIZE(inst)
 Get a DT_DRV_COMPAT's (only) register block size.
 
#define DT_INST_NUM_IRQS(inst)
 Get a DT_DRV_COMPAT's number of interrupts.
 
#define DT_INST_IRQ_LEVEL(inst)
 Get a DT_DRV_COMPAT interrupt level.
 
#define DT_INST_IRQ_BY_IDX(inst, idx, cell)
 Get a DT_DRV_COMPAT interrupt specifier value at an index.
 
#define DT_INST_IRQ_INTC_BY_IDX(inst, idx)
 Get a DT_DRV_COMPAT interrupt specifier's interrupt controller by index.
 
#define DT_INST_IRQ_INTC_BY_NAME(inst, name)
 Get a DT_DRV_COMPAT interrupt specifier's interrupt controller by name.
 
#define DT_INST_IRQ_INTC(inst)
 Get a DT_DRV_COMPAT interrupt specifier's interrupt controller.
 
#define DT_INST_IRQ_BY_NAME(inst, name, cell)
 Get a DT_DRV_COMPAT interrupt specifier value by name.
 
#define DT_INST_IRQ(inst, cell)
 Get a DT_DRV_COMPAT interrupt specifier's value.
 
#define DT_INST_IRQN(inst)
 Get a DT_DRV_COMPAT's (only) irq number.
 
#define DT_INST_IRQN_BY_IDX(inst, idx)
 Get a DT_DRV_COMPAT's irq number at index.
 
#define DT_INST_BUS(inst)
 Get a DT_DRV_COMPAT's bus node identifier.
 
#define DT_INST_ON_BUS(inst, bus)
 Test if a DT_DRV_COMPAT's bus type is a given type.
 
#define DT_INST_STRING_TOKEN_OR(inst, name, default_value)
 Like DT_INST_STRING_TOKEN(), but with a fallback to default_value.
 
#define DT_INST_STRING_UPPER_TOKEN_OR(inst, name, default_value)
 Like DT_INST_STRING_UPPER_TOKEN(), but with a fallback to default_value.
 
#define DT_INST_STRING_UNQUOTED_OR(inst, name, default_value)
 Like DT_INST_STRING_UNQUOTED(), but with a fallback to default_value.
 
#define DT_HAS_COMPAT_ON_BUS_STATUS_OKAY(compat, bus)
 Test if any enabled node with the given compatible is on the given bus type.
 
#define DT_ANY_INST_ON_BUS_STATUS_OKAY(bus)
 Test if any DT_DRV_COMPAT node is on a bus of a given type and has status okay.
 
#define DT_ANY_INST_HAS_PROP_STATUS_OKAY(prop)
 Check if any DT_DRV_COMPAT node with status okay has a given property.
 
#define DT_ANY_COMPAT_HAS_PROP_STATUS_OKAY(compat, prop)
 Check if any device node with status okay has a given property.
 
#define DT_ANY_INST_HAS_BOOL_STATUS_OKAY(prop)
 Check if any DT_DRV_COMPAT node with status okay has a given boolean property that exists.
 
#define DT_INST_FOREACH_STATUS_OKAY(fn)
 Call fn on all nodes with compatible DT_DRV_COMPAT and status okay
 
#define DT_INST_FOREACH_STATUS_OKAY_VARGS(fn, ...)
 Call fn on all nodes with compatible DT_DRV_COMPAT and status okay with multiple arguments.
 
#define DT_INST_FOREACH_NODELABEL(inst, fn)
 Call fn on all node labels for a given DT_DRV_COMPAT instance.
 
#define DT_INST_FOREACH_NODELABEL_VARGS(inst, fn, ...)
 Call fn on all node labels for a given DT_DRV_COMPAT instance with multiple arguments.
 
#define DT_INST_FOREACH_PROP_ELEM(inst, prop, fn)
 Invokes fn for each element of property prop for a DT_DRV_COMPAT instance.
 
#define DT_INST_FOREACH_PROP_ELEM_SEP(inst, prop, fn, sep)
 Invokes fn for each element of property prop for a DT_DRV_COMPAT instance with a separator.
 
#define DT_INST_FOREACH_PROP_ELEM_VARGS(inst, prop, fn, ...)
 Invokes fn for each element of property prop for a DT_DRV_COMPAT instance with multiple arguments.
 
#define DT_INST_FOREACH_PROP_ELEM_SEP_VARGS(inst, prop, fn, sep, ...)
 Invokes fn for each element of property prop for a DT_DRV_COMPAT instance with multiple arguments and a separator.
 
#define DT_INST_NODE_HAS_PROP(inst, prop)
 Does a DT_DRV_COMPAT instance have a property?
 
#define DT_INST_NODE_HAS_COMPAT(inst, compat)
 Does a DT_DRV_COMPAT instance have the compatible?
 
#define DT_INST_PHA_HAS_CELL_AT_IDX(inst, pha, idx, cell)
 Does a phandle array have a named cell specifier at an index for a DT_DRV_COMPAT instance?
 
#define DT_INST_PHA_HAS_CELL(inst, pha, cell)
 Does a phandle array have a named cell specifier at index 0 for a DT_DRV_COMPAT instance?
 
#define DT_INST_IRQ_HAS_IDX(inst, idx)
 is index valid for interrupt property on a DT_DRV_COMPAT instance?
 
#define DT_INST_IRQ_HAS_CELL_AT_IDX(inst, idx, cell)
 Does a DT_DRV_COMPAT instance have an interrupt named cell specifier?
 
#define DT_INST_IRQ_HAS_CELL(inst, cell)
 Does a DT_DRV_COMPAT instance have an interrupt value?
 
#define DT_INST_IRQ_HAS_NAME(inst, name)
 Does a DT_DRV_COMPAT instance have an interrupt value?
 

Detailed Description

Devicetree main header.

API for accessing the current application's devicetree macros.