/******************************************************************************
|
*
|
* Copyright (C) 2012-2014 Broadcom Corporation
|
*
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
* you may not use this file except in compliance with the License.
|
* You may obtain a copy of the License at:
|
*
|
* http://www.apache.org/licenses/LICENSE-2.0
|
*
|
* Unless required by applicable law or agreed to in writing, software
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
* See the License for the specific language governing permissions and
|
* limitations under the License.
|
*
|
******************************************************************************/
|
|
#ifndef GKI_HAL_TARGET_H
|
#define GKI_HAL_TARGET_H
|
|
#ifdef BUILDCFG
|
#include "buildcfg_hal.h"
|
#endif
|
|
#include "data_types.h"
|
|
/******************************************************************************
|
**
|
** Task configuration
|
**
|
******************************************************************************/
|
|
/* Definitions of task IDs for inter-task messaging */
|
#ifndef NFC_HAL_TASK
|
#define NFC_HAL_TASK 0
|
#endif
|
|
/* The number of GKI tasks in the software system. */
|
#ifndef GKI_MAX_TASKS
|
#define GKI_MAX_TASKS 1
|
#endif
|
|
/******************************************************************************
|
**
|
** Buffer pool assignment
|
**
|
******************************************************************************/
|
|
/* GKI pool for NCI messages */
|
#ifndef NFC_HAL_NCI_POOL_ID
|
#define NFC_HAL_NCI_POOL_ID GKI_POOL_ID_1
|
#endif
|
|
#ifndef NFC_HAL_NCI_POOL_BUF_SIZE
|
#define NFC_HAL_NCI_POOL_BUF_SIZE GKI_BUF1_SIZE
|
#endif
|
|
/******************************************************************************
|
**
|
** Timer configuration
|
**
|
******************************************************************************/
|
|
/* The number of GKI timers in the software system. */
|
#ifndef GKI_NUM_TIMERS
|
#define GKI_NUM_TIMERS 2
|
#endif
|
|
/* A conversion value for translating ticks to calculate GKI timer. */
|
#ifndef TICKS_PER_SEC
|
#define TICKS_PER_SEC 100
|
#endif
|
|
/************************************************************************
|
** Utility macros converting ticks to time with user define OS ticks per sec
|
**/
|
#ifndef GKI_MS_TO_TICKS
|
#define GKI_MS_TO_TICKS(x) ((x) / (1000 / TICKS_PER_SEC))
|
#endif
|
|
#ifndef GKI_SECS_TO_TICKS
|
#define GKI_SECS_TO_TICKS(x) ((x) * (TICKS_PER_SEC))
|
#endif
|
|
#ifndef GKI_TICKS_TO_MS
|
#define GKI_TICKS_TO_MS(x) ((x)*1000 / TICKS_PER_SEC)
|
#endif
|
|
#ifndef GKI_TICKS_TO_SECS
|
#define GKI_TICKS_TO_SECS(x) ((x) / TICKS_PER_SEC)
|
#endif
|
|
/* TICK per second from OS (OS dependent change this macro accordingly to
|
* various OS) */
|
#ifndef OS_TICKS_PER_SEC
|
#define OS_TICKS_PER_SEC 1000
|
#endif
|
|
/************************************************************************
|
** Utility macros converting ticks to time with user define OS ticks per sec
|
**/
|
|
#ifndef GKI_OS_TICKS_TO_MS
|
#define GKI_OS_TICKS_TO_MS(x) ((x)*1000 / OS_TICKS_PER_SEC)
|
#endif
|
|
#ifndef GKI_OS_TICKS_TO_SECS
|
#define GKI_OS_TICKS_TO_SECS(x) ((x) / OS_TICKS_PER_SEC))
|
#endif
|
|
/* delay in ticks before stopping system tick. */
|
#ifndef GKI_DELAY_STOP_SYS_TICK
|
#define GKI_DELAY_STOP_SYS_TICK 10
|
#endif
|
|
/* Option to guarantee no preemption during timer expiration (most system don't
|
* need this) */
|
#ifndef GKI_TIMER_LIST_NOPREEMPT
|
#define GKI_TIMER_LIST_NOPREEMPT FALSE
|
#endif
|
|
/******************************************************************************
|
**
|
** Buffer configuration
|
**
|
******************************************************************************/
|
|
/* The size of the buffers in pool 0. */
|
#ifndef GKI_BUF0_SIZE
|
#define GKI_BUF0_SIZE 64
|
#endif
|
|
/* The number of buffers in buffer pool 0. */
|
#ifndef GKI_BUF0_MAX
|
#define GKI_BUF0_MAX 8
|
#endif
|
|
/* The ID of buffer pool 0. */
|
#ifndef GKI_POOL_ID_0
|
#define GKI_POOL_ID_0 0
|
#endif
|
|
/* The size of the buffers in pool 1. */
|
#ifndef GKI_BUF1_SIZE
|
#define GKI_BUF1_SIZE 288
|
#endif
|
|
/* The number of buffers in buffer pool 1. */
|
#ifndef GKI_BUF1_MAX
|
#define GKI_BUF1_MAX 8
|
#endif
|
|
/* The ID of buffer pool 1. */
|
#ifndef GKI_POOL_ID_1
|
#define GKI_POOL_ID_1 1
|
#endif
|
|
/* The size of the largest PUBLIC fixed buffer in system. */
|
#ifndef GKI_MAX_BUF_SIZE
|
#define GKI_MAX_BUF_SIZE GKI_BUF1_SIZE
|
#endif
|
|
/* The pool ID of the largest PUBLIC fixed buffer in system. */
|
#ifndef GKI_MAX_BUF_SIZE_POOL_ID
|
#define GKI_MAX_BUF_SIZE_POOL_ID GKI_POOL_ID_1
|
#endif
|
|
/* buffer size for USERIAL, it must large enough to hold NFC_HDR and max packet
|
* size */
|
#ifndef USERIAL_POOL_BUF_SIZE
|
#define USERIAL_POOL_BUF_SIZE GKI_BUF1_SIZE
|
#endif
|
|
/* buffer pool ID for USERIAL */
|
#ifndef USERIAL_POOL_ID
|
#define USERIAL_POOL_ID GKI_POOL_ID_1
|
#endif
|
|
#ifndef GKI_NUM_FIXED_BUF_POOLS
|
#define GKI_NUM_FIXED_BUF_POOLS 2
|
#endif
|
|
/* The number of fixed and dynamic buffer pools */
|
#ifndef GKI_NUM_TOTAL_BUF_POOLS
|
#define GKI_NUM_TOTAL_BUF_POOLS 2
|
#endif
|
|
/* The buffer pool usage mask. */
|
#ifndef GKI_DEF_BUFPOOL_PERM_MASK
|
#define GKI_DEF_BUFPOOL_PERM_MASK 0xfff0
|
#endif
|
|
/* The buffer corruption check flag. */
|
#ifndef GKI_ENABLE_BUF_CORRUPTION_CHECK
|
#define GKI_ENABLE_BUF_CORRUPTION_CHECK TRUE
|
#endif
|
|
/* The GKI severe error macro. */
|
#ifndef GKI_SEVERE
|
#define GKI_SEVERE(code)
|
#endif
|
|
/* Maximum number of exceptions logged. */
|
#ifndef GKI_MAX_EXCEPTION
|
#define GKI_MAX_EXCEPTION 8
|
#endif
|
|
/* Maximum number of chars stored for each exception message. */
|
#ifndef GKI_MAX_EXCEPTION_MSGLEN
|
#define GKI_MAX_EXCEPTION_MSGLEN 64
|
#endif
|
|
#ifndef GKI_SEND_MSG_FROM_ISR
|
#define GKI_SEND_MSG_FROM_ISR FALSE
|
#endif
|
|
#endif /* GKI_TARGET_H */
|