ENUM CDNS_I2C_SLAVE_STATE(9)
πΈ NAME πΈ
enum cdns_i2c_slave_state β bestie, this is the enum that tracks the slave state when I2C is out here operating in slave mode π
β¨ SYNOPSIS β¨
okay so here's the whole vibe, literally the entire enum, no cap:
enum cdns_i2c_slave_state {
CDNS_I2C_SLAVE_STATE_IDLE ,
CDNS_I2C_SLAVE_STATE_SEND ,
CDNS_I2C_SLAVE_STATE_RECV
};
three constants, that's it, she's simple and iconic for it π
π Constants π
CDNS_I2C_SLAVE_STATE_IDLEβ the I2C slave is just chilling. idle. not doing anything. main character resting energy π¦CDNS_I2C_SLAVE_STATE_SENDβ the I2C slave is sending data to the master. she's the one talking now, periodt π₯CDNS_I2C_SLAVE_STATE_RECVβ the I2C slave is receiving data from the master. ears open, taking it all in, lowkey listener mode π
π«Ά SEE ALSO π«Ά
if you wanna go deeper (iykyk), the kernel file lives here: ./drivers/i2c/busses/i2c-cadence.c β and honestly the whole friend group is worth a look:
enum cdns_i2c_mode(9)struct cdns_i2c(9)cdns_i2c_init(9)cdns_i2c_runtime_suspend(9)cdns_i2c_runtime_resume(9)cdns_i2c_clear_bus_hold(9)cdns_i2c_slave_isr(9)cdns_i2c_master_isr(9)cdns_i2c_isr(9)cdns_i2c_mrecv(9)cdns_i2c_msend(9)cdns_i2c_master_reset(9)cdns_i2c_master_xfer(9)cdns_i2c_master_xfer_atomic(9)cdns_i2c_func(9)cdns_i2c_calc_divs(9)cdns_i2c_setclk(9)cdns_i2c_clk_notifier_cb(9)cdns_i2c_detect_transfer_size(9)cdns_i2c_probe(9)cdns_i2c_remove(9)cdns_i2c_shutdown(9)
π reminder bestie: this is from the Kernel API Manual, sourced out of./drivers/i2c/busses, dated October 2026, and yes the page title isenum cdns_i2c_slave_state(9)in case you forgot where you were π
that's the whole page, slay, go forth and configure your Cadence I2C controller πβπ
π¦ 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