summaryrefslogtreecommitdiff
path: root/msm8909/libbt-vendor/include/hw_rome.h
diff options
context:
space:
mode:
Diffstat (limited to 'msm8909/libbt-vendor/include/hw_rome.h')
-rw-r--r--msm8909/libbt-vendor/include/hw_rome.h286
1 files changed, 0 insertions, 286 deletions
diff --git a/msm8909/libbt-vendor/include/hw_rome.h b/msm8909/libbt-vendor/include/hw_rome.h
deleted file mode 100644
index f2bee16..0000000
--- a/msm8909/libbt-vendor/include/hw_rome.h
+++ /dev/null
@@ -1,286 +0,0 @@
-/*
- * Copyright 2012 The Android Open Source Project
- * Copyright (c) 2013, The Linux Foundation. All rights reserved.
- * Not a Contribution.
- *
- * 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 HW_ROME_H
-#define HW_ROME_H
-
-/******************************************************************************
-** Constants & Macros
-******************************************************************************/
-#define HCI_MAX_CMD_SIZE 260
-#define HCI_MAX_EVENT_SIZE 260
-#define PRINT_BUF_SIZE ((HCI_MAX_CMD_SIZE * 3) + 2)
-
-#define HCI_CHG_BAUD_CMD_OCF 0x0C
-#define HCI_VENDOR_CMD_OGF 0x3F
-#define WRITE_BDADDR_CMD_LEN 14
-#define WRITE_BAUD_CMD_LEN 6
-#define MAX_CMD_LEN WRITE_BDADDR_CMD_LEN
-#define GET_VERSION_OCF 0x1E
-
-#define PS_HDR_LEN 4
-#define HCI_VENDOR_CMD_OGF 0x3F
-#define HCI_PS_CMD_OCF 0x0B
-
-#define HCI_COMMAND_HDR_SIZE 3
-#define EVT_CMD_COMPLETE_SIZE 3
-#define EVT_CMD_STATUS 0x0F
-#define EVT_CMD_STATUS_SIZE 4
-#define HCI_EVENT_HDR_SIZE 2
-#define HCI_EV_SUCCESS 0x00
-/* HCI Socket options */
-#define HCI_DATA_DIR 1
-#define HCI_FILTER 2
-#define HCI_TIME_STAMP 3
-
-#define P_ID_OFFSET (0)
-#define HCI_CMD_IND (1)
-#define EVENTCODE_OFFSET (1)
-#define EVT_PLEN (2)
-#define PLEN (3)
-#define CMD_RSP_OFFSET (3)
-#define RSP_TYPE_OFFSET (4)
-#define BAUDRATE_RSP_STATUS_OFFSET (4)
-#define CMD_STATUS_OFFSET (5)
-#define P_ROME_VER_OFFSET (4)
-#define P_BUILD_VER_OFFSET (6)
-#define P_BASE_ADDR_OFFSET (8)
-#define P_ENTRY_ADDR_OFFSET (12)
-#define P_LEN_OFFSET (16)
-#define P_CRC_OFFSET (20)
-#define P_CONTROL_OFFSET (24)
-#define PATCH_HDR_LEN (28)
-#define MAX_DATA_PER_SEGMENT (239)
-#define VSEVENT_CODE (0xFF)
-#define HC_VS_MAX_CMD_EVENT (0xFF)
-#define PATCH_PROD_ID_OFFSET (5)
-#define PATCH_PATCH_VER_OFFSET (9)
-#define PATCH_ROM_BUILD_VER_OFFSET (11)
-#define PATCH_SOC_VER_OFFSET (13)
-#define MAX_SIZE_PER_TLV_SEGMENT (243)
-
-/* VS Opcode */
-#define HCI_PATCH_CMD_OCF (0)
-#define EDL_SET_BAUDRATE_CMD_OCF (0x48)
-#define EDL_WIPOWER_VS_CMD_OCF (0x1f)
-#define HCI_VS_GET_ADDON_FEATURES_SUPPORT (0x1d)
-
-/* VS Commands */
-#define VSC_SET_BAUDRATE_REQ_LEN (1)
-#define EDL_PATCH_CMD_LEN (1)
-#define EDL_PATCH_CMD_REQ_LEN (1)
-#define EDL_WIP_QUERY_CHARGING_STATUS_LEN (0x01)
-#define EDL_WIP_START_HANDOFF_TO_HOST_LEN (0x01)
-#define EDL_PATCH_DLD_REQ_CMD (0x01)
-#define EDL_PATCH_RST_REQ_CMD (0x05)
-#define EDL_PATCH_SET_REQ_CMD (0x16)
-#define EDL_PATCH_ATCH_REQ_CMD (0x17)
-#define EDL_PATCH_VER_REQ_CMD (0x19)
-#define EDL_GET_BUILD_INFO (0x20)
-#define EDL_PATCH_TLV_REQ_CMD (0x1E)
-#define EDL_WIP_QUERY_CHARGING_STATUS_CMD (0x1D)
-#define EDL_WIP_START_HANDOFF_TO_HOST_CMD (0x1E)
-
-/* VS Event */
-#define EDL_CMD_REQ_RES_EVT (0x00)
-#define EDL_CMD_EXE_STATUS_EVT (0x00)
-#define EDL_SET_BAUDRATE_RSP_EVT (0x92)
-#define EDL_PATCH_VER_RES_EVT (0x19)
-#define EDL_TVL_DNLD_RES_EVT (0x04)
-#define EDL_APP_VER_RES_EVT (0x02)
-#define EDL_WIP_QUERY_CHARGING_STATUS_EVT (0x18)
-#define EDL_WIP_START_HANDOFF_TO_HOST_EVENT (0x19)
-#define HCI_VS_GET_ADDON_FEATURES_EVENT (0x1B)
-#define HCI_VS_GET_BUILD_VER_EVT (0x05)
-#define HCI_VS_STRAY_EVT (0x17)
-
-/* Status Codes of HCI CMD execution*/
-#define HCI_CMD_SUCCESS (0x0)
-#define PATCH_LEN_ERROR (0x1)
-#define PATCH_VER_ERROR (0x2)
-#define PATCH_CRC_ERROR (0x3)
-#define PATCH_NOT_FOUND (0x4)
-#define TLV_TYPE_ERROR (0x10)
-#define NVM_ACCESS_CODE (0x0B)
-#define BAUDRATE_CHANGE_SUCCESS (1)
-
-/* Wipower status codes */
-#define WIPOWER_IN_EMBEDDED_MODE 0x01
-#define NON_WIPOWER_MODE 0x02
-
-/* mask to validate support for wipower */
-#define ADDON_FEATURES_EVT_WIPOWER_MASK (0x01)
-
-/* TLV_TYPE */
-#define TLV_TYPE_PATCH (1)
-#define TLV_TYPE_NVM (2)
-
-/* NVM */
-#define MAX_TAG_CMD 30
-#define TAG_END 0xFF
-#define NVM_ACCESS_SET 0x01
-#define TAG_NUM_OFFSET 5
-#define TAG_NUM_2 2
-#define TAG_BDADDR_OFFSET 7
-
-/* NVM Tags specifically used for ROME 1.0 */
-#define ROME_1_0_100022_1 0x101000221
-#define ROME_1_0_100019 0x101000190
-#define ROME_1_0_6002 0x100600200
-
-/* Default NVM Version setting for ROME 1.0 */
-#define NVM_VERSION ROME_1_0_100022_1
-
-
-#define LSH(val, n) ((uint32_t)(val) << (n))
-#define EXTRACT_BYTE(val, pos) (char) (((val) >> (8 * (pos))) & 0xFF)
-#define CALC_SEG_SIZE(len, max) ((plen) % (max))?((plen/max)+1) : ((plen) / (max))
-
-#define ROME_FW_PATH "/system/etc/firmware/rampatch.img"
-#define ROME_RAMPATCH_TLV_PATH "/system/etc/firmware/rampatch_tlv.img"
-#define ROME_NVM_TLV_PATH "/system/etc/firmware/nvm_tlv.bin"
-#define ROME_RAMPATCH_TLV_1_0_3_PATH "/system/etc/firmware/rampatch_tlv_1.3.tlv"
-#define ROME_NVM_TLV_1_0_3_PATH "/system/etc/firmware/nvm_tlv_1.3.bin"
-#define ROME_RAMPATCH_TLV_2_0_1_PATH "/system/etc/firmware/rampatch_tlv_2.1.tlv"
-#define ROME_NVM_TLV_2_0_1_PATH "/system/etc/firmware/nvm_tlv_2.1.bin"
-#define ROME_RAMPATCH_TLV_3_0_0_PATH "/bt_firmware/image/btfw30.tlv"
-#define ROME_NVM_TLV_3_0_0_PATH "/bt_firmware/image/btnv30.bin"
-#define ROME_RAMPATCH_TLV_3_0_2_PATH "/bt_firmware/image/btfw32.tlv"
-#define ROME_NVM_TLV_3_0_2_PATH "/bt_firmware/image/btnv32.bin"
-//#define ROME_RAMPATCH_TLV_3_0_0_PATH "/system/etc/firmware/rampatch_tlv_3.0.tlv"
-//#define ROME_NVM_TLV_3_0_0_PATH "/system/etc/firmware/nvm_tlv_3.0.bin"
-//#define ROME_RAMPATCH_TLV_3_0_2_PATH "/system/etc/firmware/rampatch_tlv_3.2.tlv"
-//#define ROME_NVM_TLV_3_0_2_PATH "/system/etc/firmware/nvm_tlv_3.2.bin"
-
-#define ROME_3_1_FW_SU "bprm.cnss.3.1"
-#define ROME_3_2_FW_SU "btfwp.cnss.3.2"
-
-/* Rome 3.1 FW SU release has been branched from rome 3.0 SU 224
- So, rome 3.1 formula is SU = patch version -(0xE0 = 224) - 0x111 -1
-*/
-#define ROME_3_1_FW_SW_OFFSET 0x01F2
-
-/* Rome 3.2 FW SU formula is SU = patch version - 0x111 -1 */
-#define ROME_3_2_FW_SW_OFFSET 0x0112
-
-/* This header value in rampatch file decides event handling mechanism in the HOST */
-#define ROME_SKIP_EVT_NONE 0x00
-#define ROME_SKIP_EVT_VSE 0x01
-#define ROME_SKIP_EVT_CC 0x02
-#define ROME_SKIP_EVT_VSE_CC 0x03
-
-/******************************************************************************
-** Local type definitions
-******************************************************************************/
-typedef struct {
- unsigned short rom_version;
- unsigned short build_version;
-} __attribute__ ((packed)) patch_version;
-
-typedef struct {
- unsigned int patch_id;
- patch_version patch_ver;
- unsigned int patch_base_addr;
- unsigned int patch_entry_addr;
- unsigned short patch_length;
- int patch_crc;
- unsigned short patch_ctrl;
-} __attribute__ ((packed)) patch_info;
-
-typedef struct {
- unsigned int tlv_data_len;
- unsigned int tlv_patch_data_len;
- unsigned char sign_ver;
- unsigned char sign_algorithm;
- unsigned char dwnd_cfg;
- unsigned char reserved1;
- unsigned short prod_id;
- unsigned short build_ver;
- unsigned short patch_ver;
- unsigned short reserved2;
- unsigned int patch_entry_addr;
-} __attribute__ ((packed)) tlv_patch_hdr;
-
-typedef struct {
- unsigned short tag_id;
- unsigned short tag_len;
- unsigned int tag_ptr;
- unsigned int tag_ex_flag;
-} __attribute__ ((packed)) tlv_nvm_hdr;
-
-typedef struct {
- unsigned char tlv_type;
- unsigned char tlv_length1;
- unsigned char tlv_length2;
- unsigned char tlv_length3;
-
- union{
- tlv_patch_hdr patch;
- tlv_nvm_hdr nvm;
- }tlv;
-} __attribute__ ((packed)) tlv_patch_info;
-
-
-enum{
- BAUDRATE_115200 = 0x00,
- BAUDRATE_57600 = 0x01,
- BAUDRATE_38400 = 0x02,
- BAUDRATE_19200 = 0x03,
- BAUDRATE_9600 = 0x04,
- BAUDRATE_230400 = 0x05,
- BAUDRATE_250000 = 0x06,
- BAUDRATE_460800 = 0x07,
- BAUDRATE_500000 = 0x08,
- BAUDRATE_720000 = 0x09,
- BAUDRATE_921600 = 0x0A,
- BAUDRATE_1000000 = 0x0B,
- BAUDRATE_1250000 = 0x0C,
- BAUDRATE_2000000 = 0x0D,
- BAUDRATE_3000000 = 0x0E,
- BAUDRATE_4000000 = 0x0F,
- BAUDRATE_1600000 = 0x10,
- BAUDRATE_3200000 = 0x11,
- BAUDRATE_3500000 = 0x12,
- BAUDRATE_AUTO = 0xFE,
- BAUDRATE_Reserved = 0xFF
-};
-
-enum{
- ROME_PATCH_VER_0100 = 0x0100,
- ROME_PATCH_VER_0101 = 0x0101,
- ROME_PATCH_VER_0200 = 0x0200,
- ROME_PATCH_VER_0300 = 0x0300,
- ROME_PATCH_VER_0302 = 0x0302
- };
-
-enum{
- ROME_SOC_ID_00 = 0x00000000,
- ROME_SOC_ID_11 = 0x00000011,
- ROME_SOC_ID_22 = 0x00000022,
- ROME_SOC_ID_44 = 0x00000044
-};
-
-enum{
- ROME_VER_UNKNOWN = 0,
- ROME_VER_1_0 = ((ROME_PATCH_VER_0100 << 16 ) | ROME_SOC_ID_00 ),
- ROME_VER_1_1 = ((ROME_PATCH_VER_0101 << 16 ) | ROME_SOC_ID_00 ),
- ROME_VER_1_3 = ((ROME_PATCH_VER_0200 << 16 ) | ROME_SOC_ID_00 ),
- ROME_VER_2_1 = ((ROME_PATCH_VER_0200 << 16 ) | ROME_SOC_ID_11 ),
- ROME_VER_3_0 = ((ROME_PATCH_VER_0300 << 16 ) | ROME_SOC_ID_22 ),
- ROME_VER_3_2 = ((ROME_PATCH_VER_0302 << 16 ) | ROME_SOC_ID_44 )
-};
-#endif /* HW_ROME_H */