Pin configuration and control via SCMI.
More...
|
| file | pinctrl.h |
| | Header file for the SCMI Pin Control Protocol.
|
|
| enum | scmi_pinctrl_message {
SCMI_PINCTRL_MSG_PROTOCOL_VERSION = 0x0
, SCMI_PINCTRL_MSG_PROTOCOL_ATTRIBUTES = 0x1
, SCMI_PINCTRL_MSG_PROTOCOL_MESSAGE_ATTRIBUTES = 0x2
, SCMI_PINCTRL_MSG_PINCTRL_ATTRIBUTES = 0x3
,
SCMI_PINCTRL_MSG_PINCTRL_LIST_ASSOCIATIONS = 0x4
, SCMI_PINCTRL_MSG_PINCTRL_SETTINGS_GET = 0x5
, SCMI_PINCTRL_MSG_PINCTRL_SETTINGS_CONFIGURE = 0x6
, SCMI_PINCTRL_MSG_PINCTRL_REQUEST = 0x7
,
SCMI_PINCTRL_MSG_PINCTRL_RELEASE = 0x8
, SCMI_PINCTRL_MSG_PINCTRL_NAME_GET = 0x9
, SCMI_PINCTRL_MSG_PINCTRL_SET_PERMISSIONS = 0xa
, SCMI_PINCTRL_MSG_NEGOTIATE_PROTOCOL_VERSION = 0x10
} |
| | Pinctrl protocol command message IDs. More...
|
| enum | scmi_pinctrl_config {
SCMI_PINCTRL_DEFAULT = 0
, SCMI_PINCTRL_BIAS_BUS_HOLD = 1
, SCMI_PINCTRL_BIAS_DISABLE = 2
, SCMI_PINCTRL_BIAS_HIGH_Z = 3
,
SCMI_PINCTRL_BIAS_PULL_UP = 4
, SCMI_PINCTRL_BIAS_PULL_DEFAULT = 5
, SCMI_PINCTRL_BIAS_PULL_DOWN = 6
, SCMI_PINCTRL_DRIVE_OPEN_DRAIN = 7
,
SCMI_PINCTRL_DRIVE_OPEN_SOURCE = 8
, SCMI_PCINTRL_DRIVE_PUSH_PULL = 9
, SCMI_PCINTRL_DRIVE_STRENGTH = 10
, SCMI_PINCTRL_INPUT_DEBOUNCE = 11
,
SCMI_PINCTRL_INPUT_MODE = 12
, SCMI_PINCTRL_PULL_MODE = 13
, SCMI_PINCTRL_INPUT_VALUE = 14
, SCMI_PINCTRL_INPUT_SCHMITT = 15
,
SCMI_PINCTRL_LP_MODE = 16
, SCMI_PINCTRL_OUTPUT_MODE = 17
, SCMI_PINCTRL_OUTPUT_VALUE = 18
, SCMI_PINCTRL_POWER_SOURCE = 19
,
SCMI_PINCTRL_SLEW_RATE = 20
, SCMI_PINCTRL_RESERVED_START = 21
, SCMI_PINCTRL_RESERVED_END = 191
, SCMI_PINCTRL_VENDOR_START = 192
} |
| | Pinctrl configurations. More...
|
Pin configuration and control via SCMI.
◆ ARM_SCMI_PINCTRL_MAX_CONFIG_SIZE
| #define ARM_SCMI_PINCTRL_MAX_CONFIG_SIZE (10 * 2) |
◆ SCMI_PIN_CONTROL_PROTOCOL_SUPPORTED_VERSION
| #define SCMI_PIN_CONTROL_PROTOCOL_SUPPORTED_VERSION 0x10000 |
◆ SCMI_PINCTRL_ATTRIBUTES_CONFIG_NUM
| #define SCMI_PINCTRL_ATTRIBUTES_CONFIG_NUM |
( |
| attributes | ) |
|
◆ SCMI_PINCTRL_CONFIG_ATTRIBUTES
| #define SCMI_PINCTRL_CONFIG_ATTRIBUTES |
( |
| fid_valid, |
|
|
| cfg_num, |
|
|
| selector ) |
#include <zephyr/drivers/firmware/scmi/pinctrl.h>
Value:
SCMI_FIELD_MAKE(cfg_num,
GENMASK(7, 0), 2) | \
SCMI_FIELD_MAKE(selector,
GENMASK(1, 0), 0))
#define SCMI_FIELD_MAKE(x, mask, shift)
Create an SCMI message field.
Definition util.h:275
#define BIT(n)
Unsigned integer with bit position n set (signed in assembly language).
Definition util_macro.h:44
◆ SCMI_PINCTRL_NO_FUNCTION
| #define SCMI_PINCTRL_NO_FUNCTION 0xFFFFFFFF |
◆ SCMI_PINCTRL_SELECTOR_GROUP
| #define SCMI_PINCTRL_SELECTOR_GROUP 0x1 |
◆ SCMI_PINCTRL_SELECTOR_PIN
| #define SCMI_PINCTRL_SELECTOR_PIN 0x0 |
◆ scmi_pinctrl_config
#include <zephyr/drivers/firmware/scmi/pinctrl.h>
Pinctrl configurations.
| Enumerator |
|---|
| SCMI_PINCTRL_DEFAULT | |
| SCMI_PINCTRL_BIAS_BUS_HOLD | |
| SCMI_PINCTRL_BIAS_DISABLE | |
| SCMI_PINCTRL_BIAS_HIGH_Z | |
| SCMI_PINCTRL_BIAS_PULL_UP | |
| SCMI_PINCTRL_BIAS_PULL_DEFAULT | |
| SCMI_PINCTRL_BIAS_PULL_DOWN | |
| SCMI_PINCTRL_DRIVE_OPEN_DRAIN | |
| SCMI_PINCTRL_DRIVE_OPEN_SOURCE | |
| SCMI_PCINTRL_DRIVE_PUSH_PULL | |
| SCMI_PCINTRL_DRIVE_STRENGTH | |
| SCMI_PINCTRL_INPUT_DEBOUNCE | |
| SCMI_PINCTRL_INPUT_MODE | |
| SCMI_PINCTRL_PULL_MODE | |
| SCMI_PINCTRL_INPUT_VALUE | |
| SCMI_PINCTRL_INPUT_SCHMITT | |
| SCMI_PINCTRL_LP_MODE | |
| SCMI_PINCTRL_OUTPUT_MODE | |
| SCMI_PINCTRL_OUTPUT_VALUE | |
| SCMI_PINCTRL_POWER_SOURCE | |
| SCMI_PINCTRL_SLEW_RATE | |
| SCMI_PINCTRL_RESERVED_START | |
| SCMI_PINCTRL_RESERVED_END | |
| SCMI_PINCTRL_VENDOR_START | |
◆ scmi_pinctrl_message
#include <zephyr/drivers/firmware/scmi/pinctrl.h>
Pinctrl protocol command message IDs.
| Enumerator |
|---|
| SCMI_PINCTRL_MSG_PROTOCOL_VERSION | |
| SCMI_PINCTRL_MSG_PROTOCOL_ATTRIBUTES | |
| SCMI_PINCTRL_MSG_PROTOCOL_MESSAGE_ATTRIBUTES | |
| SCMI_PINCTRL_MSG_PINCTRL_ATTRIBUTES | |
| SCMI_PINCTRL_MSG_PINCTRL_LIST_ASSOCIATIONS | |
| SCMI_PINCTRL_MSG_PINCTRL_SETTINGS_GET | |
| SCMI_PINCTRL_MSG_PINCTRL_SETTINGS_CONFIGURE | |
| SCMI_PINCTRL_MSG_PINCTRL_REQUEST | |
| SCMI_PINCTRL_MSG_PINCTRL_RELEASE | |
| SCMI_PINCTRL_MSG_PINCTRL_NAME_GET | |
| SCMI_PINCTRL_MSG_PINCTRL_SET_PERMISSIONS | |
| SCMI_PINCTRL_MSG_NEGOTIATE_PROTOCOL_VERSION | |
◆ scmi_pinctrl_settings_configure()
#include <zephyr/drivers/firmware/scmi/pinctrl.h>
Send the PINCTRL_SETTINGS_CONFIGURE command and get its reply.
- Parameters
-
| settings | pointer to settings to be applied |
- Return values
-
| 0 | if successful |
| negative | errno if failure |