Zephyr Project API 4.0.0
A Scalable Open Source RTOS
Loading...
Searching...
No Matches
ibi.h File Reference
#include <stdint.h>
#include <zephyr/device.h>
#include <zephyr/kernel.h>
#include <zephyr/sys/slist.h>

Go to the source code of this file.

Data Structures

struct  i3c_ibi
 Struct for IBI request. More...
 
struct  i3c_ibi_payload
 Structure of payload buffer for IBI. More...
 
struct  i3c_ibi_work
 Node about a queued IBI. More...
 

Macros

#define CONFIG_I3C_IBI_MAX_PAYLOAD_SIZE   0
 

Typedefs

typedef 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.
 

Enumerations

enum  i3c_ibi_type {
  I3C_IBI_TARGET_INTR , I3C_IBI_CONTROLLER_ROLE_REQUEST , I3C_IBI_HOTJOIN , I3C_IBI_TYPE_MAX = I3C_IBI_HOTJOIN ,
  I3C_IBI_WORKQUEUE_CB
}
 IBI Types. More...
 

Functions

int i3c_ibi_work_enqueue (struct i3c_ibi_work *ibi_work)
 Queue an IBI work item for future processing.
 
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_ibi_work_enqueue_hotjoin (const struct device *dev)
 Queue a hot join IBI for future processing.
 
int i3c_ibi_work_enqueue_cb (const struct device *dev, k_work_handler_t work_cb)
 Queue a generic callback for future processing.