13 #ifndef __RTEMS__I2C_H__ 14 #define __RTEMS__I2C_H__ 36 typedef uint32_t i2c_bus_number;
39 typedef uint16_t i2c_address;
42 typedef enum i2c_message_status {
49 I2C_RESOURCE_NOT_AVAILABLE
56 i2c_message_status status;
62 #define I2C_MSG_ADDR_10 (0x01) 63 #define I2C_MSG_WR (0x02) 65 #define I2C_MSG_ERRSKIP (0x04) 68 typedef void (*i2c_transfer_done) (
void *arg);
85 i2c_initialize(rtems_device_major_number major,
86 rtems_device_minor_number minor,
105 i2c_select_clock_rate(i2c_bus_number bus,
int bps);
125 i2c_transfer_done done,
void * done_arg_ptr);
144 i2c_transfer_wait(i2c_bus_number bus,
i2c_message *msg,
int nmsg);
157 i2c_poll(i2c_bus_number bus);
173 i2c_write(i2c_bus_number bus, i2c_address addr,
void *buf,
int size);
188 i2c_wrbyte(i2c_bus_number bus, i2c_address addr, uint8_t cmd);
204 i2c_read(i2c_bus_number bus, i2c_address addr,
void *buf,
int size);
222 i2c_wrrd(i2c_bus_number bus, i2c_address addr,
void *bufw,
int sizew,
223 void *bufr,
int sizer);
240 i2c_wbrd(i2c_bus_number bus, i2c_address addr, uint8_t cmd,
241 void *bufr,
int sizer);
rtems_status_code
Classic API Status.
Definition: status.h:43
Definition: b1553brm.c:75
unsigned size
Definition: tte.h:74
#define I2C_TIMEOUT
Sets the transfer timeout in 10ms units.
Definition: i2c-dev.h:53