Zephyr API Documentation  2.7.0-rc2
A Scalable Open Source RTOS
pinctrl.h File Reference

Devicetree pin control helpers. More...

Go to the source code of this file.

Macros

#define DT_PINCTRL_BY_IDX(node_id, pc_idx, idx)    DT_CAT6(node_id, _P_pinctrl_, pc_idx, _IDX_, idx, _PH)
 Get a node identifier for a phandle in a pinctrl property by index. More...
 
#define DT_PINCTRL_0(node_id, idx)   DT_PINCTRL_BY_IDX(node_id, 0, idx)
 Get a node identifier from a pinctrl-0 property. More...
 
#define DT_PINCTRL_BY_NAME(node_id, name, idx)    DT_CAT6(node_id, _PINCTRL_NAME_, name, _IDX_, idx, _PH)
 Get a node identifier for a phandle inside a pinctrl node by name. More...
 
#define DT_PINCTRL_NAME_TO_IDX(node_id, name)    DT_CAT4(node_id, _PINCTRL_NAME_, name, _IDX)
 Convert a pinctrl name to its corresponding index. More...
 
#define DT_PINCTRL_IDX_TO_NAME_TOKEN(node_id, pc_idx)    DT_CAT4(node_id, _PINCTRL_IDX_, pc_idx, _TOKEN)
 Convert a pinctrl property index to its name as a token. More...
 
#define DT_PINCTRL_IDX_TO_NAME_UPPER_TOKEN(node_id, pc_idx)    DT_CAT4(node_id, _PINCTRL_IDX_, pc_idx, _UPPER_TOKEN)
 Like DT_PINCTRL_IDX_TO_NAME_TOKEN(), but with an uppercased result. More...
 
#define DT_NUM_PINCTRLS_BY_IDX(node_id, pc_idx)    DT_CAT4(node_id, _P_pinctrl_, pc_idx, _LEN)
 Get the number of phandles in a pinctrl property. More...
 
#define DT_NUM_PINCTRLS_BY_NAME(node_id, name)    DT_NUM_PINCTRLS_BY_IDX(node_id, DT_PINCTRL_NAME_TO_IDX(node_id, name))
 Like DT_NUM_PINCTRLS_BY_IDX(), but by name instead. More...
 
#define DT_NUM_PINCTRL_STATES(node_id)   DT_CAT(node_id, _PINCTRL_NUM)
 Get the number of pinctrl properties in a node. More...
 
#define DT_PINCTRL_HAS_IDX(node_id, pc_idx)    IS_ENABLED(DT_CAT4(node_id, _PINCTRL_IDX_, pc_idx, _EXISTS))
 Test if a node has a pinctrl property with an index. More...
 
#define DT_PINCTRL_HAS_NAME(node_id, name)    IS_ENABLED(DT_CAT4(node_id, _PINCTRL_NAME_, name, _EXISTS))
 Test if a node has a pinctrl property with a name. More...
 
#define DT_INST_PINCTRL_BY_IDX(inst, pc_idx, idx)    DT_PINCTRL_BY_IDX(DT_DRV_INST(inst), pc_idx, idx)
 Get a node identifier for a phandle in a pinctrl property by index for a DT_DRV_COMPAT instance. More...
 
#define DT_INST_PINCTRL_0(inst, idx)    DT_PINCTRL_BY_IDX(DT_DRV_INST(inst), 0, idx)
 Get a node identifier from a pinctrl-0 property for a DT_DRV_COMPAT instance. More...
 
#define DT_INST_PINCTRL_BY_NAME(inst, name, idx)    DT_PINCTRL_BY_NAME(DT_DRV_INST(inst), name, idx)
 Get a node identifier for a phandle inside a pinctrl node for a DT_DRV_COMPAT instance. More...
 
#define DT_INST_PINCTRL_NAME_TO_IDX(inst, name)    DT_PINCTRL_NAME_TO_IDX(DT_DRV_INST(inst), name)
 Convert a pinctrl name to its corresponding index for a DT_DRV_COMPAT instance. More...
 
#define DT_INST_PINCTRL_IDX_TO_NAME_TOKEN(inst, pc_idx)    DT_PINCTRL_IDX_TO_NAME_TOKEN(DT_DRV_INST(inst), pc_idx)
 Convert a pinctrl index to its name as an uppercased token. More...
 
#define DT_INST_PINCTRL_IDX_TO_NAME_UPPER_TOKEN(inst, pc_idx)    DT_PINCTRL_IDX_TO_NAME_UPPER_TOKEN(DT_DRV_INST(inst), pc_idx)
 Convert a pinctrl index to its name as an uppercased token. More...
 
#define DT_INST_NUM_PINCTRLS_BY_IDX(inst, pc_idx)    DT_NUM_PINCTRLS_BY_IDX(DT_DRV_INST(inst), pc_idx)
 Get the number of phandles in a pinctrl property for a DT_DRV_COMPAT instance. More...
 
#define DT_INST_NUM_PINCTRLS_BY_NAME(inst, name)    DT_NUM_PINCTRLS_BY_NAME(DT_DRV_INST(inst), name)
 Like DT_INST_NUM_PINCTRLS_BY_IDX(), but by name instead. More...
 
#define DT_INST_NUM_PINCTRL_STATES(inst)    DT_NUM_PINCTRL_STATES(DT_DRV_INST(inst))
 Get the number of pinctrl properties in a DT_DRV_COMPAT instance. More...
 
#define DT_INST_PINCTRL_HAS_IDX(inst, pc_idx)    DT_PINCTRL_HAS_IDX(DT_DRV_INST(inst), pc_idx)
 Test if a DT_DRV_COMPAT instance has a pinctrl property with an index. More...
 
#define DT_INST_PINCTRL_HAS_NAME(inst, name)    DT_PINCTRL_HAS_NAME(DT_DRV_INST(inst), name)
 Test if a DT_DRV_COMPAT instance has a pinctrl property with a name. More...
 

Detailed Description

Devicetree pin control helpers.