radxa0: Configure Broadcom Bluetooth/Wi-Fi HALs
authorNolen Johnson <johnsonnolen@gmail.com>
Fri, 25 Jun 2021 05:05:35 +0000 (01:05 -0400)
committerJan Altensen <info@stricted.net>
Fri, 30 Jul 2021 17:25:44 +0000 (19:25 +0200)
* 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_radxa0.txt [new file with mode: 0644]
device.mk
overlay/packages/apps/Bluetooth/res/values/config.xml [new file with mode: 0644]

index 1969b54cc743fdde44f3e9d2996f08d16ca76dd3..43fd1ff8a4e59279696187018971c745da68ace3 100644 (file)
@@ -8,8 +8,24 @@ include device/amlogic/g12-common/BoardConfigCommon.mk
 
 DEVICE_PATH := device/radxa/radxa0
 
+## Bluetooth
+BOARD_BLUETOOTH_BDROID_BUILDCFG_INCLUDE_DIR := $(DEVICE_PATH)/bluetooth/include
+BOARD_CUSTOM_BT_CONFIG := $(DEVICE_PATH)/bluetooth/vnd_radxa0.txt
+BOARD_HAVE_BLUETOOTH := true
+BOARD_HAVE_BLUETOOTH_BCM := true
+
 ## Bootloader
 TARGET_BOOTLOADER_BOARD_NAME := radxa0
 
 ## DTB
 TARGET_DTB_NAME := g12a_s905y2_radxa0
+
+## 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..5a600c5
--- /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 "Radxa Zero"
+
+#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_radxa0.txt b/bluetooth/vnd_radxa0.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 e62ca2388482d0bab9d756fc17a8b1a6c85505ca..1c65589bd204400abd8f3c6efb27202370e96898 100644 (file)
--- a/device.mk
+++ b/device.mk
@@ -8,6 +8,14 @@ DEVICE_PATH := device/radxa/radxa0
 
 $(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>