STRUCT I3C_DEVICE_INFO(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– struct i3c_device_info(9) πŸ’–

okay so welcome to the Kernel API Manual page for struct i3c_device_info(9), bestie. This is the lil struct that carries around I3C device info, and we are gonna get into every single field, no cap. πŸ’…


🌸 NAME 🌸

struct i3c_device_info β€” I3C device information. That’s the whole name vibe ✨

✨ SYNOPSIS ✨

       struct i3c_device_info {
           u64 pid;
           u8 bcr;
           u8 dcr;
           u8 static_addr;
           u8 dyn_addr;
           u8 hdr_cap;
           u8 max_read_ds;
           u8 max_write_ds;
           u8 max_ibi_len;
           u32 max_read_turnaround;
           u16 max_read_len;
           u16 max_write_len;
        };

🫢 Members 🫢

  • pid β€” Provisioned ID. iconic identifier behavior πŸ’–
  • bcr β€” Bus Characteristic Register. yes bestie, that’s the whole description πŸŽ€
  • dcr β€” Device Characteristic Register. register moment πŸ’…
  • static_addr β€” static/I2C address. lowkey important πŸ¦‹
  • dyn_addr β€” dynamic address. the address that moves with the vibes ✨
  • hdr_cap β€” supported HDR modes. capability check, slay 🌸
  • max_read_ds β€” max read speed information. read speed tea β˜•
  • max_write_ds β€” max write speed information. write speed tea β˜•
  • max_ibi_len β€” max IBI payload length. payload length, periodt πŸ’œ
  • max_read_turnaround β€” max read turn-around time in micro-seconds. turnaround timing, noted 🫢
  • max_read_len β€” max private SDR read length in bytes. bytes bestie, bytes πŸ“
  • max_write_len β€” max private SDR write length in bytes. more bytes, more iconic πŸ’…

πŸ’œ Description πŸ’œ

So basically these are all basic information that should be advertised by an I3C device. Some of them are optional depending on the device type and device capabilities. For each I3C slave attached to a master with i3c_master_add_i3c_dev_locked, the core will send the relevant CCC command to retrieve these data. fr fr, that’s the whole plot 🫢

πŸ”₯ SEE ALSO πŸ”₯

Go peek at the kernel file ./include/linux/i3c/device.h, then check out these icons:


✨ Cute sign-off: source is ./include/linux/i3c, version is struct i3c_device_info(9), and the date is October 2026. Mwah, go slay your device info, bestie πŸŽ€πŸ’–

πŸ“¦ where this page comes from