xf86i2c.h revision a5e7ae69e440f6816420fc99599f044e79e716b6
/*
* Copyright (C) 1998 Itai Nahshon, Michael Schimek
*/
#ifndef _XF86I2C_H
#define _XF86I2C_H
#include "regionstr.h"
#include "xf86.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 {
const 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
int nRead);
unsigned short *pword);
unsigned short word);
#endif /*_XF86I2C_H */