STRUCT I3C_DEV_BOARDINFO(9)
β¨ struct i3c_dev_boardinfo(9) β¨
okay bestie, this is the struct i3c_dev_boardinfo page from the Kernel API Manual β it's literally just one struct, but she's an important one π
πΈ NAME πΈ
struct i3c_dev_boardinfo β I3C device board information π
β SYNOPSIS β
struct i3c_dev_boardinfo {
struct list_head node;
u8 init_dyn_addr;
u8 static_addr;
u8 static_addr_method;
u64 pid;
struct fwnode_handle *fwnode;
};
π¦ Members π¦
nodeβ this one's the little handle used to insert your boardinfo object into the I3C boardinfo list. list bookkeeping, that's it, that's her job πinit_dyn_addrβ the initial dynamic address that the FW requested. And ngl, there's no guarantee the device will actually end up using this address β but the kernel tries its best to assign this specific address to the device. so likeβ¦ she's manifesting it, ok? π«Άstatic_addrβ the static address the I3C device listens on before the master has assigned it a dynamic address. This gets used during bus initialization to assign it a specific dynamic address before starting DAA (Dynamic Address Assignment). pre-glow-up address, iconic π«static_addr_methodβ a bitmap describing which methods of Dynamic Address Assignment from a Static Address are supported by this I3C Target. A value of1in a bit position means the target supports that method, and a value of0means it does not. So: Bit 0: SETDASA, Bit 1: SETAASA, and all other bits are reserved π₯pidβ the I3C Provisioned ID exposed by the device. It's a unique identifier that may be used to attach boardinfo toi3c_dev_descwhen the device does not have a static address. her literal fingerprint, iykyk πfwnodeβ the Firmware node (DT or ACPI) in case the device has been described in firmware π
π Description π
This structure is used to attach board-level information to an I3C device. And bestie, hear me: not all I3C devices connected on the bus will have a boardinfo. It's only needed if you want to attach extra resources to a device or assign it a specific dynamic address. lowkey exclusive, not everyone gets an invite π
π SEE ALSO π
Kernel file ./include/linux/i3c/master.h
struct i3c_i2c_dev_desc(9)struct i2c_dev_boardinfo(9)struct i2c_dev_desc(9)struct i3c_ibi_slot(9)struct i3c_device_ibi_info(9)struct i3c_dev_desc(9)struct i3c_device(9)enum i3c_bus_mode(9)enum i3c_open_drain_speed(9)enum i3c_addr_slot_status(9)struct i3c_bus(9)struct i3c_master_controller_ops(9)struct i3c_master_controller(9)i3c_bus_for_each_i2cdev(9)i3c_bus_for_each_i3cdev(9)struct i3c_dma(9)i3c_dev_get_master_data(9)i3c_dev_set_master_data(9)i2c_dev_get_master_data(9)i2c_dev_set_master_data(9)i3c_dev_get_master(9)i2c_dev_get_master(9)i3c_master_get_bus(9)
that's the whole page, no cap π this queen lives over in ./include/linux/i3c, and she's stamped October 2026 in the Kernel API Manual β go read the source bestie, mwah π§πβ
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms