/* * File : i2c-bit-ops.h * This file is part of RT-Thread RTOS * COPYRIGHT (C) 2006, RT-Thread Development Team * * The license and distribution terms for this file may be * found in the file LICENSE in this distribution or at * http://www.rt-thread.org/license/LICENSE * * Change Logs: * Date Author Notes * 2012-04-25 weety first version */ #ifndef __I2C_BIT_OPS_H__ #define __I2C_BIT_OPS_H__ #ifdef __cplusplus extern "C" { #endif struct rt_i2c_bit_ops { void *data; /* private data for lowlevel routines */ void (*set_sda) (void *data, rt_int32_t state); void (*set_scl) (void *data, rt_int32_t state); rt_int32_t (*get_sda) (void *data); rt_int32_t (*get_scl) (void *data); void (*udelay) (rt_uint32_t us); rt_uint32_t delay_us; /* scl and sda line delay */ rt_uint32_t timeout; /* in tick */ }; rt_err_t rt_i2c_bit_add_bus(struct rt_i2c_bus *bus); #ifdef __cplusplus } #endif #endif