STRUCT I3C_DEV_BOARDINFO(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

✨ 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 of 1 in a bit position means the target supports that method, and a value of 0 means 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 to i3c_dev_desc when 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


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