xf86i2c.h revision 45e9809aff7304721fddb95654901b32195c9c7a
/*
* Copyright (C) 1998 Itai Nahshon, Michael Schimek
*/
#ifndef _XF86I2C_H
#define _XF86I2C_H
#include "regionstr.h"
typedef unsigned char I2CByte;
typedef unsigned short I2CSlaveAddr;
typedef struct _I2CBusRec *I2CBusPtr;
typedef struct _I2CDevRec *I2CDevPtr;
/* I2C masters have to register themselves */
typedef struct _I2CBusRec {
char * BusName;
int scrnIndex;
/* Look at the generic routines to see how these functions should behave. */
int HoldTime; /* 1 / bus clock frequency, 5 or 2 usec */
int BitTimeout; /* usec */
int ByteTimeout; /* usec */
int AcknTimeout; /* usec */
int StartTimeout; /* usec */
int RiseFallTime; /* usec */
} I2CBusRec;
#define CreateI2CBusRec xf86CreateI2CBusRec
#define DestroyI2CBusRec xf86DestroyI2CBusRec
#define I2CBusInit xf86I2CBusInit
/* I2C slave devices */
typedef struct _I2CDevRec {
char * DevName;
int BitTimeout; /* usec */
int ByteTimeout; /* usec */
int AcknTimeout; /* usec */
int StartTimeout; /* usec */
} I2CDevRec;
#define CreateI2CDevRec xf86CreateI2CDevRec
#define I2CDevInit xf86I2CDevInit
/* See descriptions of these functions in xf86i2c.c */
#define I2CProbeAddress xf86I2CProbeAddress
#define I2C_WriteRead xf86I2CWriteRead
extern _X_EXPORT Bool xf86I2CWriteBytes(I2CDevPtr d, I2CByte subaddr, I2CByte *WriteBuffer, int nWrite);
#endif /*_XF86I2C_H */