PCH_I2CDR
iowrite32(i2c_10bit_addr_hi_from_msg(msgs), p + PCH_I2CDR);
iowrite32(i2c_10bit_addr_lo_from_msg(msgs), p + PCH_I2CDR);
iowrite32(i2c_8bit_addr_from_msg(msgs), p + PCH_I2CDR);
iowrite32(buf[wrcount], p + PCH_I2CDR);
iowrite32(i2c_10bit_addr_hi_from_msg(msgs) & ~I2C_M_RD, p + PCH_I2CDR);
iowrite32(i2c_10bit_addr_lo_from_msg(msgs), p + PCH_I2CDR);
iowrite32(i2c_10bit_addr_hi_from_msg(msgs), p + PCH_I2CDR);
iowrite32(i2c_8bit_addr_from_msg(msgs), p + PCH_I2CDR);
ioread32(p + PCH_I2CDR); /* Dummy read needs */
buf[read_index] = ioread32(p + PCH_I2CDR);
buf[read_index] = ioread32(p + PCH_I2CDR); /* Read final - 1 */
buf[read_index++] = ioread32(p + PCH_I2CDR); /* Read Final */