drv_i2c_gpioi2c.h 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. #ifndef _DRV_I2C_GPIOI2C_H_
  2. #define _DRV_I2C_GPIOI2C_H_
  3. //04/21/2010 modified by cdlin to move the read/write function of I2C via GPIO to I2C driver.
  4. // #define Addr_Len_Equ_to_1 1
  5. // #define Addr_Len_Equ_to_2 2
  6. // #define Addr_Len_Equ_to_3 3
  7. // #define Addr_Len_Equ_to_4 4
  8. // #define Data_Len_Equ_to_1 1
  9. // #define Data_Len_Equ_to_2 2
  10. // #define Data_Len_Equ_to_3 3
  11. // #define Data_Len_Equ_to_4 4
  12. //~cdlin
  13. UINT32 mmioRead( // Read data from addr
  14. UINT32 addr
  15. ); // return data
  16. UINT32 mmioReadMask( // Read masked data from addr
  17. UINT32 addr,
  18. UINT32 mask
  19. ); // return data
  20. void mmioWrite( // Write data into addr
  21. UINT32 addr,
  22. UINT32 data
  23. );
  24. void mmioWriteMask(
  25. UINT32 addr, // Write masked data into addr
  26. UINT32 mask,
  27. UINT32 data
  28. );
  29. /* Defined in i2c.c */
  30. /*UINT8 hdmi_writeI2C(
  31. UINT8 deviceID, // device id
  32. UINT32 addr, // addr, format [addrType,1][addr,3]
  33. UINT8 *pData, // data ptr
  34. UINT32 data_sz // data size
  35. ); // return status (0: success, other: fail)
  36. UINT8 hdmi_readI2C(
  37. UINT8 deviceID, // device id
  38. UINT32 addr, // addr, format [addrType,1][addr,3]
  39. UINT8 *pData, // data ptr
  40. UINT32 data_sz // data size
  41. ); // return status (0: success, other: fail)*/
  42. #if 0
  43. /* Defined in gpioi2c.c */
  44. //06/30/2009 by cdlin to support multi address/data read & write function.
  45. void writeI2CviaGPIO (
  46. UINT8 Mx,
  47. UINT8 DeviceID, // device id
  48. UINT8 AddrLen, // addr length
  49. UINT32 Addr, // addr
  50. UINT32 DataLen, // data length
  51. UINT8 *pData, // data
  52. UINT8 *Status
  53. );
  54. void readI2CviaGPIO (
  55. UINT8 Mx,
  56. UINT8 DeviceID, // device id
  57. UINT8 AddrLen, // addr length
  58. UINT32 Addr, // addr
  59. UINT8 *pData,
  60. UINT32 DataLen, // data length
  61. UINT8 *Status
  62. ); // return data
  63. //~cdlin
  64. #endif
  65. /* Defined in gpioi2c.c */
  66. void i2cGPIO_writeGPIO (
  67. UINT8 idx, // gpio index
  68. UINT8 val // data, high or low
  69. );
  70. //04/21/2010 modified by cdlin to move the read/write function of I2C via GPIO to I2C driver.
  71. //UINT8 hdmi_readGPIO (
  72. UINT8 i2cGPIO_readGPIO (
  73. //~cdlin
  74. UINT8 idx // gpio index
  75. ); // return gpio data (high or low)
  76. #endif