source: svn/trunk/newcon3bcm2_21bu/magnum/basemodules/chp/bchp.c @ 12

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

1.phkim

  1. revision copy newcon3sk r27
  • Property svn:executable set to *
File size: 4.5 KB
Line 
1/***************************************************************************
2 *     Copyright (c) 2003-2012, 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: bchp.c $
11 * $brcm_Revision: Hydra_Software_Devel/9 $
12 * $brcm_Date: 2/10/12 5:25p $
13 *
14 * Module Description:
15 *
16 * Revision History:
17 *
18 * $brcm_Log: /magnum/basemodules/chp/bchp.c $
19 *
20 * Hydra_Software_Devel/9   2/10/12 5:25p rjlewis
21 * SW7425-2218: removed AvsLock/Unlock and added get handle.
22 *
23 * Hydra_Software_Devel/8   2/1/12 7:03p rjlewis
24 * SW7425-2216: Adding support for AVS Lock/Unlock.
25 *
26 * Hydra_Software_Devel/7   8/16/11 11:32a rjlewis
27 * SW7346-117: Added support for new chip specific Enter/Exit Stand-by
28 * mode.
29 *
30 * Hydra_Software_Devel/6   8/3/11 11:46a rjlewis
31 * SW7346-117: added support for GetAvsData function.
32 *
33 * Hydra_Software_Devel/5   1/20/11 1:40p gmohile
34 * SW7408-212 : Add support for avs settings
35 *
36 * Hydra_Software_Devel/4   6/10/04 5:43p jasonh
37 * PR 11257: Added initial support of BCHP_GetFeature for 7038 chipsets.
38 *
39 * Hydra_Software_Devel/3   11/25/03 10:27a hongtaoz
40 * Removed compile warning.
41 *
42 * Hydra_Software_Devel/2   9/26/03 8:49a dlwin
43 * Updated to return 16 bits for Chip ID and Chip Rev.
44 *
45 * Hydra_Software_Devel/1   9/23/03 9:47p dlwin
46 * Initial version
47 *
48 ***************************************************************************/
49
50#include "bstd.h"
51#include "bdbg.h"
52#include "bkni.h"
53#include "bchp.h"
54#include "bchp_priv.h"
55
56
57BDBG_MODULE(BCHP);
58
59
60BERR_Code BCHP_Close(
61        BCHP_Handle hChip                               /* [in] Chip handle */
62        )
63{
64        BERR_Code rc = BERR_SUCCESS;
65
66        BDBG_ENTER( BCHP_Close );
67        BDBG_ASSERT( hChip );
68        BDBG_ASSERT( hChip->pCloseFunc != NULL );
69        rc = hChip->pCloseFunc( hChip );
70        BDBG_LEAVE( BCHP_Close );
71        return( rc );
72}
73
74BERR_Code BCHP_GetChipInfo(
75        const BCHP_Handle hChip,                        /* [in] Chip handle */
76        uint16_t *pChipId,                                      /* [out] Chip Id */
77        uint16_t *pChipRev                                      /* [out] Chip Rev. */
78        )
79{
80        BERR_Code rc = BERR_SUCCESS;
81
82        BDBG_ENTER( BCHP_GetChipInfo );
83        BDBG_ASSERT( hChip );
84        BDBG_ASSERT( hChip->pGetChipInfoFunc != NULL );
85        rc = hChip->pGetChipInfoFunc( hChip, pChipId, pChipRev );
86        BDBG_LEAVE( BCHP_GetChipInfo );
87        return( rc );
88}
89
90BERR_Code BCHP_GetFeature(
91        const BCHP_Handle hChip,                        /* [in] Chip handle */
92        const BCHP_Feature eFeature,            /* [in] Feature to be queried. */
93        void *pFeatureValue                                     /* [out] Feature value. */
94        )
95{
96        BERR_Code rc = BERR_SUCCESS;
97
98        BDBG_ENTER( BCHP_GetFeature );
99        BDBG_ASSERT( hChip );
100        BDBG_ASSERT( pFeatureValue );
101
102        if (hChip->pGetFeatureFunc)
103                rc = hChip->pGetFeatureFunc( hChip, eFeature, pFeatureValue );
104        else
105                rc = BERR_TRACE(BERR_UNKNOWN);
106
107        BDBG_LEAVE( BCHP_GetFeature );
108        return( rc );
109}
110
111void BCHP_MonitorPvt( 
112        BCHP_Handle hChip,              /* [in] Chip handle */
113        BCHP_AvsSettings *pSettings     /* [in] AVS settings. */
114        )
115{
116        BDBG_ENTER( BCHP_MonitorPvt );
117        BDBG_ASSERT( hChip );
118        BDBG_ASSERT( pSettings );
119
120        if (hChip->pMonitorPvtFunc) 
121                hChip->pMonitorPvtFunc(hChip, pSettings);
122
123        BDBG_LEAVE( BCHP_MonitorPvt );
124}
125
126BERR_Code BCHP_GetAvsData(
127        BCHP_Handle hChip,   /* [in] Chip handle */
128        BCHP_AvsData *pData) /* [out] pointer to location to return data */
129{
130        BERR_Code rc = BERR_SUCCESS;
131
132        BDBG_ENTER( BCHP_GetAvsData );
133        BDBG_ASSERT( hChip );
134        BDBG_ASSERT( pData );
135
136        if (hChip->pGetAvsDataFunc) 
137                rc = hChip->pGetAvsDataFunc(hChip, pData);
138        else
139                rc = BERR_TRACE(BERR_UNKNOWN);
140
141        BDBG_LEAVE( BCHP_GetAvsData );
142        return( rc );
143}
144
145BERR_Code BCHP_Standby(
146    BCHP_Handle hChip)   /* [in] Chip handle */
147{
148        BERR_Code rc = BERR_SUCCESS;
149
150        BDBG_ENTER( BCHP_Standby );
151        BDBG_ASSERT( hChip );
152
153        if (hChip->pStandbyModeFunc) 
154                rc = hChip->pStandbyModeFunc(hChip, true);
155
156        BDBG_LEAVE( BCHP_Standby );
157        return( rc );
158}
159
160BERR_Code BCHP_Resume(
161    BCHP_Handle hChip)  /* [in] Chip handle */
162{
163        BERR_Code rc = BERR_SUCCESS;
164
165        BDBG_ENTER( BCHP_Resume );
166        BDBG_ASSERT( hChip );
167
168        if (hChip->pStandbyModeFunc) 
169                rc = hChip->pStandbyModeFunc(hChip, false);
170
171        BDBG_LEAVE( BCHP_Resume );
172        return( rc );
173}
174
175/* For testing purposes only */
176void *BCHP_GetAvsHandle(
177    BCHP_Handle hChip)   /* [in] Chip handle */
178{
179        void *result;
180
181        BDBG_ENTER( BCHP_GetAvsHandle );
182        BDBG_ASSERT( hChip );
183
184        result = (void*)hChip->avsHandle; /* will be NULL for platforms without AVS support */
185
186        BDBG_LEAVE( BCHP_GetAvsHandle );
187        return( result );
188}
189
190/* end of file */
Note: See TracBrowser for help on using the repository browser.