iop3xx_adap 56 drivers/i2c/busses/i2c-iop3xx.c iop3xx_i2c_reset(struct i2c_algo_iop3xx_data *iop3xx_adap) iop3xx_adap 59 drivers/i2c/busses/i2c-iop3xx.c __raw_writel(IOP3XX_ICR_UNIT_RESET, iop3xx_adap->ioaddr + CR_OFFSET); iop3xx_adap 60 drivers/i2c/busses/i2c-iop3xx.c __raw_writel(IOP3XX_ISR_CLEARBITS, iop3xx_adap->ioaddr + SR_OFFSET); iop3xx_adap 61 drivers/i2c/busses/i2c-iop3xx.c __raw_writel(0, iop3xx_adap->ioaddr + CR_OFFSET); iop3xx_adap 65 drivers/i2c/busses/i2c-iop3xx.c iop3xx_i2c_enable(struct i2c_algo_iop3xx_data *iop3xx_adap) iop3xx_adap 76 drivers/i2c/busses/i2c-iop3xx.c if (iop3xx_adap->gpio_scl) iop3xx_adap 77 drivers/i2c/busses/i2c-iop3xx.c gpiod_set_raw_value(iop3xx_adap->gpio_scl, 0); iop3xx_adap 78 drivers/i2c/busses/i2c-iop3xx.c if (iop3xx_adap->gpio_sda) iop3xx_adap 79 drivers/i2c/busses/i2c-iop3xx.c gpiod_set_raw_value(iop3xx_adap->gpio_sda, 0); iop3xx_adap 82 drivers/i2c/busses/i2c-iop3xx.c iop3xx_adap->SR_enabled = iop3xx_adap 89 drivers/i2c/busses/i2c-iop3xx.c __raw_writel(cr, iop3xx_adap->ioaddr + CR_OFFSET); iop3xx_adap 93 drivers/i2c/busses/i2c-iop3xx.c iop3xx_i2c_transaction_cleanup(struct i2c_algo_iop3xx_data *iop3xx_adap) iop3xx_adap 95 drivers/i2c/busses/i2c-iop3xx.c unsigned long cr = __raw_readl(iop3xx_adap->ioaddr + CR_OFFSET); iop3xx_adap 100 drivers/i2c/busses/i2c-iop3xx.c __raw_writel(cr, iop3xx_adap->ioaddr + CR_OFFSET); iop3xx_adap 110 drivers/i2c/busses/i2c-iop3xx.c struct i2c_algo_iop3xx_data *iop3xx_adap = dev_id; iop3xx_adap 111 drivers/i2c/busses/i2c-iop3xx.c u32 sr = __raw_readl(iop3xx_adap->ioaddr + SR_OFFSET); iop3xx_adap 113 drivers/i2c/busses/i2c-iop3xx.c if ((sr &= iop3xx_adap->SR_enabled)) { iop3xx_adap 114 drivers/i2c/busses/i2c-iop3xx.c __raw_writel(sr, iop3xx_adap->ioaddr + SR_OFFSET); iop3xx_adap 115 drivers/i2c/busses/i2c-iop3xx.c iop3xx_adap->SR_received |= sr; iop3xx_adap 116 drivers/i2c/busses/i2c-iop3xx.c wake_up_interruptible(&iop3xx_adap->waitq); iop3xx_adap 137 drivers/i2c/busses/i2c-iop3xx.c iop3xx_i2c_get_srstat(struct i2c_algo_iop3xx_data *iop3xx_adap) iop3xx_adap 142 drivers/i2c/busses/i2c-iop3xx.c spin_lock_irqsave(&iop3xx_adap->lock, flags); iop3xx_adap 143 drivers/i2c/busses/i2c-iop3xx.c sr = iop3xx_adap->SR_received; iop3xx_adap 144 drivers/i2c/busses/i2c-iop3xx.c iop3xx_adap->SR_received = 0; iop3xx_adap 145 drivers/i2c/busses/i2c-iop3xx.c spin_unlock_irqrestore(&iop3xx_adap->lock, flags); iop3xx_adap 158 drivers/i2c/busses/i2c-iop3xx.c iop3xx_i2c_wait_event(struct i2c_algo_iop3xx_data *iop3xx_adap, iop3xx_adap 169 drivers/i2c/busses/i2c-iop3xx.c iop3xx_adap->waitq, iop3xx_adap 170 drivers/i2c/busses/i2c-iop3xx.c (done = compare( sr = iop3xx_i2c_get_srstat(iop3xx_adap) ,flags )), iop3xx_adap 203 drivers/i2c/busses/i2c-iop3xx.c iop3xx_i2c_wait_tx_done(struct i2c_algo_iop3xx_data *iop3xx_adap, int *status) iop3xx_adap 206 drivers/i2c/busses/i2c-iop3xx.c iop3xx_adap, iop3xx_adap 212 drivers/i2c/busses/i2c-iop3xx.c iop3xx_i2c_wait_rx_done(struct i2c_algo_iop3xx_data *iop3xx_adap, int *status) iop3xx_adap 215 drivers/i2c/busses/i2c-iop3xx.c iop3xx_adap, iop3xx_adap 221 drivers/i2c/busses/i2c-iop3xx.c iop3xx_i2c_wait_idle(struct i2c_algo_iop3xx_data *iop3xx_adap, int *status) iop3xx_adap 224 drivers/i2c/busses/i2c-iop3xx.c iop3xx_adap, IOP3XX_ISR_UNITBUSY, status, all_bits_clear); iop3xx_adap 228 drivers/i2c/busses/i2c-iop3xx.c iop3xx_i2c_send_target_addr(struct i2c_algo_iop3xx_data *iop3xx_adap, iop3xx_adap 231 drivers/i2c/busses/i2c-iop3xx.c unsigned long cr = __raw_readl(iop3xx_adap->ioaddr + CR_OFFSET); iop3xx_adap 242 drivers/i2c/busses/i2c-iop3xx.c __raw_writel(iic_cook_addr(msg), iop3xx_adap->ioaddr + DBR_OFFSET); iop3xx_adap 247 drivers/i2c/busses/i2c-iop3xx.c __raw_writel(cr, iop3xx_adap->ioaddr + CR_OFFSET); iop3xx_adap 248 drivers/i2c/busses/i2c-iop3xx.c rc = iop3xx_i2c_wait_tx_done(iop3xx_adap, &status); iop3xx_adap 254 drivers/i2c/busses/i2c-iop3xx.c iop3xx_i2c_write_byte(struct i2c_algo_iop3xx_data *iop3xx_adap, char byte, iop3xx_adap 257 drivers/i2c/busses/i2c-iop3xx.c unsigned long cr = __raw_readl(iop3xx_adap->ioaddr + CR_OFFSET); iop3xx_adap 261 drivers/i2c/busses/i2c-iop3xx.c __raw_writel(byte, iop3xx_adap->ioaddr + DBR_OFFSET); iop3xx_adap 269 drivers/i2c/busses/i2c-iop3xx.c __raw_writel(cr, iop3xx_adap->ioaddr + CR_OFFSET); iop3xx_adap 270 drivers/i2c/busses/i2c-iop3xx.c rc = iop3xx_i2c_wait_tx_done(iop3xx_adap, &status); iop3xx_adap 276 drivers/i2c/busses/i2c-iop3xx.c iop3xx_i2c_read_byte(struct i2c_algo_iop3xx_data *iop3xx_adap, char* byte, iop3xx_adap 279 drivers/i2c/busses/i2c-iop3xx.c unsigned long cr = __raw_readl(iop3xx_adap->ioaddr + CR_OFFSET); iop3xx_adap 291 drivers/i2c/busses/i2c-iop3xx.c __raw_writel(cr, iop3xx_adap->ioaddr + CR_OFFSET); iop3xx_adap 293 drivers/i2c/busses/i2c-iop3xx.c rc = iop3xx_i2c_wait_rx_done(iop3xx_adap, &status); iop3xx_adap 295 drivers/i2c/busses/i2c-iop3xx.c *byte = __raw_readl(iop3xx_adap->ioaddr + DBR_OFFSET); iop3xx_adap 303 drivers/i2c/busses/i2c-iop3xx.c struct i2c_algo_iop3xx_data *iop3xx_adap = i2c_adap->algo_data; iop3xx_adap 308 drivers/i2c/busses/i2c-iop3xx.c rc = iop3xx_i2c_write_byte(iop3xx_adap, buf[ii], ii==count-1); iop3xx_adap 315 drivers/i2c/busses/i2c-iop3xx.c struct i2c_algo_iop3xx_data *iop3xx_adap = i2c_adap->algo_data; iop3xx_adap 320 drivers/i2c/busses/i2c-iop3xx.c rc = iop3xx_i2c_read_byte(iop3xx_adap, &buf[ii], ii==count-1); iop3xx_adap 335 drivers/i2c/busses/i2c-iop3xx.c struct i2c_algo_iop3xx_data *iop3xx_adap = i2c_adap->algo_data; iop3xx_adap 338 drivers/i2c/busses/i2c-iop3xx.c rc = iop3xx_i2c_send_target_addr(iop3xx_adap, pmsg); iop3xx_adap 357 drivers/i2c/busses/i2c-iop3xx.c struct i2c_algo_iop3xx_data *iop3xx_adap = i2c_adap->algo_data; iop3xx_adap 362 drivers/i2c/busses/i2c-iop3xx.c iop3xx_i2c_wait_idle(iop3xx_adap, &status); iop3xx_adap 363 drivers/i2c/busses/i2c-iop3xx.c iop3xx_i2c_reset(iop3xx_adap); iop3xx_adap 364 drivers/i2c/busses/i2c-iop3xx.c iop3xx_i2c_enable(iop3xx_adap); iop3xx_adap 370 drivers/i2c/busses/i2c-iop3xx.c iop3xx_i2c_transaction_cleanup(iop3xx_adap);