13#ifndef _INCLUDE_ZEPHYR_DRIVERS_FIRMWARE_SCMI_SHMEM_H_
14#define _INCLUDE_ZEPHYR_DRIVERS_FIRMWARE_SCMI_SHMEM_H_
33#define SCMI_SHMEM_CHAN_STATUS_BUSY_BIT BIT(0)
42#define SCMI_SHMEM_CHAN_FLAG_IRQ_BIT BIT(0)
51struct scmi_shmem_layout {
uint32_t scmi_shmem_channel_status(const struct device *shmem)
Read a channel's status.
int scmi_shmem_vendor_read_message(const struct scmi_shmem_layout *layout)
Process vendor specific features when reading message.
int scmi_shmem_read_hdr(const struct device *shmem, uint32_t *hdr)
Read a message header from a SHMEM area.
void scmi_shmem_update_flags(const struct device *shmem, uint32_t mask, uint32_t val)
Update the channel flags.
int scmi_shmem_vendor_write_message(struct scmi_shmem_layout *layout)
Process vendor specific features when writing message.
void scmi_shmem_mark_channel_free(const struct device *dev)
Mark a SHMEM channel as free (acknowledge message consumption).
int scmi_shmem_read_message(const struct device *shmem, struct scmi_message *msg)
Read a message from a SHMEM area.
int scmi_shmem_write_message(const struct device *shmem, struct scmi_message *msg, bool use_polling)
Write a message in the SHMEM area.
__UINT32_TYPE__ uint32_t
Definition stdint.h:90
Runtime device structure (in ROM) per driver instance.
Definition device.h:513
SCMI message structure.
Definition protocol.h:194
uint32_t hdr
Message header (see SCMI_MESSAGE_HDR_MAKE).
Definition protocol.h:196