From 76fe7be8d8d23340bfee8705da4ef599739ade51 Mon Sep 17 00:00:00 2001 From: Nolen Johnson Date: Fri, 25 Jun 2021 01:05:35 -0400 Subject: [PATCH] radxa0: Configure Broadcom Bluetooth/Wi-Fi HALs * 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 | 16 ++++++++++ bluetooth/include/bdroid_buildcfg.h | 31 +++++++++++++++++++ bluetooth/vnd_radxa0.txt | 10 ++++++ device.mk | 8 +++++ .../apps/Bluetooth/res/values/config.xml | 13 ++++++++ 5 files changed, 78 insertions(+) create mode 100644 bluetooth/include/bdroid_buildcfg.h create mode 100644 bluetooth/vnd_radxa0.txt create mode 100644 overlay/packages/apps/Bluetooth/res/values/config.xml diff --git a/BoardConfig.mk b/BoardConfig.mk index 1969b54..43fd1ff 100644 --- a/BoardConfig.mk +++ b/BoardConfig.mk @@ -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 index 0000000..5a600c5 --- /dev/null +++ b/bluetooth/include/bdroid_buildcfg.h @@ -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 index 0000000..6ff0f44 --- /dev/null +++ b/bluetooth/vnd_radxa0.txt @@ -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 diff --git a/device.mk b/device.mk index e62ca23..1c65589 100644 --- 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 index 0000000..4c1b8db --- /dev/null +++ b/overlay/packages/apps/Bluetooth/res/values/config.xml @@ -0,0 +1,13 @@ + + + + false + false + false + false + false + false + -- 2.20.1