xref: /aosp_15_r20/system/nfc/src/include/gki_hal_target.h (revision 7eba2f3b06c51ae21384f6a4f14577b668a869b3)
1*7eba2f3bSAndroid Build Coastguard Worker /******************************************************************************
2*7eba2f3bSAndroid Build Coastguard Worker  *
3*7eba2f3bSAndroid Build Coastguard Worker  *  Copyright (C) 2012-2014 Broadcom Corporation
4*7eba2f3bSAndroid Build Coastguard Worker  *
5*7eba2f3bSAndroid Build Coastguard Worker  *  Licensed under the Apache License, Version 2.0 (the "License");
6*7eba2f3bSAndroid Build Coastguard Worker  *  you may not use this file except in compliance with the License.
7*7eba2f3bSAndroid Build Coastguard Worker  *  You may obtain a copy of the License at:
8*7eba2f3bSAndroid Build Coastguard Worker  *
9*7eba2f3bSAndroid Build Coastguard Worker  *  http://www.apache.org/licenses/LICENSE-2.0
10*7eba2f3bSAndroid Build Coastguard Worker  *
11*7eba2f3bSAndroid Build Coastguard Worker  *  Unless required by applicable law or agreed to in writing, software
12*7eba2f3bSAndroid Build Coastguard Worker  *  distributed under the License is distributed on an "AS IS" BASIS,
13*7eba2f3bSAndroid Build Coastguard Worker  *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14*7eba2f3bSAndroid Build Coastguard Worker  *  See the License for the specific language governing permissions and
15*7eba2f3bSAndroid Build Coastguard Worker  *  limitations under the License.
16*7eba2f3bSAndroid Build Coastguard Worker  *
17*7eba2f3bSAndroid Build Coastguard Worker  ******************************************************************************/
18*7eba2f3bSAndroid Build Coastguard Worker 
19*7eba2f3bSAndroid Build Coastguard Worker #ifndef GKI_HAL_TARGET_H
20*7eba2f3bSAndroid Build Coastguard Worker #define GKI_HAL_TARGET_H
21*7eba2f3bSAndroid Build Coastguard Worker 
22*7eba2f3bSAndroid Build Coastguard Worker #ifdef BUILDCFG
23*7eba2f3bSAndroid Build Coastguard Worker #include "buildcfg_hal.h"
24*7eba2f3bSAndroid Build Coastguard Worker #endif
25*7eba2f3bSAndroid Build Coastguard Worker 
26*7eba2f3bSAndroid Build Coastguard Worker #include "data_types.h"
27*7eba2f3bSAndroid Build Coastguard Worker 
28*7eba2f3bSAndroid Build Coastguard Worker /******************************************************************************
29*7eba2f3bSAndroid Build Coastguard Worker **
30*7eba2f3bSAndroid Build Coastguard Worker ** Task configuration
31*7eba2f3bSAndroid Build Coastguard Worker **
32*7eba2f3bSAndroid Build Coastguard Worker ******************************************************************************/
33*7eba2f3bSAndroid Build Coastguard Worker 
34*7eba2f3bSAndroid Build Coastguard Worker /* Definitions of task IDs for inter-task messaging */
35*7eba2f3bSAndroid Build Coastguard Worker #ifndef NFC_HAL_TASK
36*7eba2f3bSAndroid Build Coastguard Worker #define NFC_HAL_TASK 0
37*7eba2f3bSAndroid Build Coastguard Worker #endif
38*7eba2f3bSAndroid Build Coastguard Worker 
39*7eba2f3bSAndroid Build Coastguard Worker /* The number of GKI tasks in the software system. */
40*7eba2f3bSAndroid Build Coastguard Worker #ifndef GKI_MAX_TASKS
41*7eba2f3bSAndroid Build Coastguard Worker #define GKI_MAX_TASKS 1
42*7eba2f3bSAndroid Build Coastguard Worker #endif
43*7eba2f3bSAndroid Build Coastguard Worker 
44*7eba2f3bSAndroid Build Coastguard Worker /******************************************************************************
45*7eba2f3bSAndroid Build Coastguard Worker **
46*7eba2f3bSAndroid Build Coastguard Worker ** Buffer pool assignment
47*7eba2f3bSAndroid Build Coastguard Worker **
48*7eba2f3bSAndroid Build Coastguard Worker ******************************************************************************/
49*7eba2f3bSAndroid Build Coastguard Worker 
50*7eba2f3bSAndroid Build Coastguard Worker /* GKI pool for NCI messages */
51*7eba2f3bSAndroid Build Coastguard Worker #ifndef NFC_HAL_NCI_POOL_ID
52*7eba2f3bSAndroid Build Coastguard Worker #define NFC_HAL_NCI_POOL_ID GKI_POOL_ID_1
53*7eba2f3bSAndroid Build Coastguard Worker #endif
54*7eba2f3bSAndroid Build Coastguard Worker 
55*7eba2f3bSAndroid Build Coastguard Worker #ifndef NFC_HAL_NCI_POOL_BUF_SIZE
56*7eba2f3bSAndroid Build Coastguard Worker #define NFC_HAL_NCI_POOL_BUF_SIZE GKI_BUF1_SIZE
57*7eba2f3bSAndroid Build Coastguard Worker #endif
58*7eba2f3bSAndroid Build Coastguard Worker 
59*7eba2f3bSAndroid Build Coastguard Worker /******************************************************************************
60*7eba2f3bSAndroid Build Coastguard Worker **
61*7eba2f3bSAndroid Build Coastguard Worker ** Timer configuration
62*7eba2f3bSAndroid Build Coastguard Worker **
63*7eba2f3bSAndroid Build Coastguard Worker ******************************************************************************/
64*7eba2f3bSAndroid Build Coastguard Worker 
65*7eba2f3bSAndroid Build Coastguard Worker /* The number of GKI timers in the software system. */
66*7eba2f3bSAndroid Build Coastguard Worker #ifndef GKI_NUM_TIMERS
67*7eba2f3bSAndroid Build Coastguard Worker #define GKI_NUM_TIMERS 2
68*7eba2f3bSAndroid Build Coastguard Worker #endif
69*7eba2f3bSAndroid Build Coastguard Worker 
70*7eba2f3bSAndroid Build Coastguard Worker /* A conversion value for translating ticks to calculate GKI timer.  */
71*7eba2f3bSAndroid Build Coastguard Worker #ifndef TICKS_PER_SEC
72*7eba2f3bSAndroid Build Coastguard Worker #define TICKS_PER_SEC 100
73*7eba2f3bSAndroid Build Coastguard Worker #endif
74*7eba2f3bSAndroid Build Coastguard Worker 
75*7eba2f3bSAndroid Build Coastguard Worker /************************************************************************
76*7eba2f3bSAndroid Build Coastguard Worker **  Utility macros converting ticks to time with user define OS ticks per sec
77*7eba2f3bSAndroid Build Coastguard Worker **/
78*7eba2f3bSAndroid Build Coastguard Worker #ifndef GKI_MS_TO_TICKS
79*7eba2f3bSAndroid Build Coastguard Worker #define GKI_MS_TO_TICKS(x) ((x) / (1000 / TICKS_PER_SEC))
80*7eba2f3bSAndroid Build Coastguard Worker #endif
81*7eba2f3bSAndroid Build Coastguard Worker 
82*7eba2f3bSAndroid Build Coastguard Worker #ifndef GKI_SECS_TO_TICKS
83*7eba2f3bSAndroid Build Coastguard Worker #define GKI_SECS_TO_TICKS(x) ((x) * (TICKS_PER_SEC))
84*7eba2f3bSAndroid Build Coastguard Worker #endif
85*7eba2f3bSAndroid Build Coastguard Worker 
86*7eba2f3bSAndroid Build Coastguard Worker #ifndef GKI_TICKS_TO_MS
87*7eba2f3bSAndroid Build Coastguard Worker #define GKI_TICKS_TO_MS(x) ((x)*1000 / TICKS_PER_SEC)
88*7eba2f3bSAndroid Build Coastguard Worker #endif
89*7eba2f3bSAndroid Build Coastguard Worker 
90*7eba2f3bSAndroid Build Coastguard Worker #ifndef GKI_TICKS_TO_SECS
91*7eba2f3bSAndroid Build Coastguard Worker #define GKI_TICKS_TO_SECS(x) ((x) / TICKS_PER_SEC)
92*7eba2f3bSAndroid Build Coastguard Worker #endif
93*7eba2f3bSAndroid Build Coastguard Worker 
94*7eba2f3bSAndroid Build Coastguard Worker /* TICK per second from OS (OS dependent change this macro accordingly to
95*7eba2f3bSAndroid Build Coastguard Worker  * various OS) */
96*7eba2f3bSAndroid Build Coastguard Worker #ifndef OS_TICKS_PER_SEC
97*7eba2f3bSAndroid Build Coastguard Worker #define OS_TICKS_PER_SEC 1000
98*7eba2f3bSAndroid Build Coastguard Worker #endif
99*7eba2f3bSAndroid Build Coastguard Worker 
100*7eba2f3bSAndroid Build Coastguard Worker /************************************************************************
101*7eba2f3bSAndroid Build Coastguard Worker **  Utility macros converting ticks to time with user define OS ticks per sec
102*7eba2f3bSAndroid Build Coastguard Worker **/
103*7eba2f3bSAndroid Build Coastguard Worker 
104*7eba2f3bSAndroid Build Coastguard Worker #ifndef GKI_OS_TICKS_TO_MS
105*7eba2f3bSAndroid Build Coastguard Worker #define GKI_OS_TICKS_TO_MS(x) ((x)*1000 / OS_TICKS_PER_SEC)
106*7eba2f3bSAndroid Build Coastguard Worker #endif
107*7eba2f3bSAndroid Build Coastguard Worker 
108*7eba2f3bSAndroid Build Coastguard Worker #ifndef GKI_OS_TICKS_TO_SECS
109*7eba2f3bSAndroid Build Coastguard Worker #define GKI_OS_TICKS_TO_SECS(x)   ((x) / OS_TICKS_PER_SEC))
110*7eba2f3bSAndroid Build Coastguard Worker #endif
111*7eba2f3bSAndroid Build Coastguard Worker 
112*7eba2f3bSAndroid Build Coastguard Worker /* delay in ticks before stopping system tick. */
113*7eba2f3bSAndroid Build Coastguard Worker #ifndef GKI_DELAY_STOP_SYS_TICK
114*7eba2f3bSAndroid Build Coastguard Worker #define GKI_DELAY_STOP_SYS_TICK 10
115*7eba2f3bSAndroid Build Coastguard Worker #endif
116*7eba2f3bSAndroid Build Coastguard Worker 
117*7eba2f3bSAndroid Build Coastguard Worker /* Option to guarantee no preemption during timer expiration (most system don't
118*7eba2f3bSAndroid Build Coastguard Worker  * need this) */
119*7eba2f3bSAndroid Build Coastguard Worker #ifndef GKI_TIMER_LIST_NOPREEMPT
120*7eba2f3bSAndroid Build Coastguard Worker #define GKI_TIMER_LIST_NOPREEMPT FALSE
121*7eba2f3bSAndroid Build Coastguard Worker #endif
122*7eba2f3bSAndroid Build Coastguard Worker 
123*7eba2f3bSAndroid Build Coastguard Worker /******************************************************************************
124*7eba2f3bSAndroid Build Coastguard Worker **
125*7eba2f3bSAndroid Build Coastguard Worker ** Buffer configuration
126*7eba2f3bSAndroid Build Coastguard Worker **
127*7eba2f3bSAndroid Build Coastguard Worker ******************************************************************************/
128*7eba2f3bSAndroid Build Coastguard Worker 
129*7eba2f3bSAndroid Build Coastguard Worker /* The size of the buffers in pool 0. */
130*7eba2f3bSAndroid Build Coastguard Worker #ifndef GKI_BUF0_SIZE
131*7eba2f3bSAndroid Build Coastguard Worker #define GKI_BUF0_SIZE 64
132*7eba2f3bSAndroid Build Coastguard Worker #endif
133*7eba2f3bSAndroid Build Coastguard Worker 
134*7eba2f3bSAndroid Build Coastguard Worker /* The number of buffers in buffer pool 0. */
135*7eba2f3bSAndroid Build Coastguard Worker #ifndef GKI_BUF0_MAX
136*7eba2f3bSAndroid Build Coastguard Worker #define GKI_BUF0_MAX 8
137*7eba2f3bSAndroid Build Coastguard Worker #endif
138*7eba2f3bSAndroid Build Coastguard Worker 
139*7eba2f3bSAndroid Build Coastguard Worker /* The ID of buffer pool 0. */
140*7eba2f3bSAndroid Build Coastguard Worker #ifndef GKI_POOL_ID_0
141*7eba2f3bSAndroid Build Coastguard Worker #define GKI_POOL_ID_0 0
142*7eba2f3bSAndroid Build Coastguard Worker #endif
143*7eba2f3bSAndroid Build Coastguard Worker 
144*7eba2f3bSAndroid Build Coastguard Worker /* The size of the buffers in pool 1. */
145*7eba2f3bSAndroid Build Coastguard Worker #ifndef GKI_BUF1_SIZE
146*7eba2f3bSAndroid Build Coastguard Worker #define GKI_BUF1_SIZE 288
147*7eba2f3bSAndroid Build Coastguard Worker #endif
148*7eba2f3bSAndroid Build Coastguard Worker 
149*7eba2f3bSAndroid Build Coastguard Worker /* The number of buffers in buffer pool 1. */
150*7eba2f3bSAndroid Build Coastguard Worker #ifndef GKI_BUF1_MAX
151*7eba2f3bSAndroid Build Coastguard Worker #define GKI_BUF1_MAX 8
152*7eba2f3bSAndroid Build Coastguard Worker #endif
153*7eba2f3bSAndroid Build Coastguard Worker 
154*7eba2f3bSAndroid Build Coastguard Worker /* The ID of buffer pool 1. */
155*7eba2f3bSAndroid Build Coastguard Worker #ifndef GKI_POOL_ID_1
156*7eba2f3bSAndroid Build Coastguard Worker #define GKI_POOL_ID_1 1
157*7eba2f3bSAndroid Build Coastguard Worker #endif
158*7eba2f3bSAndroid Build Coastguard Worker 
159*7eba2f3bSAndroid Build Coastguard Worker /* The size of the largest PUBLIC fixed buffer in system. */
160*7eba2f3bSAndroid Build Coastguard Worker #ifndef GKI_MAX_BUF_SIZE
161*7eba2f3bSAndroid Build Coastguard Worker #define GKI_MAX_BUF_SIZE GKI_BUF1_SIZE
162*7eba2f3bSAndroid Build Coastguard Worker #endif
163*7eba2f3bSAndroid Build Coastguard Worker 
164*7eba2f3bSAndroid Build Coastguard Worker /* The pool ID of the largest PUBLIC fixed buffer in system. */
165*7eba2f3bSAndroid Build Coastguard Worker #ifndef GKI_MAX_BUF_SIZE_POOL_ID
166*7eba2f3bSAndroid Build Coastguard Worker #define GKI_MAX_BUF_SIZE_POOL_ID GKI_POOL_ID_1
167*7eba2f3bSAndroid Build Coastguard Worker #endif
168*7eba2f3bSAndroid Build Coastguard Worker 
169*7eba2f3bSAndroid Build Coastguard Worker /* buffer size for USERIAL, it must large enough to hold NFC_HDR and max packet
170*7eba2f3bSAndroid Build Coastguard Worker  * size */
171*7eba2f3bSAndroid Build Coastguard Worker #ifndef USERIAL_POOL_BUF_SIZE
172*7eba2f3bSAndroid Build Coastguard Worker #define USERIAL_POOL_BUF_SIZE GKI_BUF1_SIZE
173*7eba2f3bSAndroid Build Coastguard Worker #endif
174*7eba2f3bSAndroid Build Coastguard Worker 
175*7eba2f3bSAndroid Build Coastguard Worker /* buffer pool ID for USERIAL */
176*7eba2f3bSAndroid Build Coastguard Worker #ifndef USERIAL_POOL_ID
177*7eba2f3bSAndroid Build Coastguard Worker #define USERIAL_POOL_ID GKI_POOL_ID_1
178*7eba2f3bSAndroid Build Coastguard Worker #endif
179*7eba2f3bSAndroid Build Coastguard Worker 
180*7eba2f3bSAndroid Build Coastguard Worker #ifndef GKI_NUM_FIXED_BUF_POOLS
181*7eba2f3bSAndroid Build Coastguard Worker #define GKI_NUM_FIXED_BUF_POOLS 2
182*7eba2f3bSAndroid Build Coastguard Worker #endif
183*7eba2f3bSAndroid Build Coastguard Worker 
184*7eba2f3bSAndroid Build Coastguard Worker /* The number of fixed and dynamic buffer pools */
185*7eba2f3bSAndroid Build Coastguard Worker #ifndef GKI_NUM_TOTAL_BUF_POOLS
186*7eba2f3bSAndroid Build Coastguard Worker #define GKI_NUM_TOTAL_BUF_POOLS 2
187*7eba2f3bSAndroid Build Coastguard Worker #endif
188*7eba2f3bSAndroid Build Coastguard Worker 
189*7eba2f3bSAndroid Build Coastguard Worker /* The buffer pool usage mask. */
190*7eba2f3bSAndroid Build Coastguard Worker #ifndef GKI_DEF_BUFPOOL_PERM_MASK
191*7eba2f3bSAndroid Build Coastguard Worker #define GKI_DEF_BUFPOOL_PERM_MASK 0xfff0
192*7eba2f3bSAndroid Build Coastguard Worker #endif
193*7eba2f3bSAndroid Build Coastguard Worker 
194*7eba2f3bSAndroid Build Coastguard Worker /* The buffer corruption check flag. */
195*7eba2f3bSAndroid Build Coastguard Worker #ifndef GKI_ENABLE_BUF_CORRUPTION_CHECK
196*7eba2f3bSAndroid Build Coastguard Worker #define GKI_ENABLE_BUF_CORRUPTION_CHECK TRUE
197*7eba2f3bSAndroid Build Coastguard Worker #endif
198*7eba2f3bSAndroid Build Coastguard Worker 
199*7eba2f3bSAndroid Build Coastguard Worker /* The GKI severe error macro. */
200*7eba2f3bSAndroid Build Coastguard Worker #ifndef GKI_SEVERE
201*7eba2f3bSAndroid Build Coastguard Worker #define GKI_SEVERE(code)
202*7eba2f3bSAndroid Build Coastguard Worker #endif
203*7eba2f3bSAndroid Build Coastguard Worker 
204*7eba2f3bSAndroid Build Coastguard Worker /* Maximum number of exceptions logged. */
205*7eba2f3bSAndroid Build Coastguard Worker #ifndef GKI_MAX_EXCEPTION
206*7eba2f3bSAndroid Build Coastguard Worker #define GKI_MAX_EXCEPTION 8
207*7eba2f3bSAndroid Build Coastguard Worker #endif
208*7eba2f3bSAndroid Build Coastguard Worker 
209*7eba2f3bSAndroid Build Coastguard Worker /* Maximum number of chars stored for each exception message. */
210*7eba2f3bSAndroid Build Coastguard Worker #ifndef GKI_MAX_EXCEPTION_MSGLEN
211*7eba2f3bSAndroid Build Coastguard Worker #define GKI_MAX_EXCEPTION_MSGLEN 64
212*7eba2f3bSAndroid Build Coastguard Worker #endif
213*7eba2f3bSAndroid Build Coastguard Worker 
214*7eba2f3bSAndroid Build Coastguard Worker #ifndef GKI_SEND_MSG_FROM_ISR
215*7eba2f3bSAndroid Build Coastguard Worker #define GKI_SEND_MSG_FROM_ISR FALSE
216*7eba2f3bSAndroid Build Coastguard Worker #endif
217*7eba2f3bSAndroid Build Coastguard Worker 
218*7eba2f3bSAndroid Build Coastguard Worker #endif /* GKI_TARGET_H */
219