no-OS
|
Structure holding I3C bus descriptor. More...
#include <no_os_i3c.h>
Public Attributes | |
void * | mutex |
uint8_t | device_id |
uint8_t | num_devs_unknown |
uint8_t | num_devs |
unsigned int | addrslots [NO_OS_I3C_ADDRSLOTS_SIZE] |
struct no_os_i3c_daa_lut | daa_candidates [NO_OS_I3C_MAX_DEV_NUMBER] |
struct no_os_i3c_daa_lut | daa_unknown [NO_OS_I3C_MAX_DEV_NUMBER] |
struct no_os_i3c_desc * | devs [NO_OS_I3C_MAX_DEV_NUMBER] |
uint8_t | irq_events |
struct no_os_i3c_ccc_info | ccc_info |
bool | async_irq |
const struct no_os_i3c_platform_ops * | platform_ops |
void * | extra |
Structure holding I3C bus descriptor.
unsigned int no_os_i3c_bus_desc::addrslots[NO_OS_I3C_ADDRSLOTS_SIZE] |
A bitmap with 2-bits per-slot to encode the address status and ease the DAA (Dynamic Address Assignment) procedure (see enum no_os_i3c_slot_status).
bool no_os_i3c_bus_desc::async_irq |
Trigger IRQ callback asyncronous (non-blocking)
struct no_os_i3c_ccc_info no_os_i3c_bus_desc::ccc_info |
CCC info obtained after an IRQ
struct no_os_i3c_daa_lut no_os_i3c_bus_desc::daa_candidates[NO_OS_I3C_MAX_DEV_NUMBER] |
PID + DA LUT for DAA procedure
struct no_os_i3c_daa_lut no_os_i3c_bus_desc::daa_unknown[NO_OS_I3C_MAX_DEV_NUMBER] |
To store unknown devices assigned during DAA procedure
uint8_t no_os_i3c_bus_desc::device_id |
Device ID
struct no_os_i3c_desc* no_os_i3c_bus_desc::devs[NO_OS_I3C_MAX_DEV_NUMBER] |
Devices descriptors
void* no_os_i3c_bus_desc::extra |
I3C bus extra parameters
uint8_t no_os_i3c_bus_desc::irq_events |
IRQ flags
void* no_os_i3c_bus_desc::mutex |
I3C bus mutex(lock)
uint8_t no_os_i3c_bus_desc::num_devs |
Expected number of devices on bus
uint8_t no_os_i3c_bus_desc::num_devs_unknown |
Non-Expected number of devices on bus
const struct no_os_i3c_platform_ops* no_os_i3c_bus_desc::platform_ops |
I3C platform specific functions