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