diff options
Diffstat (limited to 'libbt/src/bt_vendor_brcm.c')
-rw-r--r-- | libbt/src/bt_vendor_brcm.c | 227 |
1 files changed, 0 insertions, 227 deletions
diff --git a/libbt/src/bt_vendor_brcm.c b/libbt/src/bt_vendor_brcm.c deleted file mode 100644 index d17baa2..0000000 --- a/libbt/src/bt_vendor_brcm.c +++ /dev/null @@ -1,227 +0,0 @@ -/****************************************************************************** - * - * Copyright (C) 2009-2012 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. - * - ******************************************************************************/ - -/****************************************************************************** - * - * Filename: bt_vendor_brcm.c - * - * Description: Broadcom vendor specific library implementation - * - ******************************************************************************/ - -#define LOG_TAG "bt_vendor" - -#include <utils/Log.h> -#include "bt_vendor_brcm.h" -#include "upio.h" -#include "userial_vendor.h" - -#ifndef BTVND_DBG -#define BTVND_DBG FALSE -#endif - -#if (BTVND_DBG == TRUE) -#define BTVNDDBG(param, ...) {ALOGD(param, ## __VA_ARGS__);} -#else -#define BTVNDDBG(param, ...) {} -#endif - -/****************************************************************************** -** Externs -******************************************************************************/ - -void hw_config_start(void); -uint8_t hw_lpm_enable(uint8_t turn_on); -uint32_t hw_lpm_get_idle_timeout(void); -void hw_lpm_set_wake_state(uint8_t wake_assert); -#if (SCO_CFG_INCLUDED == TRUE) -void hw_sco_config(void); -#endif -void vnd_load_conf(const char *p_path); - -/****************************************************************************** -** Variables -******************************************************************************/ - -bt_vendor_callbacks_t *bt_vendor_cbacks = NULL; -uint8_t vnd_local_bd_addr[6]={0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; - -/****************************************************************************** -** Local type definitions -******************************************************************************/ - -/****************************************************************************** -** Static Variables -******************************************************************************/ - -static const tUSERIAL_CFG userial_init_cfg = -{ - (USERIAL_DATABITS_8 | USERIAL_PARITY_NONE | USERIAL_STOPBITS_1), - USERIAL_BAUD_115200 -}; - -/****************************************************************************** -** Functions -******************************************************************************/ - -/***************************************************************************** -** -** BLUETOOTH VENDOR INTERFACE LIBRARY FUNCTIONS -** -*****************************************************************************/ - -static int init(const bt_vendor_callbacks_t* p_cb, unsigned char *local_bdaddr) -{ - ALOGI("init"); - - if (p_cb == NULL) - { - ALOGE("init failed with no user callbacks!"); - return -1; - } - -#if (VENDOR_LIB_RUNTIME_TUNING_ENABLED == TRUE) - ALOGW("*****************************************************************"); - ALOGW("*****************************************************************"); - ALOGW("** Warning - BT Vendor Lib is loaded in debug tuning mode!"); - ALOGW("**"); - ALOGW("** If this is not intentional, rebuild libbt-vendor.so "); - ALOGW("** with VENDOR_LIB_RUNTIME_TUNING_ENABLED=FALSE and "); - ALOGW("** check if any run-time tuning parameters needed to be"); - ALOGW("** carried to the build-time configuration accordingly."); - ALOGW("*****************************************************************"); - ALOGW("*****************************************************************"); -#endif - - userial_vendor_init(); - upio_init(); - - vnd_load_conf(VENDOR_LIB_CONF_FILE); - - /* store reference to user callbacks */ - bt_vendor_cbacks = (bt_vendor_callbacks_t *) p_cb; - - /* This is handed over from the stack */ - memcpy(vnd_local_bd_addr, local_bdaddr, 6); - - return 0; -} - - -/** Requested operations */ -static int op(bt_vendor_opcode_t opcode, void *param) -{ - int retval = 0; - - BTVNDDBG("op for %d", opcode); - - switch(opcode) - { - case BT_VND_OP_POWER_CTRL: - { - int *state = (int *) param; - if (*state == BT_VND_PWR_OFF) - upio_set_bluetooth_power(UPIO_BT_POWER_OFF); - else if (*state == BT_VND_PWR_ON) - upio_set_bluetooth_power(UPIO_BT_POWER_ON); - } - break; - - case BT_VND_OP_FW_CFG: - { - hw_config_start(); - } - break; - - case BT_VND_OP_SCO_CFG: - { -#if (SCO_CFG_INCLUDED == TRUE) - hw_sco_config(); -#else - retval = -1; -#endif - } - break; - - case BT_VND_OP_USERIAL_OPEN: - { - int (*fd_array)[] = (int (*)[]) param; - int fd, idx; - fd = userial_vendor_open((tUSERIAL_CFG *) &userial_init_cfg); - if (fd != -1) - { - for (idx=0; idx < CH_MAX; idx++) - (*fd_array)[idx] = fd; - - retval = 1; - } - /* retval contains numbers of open fd of HCI channels */ - } - break; - - case BT_VND_OP_USERIAL_CLOSE: - { - userial_vendor_close(); - } - break; - - case BT_VND_OP_GET_LPM_IDLE_TIMEOUT: - { - uint32_t *timeout_ms = (uint32_t *) param; - *timeout_ms = hw_lpm_get_idle_timeout(); - } - break; - - case BT_VND_OP_LPM_SET_MODE: - { - uint8_t *mode = (uint8_t *) param; - retval = hw_lpm_enable(*mode); - } - break; - - case BT_VND_OP_LPM_WAKE_SET_STATE: - { - uint8_t *state = (uint8_t *) param; - uint8_t wake_assert = (state == BT_VND_LPM_WAKE_ASSERT) ? \ - TRUE : FALSE; - - hw_lpm_set_wake_state(wake_assert); - } - break; - } - - return retval; -} - -/** Closes the interface */ -static void cleanup( void ) -{ - BTVNDDBG("cleanup"); - - upio_cleanup(); - - bt_vendor_cbacks = NULL; -} - -// Entry point of DLib -const bt_vendor_interface_t BLUETOOTH_VENDOR_LIB_INTERFACE = { - sizeof(bt_vendor_interface_t), - init, - op, - cleanup -}; |