Files
2026-08-24 10:03:24 +08:00

119 lines
3.1 KiB
C

/*
*
* Copyright (c) 2020-2021, The Linux Foundation. All rights reserved.
* Not a Contribution.
*
* 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 HCIATTCH_AML_H
#define HCIATTCH_AML_H
/* HCI Packet types */
#define HCI_CMD_IND (1)
#define MSM_ENABLE_FLOW_CTRL 16
#define MSM_DISABLE_FLOW_CTRL 17
/* baud rates */
#define USERIAL_BAUD_300 0
#define USERIAL_BAUD_600 1
#define USERIAL_BAUD_1200 2
#define USERIAL_BAUD_2400 3
#define USERIAL_BAUD_9600 4
#define USERIAL_BAUD_19200 5
#define USERIAL_BAUD_57600 6
#define USERIAL_BAUD_115200 7
#define USERIAL_BAUD_230400 8
#define USERIAL_BAUD_460800 9
#define USERIAL_BAUD_921600 10
#define USERIAL_BAUD_1M 11
#define USERIAL_BAUD_1_5M 12
#define USERIAL_BAUD_2M 13
#define USERIAL_BAUD_3M 14
#define USERIAL_BAUD_4M 15
#define USERIAL_BAUD_AUTO 16
#define DELIM " =\n\t\r"
#define MAX_LINE_LEN 255
/* aml fw path */
#define AML_BT_PATH "/etc/bluetooth/aml"
#define FW_VER_FILE AML_BT_PATH"/fw_version"
/* bt fw&config */
#define AML_BT_CONFIG_RF_FILE AML_BT_PATH"/aml_bt_rf.txt"
#define AML_W1_BT_FW_UART_FILE AML_BT_PATH"/w1_bt_fw_uart.bin"
#define AML_W1U_BT_FW_UART_FILE AML_BT_PATH"/w1u_bt_fw_uart.bin"
#define AML_W1U_BT_FW_USB_FILE AML_BT_PATH"/w1u_bt_fw_usb.bin"
#define AML_W2_BT_FW_UART_FILE AML_BT_PATH"/w2_bt_fw_uart.bin"
#define AML_W2L_BT_FW_UART_FILE AML_BT_PATH"/w2l_bt_15p4_fw_uart.bin"
/* a2dp mode cfg */
#define AML_A2DP_CFG_FILE AML_BT_PATH"/a2dp_mode_cfg.txt"
/* DEFAULT BT MAC */
#define NUIFYKEY_MAC "/sys/module/kernel/parameters/btmac"
/* aml bt module */
#define W1_UART 0x01
#define W1U_UART 0x02
#define W1U_USB 0x03
#define W2_UART 0x04
#define W2L_UART 0x05
#define W3_UART 0x06
#ifndef FALSE
#define FALSE 0
#endif
#ifndef TRUE
#define TRUE (!FALSE)
#endif
#define HCI_MAX_CMD_SIZE 260
/* opcode */
#define HCI_RESET 0x0C03
typedef struct {
int module_type;
char *chipid;
} vnd_chip_t;
typedef struct {
int module_type;
unsigned short iccm_base;
char *mod_type_name;
char *name;
char *fw_file;
} vnd_module_t;
/* vendor serial control block */
typedef struct
{
int fd; /* fd to Bluetooth device */
struct termios termios; /* serial terminal of BT port */
char port_name[256];
} vnd_userial_cb_t;
typedef int (*action_act)(const char * p_name, char * p_value);
typedef struct {
const char *entry_name;
action_act p_action;
} d_entry_t;
#endif // HCIATTCH_AML_H