I2C_ISR
bus_space_write_4(iot, ioh, I2C_ISR, ISR_ITE | ISR_IRF);
while ((bus_space_read_4(iot, ioh, I2C_ISR) & ISR_ITE) == 0) {
bus_space_write_4(iot, ioh, I2C_ISR, ISR_ITE);
while ((bus_space_read_4(iot, ioh, I2C_ISR) & ISR_IRF) == 0) {
bus_space_write_4(iot, ioh, I2C_ISR, ISR_IRF);
bus_space_write_4(iot, ioh, I2C_ISR, ISR_ITE | ISR_IRF);
bus_space_write_4(iot, ioh, I2C_ISR, ISR_ITE);
while ((bus_space_read_4(iot, ioh, I2C_ISR) & ISR_ITE) == 0) {
if ((bus_space_read_4(iot, ioh, I2C_ISR) & ISR_ACKNAK) != 0)
bus_space_write_4(iot, ioh, I2C_ISR, ISR_ITE);
while ((bus_space_read_4(iot, ioh, I2C_ISR) & ISR_ITE) == 0) {
if ((bus_space_read_4(iot, ioh, I2C_ISR) & ISR_ACKNAK) != 0)
bus_space_write_4(iot, ioh, I2C_ISR, ISR_ITE);
bus_space_write_4(iot, ioh, I2C_ISR, ISR_ITE);
bus_space_write_4(iot, ioh, I2C_ISR, ISR_ITE);
while ((bus_space_read_4(iot, ioh, I2C_ISR) & ISR_ITE) == 0) {
if ((bus_space_read_4(iot, ioh, I2C_ISR) & ISR_ACKNAK) != 0)
bus_space_write_4(iot, ioh, I2C_ISR, ISR_ITE);
bus_space_write_4(iot, ioh, I2C_ISR, ISR_ITE);
bus_space_write_4(iot, ioh, I2C_ISR, ISR_ITE);
while ((bus_space_read_4(iot, ioh, I2C_ISR) & ISR_ITE) == 0) {
if ((bus_space_read_4(iot, ioh, I2C_ISR) & ISR_ACKNAK) != 0)
bus_space_write_4(iot, ioh, I2C_ISR, ISR_ITE);
while ((bus_space_read_4(iot, ioh, I2C_ISR) & ISR_ITE) == 0) {
if ((bus_space_read_4(iot, ioh, I2C_ISR) & ISR_ACKNAK) != 0)
bus_space_write_4(iot, ioh, I2C_ISR, ISR_ITE);
while ((bus_space_read_4(iot, ioh, I2C_ISR) & ISR_ITE) == 0) {
if ((bus_space_read_4(iot, ioh, I2C_ISR) & ISR_ACKNAK) != 0)
bus_space_write_4(iot, ioh, I2C_ISR, ISR_ITE);
bus_space_write_4(iot, ioh, I2C_ISR, ISR_ITE);
CSR_WRITE_4(sc, I2C_ISR, ISR_ALL);
isr = CSR_READ_4(sc, I2C_ISR);
CSR_WRITE_4(sc, I2C_ISR, isr);
rv = bus_space_read_4(iot, ioh, I2C_ISR);
bus_space_write_4(iot, ioh, I2C_ISR, ISR_SAD); /* Clear SAD */
rv = bus_space_read_4(iot, ioh, I2C_ISR);
rv = bus_space_read_4(iot, ioh, I2C_ISR);
bus_space_write_4(iot, ioh, I2C_ISR, ISR_ITE);
rv = bus_space_read_4(iot, ioh, I2C_ISR);
bus_space_write_4(iot, ioh, I2C_ISR, ISR_ITE);
rv = bus_space_read_4(iot, ioh, I2C_ISR);
bus_space_write_4(iot, ioh, I2C_ISR, ISR_IRF);
rv = bus_space_read_4(iot, ioh, I2C_ISR);
bus_space_write_4(iot, ioh, I2C_ISR, ISR_SSD);
isr = bus_space_read_4(iot, ioh, I2C_ISR);
bus_space_write_4(iot, ioh, I2C_ISR,