source: svn/branches/kctv/newcon3bcm2_21bu/magnum/basemodules/reg/breg_i2c_priv.h

Last change on this file was 2, checked in by phkim, 11 years ago

1.phkim

  1. revision copy newcon3sk r27
  • Property svn:executable set to *
File size: 6.2 KB
Line 
1/***************************************************************************
2 *         Copyright (c) 2003-2011, Broadcom Corporation
3 *         All Rights Reserved
4 *         Confidential Property of Broadcom Corporation
5 *
6 *      THIS SOFTWARE MAY ONLY BE USED SUBJECT TO AN EXECUTED SOFTWARE LICENSE
7 *      AGREEMENT  BETWEEN THE USER AND BROADCOM.  YOU HAVE NO RIGHT TO USE OR
8 *      EXPLOIT THIS MATERIAL EXCEPT SUBJECT TO THE TERMS OF SUCH AN AGREEMENT.
9 *
10 * $brcm_Workfile: breg_i2c_priv.h $
11 * $brcm_Revision: Hydra_Software_Devel/18 $
12 * $brcm_Date: 3/21/11 4:06p $
13 *
14 * Module Description:
15 *
16 * Revision History:
17 *
18 * $brcm_Log: /magnum/basemodules/reg/breg_i2c_priv.h $
19 *
20 * Hydra_Software_Devel/18   3/21/11 4:06p agin
21 * SW7346-96:  Add BREG_I2C_ReadSwA24_Func and BREG_I2C_WriteSwA24_Func.
22 *
23 * Hydra_Software_Devel/17   10/4/10 3:39p adtran
24 * SW35230-1525: add WriteRead atomic operation
25 *
26 * Hydra_Software_Devel/16   3/24/10 11:46a vle
27 * SW7601-171: Add BI2C_P_SetupHdmiHwAccess to set up I2C for HDMI HDCP
28 * auto Ri/Pj link integrity check feature
29 *
30 * Hydra_Software_Devel/SW7601-171/1   3/9/10 3:22p vle
31 * SW7601-171: Add BI2C_P_SetupHdmiHwAccess to set up I2C for HDMI HDCP
32 * auto Ri/Pj link integrity check feature
33 *
34 * Hydra_Software_Devel/15   11/21/08 10:56a agin
35 * PR49585: Add sw i2c support for 7601.
36 *
37 * Hydra_Software_Devel/14   10/14/08 5:08p agin
38 * PR42305: Add BI2C_P_ReadSwNoAddr and BI2C_P_ReadSwEDDC.
39 *
40 * Hydra_Software_Devel/13   5/4/08 1:37a agin
41 * PR42305: Support i2c via gpio.
42 *
43 * Hydra_Software_Devel/12   4/21/08 2:09p farshidf
44 * PR41729: fix compile issue
45 *
46 * Hydra_Software_Devel/11   4/21/08 2:02p farshidf
47 * PR41729: add BREG_I2C_ReadNoAddrNoAck_Func
48 *
49 * Hydra_Software_Devel/10   4/18/05 10:46a agin
50 * PR14828: add read and write no ack functions.
51 *
52 * Hydra_Software_Devel/9   3/14/05 5:51p agin
53 * PR14351: Fassl's changes
54 *
55 * Hydra_Software_Devel/8   3/2/05 5:49p agin
56 * PR14318:  Added support for I2C write for NVRAM devices.
57 *
58 * Hydra_Software_Devel/7   7/8/04 2:23p brianlee
59 * PR11845: Add I2C API for 3-byte sub address.
60 *
61 * Hydra_Software_Devel/6   1/13/04 5:02p brianlee
62 * PR9268: Make write structures constant.
63 *
64 * Hydra_Software_Devel/5   9/12/03 4:58p brianlee
65 * Add chip address to EDDC read/write functions.
66 *
67 * Hydra_Software_Devel/4   9/11/03 10:53a brianlee
68 * Fixed function definitions so they match I2C definitions.
69 *
70 * Hydra_Software_Devel/3   8/22/03 2:52p marcusk
71 * Updated with latest changes discussed in the UPG design review.
72 *
73 * Hydra_Software_Devel/2   3/10/03 2:39p marcusk
74 * Removed const keyword from read routines (copy paste error).
75 *
76 * Hydra_Software_Devel/1   3/5/03 5:13p marcusk
77 * Initial version.
78 *
79 ***************************************************************************/
80#ifndef BREG_I2C_PRIV_H
81#define BREG_I2C_PRIV_H
82
83#ifdef __cplusplus
84extern "C" {
85#endif
86
87typedef struct BREG_I2C_Impl
88{
89        void * context;
90        BERR_Code (*BREG_I2C_Write_Func)(void * context, uint16_t chipAddr, uint8_t subAddr, const uint8_t *pData, size_t length);
91        BERR_Code (*BREG_I2C_WriteSw_Func)(void * context, uint16_t chipAddr, uint8_t subAddr, const uint8_t *pData, size_t length);
92        BERR_Code (*BREG_I2C_WriteNoAck_Func)(void * context, uint16_t chipAddr, uint8_t subAddr, const uint8_t *pData, size_t length);
93        BERR_Code (*BREG_I2C_WriteA16_Func)(void * context, uint16_t chipAddr, uint16_t subAddr, const uint8_t *pData, size_t length);
94        BERR_Code (*BREG_I2C_WriteSwA16_Func)(void * context, uint16_t chipAddr, uint16_t subAddr, const uint8_t *pData, size_t length);
95        BERR_Code (*BREG_I2C_WriteA24_Func)(void * context, uint16_t chipAddr, uint32_t subAddr, const uint8_t *pData, size_t length);
96        BERR_Code (*BREG_I2C_WriteSwA24_Func)(void * context, uint16_t chipAddr, uint32_t subAddr, const uint8_t *pData, size_t length);
97        BERR_Code (*BREG_I2C_WriteNoAddr_Func)(void * context, uint16_t chipAddr, const uint8_t *pData, size_t length);
98        BERR_Code (*BREG_I2C_WriteSwNoAddr_Func)(void * context, uint16_t chipAddr, const uint8_t *pData, size_t length);
99        BERR_Code (*BREG_I2C_WriteNoAddrNoAck_Func)(void * context, uint16_t chipAddr, const uint8_t *pData, size_t length);
100        BERR_Code (*BREG_I2C_WriteNvram_Func)(void * context, uint16_t chipAddr, uint8_t subAddr, const uint8_t *pData, size_t length);
101        BERR_Code (*BREG_I2C_Read_Func)(void * context, uint16_t chipAddr, uint8_t subAddr, uint8_t *pData, size_t length);
102        BERR_Code (*BREG_I2C_ReadSw_Func)(void * context, uint16_t chipAddr, uint8_t subAddr, uint8_t *pData, size_t length);
103        BERR_Code (*BREG_I2C_ReadNoAck_Func)(void * context, uint16_t chipAddr, uint8_t subAddr, uint8_t *pData, size_t length);
104        BERR_Code (*BREG_I2C_ReadA16_Func)(void * context, uint16_t chipAddr, uint16_t subAddr, uint8_t *pData, size_t length);
105        BERR_Code (*BREG_I2C_ReadSwA16_Func)(void * context, uint16_t chipAddr, uint16_t subAddr, uint8_t *pData, size_t length);
106        BERR_Code (*BREG_I2C_ReadA24_Func)(void * context, uint16_t chipAddr, uint32_t subAddr, uint8_t *pData, size_t length);
107        BERR_Code (*BREG_I2C_ReadSwA24_Func)(void * context, uint16_t chipAddr, uint32_t subAddr, uint8_t *pData, size_t length);
108        BERR_Code (*BREG_I2C_ReadNoAddr_Func)(void * context, uint16_t chipAddr, uint8_t *pData, size_t length);
109        BERR_Code (*BREG_I2C_ReadSwNoAddr_Func)(void * context, uint16_t chipAddr, uint8_t *pData, size_t length);
110        BERR_Code (*BREG_I2C_ReadNoAddrNoAck_Func)(void * context, uint16_t chipAddr, uint8_t *pData, size_t length);
111        BERR_Code (*BREG_I2C_ReadEDDC_Func)(void * context, uint8_t chipAddr, uint8_t segment, uint8_t subAddr, uint8_t *pData, size_t length);
112        BERR_Code (*BREG_I2C_ReadSwEDDC_Func)(void * context, uint8_t chipAddr, uint8_t segment, uint8_t subAddr, uint8_t *pData, size_t length);
113        BERR_Code (*BREG_I2C_WriteEDDC_Func)(void * context, uint8_t chipAddr, uint8_t segment, uint8_t subAddr, const uint8_t *pData, size_t length);
114        BERR_Code (*BREG_I2C_SetupHdmiHwAccess_Func)(void * context, uint32_t dataTransferFormat,uint32_t cnt1, uint32_t cnt2); 
115        BERR_Code (*BREG_I2C_WriteRead_Func)(void * context, uint16_t chipAddr, uint8_t subAddr, const uint8_t *pWriteData, size_t writeLength, const uint8_t *pReadData, size_t readLength );
116       
117} BREG_I2C_Impl;
118
119#ifdef __cplusplus
120}
121#endif
122 
123#endif
124/* End of File */
125
Note: See TracBrowser for help on using the repository browser.