15#ifndef __RTEMS__I2C_H__
16#define __RTEMS__I2C_H__
38typedef uint32_t i2c_bus_number;
41typedef uint16_t i2c_address;
44typedef enum i2c_message_status {
51 I2C_RESOURCE_NOT_AVAILABLE
58 i2c_message_status status;
64#define I2C_MSG_ADDR_10 (0x01)
65#define I2C_MSG_WR (0x02)
67#define I2C_MSG_ERRSKIP (0x04)
70typedef void (*i2c_transfer_done) (
void * arg);
107i2c_select_clock_rate(i2c_bus_number bus,
int bps);
127 i2c_transfer_done done,
void *done_arg);
159i2c_poll(i2c_bus_number bus);
175i2c_write(i2c_bus_number bus, i2c_address addr,
void *buf,
int size);
190i2c_wrbyte(i2c_bus_number bus, i2c_address addr, uint8_t cmd);
206i2c_read(i2c_bus_number bus, i2c_address addr,
void *buf,
int size);
224i2c_wrrd(i2c_bus_number bus, i2c_address addr,
void *bufw,
int sizew,
225 void *bufr,
int sizer);
242i2c_wbrd(i2c_bus_number bus, i2c_address addr, uint8_t cmd,
243 void *bufr,
int sizer);
#define I2C_TIMEOUT
Sets the transfer timeout in 10ms units.
Definition: i2c-dev.h:66
uint32_t rtems_device_major_number
This integer type represents the major number of devices.
Definition: io.h:103
uint32_t rtems_device_minor_number
This integer type represents the minor number of devices.
Definition: io.h:115
rtems_status_code
This enumeration provides status codes for directives of the Classic API.
Definition: status.h:85
This header file defines the RTEMS Classic API.
Definition: b1553brm.c:94