cmd = (PMC_PMBM_START | op | (addr & 0xff) << 12 | off);
writel(cmd, master + PMB_CTRL); do {
cmd = readl(master + PMB_CTRL); if (!(cmd & PMC_PMBM_START)) return 0;
if (cmd & PMC_PMBM_SLAVE_ERR) return -EIO;
if (cmd & PMC_PMBM_TIMEOUT) return -ETIMEDOUT;
udelay(1);
} while (timeout-- > 0);
return -ETIMEDOUT;
}
staticinlineint bpcm_rd(void __iomem *master, unsignedint addr,
u32 off, u32 *val)
{ int ret = 0;
ret = __bpcm_do_op(master, addr, off >> 2, PMC_PMBM_READ);
*val = readl(master + PMB_RD_DATA);
return ret;
}
staticinlineint bpcm_wr(void __iomem *master, unsignedint addr,
u32 off, u32 val)
{ int ret = 0;
writel(val, master + PMB_WR_DATA);
ret = __bpcm_do_op(master, addr, off >> 2, PMC_PMBM_WRITE);
return ret;
}
#endif/* __BCM63XX_PMB_H */
Messung V0.5
¤ Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.0.12Bemerkung:
(vorverarbeitet)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.