| 
    Zephyr Project API
    3.4.0
    
   A Scalable Open Source RTOS 
   | 
 
Go to the source code of this file.
Data Structures | |
| struct | i3c_addr_slots | 
| Structure to keep track of addresses on I3C bus.  More... | |
Macros | |
| #define | I3C_BROADCAST_ADDR 0x7E | 
| #define | I3C_MAX_ADDR 0x7F | 
Enumerations | |
| enum | i3c_addr_slot_status {  I3C_ADDR_SLOT_STATUS_FREE = 0U , I3C_ADDR_SLOT_STATUS_RSVD , I3C_ADDR_SLOT_STATUS_I3C_DEV , I3C_ADDR_SLOT_STATUS_I2C_DEV , I3C_ADDR_SLOT_STATUS_MASK = 0x03U }  | 
Functions | |
| int | i3c_addr_slots_init (const struct device *dev) | 
| Initialize the I3C address slots struct.  More... | |
| void | i3c_addr_slots_set (struct i3c_addr_slots *slots, uint8_t dev_addr, enum i3c_addr_slot_status status) | 
| Set the address status of a device.  More... | |
| enum i3c_addr_slot_status | i3c_addr_slots_status (struct i3c_addr_slots *slots, uint8_t dev_addr) | 
| Get the address status of a device.  More... | |
| bool | i3c_addr_slots_is_free (struct i3c_addr_slots *slots, uint8_t dev_addr) | 
| Check if the address is free.  More... | |
| uint8_t | i3c_addr_slots_next_free_find (struct i3c_addr_slots *slots) | 
| Find the next free address.  More... | |
| static void | i3c_addr_slots_mark_free (struct i3c_addr_slots *addr_slots, uint8_t addr) | 
| Mark the address as free (not used) in device list.  More... | |
| static void | i3c_addr_slots_mark_rsvd (struct i3c_addr_slots *addr_slots, uint8_t addr) | 
| Mark the address as reserved in device list.  More... | |
| static void | i3c_addr_slots_mark_i3c (struct i3c_addr_slots *addr_slots, uint8_t addr) | 
| Mark the address as I3C device in device list.  More... | |
| static void | i3c_addr_slots_mark_i2c (struct i3c_addr_slots *addr_slots, uint8_t addr) | 
| Mark the address as I2C device in device list.  More... | |