7#ifndef ZEPHYR_INCLUDE_DRIVERS_I3C_IBI_H_
8#define ZEPHYR_INCLUDE_DRIVERS_I3C_IBI_H_
22#ifndef CONFIG_I3C_IBI_MAX_PAYLOAD_SIZE
23#define CONFIG_I3C_IBI_MAX_PAYLOAD_SIZE 0
int i3c_ibi_work_enqueue_cb(const struct device *dev, k_work_handler_t work_cb)
Queue a generic callback for future processing.
#define CONFIG_I3C_IBI_MAX_PAYLOAD_SIZE
Definition: ibi.h:23
int i3c_ibi_work_enqueue_target_irq(struct i3c_device_desc *target, uint8_t *payload, size_t payload_len)
Queue a target interrupt IBI for future processing.
int(* i3c_target_ibi_cb_t)(struct i3c_device_desc *target, struct i3c_ibi_payload *payload)
Function called when In-Band Interrupt received from target device.
Definition: ibi.h:148
int i3c_ibi_work_enqueue(struct i3c_ibi_work *ibi_work)
Queue an IBI work item for future processing.
int i3c_ibi_work_enqueue_hotjoin(const struct device *dev)
Queue a hot join IBI for future processing.
i3c_ibi_type
IBI Types.
Definition: ibi.h:35
@ I3C_IBI_CONTROLLER_ROLE_REQUEST
Definition: ibi.h:40
@ I3C_IBI_TARGET_INTR
Definition: ibi.h:37
@ I3C_IBI_WORKQUEUE_CB
Definition: ibi.h:51
@ I3C_IBI_HOTJOIN
Definition: ibi.h:43
@ I3C_IBI_TYPE_MAX
Definition: ibi.h:45
void(* k_work_handler_t)(struct k_work *work)
The signature for a work item handler function.
Definition: kernel.h:3072
int target
Definition: main.c:68
struct _snode sys_snode_t
Definition: slist.h:33
__UINT8_TYPE__ uint8_t
Definition: stdint.h:88
Runtime device structure (in ROM) per driver instance.
Definition: device.h:435
Structure describing a I3C target device.
Definition: i3c.h:672
Structure of payload buffer for IBI.
Definition: ibi.h:73
uint8_t payload_len
Definition: ibi.h:77
uint8_t payload[0]
Definition: ibi.h:82
Node about a queued IBI.
Definition: ibi.h:88
struct i3c_ibi_payload payload
Definition: ibi.h:121
const struct device * controller
Definition: ibi.h:108
enum i3c_ibi_type type
Definition: ibi.h:102
struct k_work work
Definition: ibi.h:97
sys_snode_t node
Definition: ibi.h:92
k_work_handler_t work_cb
Definition: ibi.h:127
struct i3c_device_desc * target
Definition: ibi.h:114
Struct for IBI request.
Definition: ibi.h:57
uint8_t * payload
Definition: ibi.h:62
enum i3c_ibi_type ibi_type
Definition: ibi.h:59
uint8_t payload_len
Definition: ibi.h:65
A structure used to submit work.
Definition: kernel.h:3664