1 /****************************************************************************** 2 * 3 * Copyright (C) 2012-2014 Broadcom Corporation 4 * 5 * Licensed under the Apache License, Version 2.0 (the "License"); 6 * you may not use this file except in compliance with the License. 7 * You may obtain a copy of the License at: 8 * 9 * http://www.apache.org/licenses/LICENSE-2.0 10 * 11 * Unless required by applicable law or agreed to in writing, software 12 * distributed under the License is distributed on an "AS IS" BASIS, 13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 * See the License for the specific language governing permissions and 15 * limitations under the License. 16 * 17 ******************************************************************************/ 18 19 #ifndef NFC_HAL_TARGET_H 20 #define NFC_HAL_TARGET_H 21 22 #include "data_types.h" 23 #include "gki.h" 24 25 /**************************************************************************** 26 ** NCI related configuration 27 ****************************************************************************/ 28 29 /* Initial Max Control Packet Payload Size (until receiving payload size in 30 * INIT_CORE_RSP) */ 31 #ifndef NFC_HAL_NCI_INIT_CTRL_PAYLOAD_SIZE 32 #define NFC_HAL_NCI_INIT_CTRL_PAYLOAD_SIZE 0xFF 33 #endif 34 35 /* Number of bytes to reserve in front of NCI messages (e.g. for transport 36 * header) */ 37 #ifndef NFC_HAL_NCI_MSG_OFFSET_SIZE 38 #define NFC_HAL_NCI_MSG_OFFSET_SIZE 1 39 #endif 40 41 /* NFC-WAKE */ 42 #ifndef NFC_HAL_LP_NFC_WAKE_GPIO 43 #define NFC_HAL_LP_NFC_WAKE_GPIO UPIO_GENERAL3 44 #endif 45 46 /* NFCC snooze mode idle timeout before deassert NFC_WAKE in ms */ 47 #ifndef NFC_HAL_LP_IDLE_TIMEOUT 48 #define NFC_HAL_LP_IDLE_TIMEOUT 100 49 #endif 50 51 /* NFC snooze mode */ 52 #ifndef NFC_HAL_LP_SNOOZE_MODE 53 #define NFC_HAL_LP_SNOOZE_MODE NFC_HAL_LP_SNOOZE_MODE_UART 54 #endif 55 56 /* Idle Threshold Host in 100ms unit */ 57 #ifndef NFC_HAL_LP_IDLE_THRESHOLD_HOST 58 #define NFC_HAL_LP_IDLE_THRESHOLD_HOST 0 59 #endif 60 61 /* Idle Threshold HC in 100ms unit */ 62 #ifndef NFC_HAL_LP_IDLE_THRESHOLD_HC 63 #define NFC_HAL_LP_IDLE_THRESHOLD_HC 0 64 #endif 65 66 /* Default NFCC power-up baud rate */ 67 #ifndef NFC_HAL_DEFAULT_BAUD 68 #define NFC_HAL_DEFAULT_BAUD USERIAL_BAUD_115200 69 #endif 70 71 /* time (in ms) between power off and on NFCC */ 72 #ifndef NFC_HAL_POWER_CYCLE_DELAY 73 #define NFC_HAL_POWER_CYCLE_DELAY 100 74 #endif 75 76 /* time (in ms) between power off and on NFCC */ 77 #ifndef NFC_HAL_NFCC_ENABLE_TIMEOUT 78 #define NFC_HAL_NFCC_ENABLE_TIMEOUT 1000 79 #endif 80 81 #ifndef NFC_HAL_PRM_DEBUG 82 #define NFC_HAL_PRM_DEBUG TRUE 83 #endif 84 85 /* max patch data length (Can be overridden by platform for ACL HCI command 86 * size) */ 87 #ifndef NFC_HAL_PRM_HCD_CMD_MAXLEN 88 #define NFC_HAL_PRM_HCD_CMD_MAXLEN 250 89 #endif 90 91 /* Require PreI2C patch by default */ 92 #ifndef NFC_HAL_PRE_I2C_PATCH_INCLUDED 93 #define NFC_HAL_PRE_I2C_PATCH_INCLUDED TRUE 94 #endif 95 96 /* Mininum payload size for SPD NCI commands (used to validate 97 * HAL_NfcPrmSetSpdNciCmdPayloadSize) */ 98 /* Default is 32, as required by the NCI specifications; however this value may 99 * be */ 100 /* over-riden for platforms that have transport packet limitations */ 101 #ifndef NFC_HAL_PRM_MIN_NCI_CMD_PAYLOAD_SIZE 102 #define NFC_HAL_PRM_MIN_NCI_CMD_PAYLOAD_SIZE (32) 103 #endif 104 105 /* amount of time to wait for authenticating/committing patch to NVM */ 106 #ifndef NFC_HAL_PRM_COMMIT_DELAY 107 #define NFC_HAL_PRM_COMMIT_DELAY (30000) 108 #endif 109 110 /* amount of time to wait after downloading preI2C patch before downloading 111 * LPM/FPM patch */ 112 #ifndef NFC_HAL_PRM_POST_I2C_FIX_DELAY 113 #define NFC_HAL_PRM_POST_I2C_FIX_DELAY (200) 114 #endif 115 116 /* NFCC will respond to more than one technology during listen discovery */ 117 #ifndef NFC_HAL_DM_MULTI_TECH_RESP 118 #define NFC_HAL_DM_MULTI_TECH_RESP TRUE 119 #endif 120 121 /* Data rate for 15693 command/response, it must be same as 122 * RW_I93_FLAG_DATA_RATE in nfc_target.h */ 123 #define NFC_HAL_I93_FLAG_DATA_RATE_LOW 0x00 124 #define NFC_HAL_I93_FLAG_DATA_RATE_HIGH 0x02 125 126 #ifndef NFC_HAL_I93_FLAG_DATA_RATE 127 #define NFC_HAL_I93_FLAG_DATA_RATE NFC_HAL_I93_FLAG_DATA_RATE_HIGH 128 #endif 129 130 /* NFC HAL HCI */ 131 #ifndef NFC_HAL_HCI_INCLUDED 132 #define NFC_HAL_HCI_INCLUDED TRUE 133 #endif 134 135 /* Quick Timer */ 136 #ifndef QUICK_TIMER_TICKS_PER_SEC 137 #define QUICK_TIMER_TICKS_PER_SEC 100 /* 10ms timer */ 138 #endif 139 140 #ifndef NFC_HAL_SHARED_TRANSPORT_ENABLED 141 #define NFC_HAL_SHARED_TRANSPORT_ENABLED FALSE 142 #endif 143 144 /* Enable verbose tracing by default */ 145 #ifndef NFC_HAL_TRACE_VERBOSE 146 #define NFC_HAL_TRACE_VERBOSE TRUE 147 #endif 148 149 #ifndef NFC_HAL_INITIAL_TRACE_LEVEL 150 #define NFC_HAL_INITIAL_TRACE_LEVEL 5 151 #endif 152 153 /* Map NFC serial port to USERIAL_PORT_6 by default */ 154 #ifndef USERIAL_NFC_PORT 155 #define USERIAL_NFC_PORT (USERIAL_PORT_6) 156 #endif 157 158 /* Restore NFCC baud rate to default on shutdown if baud rate was updated */ 159 #ifndef NFC_HAL_RESTORE_BAUD_ON_SHUTDOWN 160 #define NFC_HAL_RESTORE_BAUD_ON_SHUTDOWN TRUE 161 #endif 162 163 /* Enable protocol tracing by default */ 164 #ifndef NFC_HAL_TRACE_PROTOCOL 165 #define NFC_HAL_TRACE_PROTOCOL TRUE 166 #endif 167 168 /* Legacy protocol-trace-enable macro */ 169 #ifndef BT_TRACE_PROTOCOL 170 #define BT_TRACE_PROTOCOL (NFC_HAL_TRACE_PROTOCOL) 171 #endif 172 173 /* Enable HAL tracing by default */ 174 #ifndef NFC_HAL_USE_TRACES 175 #define NFC_HAL_USE_TRACES TRUE 176 #endif 177 178 /* HAL trace macros */ 179 #if (NFC_HAL_USE_TRACES == TRUE) 180 #define NCI_TRACE_0(l, t, m) \ 181 LogMsg((TRACE_CTRL_GENERAL | (l) | TRACE_ORG_STACK | (t)), (m)) 182 #define NCI_TRACE_1(l, t, m, p1) \ 183 LogMsg(TRACE_CTRL_GENERAL | (l) | TRACE_ORG_STACK | (t), (m), (uintptr_t)(p1)) 184 #define NCI_TRACE_2(l, t, m, p1, p2) \ 185 LogMsg(TRACE_CTRL_GENERAL | (l) | TRACE_ORG_STACK | (t), (m), \ 186 (uintptr_t)(p1), (uintptr_t)(p2)) 187 #define NCI_TRACE_3(l, t, m, p1, p2, p3) \ 188 LogMsg(TRACE_CTRL_GENERAL | (l) | TRACE_ORG_STACK | (t), (m), \ 189 (uintptr_t)(p1), (uintptr_t)(p2), (uintptr_t)(p3)) 190 #define NCI_TRACE_4(l, t, m, p1, p2, p3, p4) \ 191 LogMsg(TRACE_CTRL_GENERAL | (l) | TRACE_ORG_STACK | (t), (m), \ 192 (uintptr_t)(p1), (uintptr_t)(p2), (uintptr_t)(p3), (uintptr_t)(p4)) 193 #define NCI_TRACE_5(l, t, m, p1, p2, p3, p4, p5) \ 194 LogMsg(TRACE_CTRL_GENERAL | (l) | TRACE_ORG_STACK | (t), (m), \ 195 (uintptr_t)(p1), (uintptr_t)(p2), (uintptr_t)(p3), (uintptr_t)(p4), \ 196 (uintptr_t)(p5)) 197 #define NCI_TRACE_6(l, t, m, p1, p2, p3, p4, p5, p6) \ 198 LogMsg(TRACE_CTRL_GENERAL | (l) | TRACE_ORG_STACK | (t), (m), \ 199 (uintptr_t)(p1), (uintptr_t)(p2), (uintptr_t)(p3), (uintptr_t)(p4), \ 200 (uintptr_t)(p5), (uintptr_t)(p6)) 201 202 #define HAL_TRACE_ERROR0(m) \ 203 { \ 204 if (nfc_hal_cb.trace_level >= BT_TRACE_LEVEL_ERROR) \ 205 NCI_TRACE_0(TRACE_LAYER_HAL, TRACE_TYPE_ERROR, m); \ 206 } 207 #define HAL_TRACE_ERROR1(m, p1) \ 208 { \ 209 if (nfc_hal_cb.trace_level >= BT_TRACE_LEVEL_ERROR) \ 210 NCI_TRACE_1(TRACE_LAYER_HAL, TRACE_TYPE_ERROR, m, p1); \ 211 } 212 #define HAL_TRACE_ERROR2(m, p1, p2) \ 213 { \ 214 if (nfc_hal_cb.trace_level >= BT_TRACE_LEVEL_ERROR) \ 215 NCI_TRACE_2(TRACE_LAYER_HAL, TRACE_TYPE_ERROR, m, p1, p2); \ 216 } 217 #define HAL_TRACE_ERROR3(m, p1, p2, p3) \ 218 { \ 219 if (nfc_hal_cb.trace_level >= BT_TRACE_LEVEL_ERROR) \ 220 NCI_TRACE_3(TRACE_LAYER_HAL, TRACE_TYPE_ERROR, m, p1, p2, p3); \ 221 } 222 #define HAL_TRACE_ERROR4(m, p1, p2, p3, p4) \ 223 { \ 224 if (nfc_hal_cb.trace_level >= BT_TRACE_LEVEL_ERROR) \ 225 NCI_TRACE_4(TRACE_LAYER_HAL, TRACE_TYPE_ERROR, m, p1, p2, p3, p4); \ 226 } 227 #define HAL_TRACE_ERROR5(m, p1, p2, p3, p4, p5) \ 228 { \ 229 if (nfc_hal_cb.trace_level >= BT_TRACE_LEVEL_ERROR) \ 230 NCI_TRACE_5(TRACE_LAYER_HAL, TRACE_TYPE_ERROR, m, p1, p2, p3, p4, p5); \ 231 } 232 #define HAL_TRACE_ERROR6(m, p1, p2, p3, p4, p5, p6) \ 233 { \ 234 if (nfc_hal_cb.trace_level >= BT_TRACE_LEVEL_ERROR) \ 235 NCI_TRACE_6(TRACE_LAYER_HAL, TRACE_TYPE_ERROR, m, p1, p2, p3, p4, p5, \ 236 p6); \ 237 } 238 239 #define HAL_TRACE_WARNING0(m) \ 240 { \ 241 if (nfc_hal_cb.trace_level >= BT_TRACE_LEVEL_WARNING) \ 242 NCI_TRACE_0(TRACE_LAYER_HAL, TRACE_TYPE_WARNING, m); \ 243 } 244 #define HAL_TRACE_WARNING1(m, p1) \ 245 { \ 246 if (nfc_hal_cb.trace_level >= BT_TRACE_LEVEL_WARNING) \ 247 NCI_TRACE_1(TRACE_LAYER_HAL, TRACE_TYPE_WARNING, m, p1); \ 248 } 249 #define HAL_TRACE_WARNING2(m, p1, p2) \ 250 { \ 251 if (nfc_hal_cb.trace_level >= BT_TRACE_LEVEL_WARNING) \ 252 NCI_TRACE_2(TRACE_LAYER_HAL, TRACE_TYPE_WARNING, m, p1, p2); \ 253 } 254 #define HAL_TRACE_WARNING3(m, p1, p2, p3) \ 255 { \ 256 if (nfc_hal_cb.trace_level >= BT_TRACE_LEVEL_WARNING) \ 257 NCI_TRACE_3(TRACE_LAYER_HAL, TRACE_TYPE_WARNING, m, p1, p2, p3); \ 258 } 259 #define HAL_TRACE_WARNING4(m, p1, p2, p3, p4) \ 260 { \ 261 if (nfc_hal_cb.trace_level >= BT_TRACE_LEVEL_WARNING) \ 262 NCI_TRACE_4(TRACE_LAYER_HAL, TRACE_TYPE_WARNING, m, p1, p2, p3, p4); \ 263 } 264 #define HAL_TRACE_WARNING5(m, p1, p2, p3, p4, p5) \ 265 { \ 266 if (nfc_hal_cb.trace_level >= BT_TRACE_LEVEL_WARNING) \ 267 NCI_TRACE_5(TRACE_LAYER_HAL, TRACE_TYPE_WARNING, m, p1, p2, p3, p4, p5); \ 268 } 269 #define HAL_TRACE_WARNING6(m, p1, p2, p3, p4, p5, p6) \ 270 { \ 271 if (nfc_hal_cb.trace_level >= BT_TRACE_LEVEL_WARNING) \ 272 NCI_TRACE_6(TRACE_LAYER_HAL, TRACE_TYPE_WARNING, m, p1, p2, p3, p4, p5, \ 273 p6); \ 274 } 275 276 #define HAL_TRACE_API0(m) \ 277 { \ 278 if (nfc_hal_cb.trace_level >= BT_TRACE_LEVEL_API) \ 279 NCI_TRACE_0(TRACE_LAYER_HAL, TRACE_TYPE_API, m); \ 280 } 281 #define HAL_TRACE_API1(m, p1) \ 282 { \ 283 if (nfc_hal_cb.trace_level >= BT_TRACE_LEVEL_API) \ 284 NCI_TRACE_1(TRACE_LAYER_HAL, TRACE_TYPE_API, m, p1); \ 285 } 286 #define HAL_TRACE_API2(m, p1, p2) \ 287 { \ 288 if (nfc_hal_cb.trace_level >= BT_TRACE_LEVEL_API) \ 289 NCI_TRACE_2(TRACE_LAYER_HAL, TRACE_TYPE_API, m, p1, p2); \ 290 } 291 #define HAL_TRACE_API3(m, p1, p2, p3) \ 292 { \ 293 if (nfc_hal_cb.trace_level >= BT_TRACE_LEVEL_API) \ 294 NCI_TRACE_3(TRACE_LAYER_HAL, TRACE_TYPE_API, m, p1, p2, p3); \ 295 } 296 #define HAL_TRACE_API4(m, p1, p2, p3, p4) \ 297 { \ 298 if (nfc_hal_cb.trace_level >= BT_TRACE_LEVEL_API) \ 299 NCI_TRACE_4(TRACE_LAYER_HAL, TRACE_TYPE_API, m, p1, p2, p3, p4); \ 300 } 301 #define HAL_TRACE_API5(m, p1, p2, p3, p4, p5) \ 302 { \ 303 if (nfc_hal_cb.trace_level >= BT_TRACE_LEVEL_API) \ 304 NCI_TRACE_5(TRACE_LAYER_HAL, TRACE_TYPE_API, m, p1, p2, p3, p4, p5); \ 305 } 306 #define HAL_TRACE_API6(m, p1, p2, p3, p4, p5, p6) \ 307 { \ 308 if (nfc_hal_cb.trace_level >= BT_TRACE_LEVEL_API) \ 309 NCI_TRACE_6(TRACE_LAYER_HAL, TRACE_TYPE_API, m, p1, p2, p3, p4, p5, p6); \ 310 } 311 312 #define HAL_TRACE_EVENT0(m) \ 313 { \ 314 if (nfc_hal_cb.trace_level >= BT_TRACE_LEVEL_EVENT) \ 315 NCI_TRACE_0(TRACE_LAYER_HAL, TRACE_TYPE_EVENT, m); \ 316 } 317 #define HAL_TRACE_EVENT1(m, p1) \ 318 { \ 319 if (nfc_hal_cb.trace_level >= BT_TRACE_LEVEL_EVENT) \ 320 NCI_TRACE_1(TRACE_LAYER_HAL, TRACE_TYPE_EVENT, m, p1); \ 321 } 322 #define HAL_TRACE_EVENT2(m, p1, p2) \ 323 { \ 324 if (nfc_hal_cb.trace_level >= BT_TRACE_LEVEL_EVENT) \ 325 NCI_TRACE_2(TRACE_LAYER_HAL, TRACE_TYPE_EVENT, m, p1, p2); \ 326 } 327 #define HAL_TRACE_EVENT3(m, p1, p2, p3) \ 328 { \ 329 if (nfc_hal_cb.trace_level >= BT_TRACE_LEVEL_EVENT) \ 330 NCI_TRACE_3(TRACE_LAYER_HAL, TRACE_TYPE_EVENT, m, p1, p2, p3); \ 331 } 332 #define HAL_TRACE_EVENT4(m, p1, p2, p3, p4) \ 333 { \ 334 if (nfc_hal_cb.trace_level >= BT_TRACE_LEVEL_EVENT) \ 335 NCI_TRACE_4(TRACE_LAYER_HAL, TRACE_TYPE_EVENT, m, p1, p2, p3, p4); \ 336 } 337 #define HAL_TRACE_EVENT5(m, p1, p2, p3, p4, p5) \ 338 { \ 339 if (nfc_hal_cb.trace_level >= BT_TRACE_LEVEL_EVENT) \ 340 NCI_TRACE_5(TRACE_LAYER_HAL, TRACE_TYPE_EVENT, m, p1, p2, p3, p4, p5); \ 341 } 342 #define HAL_TRACE_EVENT6(m, p1, p2, p3, p4, p5, p6) \ 343 { \ 344 if (nfc_hal_cb.trace_level >= BT_TRACE_LEVEL_EVENT) \ 345 NCI_TRACE_6(TRACE_LAYER_HAL, TRACE_TYPE_EVENT, m, p1, p2, p3, p4, p5, \ 346 p6); \ 347 } 348 349 #define HAL_TRACE_DEBUG0(m) \ 350 { \ 351 if (nfc_hal_cb.trace_level >= BT_TRACE_LEVEL_DEBUG) \ 352 NCI_TRACE_0(TRACE_LAYER_HAL, TRACE_TYPE_DEBUG, m); \ 353 } 354 #define HAL_TRACE_DEBUG1(m, p1) \ 355 { \ 356 if (nfc_hal_cb.trace_level >= BT_TRACE_LEVEL_DEBUG) \ 357 NCI_TRACE_1(TRACE_LAYER_HAL, TRACE_TYPE_DEBUG, m, p1); \ 358 } 359 #define HAL_TRACE_DEBUG2(m, p1, p2) \ 360 { \ 361 if (nfc_hal_cb.trace_level >= BT_TRACE_LEVEL_DEBUG) \ 362 NCI_TRACE_2(TRACE_LAYER_HAL, TRACE_TYPE_DEBUG, m, p1, p2); \ 363 } 364 #define HAL_TRACE_DEBUG3(m, p1, p2, p3) \ 365 { \ 366 if (nfc_hal_cb.trace_level >= BT_TRACE_LEVEL_DEBUG) \ 367 NCI_TRACE_3(TRACE_LAYER_HAL, TRACE_TYPE_DEBUG, m, p1, p2, p3); \ 368 } 369 #define HAL_TRACE_DEBUG4(m, p1, p2, p3, p4) \ 370 { \ 371 if (nfc_hal_cb.trace_level >= BT_TRACE_LEVEL_DEBUG) \ 372 NCI_TRACE_4(TRACE_LAYER_HAL, TRACE_TYPE_DEBUG, m, p1, p2, p3, p4); \ 373 } 374 #define HAL_TRACE_DEBUG5(m, p1, p2, p3, p4, p5) \ 375 { \ 376 if (nfc_hal_cb.trace_level >= BT_TRACE_LEVEL_DEBUG) \ 377 NCI_TRACE_5(TRACE_LAYER_HAL, TRACE_TYPE_DEBUG, m, p1, p2, p3, p4, p5); \ 378 } 379 #define HAL_TRACE_DEBUG6(m, p1, p2, p3, p4, p5, p6) \ 380 { \ 381 if (nfc_hal_cb.trace_level >= BT_TRACE_LEVEL_DEBUG) \ 382 NCI_TRACE_6(TRACE_LAYER_HAL, TRACE_TYPE_DEBUG, m, p1, p2, p3, p4, p5, \ 383 p6); \ 384 } 385 386 #else /* Disable HAL tracing */ 387 388 #define HAL_TRACE_0(l, t, m) 389 #define HAL_TRACE_1(l, t, m, p1) 390 #define HAL_TRACE_2(l, t, m, p1, p2) 391 #define HAL_TRACE_3(l, t, m, p1, p2, p3) 392 #define HAL_TRACE_4(l, t, m, p1, p2, p3, p4) 393 #define HAL_TRACE_5(l, t, m, p1, p2, p3, p4, p5) 394 #define HAL_TRACE_6(l, t, m, p1, p2, p3, p4, p5, p6) 395 396 #define HAL_TRACE_ERROR0(m) 397 #define HAL_TRACE_ERROR1(m, p1) 398 #define HAL_TRACE_ERROR2(m, p1, p2) 399 #define HAL_TRACE_ERROR3(m, p1, p2, p3) 400 #define HAL_TRACE_ERROR4(m, p1, p2, p3, p4) 401 #define HAL_TRACE_ERROR5(m, p1, p2, p3, p4, p5) 402 #define HAL_TRACE_ERROR6(m, p1, p2, p3, p4, p5, p6) 403 404 #define HAL_TRACE_WARNING0(m) 405 #define HAL_TRACE_WARNING1(m, p1) 406 #define HAL_TRACE_WARNING2(m, p1, p2) 407 #define HAL_TRACE_WARNING3(m, p1, p2, p3) 408 #define HAL_TRACE_WARNING4(m, p1, p2, p3, p4) 409 #define HAL_TRACE_WARNING5(m, p1, p2, p3, p4, p5) 410 #define HAL_TRACE_WARNING6(m, p1, p2, p3, p4, p5, p6) 411 412 #define HAL_TRACE_API0(m) 413 #define HAL_TRACE_API1(m, p1) 414 #define HAL_TRACE_API2(m, p1, p2) 415 #define HAL_TRACE_API3(m, p1, p2, p3) 416 #define HAL_TRACE_API4(m, p1, p2, p3, p4) 417 #define HAL_TRACE_API5(m, p1, p2, p3, p4, p5) 418 #define HAL_TRACE_API6(m, p1, p2, p3, p4, p5, p6) 419 420 #define HAL_TRACE_EVENT0(m) 421 #define HAL_TRACE_EVENT1(m, p1) 422 #define HAL_TRACE_EVENT2(m, p1, p2) 423 #define HAL_TRACE_EVENT3(m, p1, p2, p3) 424 #define HAL_TRACE_EVENT4(m, p1, p2, p3, p4) 425 #define HAL_TRACE_EVENT5(m, p1, p2, p3, p4, p5) 426 #define HAL_TRACE_EVENT6(m, p1, p2, p3, p4, p5, p6) 427 428 #define HAL_TRACE_DEBUG0(m) 429 #define HAL_TRACE_DEBUG1(m, p1) 430 #define HAL_TRACE_DEBUG2(m, p1, p2) 431 #define HAL_TRACE_DEBUG3(m, p1, p2, p3) 432 #define HAL_TRACE_DEBUG4(m, p1, p2, p3, p4) 433 #define HAL_TRACE_DEBUG5(m, p1, p2, p3, p4, p5) 434 #define HAL_TRACE_DEBUG6(m, p1, p2, p3, p4, p5, p6) 435 #endif /* Disable HAL tracing */ 436 437 #endif /* GKI_TARGET_H */ 438