deadpool: Configure Broadcom Bluetooth/Wi-Fi HALs
authorNolen Johnson <johnsonnolen@gmail.com>
Fri, 25 Jun 2021 05:05:35 +0000 (01:05 -0400)
committerNolen Johnson <johnsonnolen@gmail.com>
Tue, 27 Jul 2021 15:35:17 +0000 (11:35 -0400)
* We're not unifying things, and the stock MultiHAL requires
  framework side magic, so we're going with the hardware/broadcom
  solution.

* Set Bluetooth overlays based on stock.

* bdroid_buildcfg header and vnd_$device.txt configuration are
  loosely taken from OEM uploads of Amlogic BCM Wi-Fi/BT device
  sources.

Change-Id: Ie8e0f2d2a5f1cb8337ebe88b903fb18a71602f18

BoardConfig.mk
bluetooth/include/bdroid_buildcfg.h [new file with mode: 0644]
bluetooth/vnd_deadpool.txt [new file with mode: 0644]
device.mk
overlay/packages/apps/Bluetooth/res/values/config.xml [new file with mode: 0644]

index c3a8b725594afc358d794f0fd3004f7d87678251..4c0f53230a1b364072f36cf85679917429afdbd0 100644 (file)
@@ -10,8 +10,24 @@ include device/amlogic/g12-common/BoardConfigCommon.mk
 
 DEVICE_PATH := device/askey/deadpool
 
+## Bluetooth
+BOARD_BLUETOOTH_BDROID_BUILDCFG_INCLUDE_DIR := $(DEVICE_PATH)/bluetooth/include
+BOARD_CUSTOM_BT_CONFIG := $(DEVICE_PATH)/bluetooth/vnd_deadpool.txt
+BOARD_HAVE_BLUETOOTH := true
+BOARD_HAVE_BLUETOOTH_BCM := true
+
 ## Bootloader
 TARGET_BOOTLOADER_BOARD_NAME := deadpool
 
 ## DTB
 TARGET_DTB_NAME := g12a_s905y2_deadpool
+
+## Wi-Fi
+BOARD_HOSTAPD_PRIVATE_LIB := lib_driver_cmd_bcmdhd
+BOARD_WLAN_DEVICE := bcmdhd
+BOARD_WPA_SUPPLICANT_DRIVER := NL80211
+BOARD_WPA_SUPPLICANT_PRIVATE_LIB := lib_driver_cmd_bcmdhd
+WIFI_DRIVER_FW_PATH_AP := "/vendor/etc/wifi/buildin/fw_fw_bcm4356a2_ag_apsta.bin"
+WIFI_DRIVER_FW_PATH_STA := "/vendor/etc/wifi/buildin/fw_bcm4356a2_ag.bin"
+WIFI_DRIVER_FW_PATH_PARAM := "/sys/module/dhd/parameters/firmware_path"
+WPA_SUPPLICANT_VERSION := VER_0_8_X
diff --git a/bluetooth/include/bdroid_buildcfg.h b/bluetooth/include/bdroid_buildcfg.h
new file mode 100644 (file)
index 0000000..82400dd
--- /dev/null
@@ -0,0 +1,31 @@
+/*
+* Copyright (C) 2021 The LineageOS Project
+*
+* SPDX-License-Identifier: Apache-2.0
+*/
+
+#ifndef _BDROID_BUILDCFG_H
+#define _BDROID_BUILDCFG_H
+
+#define BTM_DEF_LOCAL_NAME "ADT-3"
+
+#define BLE_VND_INCLUDED TRUE
+
+#define BTA_DM_COD {0x20, BTM_COD_MAJOR_AUDIO, BTM_COD_MINOR_SET_TOP_BOX}
+
+// Turn off BLE_PRIVACY_SPT.  Remote reconnect fails on
+// often if this is enabled.
+#define BLE_PRIVACY_SPT FALSE
+
+#define BTM_BLE_CONN_INT_MIN_DEF     0x18
+#define BTM_BLE_CONN_INT_MAX_DEF     0x28
+#define BTM_BLE_CONN_TIMEOUT_DEF     200
+/* minimum acceptable connection interval */
+#define BTM_BLE_CONN_INT_MIN_LIMIT 0x0006  /*7.5ms=6*1.25*/
+
+#define BTM_BLE_SCAN_SLOW_INT_1 512
+
+/*fix r311&r321 bt not open*/
+#define KERNEL_MISSING_CLOCK_BOOTTIME_ALARM TRUE
+
+#endif
diff --git a/bluetooth/vnd_deadpool.txt b/bluetooth/vnd_deadpool.txt
new file mode 100644 (file)
index 0000000..6ff0f44
--- /dev/null
@@ -0,0 +1,10 @@
+BLUETOOTH_UART_DEVICE_PORT = "/dev/ttyS1"
+FW_PATCHFILE_LOCATION = "/vendor/etc/bluetooth/"
+UART_TARGET_BAUD_RATE = 2000000
+BT_WAKE_VIA_USERIAL_IOCTL = FALSE
+LPM_IDLE_TIMEOUT_MULTIPLE = 5
+SCO_USE_I2S_INTERFACE = FALSE
+BTVND_DBG = FALSE
+BTHW_DBG = TRUE
+VNDUSERIAL_DBG = FALSE
+UPIO_DBG = FALSE
index 7a14ab486382a7c22f832bae5892ce7f689a2ba4..4824034e3d49fbbe14a8a60fc7e951f143c6fe69 100644 (file)
--- a/device.mk
+++ b/device.mk
@@ -10,6 +10,14 @@ $(call inherit-product, vendor/askey/deadpool/deadpool-vendor.mk)
 
 $(call inherit-product, device/amlogic/g12-common/g12.mk)
 
+## Bluetooth
+PRODUCT_PACKAGES += \
+    libbt-vendor
+
 ## Kernel Modules
 PRODUCT_PACKAGES += \
     dhd
+
+## Overlays
+DEVICE_PACKAGE_OVERLAYS += \
+    $(DEVICE_PATH)/overlay
diff --git a/overlay/packages/apps/Bluetooth/res/values/config.xml b/overlay/packages/apps/Bluetooth/res/values/config.xml
new file mode 100644 (file)
index 0000000..4c1b8db
--- /dev/null
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2021 The LineageOS Project
+
+     SPDX-License-Identifier: Apache-2.0
+-->
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <bool name="enable_phone_policy">false</bool>
+    <bool name="pbap_include_photos_in_vcard">false</bool>
+    <bool name="profile_supported_hdp">false</bool>
+    <bool name="profile_supported_hs_hfp">false</bool>
+    <bool name="profile_supported_opp">false</bool>
+    <bool name="profile_supported_pbap">false</bool>
+</resources>