• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /asuswrt-rt-n18u-9.0.0.4.380.2695/release/src-rt-6.x.4708/linux/linux-2.6.36/drivers/i2c/busses/

Lines Matching defs:iop3xx_adap

62 iop3xx_i2c_reset(struct i2c_algo_iop3xx_data *iop3xx_adap)
65 __raw_writel(IOP3XX_ICR_UNIT_RESET, iop3xx_adap->ioaddr + CR_OFFSET);
66 __raw_writel(IOP3XX_ISR_CLEARBITS, iop3xx_adap->ioaddr + SR_OFFSET);
67 __raw_writel(0, iop3xx_adap->ioaddr + CR_OFFSET);
71 iop3xx_i2c_enable(struct i2c_algo_iop3xx_data *iop3xx_adap)
80 if (iop3xx_adap->id == 0) {
89 iop3xx_adap->SR_enabled =
96 __raw_writel(cr, iop3xx_adap->ioaddr + CR_OFFSET);
100 iop3xx_i2c_transaction_cleanup(struct i2c_algo_iop3xx_data *iop3xx_adap)
102 unsigned long cr = __raw_readl(iop3xx_adap->ioaddr + CR_OFFSET);
107 __raw_writel(cr, iop3xx_adap->ioaddr + CR_OFFSET);
117 struct i2c_algo_iop3xx_data *iop3xx_adap = dev_id;
118 u32 sr = __raw_readl(iop3xx_adap->ioaddr + SR_OFFSET);
120 if ((sr &= iop3xx_adap->SR_enabled)) {
121 __raw_writel(sr, iop3xx_adap->ioaddr + SR_OFFSET);
122 iop3xx_adap->SR_received |= sr;
123 wake_up_interruptible(&iop3xx_adap->waitq);
144 iop3xx_i2c_get_srstat(struct i2c_algo_iop3xx_data *iop3xx_adap)
149 spin_lock_irqsave(&iop3xx_adap->lock, flags);
150 sr = iop3xx_adap->SR_received;
151 iop3xx_adap->SR_received = 0;
152 spin_unlock_irqrestore(&iop3xx_adap->lock, flags);
165 iop3xx_i2c_wait_event(struct i2c_algo_iop3xx_data *iop3xx_adap,
176 iop3xx_adap->waitq,
177 (done = compare( sr = iop3xx_i2c_get_srstat(iop3xx_adap) ,flags )),
210 iop3xx_i2c_wait_tx_done(struct i2c_algo_iop3xx_data *iop3xx_adap, int *status)
213 iop3xx_adap,
219 iop3xx_i2c_wait_rx_done(struct i2c_algo_iop3xx_data *iop3xx_adap, int *status)
222 iop3xx_adap,
228 iop3xx_i2c_wait_idle(struct i2c_algo_iop3xx_data *iop3xx_adap, int *status)
231 iop3xx_adap, IOP3XX_ISR_UNITBUSY, status, all_bits_clear);
235 iop3xx_i2c_send_target_addr(struct i2c_algo_iop3xx_data *iop3xx_adap,
238 unsigned long cr = __raw_readl(iop3xx_adap->ioaddr + CR_OFFSET);
249 __raw_writel(iic_cook_addr(msg), iop3xx_adap->ioaddr + DBR_OFFSET);
254 __raw_writel(cr, iop3xx_adap->ioaddr + CR_OFFSET);
255 rc = iop3xx_i2c_wait_tx_done(iop3xx_adap, &status);
261 iop3xx_i2c_write_byte(struct i2c_algo_iop3xx_data *iop3xx_adap, char byte,
264 unsigned long cr = __raw_readl(iop3xx_adap->ioaddr + CR_OFFSET);
268 __raw_writel(byte, iop3xx_adap->ioaddr + DBR_OFFSET);
276 __raw_writel(cr, iop3xx_adap->ioaddr + CR_OFFSET);
277 rc = iop3xx_i2c_wait_tx_done(iop3xx_adap, &status);
283 iop3xx_i2c_read_byte(struct i2c_algo_iop3xx_data *iop3xx_adap, char* byte,
286 unsigned long cr = __raw_readl(iop3xx_adap->ioaddr + CR_OFFSET);
298 __raw_writel(cr, iop3xx_adap->ioaddr + CR_OFFSET);
300 rc = iop3xx_i2c_wait_rx_done(iop3xx_adap, &status);
302 *byte = __raw_readl(iop3xx_adap->ioaddr + DBR_OFFSET);
310 struct i2c_algo_iop3xx_data *iop3xx_adap = i2c_adap->algo_data;
315 rc = iop3xx_i2c_write_byte(iop3xx_adap, buf[ii], ii==count-1);
322 struct i2c_algo_iop3xx_data *iop3xx_adap = i2c_adap->algo_data;
327 rc = iop3xx_i2c_read_byte(iop3xx_adap, &buf[ii], ii==count-1);
342 struct i2c_algo_iop3xx_data *iop3xx_adap = i2c_adap->algo_data;
345 rc = iop3xx_i2c_send_target_addr(iop3xx_adap, pmsg);
364 struct i2c_algo_iop3xx_data *iop3xx_adap = i2c_adap->algo_data;
369 iop3xx_i2c_wait_idle(iop3xx_adap, &status);
370 iop3xx_i2c_reset(iop3xx_adap);
371 iop3xx_i2c_enable(iop3xx_adap);
377 iop3xx_i2c_transaction_cleanup(iop3xx_adap);