drv_i2c.h 5.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. #ifndef _DRV_I2C_H_
  2. #define _DRV_I2C_H_
  3. #include <drv_types.h>
  4. #include <drv_i2c_typedefs.h>
  5. #include <drv_i2c_external.h>
  6. extern void DRV_GPIOI2C_ReadFun(UINT8 Mx, UINT8 DeviceID, UINT8 AddrLen, UINT32 Addr,UINT8 *pData, UINT32 DataLen,UINT8 Speed,UINT8 *Status);
  7. extern void DRV_GPIOI2C_WriteFun(UINT8 Mx, UINT8 DeviceID, UINT8 AddrLen, UINT32 Addr,UINT8 *pData, UINT32 DataLen,UINT8 Speed,UINT8 *Status);
  8. //extern UINT8 SwI2CReadByteFun(UINT8 Mx,UINT8 SlaveAddress,UINT8 BaseAddress,UINT8 Speed,UINT8 *pStatus);
  9. //extern void SwI2CWriteByteFun(UINT8 Mx,UINT8 SlaveAddress,UINT8 BaseAddress,UINT8 Data,UINT8 Speed,UINT8 *pStatus);
  10. //extern void SwI2CWriteMultiBytesFun(UINT8 Mx,UINT8 SlaveAddress,UINT8 AddrType,UINT32 BaseAddress,UINT8 *pBuffer,UINT16 Length,UINT8 Speed,UINT8 *pStatus);
  11. extern void DRV_SwI2C_ReadFun(UINT8 Mx,UINT8 SlaveAddress,UINT8 AddrType,UINT32 BaseAddress,UINT8 *pBuffer,UINT16 Length,UINT8 Speed,UINT8 *pStatus);
  12. //extern void SwI2CReadMultiBytesTempFun(UINT8 Mx,UINT8 SlaveAddress,UINT8 AddrType,UINT32 BaseAddress,UINT8 AddrLengh,UINT8 *pBuffer,UINT16 DataLength,UINT8 Speed,UINT8 *pStatus);//20081110 lwhite test
  13. extern void DRV_I2C_ReadFun(UINT8 MasterIndex,UINT8 DeviceID,UINT8 AddrType,UINT32 Address,UINT8 *pData,UINT16 Length,UINT8 Speed,UINT8 *pStatus);
  14. extern void DRV_I2C_WriteFun(UINT8 MasterIndex,UINT8 DeviceID,UINT8 AddrType,UINT32 Address,UINT8 *pData,UINT16 Length,UINT8 Speed,UINT8 *pStatus);
  15. extern UINT32 DRV_I2C_M0BasicReadFun(UINT8 DeviceID,UINT8 Address,UINT8 Length,UINT8 Speed,UINT8 *pStatus);
  16. extern UINT32 DRV_I2C_M1BasicReadFun(UINT8 DeviceID,UINT8 Address,UINT8 Length,UINT8 Speed,UINT8 *pStatus);
  17. extern void DRV_I2C_M0BasicWriteFun(UINT8 DeviceID,UINT8 Address,UINT32 Data,UINT8 Length,UINT8 Speed,UINT8 *pStatus);
  18. extern void DRV_I2C_M1BasicWriteFun(UINT8 DeviceID,UINT8 Address,UINT32 Data,UINT8 Length,UINT8 Speed,UINT8 *pStatus);
  19. extern INT32 DRV_I2C_QueueCmdFun(UINT8 Mx,UINT8 DeviceID,UINT8 AddrType,UINT32 Address,UINT8 *pData,UINT16 Length,UINT8 Speed, INT8 bRead);
  20. extern INT32 DRV_I2C_RunCmdFun(UINT8 Mx,UINT8 *pData);
  21. #define DRV_I2C_M0_WRITE_BYTE_100K(DeviceID,Address,Data,Status) DRV_I2C_M0BasicWriteFun(DeviceID,Address,Data,1,I2C_SPEED_100K,Status)
  22. #define DRV_I2C_M0_WRITE_BYTE_400K(DeviceID,Address,Data,Status) DRV_I2C_M0BasicWriteFun(DeviceID,Address,Data,1,I2C_SPEED_400K,Status)
  23. #define DRV_I2C_M0_WRITE_WORD_100K(DeviceID,Address,Data,Status) DRV_I2C_M0BasicWriteFun(DeviceID,Address,Data,2,I2C_SPEED_100K,Status)
  24. #define DRV_I2C_M0_WRITE_WORD_400K(DeviceID,Address,Data,Status) DRV_I2C_M0BasicWriteFun(DeviceID,Address,Data,2,I2C_SPEED_400K,Status)
  25. #define DRV_I2C_M0_WRITE_DWORD_100K(DeviceID,Address,Data,Status) DRV_I2C_M0BasicWriteFun(DeviceID,Address,Data,4,I2C_SPEED_100K,Status)
  26. #define DRV_I2C_M0_WRITE_DWORD_400K(DeviceID,Address,Data,Status) DRV_I2C_M0BasicWriteFun(DeviceID,Address,Data,4,I2C_SPEED_400K,Status)
  27. #define DRV_I2C_M0_READ_BYTE_100K(DeviceID,Address,Status) ((UINT8)DRV_I2C_M0BasicReadFun(DeviceID,Address,1,I2C_SPEED_100K,Status))
  28. #define DRV_I2C_M0_READ_BYTE_400K(DeviceID,Address,Status) ((UINT8)DRV_I2C_M0BasicReadFun(DeviceID,Address,1,I2C_SPEED_400K,Status))
  29. #define DRV_I2C_M0_READ_WORD_100K(DeviceID,Address,Status) ((UINT16)DRV_I2C_M0BasicReadFun(DeviceID,Address,2,I2C_SPEED_100K,Status))
  30. #define DRV_I2C_M0_READ_WORD_400K(DeviceID,Address,Status) ((UINT16)DRV_I2C_M0BasicReadFun(DeviceID,Address,2,I2C_SPEED_400K,Status))
  31. #define DRV_I2C_M0_READ_DWORD_100K(DeviceID,Address,Status) ((UINT32)DRV_I2C_M0BasicReadFun(DeviceID,Address,4,I2C_SPEED_100K,Status))
  32. #define DRV_I2C_M0_READ_DWORD_400K(DeviceID,Address,Status) ((UINT32)DRV_I2C_M0BasicReadFun(DeviceID,Address,4,I2C_SPEED_400K,Status))
  33. #define DRV_I2C_M1_WRITE_BYTE_100K(DeviceID,Address,Data,Status) DRV_I2C_M1BasicWriteFun(DeviceID,Address,Data,1,I2C_SPEED_100K,Status)
  34. #define DRV_I2C_M1_WRITE_BYTE_400K(DeviceID,Address,Data,Status) DRV_I2C_M1BasicWriteFun(DeviceID,Address,Data,1,I2C_SPEED_400K,Status)
  35. #define DRV_I2C_M1_WRITE_WORD_100K(DeviceID,Address,Data,Status) DRV_I2C_M1BasicWriteFun(DeviceID,Address,Data,2,I2C_SPEED_100K,Status)
  36. #define DRV_I2C_M1_WRITE_WORD_400K(DeviceID,Address,Data,Status) DRV_I2C_M1BasicWriteFun(DeviceID,Address,Data,2,I2C_SPEED_400K,Status)
  37. #define DRV_I2C_M1_WRITE_DWORD_100K(DeviceID,Address,Data,Status) DRV_I2C_M1BasicWriteFun(DeviceID,Address,Data,4,I2C_SPEED_100K,Status)
  38. #define DRV_I2C_M1_WRITE_DWORD_400K(DeviceID,Address,Data,Status) DRV_I2C_M1BasicWriteFun(DeviceID,Address,Data,4,I2C_SPEED_400K,Status)
  39. #define DRV_I2C_M1_READ_BYTE_100K(DeviceID,Address,Status) ((UINT8)DRV_I2C_M1BasicReadFun(DeviceID,Address,1,I2C_SPEED_100K,Status))
  40. #define DRV_I2C_M1_READ_BYTE_400K(DeviceID,Address,Status) ((UINT8)DRV_I2C_M1BasicReadFun(DeviceID,Address,1,I2C_SPEED_400K,Status))
  41. #define DRV_I2C_M1_READ_WORD_100K(DeviceID,Address,Status) ((UINT16)DRV_I2C_M1BasicReadFun(DeviceID,Address,2,I2C_SPEED_100K,Status))
  42. #define DRV_I2C_M1_READ_WORD_400K(DeviceID,Address,Status) ((UINT16)DRV_I2C_M1BasicReadFun(DeviceID,Address,2,I2C_SPEED_400K,Status))
  43. #define DRV_I2C_M1_READ_DWORD_100K(DeviceID,Address,Status) ((UINT32)DRV_I2C_M1BasicReadFun(DeviceID,Address,4,I2C_SPEED_100K,Status))
  44. #define DRV_I2C_M1_READ_DWORD_400K(DeviceID,Address,Status) ((UINT32)DRV_I2C_M1BasicReadFun(DeviceID,Address,4,I2C_SPEED_400K,Status))
  45. #define I2CReadTempFun(MasterIndex,DeviceID,AddrType,Address,AddrLength,pData,DataLength,Speed,Status) SwI2CReadMultiBytesTempFun(MasterIndex,DeviceID,ADDRESS_TYPE_MULTIPLE,Address,AddrLength,pData,DataLength,Speed,Status)
  46. #endif // end of #ifndef _DRV_I2C_H_