diff options
Diffstat (limited to 'msm8909w_3100/libbt-vendor/include/bt_vendor_qcom.h')
-rw-r--r-- | msm8909w_3100/libbt-vendor/include/bt_vendor_qcom.h | 91 |
1 files changed, 91 insertions, 0 deletions
diff --git a/msm8909w_3100/libbt-vendor/include/bt_vendor_qcom.h b/msm8909w_3100/libbt-vendor/include/bt_vendor_qcom.h new file mode 100644 index 0000000..c71ce8a --- /dev/null +++ b/msm8909w_3100/libbt-vendor/include/bt_vendor_qcom.h @@ -0,0 +1,91 @@ +/* + * Copyright 2012 The Android Open Source Project + * + * 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 BT_VENDOR_QCOM_H +#define BT_VENDOR_QCOM_H + +#include <stdbool.h> +#include "bt_vendor_lib.h" + +#ifndef FALSE +#define FALSE 0 +#endif + +#ifndef TRUE +#define TRUE (!FALSE) +#endif + +#define STREAM_TO_UINT16(u16, p) {u16 = ((uint16_t)(*(p)) + (((uint16_t)(*((p) + 1))) << 8)); (p) += 2;} +#define UINT16_TO_STREAM(p, u16) {*(p)++ = (uint8_t)(u16); *(p)++ = (uint8_t)((u16) >> 8);} +#define UINT32_TO_STREAM(p, u32) {*(p)++ = (uint8_t)(u32); *(p)++ = (uint8_t)((u32) >> 8); *(p)++ = (uint8_t)((u32) >> 16); *(p)++ = (uint8_t)((u32) >> 24);} + +typedef enum { + BT_SOC_DEFAULT = 0, + BT_SOC_SMD = BT_SOC_DEFAULT, + BT_SOC_AR3K, + BT_SOC_ROME, + BT_SOC_CHEROKEE, + /* Add chipset type here */ + BT_SOC_RESERVED +}bt_soc_type; + +typedef enum { + BT_VND_OP_ANT_USERIAL_OPEN = 254, + BT_VND_OP_ANT_USERIAL_CLOSE +}ant_serial; + +/* HW_NEED_END_WITH_HCI_RESET + + code implementation of sending a HCI_RESET command during the epilog + process. It calls back to the callers after command complete of HCI_RESET + is received. + + Default TRUE . +*/ +#ifndef HW_NEED_END_WITH_HCI_RESET +#define HW_NEED_END_WITH_HCI_RESET TRUE +#endif + +#define HCI_RESET 0x0C03 +#define HCI_CMD_PREAMBLE_SIZE 3 +#define HCI_EVT_CMD_CMPL_STATUS_RET_BYTE 5 +#define HCI_EVT_CMD_CMPL_OPCODE 3 +#define BT_PWR_CNTRL_DEVICE "/dev/btpower" + +enum { + BT_STATUS_SUCCESS = 0, + BT_STATUS_FAIL, + BT_STATUS_INVAL, + BT_STATUS_NOMEM, + BT_STATUS_PROP_FAILURE, +}; +#define BT_CMD_PWR_CTRL 0xbfad +struct bt_qcom_struct { + int fd[2]; + int ant_fd; + int fm_fd; + bt_vendor_callbacks_t *cb; + uint8_t bdaddr[6]; + int soc_type; + int rfkill_id; + char *rfkill_state; + bool enable_extldo; +}; +extern struct bt_qcom_struct *q; +extern pthread_mutex_t q_lock; + +#endif /* BT_VENDOR_QCOM_H */ + |