Lines Matching refs:bus
132 static rt_int32_t i2c_writeb(struct rt_i2c_bus_device *bus, rt_uint8_t data) in i2c_writeb() argument
137 struct rt_i2c_bit_ops *ops = (struct rt_i2c_bit_ops *)bus->priv; in i2c_writeb()
160 static rt_int32_t i2c_readb(struct rt_i2c_bus_device *bus) in i2c_readb() argument
164 struct rt_i2c_bit_ops *ops = (struct rt_i2c_bit_ops *)bus->priv; in i2c_readb()
189 static rt_ssize_t i2c_send_bytes(struct rt_i2c_bus_device *bus, in i2c_send_bytes() argument
200 ret = i2c_writeb(bus, *ptr); in i2c_send_bytes()
225 static rt_err_t i2c_send_ack_or_nack(struct rt_i2c_bus_device *bus, int ack) in i2c_send_ack_or_nack() argument
227 struct rt_i2c_bit_ops *ops = (struct rt_i2c_bit_ops *)bus->priv; in i2c_send_ack_or_nack()
243 static rt_ssize_t i2c_recv_bytes(struct rt_i2c_bus_device *bus, in i2c_recv_bytes() argument
254 val = i2c_readb(bus); in i2c_recv_bytes()
274 val = i2c_send_ack_or_nack(bus, count); in i2c_recv_bytes()
283 static rt_int32_t i2c_send_address(struct rt_i2c_bus_device *bus, in i2c_send_address() argument
287 struct rt_i2c_bit_ops *ops = (struct rt_i2c_bit_ops *)bus->priv; in i2c_send_address()
293 ret = i2c_writeb(bus, addr); in i2c_send_address()
306 static rt_err_t i2c_bit_send_address(struct rt_i2c_bus_device *bus, in i2c_bit_send_address() argument
311 struct rt_i2c_bit_ops *ops = (struct rt_i2c_bit_ops *)bus->priv; in i2c_bit_send_address()
317 retries = ignore_nack ? 0 : bus->retries; in i2c_bit_send_address()
326 ret = i2c_send_address(bus, addr1, retries); in i2c_bit_send_address()
334 ret = i2c_writeb(bus, addr2); in i2c_bit_send_address()
346 ret = i2c_send_address(bus, addr1, retries); in i2c_bit_send_address()
361 ret = i2c_send_address(bus, addr1, retries); in i2c_bit_send_address()
369 static rt_ssize_t i2c_bit_xfer(struct rt_i2c_bus_device *bus, in i2c_bit_xfer() argument
374 struct rt_i2c_bit_ops *ops = (struct rt_i2c_bit_ops *)bus->priv; in i2c_bit_xfer()
402 ret = i2c_bit_send_address(bus, msg); in i2c_bit_xfer()
412 ret = i2c_recv_bytes(bus, msg); in i2c_bit_xfer()
426 ret = i2c_send_bytes(bus, msg); in i2c_bit_xfer()
458 rt_err_t rt_i2c_bit_add_bus(struct rt_i2c_bus_device *bus, in rt_i2c_bit_add_bus() argument
461 bus->ops = &i2c_bit_bus_ops; in rt_i2c_bit_add_bus()
463 return rt_i2c_bus_device_register(bus, bus_name); in rt_i2c_bit_add_bus()