Zephyr API Documentation 4.3.99
A Scalable Open Source RTOS
Loading...
Searching...
No Matches
Shared Memory

Shared memory transport definitions for SCMI. More...

Files

file  shmem.h
 Header file for the SCMI Shared Memory.

Data Structures

struct  scmi_shmem_layout

Macros

#define SCMI_SHMEM_CHAN_STATUS_BUSY_BIT   BIT(0)
#define SCMI_SHMEM_CHAN_FLAG_IRQ_BIT   BIT(0)

Functions

int scmi_shmem_write_message (const struct device *shmem, struct scmi_message *msg)
 Write a message in the SHMEM area.
int scmi_shmem_read_message (const struct device *shmem, struct scmi_message *msg)
 Read a message from a SHMEM area.
void scmi_shmem_update_flags (const struct device *shmem, uint32_t mask, uint32_t val)
 Update the channel flags.
uint32_t scmi_shmem_channel_status (const struct device *shmem)
 Read a channel's status.
int scmi_shmem_vendor_write_message (struct scmi_shmem_layout *layout)
 Process vendor specific features when writing message.
int scmi_shmem_vendor_read_message (const struct scmi_shmem_layout *layout)
 Process vendor specific features when reading message.

Detailed Description

Shared memory transport definitions for SCMI.

Macro Definition Documentation

◆ SCMI_SHMEM_CHAN_FLAG_IRQ_BIT

#define SCMI_SHMEM_CHAN_FLAG_IRQ_BIT   BIT(0)

◆ SCMI_SHMEM_CHAN_STATUS_BUSY_BIT

#define SCMI_SHMEM_CHAN_STATUS_BUSY_BIT   BIT(0)

Function Documentation

◆ scmi_shmem_channel_status()

uint32_t scmi_shmem_channel_status ( const struct device * shmem)

#include <zephyr/drivers/firmware/scmi/shmem.h>

Read a channel's status.

Parameters
shmempointer to shmem device

◆ scmi_shmem_read_message()

int scmi_shmem_read_message ( const struct device * shmem,
struct scmi_message * msg )

#include <zephyr/drivers/firmware/scmi/shmem.h>

Read a message from a SHMEM area.

Parameters
shmempointer to shmem device
msgmessage to write the data into
Return values
0if successful
negativeerrno if failure

◆ scmi_shmem_update_flags()

void scmi_shmem_update_flags ( const struct device * shmem,
uint32_t mask,
uint32_t val )

#include <zephyr/drivers/firmware/scmi/shmem.h>

Update the channel flags.

Parameters
shmempointer to shmem device
maskvalue to negate and bitwise-and the old channel flags value
valvalue to bitwise and with the mask and bitwise-or with the masked old value

◆ scmi_shmem_vendor_read_message()

int scmi_shmem_vendor_read_message ( const struct scmi_shmem_layout * layout)

#include <zephyr/drivers/firmware/scmi/shmem.h>

Process vendor specific features when reading message.

Parameters
layoutlayout of the message
Return values
0if successful
negativeerrno if failure

◆ scmi_shmem_vendor_write_message()

int scmi_shmem_vendor_write_message ( struct scmi_shmem_layout * layout)

#include <zephyr/drivers/firmware/scmi/shmem.h>

Process vendor specific features when writing message.

Parameters
layoutlayout of the message
Return values
0if successful
negativeerrno if failure

◆ scmi_shmem_write_message()

int scmi_shmem_write_message ( const struct device * shmem,
struct scmi_message * msg )

#include <zephyr/drivers/firmware/scmi/shmem.h>

Write a message in the SHMEM area.

Parameters
shmempointer to shmem device
msgmessage to write
Return values
0if successful
negativeerrno if failure