Lines Matching full:slave

3  * Synopsys DesignWare I2C adapter driver (slave only).
27 /* Configure the I2C slave. */ in i2c_dw_configure_fifo_slave()
33 * i2c_dw_init_slave() - Initialize the designware i2c slave hardware
36 * This function configures and enables the I2C in slave mode.
61 static int i2c_dw_reg_slave(struct i2c_client *slave) in i2c_dw_reg_slave() argument
63 struct dw_i2c_dev *dev = i2c_get_adapdata(slave->adapter); in i2c_dw_reg_slave()
65 if (dev->slave) in i2c_dw_reg_slave()
67 if (slave->flags & I2C_CLIENT_TEN) in i2c_dw_reg_slave()
72 * Set slave address in the IC_SAR register, in i2c_dw_reg_slave()
76 regmap_write(dev->map, DW_IC_SAR, slave->addr); in i2c_dw_reg_slave()
77 dev->slave = slave; in i2c_dw_reg_slave()
92 static int i2c_dw_unreg_slave(struct i2c_client *slave) in i2c_dw_unreg_slave() argument
94 struct dw_i2c_dev *dev = i2c_get_adapdata(slave->adapter); in i2c_dw_unreg_slave()
99 dev->slave = NULL; in i2c_dw_unreg_slave()
153 * Interrupt service routine. This gets called whenever an I2C slave interrupt
167 if (!enabled || !(raw_stat & ~DW_IC_INTR_ACTIVITY) || !dev->slave) in i2c_dw_irq_handler_slave()
178 i2c_slave_event(dev->slave, I2C_SLAVE_WRITE_REQUESTED, in i2c_dw_irq_handler_slave()
184 if (!i2c_slave_event(dev->slave, I2C_SLAVE_WRITE_RECEIVED, in i2c_dw_irq_handler_slave()
194 if (!i2c_slave_event(dev->slave, in i2c_dw_irq_handler_slave()
202 if (!i2c_slave_event(dev->slave, I2C_SLAVE_READ_PROCESSED, in i2c_dw_irq_handler_slave()
209 i2c_slave_event(dev->slave, I2C_SLAVE_STOP, &val); in i2c_dw_irq_handler_slave()
272 "Synopsys DesignWare I2C Slave adapter"); in i2c_dw_probe_slave()
295 MODULE_DESCRIPTION("Synopsys DesignWare I2C bus slave adapter");