blob: af8fcc80285cef4dee4f06be80863616d8f7fed4 [file] [log] [blame]
rjw6c1fd8f2022-11-30 14:33:01 +08001/*****************************************************************************
2* Copyright Statement:
3* --------------------
4* This software is protected by Copyright and the information contained
5* herein is confidential. The software may not be copied and the information
6* contained herein may not be used or disclosed except with the written
7* permission of MediaTek Inc. (C) 2016
8*
9* BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
10* THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS ("MEDIATEK SOFTWARE")
11* RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
12* AN "AS-IS" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
13* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
14* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
15* NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
16* SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
17* SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
18* THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
19* NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
20* SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
21*
22* BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
23* LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
24* AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
25* OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
26* MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE.
27*
28* THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
29* WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
30* LAWS PRINCIPLES. ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
31* RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
32* THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
33*
34*****************************************************************************/
35#ifndef _HSCAPIEX_H_
36#define _HSCAPIEX_H_
37/*****************************************************************************
38*
39* FILE NAME : hscapi.h
40*
41* DESCRIPTION :
42*
43*
44* HISTORY :
45* See Log at end of file
46*
47*****************************************************************************/
48
49/*----------------------------------------------------------------------------
50* Include Files
51----------------------------------------------------------------------------*/
52#include "sysapi.h"
53#include "systyp.h"
54#include "cl1fhrtbadefs.h"
55#include "hsctypdefs.h"
56
57#include "hscapi.h"
58
59
60/*----------------------------------------------------------------------------
61 typedef
62----------------------------------------------------------------------------*/
63#ifndef MTK_PLT_ON_PC
64//#define MTK_DEV_93M_SIB8_TIMING_BYPASS_ENABLE
65#endif
66#define HSC_SIB8_TIMING_VALID_TIMER (6000) /* valid Timer, 6000ms */
67#define HSC_SIB8_TIMING_INVALID_TIMER (6000) /* valid Timer, 6000ms */
68
69#define SP_BACKOFF_ACTIVATE_DSP_US (266) /* 266us, TBD */
70#define SP_BACKOFF_ACTIVATE_DSP_9M (SYS_CONVERT_FRC_TO_9M(SP_BACKOFF_ACTIVATE_DSP_US, 0))
71
72
73/*----------------------------------------------------------------------------
74 MPA event structure
75----------------------------------------------------------------------------*/
76
77/* for 6293 */
78/* HSC_MPA_REQ event structure */
79typedef struct
80{
81 /* 1xRTT or EvDO */
82 SysAirInterfaceT Owner;
83
84 /* RF to request.
85 Bitmap definition, refer to
86 MPA_MDM_PATH_MAIN
87 MPA_MDM_PATH_DIV
88 MPA_MDM_PATH_TX */
89 MpaAntTypeBmpT Req;
90} HscMpaReqEventT;
91
92/* HSC_MPA_RELEASE event sturcture */
93typedef struct
94{
95 /* The reason to release RF.
96 Bitmpa definition, refer to
97 HSC_SSM_MPA_REL_PREEMPT - release RF for being preempted
98 HSC_SSM_MPA_REL_SLEEP - release RF for going to sleep
99 HSC_SSM_MPA_REL_RESET - release RF for reseted */
100 HscSsmMpaReasonT Reason;
101
102 /* 1xRTT or EvDO */
103 SysAirInterfaceT Owner;
104
105
106 /* RF to be released.
107 Bitmap definition, refer to
108 MPA_MDM_PATH_MAIN
109 MPA_MDM_PATH_DIV
110 MPA_MDM_PATH_TX */
111 MpaAntTypeBmpT Req;
112
113}HscMpaReleaseEventT;
114
115
116/* HSC_RF_ASSIGN_IND event sturcture */
117typedef struct
118{
119
120 /* 0 - MPA_RF_DENIED, 1- MPA_RF_GRANT, 2 - MPA_RF_PENDING */
121 MpaRfAssignStatusT RfGrant;
122
123 /* requested RF by CL1.
124 Bitmap definition, refer to
125 MPA_MDM_PATH_MAIN
126 MPA_MDM_PATH_DIV
127 MPA_MDM_PATH_TX */
128 MpaAntTypeBmpT Req;
129
130 /* assigned RF path by MPA.
131 RF path definition, refer to
132 MPA_RF_PATH_RX_1
133 MPA_RF_PATH_RX_2
134 MPA_RF_PATH_RX_3
135 MPA_RF_PATH_TX_1
136 MPA_RF_PATH_TX_2 */
137 MpaRfPathBmpT RfAntenna;
138
139}HscRfAssignIndEventT;
140
141
142/* HSC_RXACTIVATE_IND event sturcture */
143typedef struct
144{
145 /* assigned RF path by MPA.
146 RF path definition, refer to
147 MPA_RF_PATH_RX_1
148 MPA_RF_PATH_RX_2
149 MPA_RF_PATH_RX_3
150 MPA_RF_PATH_TX_1
151 MPA_RF_PATH_TX_2 */
152 MpaRfPathBmpT RfAntenna;
153
154 /** Rtba channel Sys RcStart time and Rc end time, 80ms SuperFrame and 1/8 chipoffset */
155 RtbaRcTimingTypeT SysRcStartTime;
156 SysSFrameTimeT SysEndTime; /* CL1 doesn't need use the fake flage for end time*/
157}HscRxActivateIndEventT;
158
159
160/* EVT_ID_RMC_MPA_FULL_PREEMPT_IND and EVT_ID_RMC_MPA_DIV_PREEMPT_IND event sturcture */
161typedef struct
162{ /* {0xFFFFFFFFFFFFFFFFUL, 0xFFFFFFFFUL} is invalid time, RMC should bypass it. */
163 SysSFrameTimeT DoLastRFStopTime;
164}HscPreemptEventT;
165
166
167/* HSC SLEEPOVER COMP EVNET event structure */
168typedef struct
169{
170 SysAirInterfaceT Owner; /* 1xRTT or EVDO */
171} HscSleepOverCompEventT;
172
173
174/*----------------------------------------------------------------------------
175* Clock Calibration Definitions
176*----------------------------------------------------------------------------*/
177typedef struct
178{
179 kal_uint32 ScCnt;
180 kal_uint32 FcFreq;
181 kal_uint32 FcCnt;
182} HscFmResultT;
183
184/*----------------------------------------------------------------------------
185* HSC SIB8 Timing Sync
186*----------------------------------------------------------------------------*/
187typedef struct
188{
189 HscSib8TimingStateT State; /* sib8 timing state, UNKNOWN, WAITING, OFFERED , INVALID */
190 HscClcSib8InfoCfgMsgT Sib8InfoCfgMsg; /* store Sib8 timing configuration */
191 kal_bool IsTimingSyncReqProcessing[HSC_NUM_APPS]; /* Set pending flag for 1x or do when 1x PS or EVDO L1 request sib8 timing, clear this flag respectively when 1x or do timing recover finished */
192 kal_bool IsSib8InfoCfgMsgPending; /* sib8 timing configuration msg comes, set this pending flag when HSC is processing timing sync req from 1x PS or DO L1*/
193 ll1_cl1_sib8_timing_sync_cnf_struct Sib8TimingSyncResultFromLL1; /* store the sib8 timing result from MD1 */
194} HscSib8TimingT;
195
196typedef struct
197{
198 kal_uint64 CurrC2kSystemTime; /* Uint: CDMA chip, based on 1.2288MHz*/
199 kal_uint32 CurrFrc; /* current Frc , unit: 1us */
200} HscC2kRecoverTimingReqEvtT;
201
202typedef struct
203{
204 SysAirInterfaceT mode; /* 1x or do*/
205 kal_bool result;
206} HscC2kRecoverTimingCnfMsgT;
207
208/*----------------------------------------------------------------------------
209* Functions
210*----------------------------------------------------------------------------*/
211extern void HscRecoverTimingBySib8Timing(SysAirInterfaceT mode, HscC2kRecoverTimingReqEvtT *pCurrTime);
212
213
214/*****************************************************************************
215* End of File
216*****************************************************************************/
217#endif
218