Lines Matching full:slave
3 * Synopsys DesignWare I2C adapter driver (slave only).
30 /* Configure the I2C slave. */ in i2c_dw_configure_fifo_slave()
36 * i2c_dw_init_slave() - Initialize the DesignWare i2c slave hardware
39 * This function configures and enables the I2C in slave mode.
66 static int i2c_dw_reg_slave(struct i2c_client *slave) in i2c_dw_reg_slave() argument
68 struct dw_i2c_dev *dev = i2c_get_adapdata(slave->adapter); in i2c_dw_reg_slave()
70 if (dev->slave) in i2c_dw_reg_slave()
72 if (slave->flags & I2C_CLIENT_TEN) in i2c_dw_reg_slave()
77 * Set slave address in the IC_SAR register, in i2c_dw_reg_slave()
81 regmap_write(dev->map, DW_IC_SAR, slave->addr); in i2c_dw_reg_slave()
82 dev->slave = slave; in i2c_dw_reg_slave()
91 static int i2c_dw_unreg_slave(struct i2c_client *slave) in i2c_dw_unreg_slave() argument
93 struct dw_i2c_dev *dev = i2c_get_adapdata(slave->adapter); in i2c_dw_unreg_slave()
98 dev->slave = NULL; in i2c_dw_unreg_slave()
152 * Interrupt service routine. This gets called whenever an I2C slave interrupt
166 if (!enabled || !(raw_stat & ~DW_IC_INTR_ACTIVITY) || !dev->slave) in i2c_dw_isr_slave()
178 i2c_slave_event(dev->slave, I2C_SLAVE_WRITE_REQUESTED, in i2c_dw_isr_slave()
185 i2c_slave_event(dev->slave, in i2c_dw_isr_slave()
189 i2c_slave_event(dev->slave, I2C_SLAVE_WRITE_RECEIVED, in i2c_dw_isr_slave()
200 i2c_slave_event(dev->slave, in i2c_dw_isr_slave()
206 i2c_slave_event(dev->slave, in i2c_dw_isr_slave()
215 i2c_slave_event(dev->slave, I2C_SLAVE_STOP, &val); in i2c_dw_isr_slave()
261 "Synopsys DesignWare I2C Slave adapter"); in i2c_dw_probe_slave()
284 MODULE_DESCRIPTION("Synopsys DesignWare I2C bus slave adapter");