Lines Matching defs:data
21 * A word of explanation. During data transfers in the I2C protocol,
22 * data never changes while the clock is high. The "start" and 'stop"
24 * is signaled by raising the data line while the clock is high.
28 * initial states of either clock or data.
30 * To make this work, we need to first make sure the data line is low
32 * the data line doesn't generate a start condition, we must also make
35 * lower data
37 * raise data <= this is the actual "stop"
39 * TODO: would it make sense to read the clock and data lines first
45 fcns->set_sda(efb_priv, port, 0); /* make sure data is low */
70 * See above. A start condition is caused by data going low
76 fcns->set_sda(efb_priv, port, 1); /* make sure data is high */
186 fcns->set_sda(efb_priv, port, 1); /* release data line */
207 const efb_i2c_functions_t *fcns, int data)
215 bit = (data >> 7) & 1;
216 data <<= 1;
230 const efb_i2c_functions_t *fcns, int data)
238 * SDA _----____----___ (_=old data, -=new)
250 fcns->set_sda(efb_priv, port, data);
277 * data line to zero.
283 fcns->set_sda(efb_priv, port, 1); /* release data line */
304 uint_t port, uint_t i2c_addr, uint_t reg_addr, uchar_t data)
310 (void) efb_i2c_write_byte(efb_priv, port, fcns, data);