/* vxbus driver definitions for Intel SCH SMBus controller */

/*
 * Copyright 2011 Kontron KGSC.
 */

/*
modification history
--------------------
01a,15mar11,edv initial version
*/

#ifndef __INSchSMBush
#define __INSchSMBush

#include <vxWorks.h>

#include <../3rdparty/kontron/h/vxbSMBus.h>

#ifdef __cplusplus
extern "C" {
#endif

#define VXB_SCH_SMBUS_DRV_NAME	"schSMBus"

/* PCI IDs */
#define VEND_INTEL_ID (0x8086)
#define DEV_SCH_SMBUS_ID	(0x8119)
#define DEV_SCH_SMBUS_ID6	(0x8186)

/* smbus operations */
#define I2C_SMBUS_READ  1
#define I2C_SMBUS_WRITE 0

/* SMBus transaction types */
#define I2C_SMBUS_QUICK             0
#define I2C_SMBUS_BYTE              1
#define I2C_SMBUS_BYTE_DATA         2
#define I2C_SMBUS_WORD_DATA         3
#define I2C_SMBUS_PROC_CALL         4
#define I2C_SMBUS_BLOCK_DATA        5
#define I2C_SMBUS_I2C_BLOCK_BROKEN  6
#define I2C_SMBUS_BLOCK_PROC_CALL   7           
#define I2C_SMBUS_I2C_BLOCK_DATA    8

/*
 * Data for SMBus Messages
 */
#define I2C_SMBUS_BLOCK_MAX     32      /* As specified in SMBus standard */


#ifdef __cplusplus
}
#endif

#endif /* __INSchSMBush */
