STRUCT QUICKI2C_SUBIP_ACPI_CONFIG(9)
π struct quicki2c_subip_acpi_config π
okay so this is a page from the Kernel API Manual, and it's all about struct quicki2c_subip_acpi_config β the QuickI2C ACPI DSD parameters β¨ bestie, it's literally the vibe-check sheet for I2C timing.
πΈ NAME πΈ
struct quicki2c_subip_acpi_config β QuickI2C ACPI DSD parameters π
π¦ SYNOPSIS π¦
struct quicki2c_subip_acpi_config {
u64 SMHX;
u64 SMLX;
u64 SMTD;
u64 SMRD;
u64 FMHX;
u64 FMLX;
u64 FMTD;
u64 FMRD;
u64 FMSL;
u64 FPHX;
u64 FPLX;
u64 FPTD;
u64 FPRD;
u64 HMHX;
u64 HMLX;
u64 HMTD;
u64 HMRD;
u64 HMSL;
u64 FSEN;
u64 FSVL;
u64 INDE;
u64 INDV;
u8 reserved;
};
π Members π
like, every single one of these is a u64 except the last one, and every one of them matters. no skipping. π«Ά
SMHXβ Standard Mode (100 kbit/s) Serial Clock Line HIGH Period β°SMLXβ Standard Mode (100 kbit/s) Serial Clock Line LOW PeriodSMTDβ Standard Mode (100 kbit/s) Serial Data Line Transmit Hold PeriodSMRDβ Standard Mode (100 kbit/s) Serial Data Receive Hold PeriodFMHXβ Fast Mode (400 kbit/s) Serial Clock Line HIGH PeriodFMLXβ Fast Mode (400 kbit/s) Serial Clock Line LOW PeriodFMTDβ Fast Mode (400 kbit/s) Serial Data Line Transmit Hold PeriodFMRDβ Fast Mode (400 kbit/s) Serial Data Line Receive Hold PeriodFMSLβ Maximum length (inic_clk_cycles) of suppressed spikes in Standard Mode, Fast Mode and Fast Mode Plus π¦FPHXβ Fast Mode Plus (1Mbit/sec) Serial Clock Line HIGH Period π₯FPLXβ Fast Mode Plus (1Mbit/sec) Serial Clock Line LOW PeriodFPTDβ Fast Mode Plus (1Mbit/sec) Serial Data Line Transmit HOLD PeriodFPRDβ Fast Mode Plus (1Mbit/sec) Serial Data Line Receive HOLD PeriodHMHXβ High Speed Mode Plus (3.4Mbits/sec) Serial Clock Line HIGH Period β‘HMLXβ High Speed Mode Plus (3.4Mbits/sec) Serial Clock Line LOW PeriodHMTDβ High Speed Mode Plus (3.4Mbits/sec) Serial Data Line Transmit HOLD PeriodHMRDβ High Speed Mode Plus (3.4Mbits/sec) Serial Data Line Receive HOLD PeriodHMSLβ Maximum length (inic_clk_cycles) of suppressed spikes in High Speed Mode π¦FSENβ Maximum Frame Size Feature Enable ControlFSVLβ Maximum Frame Size Value (unit in Bytes)INDEβ Interrupt Delay Feature Enable ControlINDVβ Interrupt Delay Value (unit in 10 us) β±οΈreservedβ au8, just sitting there being reserved. iconic of it honestly. π
β¨ Description β¨
So basically: those properties get from QUICKI2C_ACPI_METHOD_NAME_ISUB method, and they're used for I2C timing configure. that's the whole thing, and it's lowkey important β this is where your timings come from, no cap. π
π SEE ALSO π
- Kernel file
./drivers/hid/intel-thc-hid/intel-quicki2c/quicki2c-dev.h struct quicki2c_subip_acpi_parameter(9)struct quicki2c_ddata(9)struct quicki2c_device(9)
go read those next, bestie, iykyk π§
fr fr that's the whole page β nothing skipped, nothing invented, every flag and number exactly where it belongs. slay. π
and that's a wrap! π this one came from ./drivers/hid/intel-thc-hid/in... and it's dated October 2026 β mwah, periodt. ππ
π¦ 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