unplugged-vendor/system/bt/mediatek/include/mdroid_buildcfg.h

215 lines
6.7 KiB
C

/* Copyright Statement:
* *
* * This software/firmware and related documentation ("MediaTek Software") are
* * protected under relevant copyright laws. The information contained herein
* * is confidential and proprietary to MediaTek Inc. and/or its licensors.
* * Without the prior written permission of MediaTek inc. and/or its licensors,
* * any reproduction, modification, use or disclosure of MediaTek Software,
* * and information contained herein, in whole or in part, shall be strictly prohibited.
* *
* * MediaTek Inc. (C) 2017. All rights reserved.
* *
* * BY OPENING THIS FILE, RECEIVER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
* * THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS ("MEDIATEK SOFTWARE")
* * RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO RECEIVER ON
* * AN "AS-IS" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
* * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
* * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
* * NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
* * SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
* * SUPPLIED WITH THE MEDIATEK SOFTWARE, AND RECEIVER AGREES TO LOOK ONLY TO SUCH
* * THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. RECEIVER EXPRESSLY ACKNOWLEDGES
* * THAT IT IS RECEIVER'S SOLE RESPONSIBILITY TO OBTAIN FROM ANY THIRD PARTY ALL PROPER LICENSES
* * CONTAINED IN MEDIATEK SOFTWARE. MEDIATEK SHALL ALSO NOT BE RESPONSIBLE FOR ANY MEDIATEK
* * SOFTWARE RELEASES MADE TO RECEIVER'S SPECIFICATION OR TO CONFORM TO A PARTICULAR
* * STANDARD OR OPEN FORUM. RECEIVER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND
* * CUMULATIVE LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
* * AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
* * OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY RECEIVER TO
* * MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE.
* *
* * The following software/firmware and/or related documentation ("MediaTek Software")
* * have been modified by MediaTek Inc. All revisions are subject to any receiver's
* * applicable license agreements with MediaTek Inc.
* */
#pragma once
#if __STDC_VERSION__ < 199901L
# ifndef FALSE
# define FALSE 0
# endif
# ifndef TRUE
# define TRUE (!FALSE)
# endif
#else
# include <stdbool.h>
# ifndef FALSE
# define FALSE false
# endif
# ifndef TRUE
# define TRUE true
# endif
#endif
/******************************************************************************
* **
* ** for FW multiple links 7br + 32ble
* **
* ******************************************************************************/
#ifndef MAX_ACL_CONNECTIONS
#define MAX_ACL_CONNECTIONS 39
#endif
#ifndef GATT_MAX_PHY_CHANNEL
#define GATT_MAX_PHY_CHANNEL MAX_ACL_CONNECTIONS
#endif
#ifndef BTA_GATTC_KNOWN_SR_MAX
#define BTA_GATTC_KNOWN_SR_MAX GATT_MAX_PHY_CHANNEL
#endif
#ifndef BTA_GATTC_CL_MAX
#define BTA_GATTC_CL_MAX 64
#endif
#ifndef GATT_MAX_SR_PROFILES
#define GATT_MAX_SR_PROFILES 64
#endif
#ifndef GATT_MAX_APPS
#define GATT_MAX_APPS 64
#endif
#ifndef GATT_CL_MAX_LCB
#define GATT_CL_MAX_LCB 64
#endif
#ifndef BTM_BLE_MAX_BG_CONN_DEV_NUM
#define BTM_BLE_MAX_BG_CONN_DEV_NUM 64
#endif
#ifndef GATT_MAX_BG_CONN_DEV
#define GATT_MAX_BG_CONN_DEV BTM_BLE_MAX_BG_CONN_DEV_NUM
#endif
/******************************************************************************
* **
* ** define MTK comp id and MTK controller
* **
* ******************************************************************************/
#define LMP_COMPID_MEDIATEK 70
#define BTM_IS_MTK_CONTROLLER() \
(controller_get_interface()->get_bt_version()->manufacturer == \
LMP_COMPID_MEDIATEK)
/******************************************************************************
* **
* ** define max number of l2cap clients, reconfig to 20
* **
* ******************************************************************************/
#ifndef MAX_L2CAP_CLIENTS
#define MAX_L2CAP_CLIENTS 20
#endif
// For HDP PTS case.
// In 64bit project. It occur SDP DB full error by smaller size.
#ifndef BTA_HL_DISC_SIZE
#define BTA_HL_DISC_SIZE 3200
#endif
#ifndef MTK_PTS_HF_TEST
#define MTK_PTS_HF_TEST TRUE //added for hfp(hf role) pts test
#endif
#ifndef MTK_PTS_AV_TEST
#define MTK_PTS_AV_TEST TRUE// added for av pts test
#endif
#define MTK_PTS_TEST_IS_ENABLE \
char values[PROPERTY_VALUE_MAX] = {0}; \
if ((osi_property_get("persist.bluetooth.pts.enable", values, "off")) && (!strcmp(values, "on")))
/******************************************************************************
* **
* ** Disable connection down timer (in milliseconds)
* **
* ******************************************************************************/
#ifndef BTA_DM_DISABLE_CONN_DOWN_TIMER_MS
#define BTA_DM_DISABLE_CONN_DOWN_TIMER_MS 500
#endif
/** M: Bug fix for IOT device a2dp signal response too slowly @{ */
#ifndef BTA_AV_SIG_TOUT
#define BTA_AV_SIG_TOUT 7
#endif
/** @} */
#ifndef MTK_A2DP_SRC_SINK_BOTH
#define MTK_A2DP_SRC_SINK_BOTH TRUE
#endif
#define BTA_AV_SINK_INCLUDED TRUE
#ifndef BT_TUNNEL_SUPPORT
#define BT_TUNNEL_SUPPORT TRUE
#endif
#if defined(MTK_A2DP_SRC_SINK_BOTH) && (MTK_A2DP_SRC_SINK_BOTH == TRUE)
extern bool isSupportMtkA2DPSrcSinkBoth(void);
#endif
extern bool isMtkBtConsumerFeature(void);
extern bool isFwLogSwitchEnable(void);
#if defined(BT_TUNNEL_SUPPORT) && (BT_TUNNEL_SUPPORT == TRUE)
extern bool isEnableMtkA2DPTunnel(void);
#endif
/*dual A2DP feature main switch*/
#ifndef MTK_DUAL_AUDIO
#define MTK_DUAL_AUDIO FALSE
#endif
#if defined(MTK_DUAL_AUDIO) && (MTK_DUAL_AUDIO == TRUE)
//#include "dual_audio_main.h"
#define A2DP_SBC_MAX_FRAME_NUM 40
#define MTK_DUAL_AUDIO_QUEUE_NUM 2
#define DUMP_LEFT_RIGHT_CHANNEL_DATA FALSE //switch for dump parse left right channel data
typedef enum {
/*AOSP flow(only one active)*/
BT_A2DP_DUAL_MODE_NORMAL_TYPE = 0,
/*two sink play same audio*/
BT_A2DP_DUAL_MODE_SAME_AUDIO_TYPE,
/*two sink play Left Right channel audio*/
BT_A2DP_DUAL_MODE_LR_CHANNEL_TYPE,
} bt_a2dp_dual_mode_type_t;
typedef enum {
/*AOSP flow(only one active can controller play/pause)*/
BT_AVRCP_ACTIVE_CONTROL_TYPE = 0,
/*two sink all can control audio play/pause*/
BT_AVRCP_MULTI_CONTROL_TYPE,
} bt_avrcp_control_mode_type_t;
#ifdef __cplusplus
extern "C" {
#endif
extern bool btif_a2dp_support_dual_mode(void);
extern bool btif_a2dp_audio_state_start(void);
extern bool isEnableMtkDualAudio(void);
#ifdef __cplusplus
}
#endif
bt_avrcp_control_mode_type_t getAvrcpControlType(void);
#endif //MTK_DUAL_AUDIO
/** M: Bug fix for EIR being flushed by too much adv @{ */
#ifndef BTM_INQ_DB_SIZE
#define BTM_INQ_DB_SIZE 80
#endif
/** @} */