/******************************************************************************* NAME fpgaI2cDiag.h SUMMARY header file for Zebulon FPGA I2C function diagnostics VERSION %version: 1 % UPDATE DATE %date_modified: Apr 27 20:30 2009 % PROGRAMMER %created_by: Jim Tu % Copyright 2009 Quanta Corporation. All Rights Reserved. DESCRIPTION: This file has code to test I2C function of Zebulon FPGA Not include the I2C master controller in Zebulon NOTES: REFERENCE: *******************************************************************************/ #ifndef __FPGA_I2C_DIAG_H__ #define __FPGA_I2C_DIAG_H__ #if 0 #define JF_REGISTER_ADDRESS_BASE 0xFFD80000 #define IBMR0_OFFSET 0x2514 #define IMBCR0_OFFSET 0x2518 EXTERN struct i2c_client *g_pca9548_client; EXTERN VOID pca9548_mutex_lock(struct i2c_client* client); EXTERN VOID pca9548_mutex_unlock(struct i2c_client* client); #define M_PCA9548_READ_REG(client, value) \ { \ INT32 ret; \ ret = i2c_master_recv(client, &value, 1); \ if (ret != 1){ \ printk(KERN_ERR "%s(%d): Can not read register\n", __func__, __LINE__); \ pca9548_mutex_unlock(client); \ } \ } #define M_PCA9548_WRITE_REG(client, value) \ { \ INT32 ret; \ ret = i2c_master_send(client, &value, 1); \ if (ret != 1){ \ printk(KERN_ERR "%s(%d): Can not write register\n", __func__, __LINE__); \ pca9548_mutex_unlock(client); \ } \ } #endif /*** Export Function ***/ VOID fpgaI2cMux9548Reset(BOOLEAN status); VOID fpgaI2cMasterMusSelect(UINT8 selection); VOID fpgaI2cMdpl1Select(VOID); VOID fpgaI2cMdpl2Select(VOID); VOID fpgaI2cMdplEnable(VOID); VOID fpgaI2cMdpl1Reset(BOOLEAN status); VOID fpgaI2cMdpl2Reset(BOOLEAN status); INT32 fpgaI2cDiag(VOID); #endif //__FPGA_I2C_DIAG_H__