STRUCT I3C_DEVICE_INFO(9)
π 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:
enum i3c_error_code(9)enum i3c_xfer_mode(9)struct i3c_xfer(9)enum i3c_dcr(9)struct i3c_driver(9)dev_to_i3cdev(9)module_i3c_driver(9)i3c_i2c_driver_register(9)i3c_i2c_driver_unregister(9)module_i3c_i2c_driver(9)struct i3c_ibi_setup(9)
β¨ 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
- 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