Lines Matching refs:delay

14 #include <linux/delay.h>
30 * udelay - delay [us] between GPIO toggle operations,
89 static void i2c_gpio_write_bit(struct i2c_gpio_bus *bus, int delay, uchar bit)
92 udelay(delay);
94 udelay(delay);
96 udelay(2 * delay);
99 static int i2c_gpio_read_bit(struct i2c_gpio_bus *bus, int delay)
104 udelay(delay);
106 udelay(delay);
108 udelay(2 * delay);
114 static void i2c_gpio_send_start(struct i2c_gpio_bus *bus, int delay)
116 udelay(delay);
118 udelay(delay);
120 udelay(delay);
122 udelay(delay);
126 static void i2c_gpio_send_stop(struct i2c_gpio_bus *bus, int delay)
129 udelay(delay);
131 udelay(delay);
133 udelay(delay);
135 udelay(delay);
139 static void i2c_gpio_send_ack(struct i2c_gpio_bus *bus, int delay, int ack)
141 i2c_gpio_write_bit(bus, delay, ack);
143 udelay(delay);
151 static void i2c_gpio_send_reset(struct i2c_gpio_bus *bus, int delay)
156 i2c_gpio_write_bit(bus, delay, 1);
158 i2c_gpio_send_stop(bus, delay);
162 static void i2c_gpio_sda_high(struct i2c_gpio_bus *bus, int delay)
165 udelay(delay);
167 udelay(delay);
171 static int i2c_gpio_write_byte(struct i2c_gpio_bus *bus, int delay, uchar data)
177 i2c_gpio_write_bit(bus, delay, data & 0x80);
181 udelay(delay);
184 i2c_gpio_sda_high(bus, delay);
185 nack = i2c_gpio_read_bit(bus, delay);
194 static uchar i2c_gpio_read_byte(struct i2c_gpio_bus *bus, int delay, int ack)
199 i2c_gpio_sda_high(bus, delay);
203 data |= i2c_gpio_read_bit(bus, delay);
205 i2c_gpio_send_ack(bus, delay, ack);
211 int i2c_send_slave_addr(struct i2c_gpio_bus *bus, int delay, uchar chip)
213 i2c_gpio_send_start(bus, delay);
215 if (i2c_gpio_write_byte(bus, delay, chip)) {
216 i2c_gpio_send_stop(bus, delay);
227 unsigned int delay = bus->udelay;
232 if (i2c_send_slave_addr(bus, delay, chip << 1)) {
238 if (i2c_gpio_write_byte(bus, delay, *buffer++))
243 i2c_gpio_send_stop(bus, delay);
247 if (i2c_send_slave_addr(bus, delay, (chip << 1) | 0x1)) {
258 unsigned int delay = bus->udelay;
263 *buffer++ = i2c_gpio_read_byte(bus, delay, len == 0);
265 i2c_gpio_send_stop(bus, delay);
296 unsigned int delay = bus->udelay;
299 i2c_gpio_send_start(bus, delay);
300 ret = i2c_gpio_write_byte(bus, delay, (chip << 1) | 0);
301 i2c_gpio_send_stop(bus, delay);
354 bus->udelay = dev_read_u32_default(dev, "i2c-gpio,delay-us",