• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /netgear-R7000-V1.0.7.12_1.2.5/components/opensource/linux/linux-2.6.36/drivers/i2c/busses/

Lines Matching refs:iic

74 #  define DBG(f,x...)	printk(KERN_DEBUG "ibm-iic" f, ##x)
86 volatile struct iic_regs __iomem *iic = dev->vaddr;
87 printk(KERN_DEBUG "ibm-iic%d: %s\n", dev->idx, header);
93 in_8(&iic->cntl), in_8(&iic->mdcntl), in_8(&iic->sts),
94 in_8(&iic->extsts), in_8(&iic->clkdiv), in_8(&iic->xfrcnt),
95 in_8(&iic->xtcntlss), in_8(&iic->directcntl));
138 volatile struct iic_regs __iomem *iic = dev->vaddr;
143 out_8(&iic->lmadr, 0);
144 out_8(&iic->hmadr, 0);
147 out_8(&iic->lsadr, 0);
148 out_8(&iic->hsadr, 0);
151 out_8(&iic->sts, STS_SCMP | STS_IRQA);
152 out_8(&iic->extsts, EXTSTS_IRQP | EXTSTS_IRQD | EXTSTS_LA
156 out_8(&iic->clkdiv, dev->clckdiv);
159 out_8(&iic->xfrcnt, 0);
162 out_8(&iic->xtcntlss, XTCNTLSS_SRC | XTCNTLSS_SRS | XTCNTLSS_SWC
166 out_8(&iic->cntl, 0);
172 out_8(&iic->mdcntl, MDCNTL_FMDB | MDCNTL_EINT | MDCNTL_EUBS
183 volatile struct iic_regs __iomem *iic = dev->vaddr;
191 out_8(&iic->xtcntlss, XTCNTLSS_SRST);
194 dc = in_8(&iic->directcntl);
199 out_8(&iic->directcntl, DIRCNTL_SDAC | DIRCNTL_SCC);
203 dc = in_8(&iic->directcntl);
209 out_8(&iic->directcntl, dc);
212 out_8(&iic->directcntl, dc);
220 out_8(&iic->xtcntlss, 0);
231 static int iic_dc_wait(volatile struct iic_regs __iomem *iic, u8 mask)
234 while ((in_8(&iic->directcntl) & mask) != mask){
244 volatile struct iic_regs __iomem *iic = dev->vaddr;
259 out_8(&iic->xtcntlss, XTCNTLSS_SRST);
262 out_8(&iic->directcntl, DIRCNTL_SDAC | DIRCNTL_SCC);
263 if (unlikely(iic_dc_wait(iic, DIRCNTL_MSDA | DIRCNTL_MSC)))
268 out_8(&iic->directcntl, DIRCNTL_SCC);
275 out_8(&iic->directcntl, sda);
278 out_8(&iic->directcntl, sda);
281 out_8(&iic->directcntl, DIRCNTL_SCC | sda);
282 if (unlikely(iic_dc_wait(iic, DIRCNTL_MSC)))
288 out_8(&iic->directcntl, sda);
290 out_8(&iic->directcntl, DIRCNTL_SDAC);
292 out_8(&iic->directcntl, DIRCNTL_SDAC | DIRCNTL_SCC);
293 if (unlikely(iic_dc_wait(iic, DIRCNTL_MSC)))
295 res = (in_8(&iic->directcntl) & DIRCNTL_MSDA) ? -EREMOTEIO : 1;
299 out_8(&iic->directcntl, 0);
301 out_8(&iic->directcntl, DIRCNTL_SCC);
302 if (unlikely(iic_dc_wait(iic, DIRCNTL_MSC)))
305 out_8(&iic->directcntl, DIRCNTL_SDAC | DIRCNTL_SCC);
312 out_8(&iic->xtcntlss, 0);
330 volatile struct iic_regs __iomem *iic = dev->vaddr;
333 dev->idx, in_8(&iic->sts), in_8(&iic->extsts));
336 out_8(&iic->sts, STS_IRQA | STS_SCMP);
348 volatile struct iic_regs __iomem *iic = dev->vaddr;
350 if (unlikely(in_8(&iic->sts) & STS_ERR)){
352 in_8(&iic->extsts));
355 out_8(&iic->extsts, EXTSTS_IRQP | EXTSTS_IRQD |
359 out_8(&iic->mdcntl, in_8(&iic->mdcntl) | MDCNTL_FMDB);
366 if ((in_8(&iic->extsts) & EXTSTS_BCS_MASK) != EXTSTS_BCS_FREE){
373 return in_8(&iic->xfrcnt) & XFRCNT_MTC_MASK;
381 volatile struct iic_regs __iomem *iic = dev->vaddr;
386 out_8(&iic->cntl, CNTL_HMT);
393 while ((in_8(&iic->extsts) & EXTSTS_BCS_MASK) != EXTSTS_BCS_FREE){
413 volatile struct iic_regs __iomem *iic = dev->vaddr;
419 !(in_8(&iic->sts) & STS_PT), dev->adap.timeout);
423 else if (unlikely(in_8(&iic->sts) & STS_PT)){
432 while (in_8(&iic->sts) & STS_PT){
464 volatile struct iic_regs __iomem *iic = dev->vaddr;
469 u8 cntl = (in_8(&iic->cntl) & CNTL_AMD) | CNTL_PT;
480 out_8((void __iomem *)&iic->mdbuf, *buf++);
490 out_8(&iic->cntl, cmd);
511 *buf++ = in_8((void __iomem *)&iic->mdbuf);
522 volatile struct iic_regs __iomem *iic = dev->vaddr;
529 out_8(&iic->cntl, CNTL_AMD);
530 out_8(&iic->lmadr, addr);
531 out_8(&iic->hmadr, 0xf0 | ((addr >> 7) & 0x06));
534 out_8(&iic->cntl, 0);
535 out_8(&iic->lmadr, addr << 1);
558 volatile struct iic_regs __iomem *iic = dev->vaddr;
594 if (unlikely((in_8(&iic->extsts) & EXTSTS_BCS_MASK) != EXTSTS_BCS_FREE)){
607 if ((in_8(&iic->extsts) & EXTSTS_BCS_MASK) != EXTSTS_BCS_FREE){
614 out_8(&iic->mdcntl, in_8(&iic->mdcntl) | MDCNTL_FMDB);
648 printk(KERN_WARNING "ibm-iic: using compatibility value for OPB freq,"
657 printk(KERN_WARNING "ibm-iic: invalid OPB clock frequency %u MHz\n",
806 { .compatible = "ibm,iic", },
812 .name = "ibm-iic",