Zephyr Project API 4.0.0
A Scalable Open Source RTOS
Loading...
Searching...
No Matches
i3c_msg Struct Reference

One I3C Message. More...

#include <i3c.h>

Data Fields

uint8_tbuf
 Data buffer in bytes.
 
uint32_t len
 Length of buffer in bytes.
 
uint32_t num_xfer
 Total number of bytes transferred.
 
uint8_t flags
 Flags for this message.
 
uint8_t hdr_mode
 HDR mode (I3C_MSG_HDR_MODE*) for transfer if any I3C_MSG_HDR_* is set in flags.
 
uint8_t hdr_cmd_code
 HDR command code field (7-bit) for HDR-DDR, HDR-TSP and HDR-TSL.
 

Detailed Description

One I3C Message.

This defines one I3C message to transact on the I3C bus.

Note
Some of the configurations supported by this API may not be supported by specific SoC I3C hardware implementations, in particular features related to bus transactions intended to read or write data from different buffers within a single transaction. Invocations of i3c_transfer() may not indicate an error when an unsupported configuration is encountered. In some cases drivers will generate separate transactions for each message fragment, with or without presence of I3C_MSG_RESTART in flags.

Field Documentation

◆ buf

uint8_t* i3c_msg::buf

Data buffer in bytes.

◆ flags

uint8_t i3c_msg::flags

Flags for this message.

◆ hdr_cmd_code

uint8_t i3c_msg::hdr_cmd_code

HDR command code field (7-bit) for HDR-DDR, HDR-TSP and HDR-TSL.

◆ hdr_mode

uint8_t i3c_msg::hdr_mode

HDR mode (I3C_MSG_HDR_MODE*) for transfer if any I3C_MSG_HDR_* is set in flags.

Use SDR mode if none is set.

◆ len

uint32_t i3c_msg::len

Length of buffer in bytes.

◆ num_xfer

uint32_t i3c_msg::num_xfer

Total number of bytes transferred.

A Target can issue an EoD or the Controller can abort a transfer before the length of the buffer. It is expected for the driver to write to this after the transfer.


The documentation for this struct was generated from the following file: