Zephyr API Documentation 4.3.99
A Scalable Open Source RTOS
Loading...
Searching...
No Matches
protocol.h File Reference

Header file for the SCMI (System Control and Management Interface) driver API. More...

#include <zephyr/device.h>
#include <zephyr/drivers/firmware/scmi/util.h>
#include <stdint.h>
#include <errno.h>

Go to the source code of this file.

Data Structures

struct  scmi_protocol
 SCMI protocol structure. More...
struct  scmi_message
 SCMI message structure. More...

Macros

#define SCMI_MESSAGE_HDR_MAKE(id, type, proto, token)
 Build an SCMI message header.

Enumerations

enum  scmi_message_type { SCMI_COMMAND = 0x0 , SCMI_DELAYED_REPLY = 0x2 , SCMI_NOTIFICATION = 0x3 }
 SCMI message type. More...
enum  scmi_status_code {
  SCMI_SUCCESS = 0 , SCMI_NOT_SUPPORTED = -1 , SCMI_INVALID_PARAMETERS = -2 , SCMI_DENIED = -3 ,
  SCMI_NOT_FOUND = -4 , SCMI_OUT_OF_RANGE = -5 , SCMI_BUSY = -6 , SCMI_COMMS_ERROR = -7 ,
  SCMI_GENERIC_ERROR = -8 , SCMI_HARDWARE_ERROR = -9 , SCMI_PROTOCOL_ERROR = -10 , SCMI_IN_USE = -11
}
 SCMI status codes. More...
enum  scmi_common_cmd { SCMI_MSG_PROTOCOL_VERSION = 0x0 , SCMI_MSG_PROTOCOL_ATTRIBUTES = 0x1 , SCMI_MSG_MESSAGE_ATTRIBUTES = 0x2 , SCMI_MSG_NEGOTIATE_PROTOCOL_VERSION = 0x10 }
 SCMI common command. More...

Functions

int scmi_status_to_errno (int scmi_status)
 Convert an SCMI status code to its Linux equivalent (if possible).
int scmi_send_message (struct scmi_protocol *proto, struct scmi_message *msg, struct scmi_message *reply, bool use_polling)
 Send an SCMI message and wait for its reply.
int scmi_protocol_get_version (struct scmi_protocol *proto, uint32_t *version)
 Get protocol version.
int scmi_protocol_attributes_get (struct scmi_protocol *proto, uint32_t *attributes)
 Get protocol attributes.
int scmi_protocol_message_attributes_get (struct scmi_protocol *proto, uint32_t message_id, uint32_t *attributes)
 Get protocol message attributes.
int scmi_protocol_version_negotiate (struct scmi_protocol *proto, uint32_t version)
 Negotiate protocol version.

Detailed Description

Header file for the SCMI (System Control and Management Interface) driver API.