feeds: remove bluetooth-csr feed

Remove the old and unused bluetooth-csr feed which provided BlueZ
and CSR8811 Bluetooth chip support.

Signed-off-by: John Crispin <john@phrozen.org>
This commit is contained in:
John Crispin
2025-10-19 00:00:00 +02:00
parent 82cb988e56
commit ff704b282f
18 changed files with 0 additions and 1018 deletions

View File

@@ -1,162 +0,0 @@
#
# Copyright (C) 2006-2016 OpenWrt.org
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#
include $(TOPDIR)/rules.mk
PKG_NAME:=bluez
PKG_VERSION:=5.37
PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
PKG_SOURCE_URL:=@KERNEL/linux/bluetooth/
PKG_MD5SUM:=33177e5743e24b2b3738f72be64e3ffb
PKG_LICENSE:=GPL-2.0+
PKG_LICENSE_FILES:=COPYING
PKG_MAINTAINER:=Nicolas Thill <nico@openwrt.org>
PKG_INSTALL:=1
include $(INCLUDE_DIR)/package.mk
include $(INCLUDE_DIR)/nls.mk
define Package/bluez/Default
TITLE:=Bluetooth
URL:=http://www.bluez.org/
endef
define Package/bluez-examples
$(call Package/bluez/Default)
SECTION:=utils
CATEGORY:=Utilities
TITLE+= python example apps
DEPENDS:=
endef
define Package/bluez-examples/description
contains many examples apps for bluetooth, requiring python
endef
define Package/bluez-libs
$(call Package/bluez/Default)
SECTION:=libs
CATEGORY:=Libraries
TITLE+= library
DEPENDS:=+libpthread +kmod-bluetooth
endef
define Package/bluez-utils
$(call Package/bluez/Default)
SECTION:=utils
CATEGORY:=Utilities
TITLE+= utilities
DEPENDS:=+bluez-libs +libpthread +librt +glib2 +libncurses +libreadline $(INTL_DEPENDS) $(ICONV_DEPENDS)
endef
define Package/bluez-daemon
$(call Package/bluez/Default)
SECTION:=utils
CATEGORY:=Utilities
TITLE+= daemon
DEPENDS:=+bluez-libs +bluez-utils +dbus +libical $(INTL_DEPENDS) $(ICONV_DEPENDS)
endef
define Package/bluez-daemon/conffiles
/etc/bluetooth/main.conf
/etc/bluetooth/network.conf
/etc/bluetooth/input.conf
/etc/bluetooth/proximity.conf
/etc/config/bluetooth
endef
CONFIGURE_ARGS += \
--enable-static \
--enable-shared \
--enable-client \
--enable-datafiles \
--enable-experimental \
--enable-library \
--enable-monitor \
--enable-obex \
--enable-threads \
--enable-tools \
--disable-android \
--disable-cups \
--disable-manpages \
--disable-sixaxis \
--disable-systemd \
--disable-test \
--disable-udev \
TARGET_CPPFLAGS += \
-D_GNU_SOURCE
define Build/InstallDev
$(INSTALL_DIR) $(1)/usr/include
$(CP) $(PKG_INSTALL_DIR)/usr/include/bluetooth $(1)/usr/include/
$(INSTALL_DIR) $(1)/usr/lib
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libbluetooth.{a,so*} $(1)/usr/lib/
$(INSTALL_DIR) $(1)/usr/lib/pkgconfig
$(CP) $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/bluez.pc $(1)/usr/lib/pkgconfig/
endef
define Package/bluez-examples/install
$(INSTALL_DIR) $(1)/usr/bin/bluez
$(INSTALL_DATA) $(PKG_BUILD_DIR)/test/* $(1)/usr/bin/bluez/
endef
define Package/bluez-libs/install
$(INSTALL_DIR) $(1)/usr/lib
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libbluetooth.so.* $(1)/usr/lib/
endef
define Package/bluez-utils/install
$(INSTALL_DIR) $(1)/usr/bin
$(CP) $(PKG_INSTALL_DIR)/usr/bin/bccmd $(1)/usr/bin/
$(CP) $(PKG_INSTALL_DIR)/usr/bin/bluemoon $(1)/usr/bin/
$(CP) $(PKG_INSTALL_DIR)/usr/bin/btmon $(1)/usr/bin/
$(CP) $(PKG_BUILD_DIR)/tools/btmgmt $(1)/usr/bin/
$(CP) $(PKG_INSTALL_DIR)/usr/bin/ciptool $(1)/usr/bin/
$(CP) $(PKG_INSTALL_DIR)/usr/bin/hciattach $(1)/usr/bin/
$(CP) $(PKG_INSTALL_DIR)/usr/bin/hciconfig $(1)/usr/bin/
$(CP) $(PKG_INSTALL_DIR)/usr/bin/hcidump $(1)/usr/bin/
$(CP) $(PKG_INSTALL_DIR)/usr/bin/hcitool $(1)/usr/bin/
$(CP) $(PKG_INSTALL_DIR)/usr/bin/hex2hcd $(1)/usr/bin/
$(CP) $(PKG_INSTALL_DIR)/usr/bin/l2ping $(1)/usr/bin/
$(CP) $(PKG_INSTALL_DIR)/usr/bin/l2test $(1)/usr/bin/
$(CP) $(PKG_INSTALL_DIR)/usr/bin/rctest $(1)/usr/bin/
$(CP) $(PKG_INSTALL_DIR)/usr/bin/rfcomm $(1)/usr/bin/
$(CP) $(PKG_INSTALL_DIR)/usr/bin/sdptool $(1)/usr/bin/
$(INSTALL_BIN) $(PKG_BUILD_DIR)/attrib/gatttool $(1)/usr/bin/
endef
define Package/bluez-daemon/install
$(INSTALL_DIR) $(1)/usr/bin
$(CP) $(PKG_INSTALL_DIR)/usr/lib/bluetooth/bluetoothd $(1)/usr/bin/
$(CP) $(PKG_INSTALL_DIR)/usr/bin/bluetoothctl $(1)/usr/bin/
$(CP) $(PKG_INSTALL_DIR)/usr/lib/bluetooth/obexd $(1)/usr/bin/
$(INSTALL_DIR) $(1)/etc/config
$(INSTALL_DATA) ./files/bluetooth.config $(1)/etc/config/bluetooth
$(INSTALL_DIR) $(1)/etc/dbus-1/system.d/
$(INSTALL_DATA) ./files/bluetooth.dbus $(1)/etc/dbus-1/system.d/bluetooth.conf
$(INSTALL_DIR) $(1)/etc/bluetooth
$(INSTALL_DATA) $(PKG_BUILD_DIR)/src/main.conf $(1)/etc/bluetooth/main.conf
$(INSTALL_DATA) $(PKG_BUILD_DIR)/profiles/network/network.conf $(1)/etc/bluetooth/network.conf
$(INSTALL_DATA) $(PKG_BUILD_DIR)/profiles/input/input.conf $(1)/etc/bluetooth/input.conf
$(INSTALL_DATA) $(PKG_BUILD_DIR)/profiles/proximity/proximity.conf $(1)/etc/bluetooth/proximity.conf
$(INSTALL_DIR) $(1)/etc/init.d
$(INSTALL_BIN) ./files/bluetoothd.init $(1)/etc/init.d/bluetoothd
$(INSTALL_BIN) ./files/bluez-bccmd.init $(1)/etc/init.d/bluez-bccmd
$(INSTALL_DIR) $(1)/etc/bluetooth
$(INSTALL_DATA) ./files/csr8x11-a12-bt4.2-patch.psr $(1)/etc/bluetooth/
$(INSTALL_DATA) ./files/csr8x11-coex.psr $(1)/etc/bluetooth/
endef
$(eval $(call BuildPackage,bluez-examples))
$(eval $(call BuildPackage,bluez-libs))
$(eval $(call BuildPackage,bluez-utils))
$(eval $(call BuildPackage,bluez-daemon))

View File

@@ -1,15 +0,0 @@
config bluetoothd
# option config /etc/bluetooth/main.conf
option enabled 1
config hciattach
option initspeed 115200
option tty ttyS1
option type csr
option speed 115200
option flow noflow
option enabled 0
config rfcomm
# option config /etc/bluetooth/rfcomm.conf
option enabled 0

View File

@@ -1,37 +0,0 @@
<!-- This configuration file specifies the required security policies
for Bluetooth core daemon to work. -->
<!DOCTYPE busconfig PUBLIC "-//freedesktop//DTD D-BUS Bus Configuration 1.0//EN"
"http://www.freedesktop.org/standards/dbus/1.0/busconfig.dtd">
<busconfig>
<!-- ../system.conf have denied everything, so we just punch some holes -->
<policy user="root">
<allow own="org.bluez"/>
</policy>
<policy at_console="true">
<allow send_path="/"/>
<allow send_path="/org/bluez"/>
<allow send_destination="org.bluez.Manager"/>
<allow receive_sender="org.bluez.Manager"/>
<allow send_destination="org.bluez.Adapter"/>
<allow receive_sender="org.bluez.Adapter"/>
<allow send_destination="org.bluez.Device"/>
<allow receive_sender="org.bluez.Device"/>
<allow send_destination="org.bluez.Service"/>
<allow receive_sender="org.bluez.Service"/>
<allow send_destination="org.bluez.Database"/>
<allow receive_sender="org.bluez.Database"/>
<allow send_destination="org.bluez.Security"/>
<allow receive_sender="org.bluez.Security"/>
</policy>
</busconfig>

View File

@@ -1,13 +0,0 @@
#!/bin/sh /etc/rc.common
# Copyright (C) 2007 OpenWrt.org
#start after dbus (60)
START=62
USE_PROCD=1
PROG=/usr/bin/bluetoothd
start_service() {
procd_open_instance
procd_set_param command "$PROG" -n
procd_close_instance
}

View File

@@ -1,43 +0,0 @@
#!/bin/sh /etc/rc.common
. /lib/ar71xx.sh
START=63
bt_up(){
hciconfig hci0 up
count=5
while [ $count -gt 0 ]
do
if hciconfig hci0 lestates >/dev/null; then
break;
fi
let count=$count-1
sleep 1
done
if [ $count -eq 0 ];then
echo "Failed to enable hci0" >> /tmp/log/bccmd
fi
}
bccmd_init_csr8x11() {
bt_up
bccmd -t hci -d hci0 psload /etc/bluetooth/csr8x11-a12-bt4.2-patch.psr
bccmd -t hci -d hci0 psload /etc/bluetooth/csr8x11-coex.psr
bccmd -t hci -d hci0 warmreset
bt_up
}
start() {
board_name=$(ar71xx_board_name)
case "$board_name" in
cus531mp3|\
cus531mp3-dual|\
cus531mp3-nand)
bccmd_init_csr8x11
;;
esac
}

View File

@@ -1,50 +0,0 @@
// explicit, PSKEY_HCI_LMP_LOCAL_VERSION (0x010d, 269), 1 words
&010d = 0808
// explicit, PSKEY_LMP_REMOTE_VERSION (0x010e, 270), 1 words
&010e = 0008
// patch_hardware_0, PSKEY_PATCH50 (0x212c, 8492), 56 words
&212c = 0000 f001 0617 0513 0118 ff2b ff0e 1a00 2818 009e 081b f100 8888 24f0 f925 f821 0a17 0184 0cf0 0117 0013 0009 02a4 fb25 fa21 f915 f811 fb55 fa61 09e0 ff84 10f0 0117 0013 0009 02a4 f935 f841 f925 f821 0f1b 0712 10a4 0494 0712 e151 0722 f915 f811 0018 ff2b ff0e f000 0518 00e2 5a79
// patch_hardware_1, PSKEY_PATCH51 (0x212d, 8493), 21 words
&212d = 0002 968a 0863 f925 f821 0757 0663 e099 02ec 05e0 f915 0727 f815 0627 0218 ff2b ff0e 9700 8d18 00e2 7e34
// patch_hardware_2, PSKEY_PATCH52 (0x212e, 8494), 16 words
&212e = 0002 0b5a 0100 7834 0040 0327 0223 f815 e311 0218 ff2b ff0e 0b00 5e18 00e2 59c1
// patch_hardware_3, PSKEY_PATCH53 (0x212f, 8495), 17 words
&212f = 0000 7315 0084 04f0 0800 0014 03e0 f800 1215 0b27 0018 ff2b ff0e 7300 1818 00e2 0549
// patch_hardware_4, PSKEY_PATCH54 (0x2130, 8496), 21 words
&2130 = 0001 53f8 0817 0e27 0c00 6384 07f0 0118 ff2b ff0e 5400 0918 00e2 0917 0118 ff2b ff0e 5400 fb18 00e2 91f6
// patch_hardware_5, PSKEY_PATCH55 (0x2131, 8497), 49 words
&2131 = 0002 c0d5 0423 05f4 031b 0012 0280 1df0 021b 0916 1000 00c4 1ef0 0916 03c4 1bf4 031b 0012 0280 17f4 0380 15f4 0480 13f4 0580 11f4 0680 0ff4 0b80 0df4 0d80 0bf4 019c fb00 6719 0d9e 0218 ff2b ff0e c200 8c18 00e2 0218 ff2b ff0e c100 de18 00e2 c5cf
// patch_hardware_6, PSKEY_PATCH56 (0x2132, 8498), 42 words
&2132 = 0003 243f f40b 0827 0923 e019 0916 01b4 0926 0318 ff2b ff0e 2400 4218 00e2 fa0b 3d14 0327 0114 0227 0014 0127 0027 081b 0816 0218 ff2b ff0e f700 fd18 009e e111 081b 0816 0218 ff2b ff0e 3300 ff18 009e fa0f 40f2
// patch_hardware_7, PSKEY_PATCH57 (0x2133, 8499), 23 words
&2133 = 0003 254e 02c0 0916 1000 00c4 02f4 02b0 0916 fec4 e1b1 0922 0816 0318 ff2b ff0e 2500 5218 8000 00c0 08f2 00e2 e402
// patch_hardware_8, PSKEY_PATCH58 (0x2134, 8500), 16 words
&2134 = 0003 21ca fa0b 0227 0323 e019 0916 01b4 0926 0318 ff2b ff0e 2200 cd18 00e2 22dc
// patch_hardware_9, PSKEY_PATCH59 (0x2135, 8501), 18 words
&2135 = 0000 55e2 09f4 0218 ff2b ff0e 2c00 a718 009e 0314 fc0f 0018 ff2b ff0e 5600 0118 00e2 a008
// patch_hardware_10, PSKEY_PATCH60 (0x2136, 8502), 30 words
&2136 = 0004 0d80 1aa4 0418 ff2b ff0e 1d00 ba18 009e 0184 0d2c 0013 8f00 89d0 0117 bf00 d6d4 0318 ff2b ff0e 2700 4218 009e 0418 ff2b ff0e 0e00 8418 00e2 6855
// patch_hardware_11, PSKEY_PATCH61 (0x2137, 8503), 22 words
&2137 = 0002 4da5 0118 ff2b ff0e 6200 c518 009e 031b 2b22 fcc4 2c26 0114 e700 f025 0218 ff2b ff0e 4e00 a818 00e2 8dfc
// patch_sched_get_or_peek_message, PSKEY_PATCH123 (0x220b, 8715), 49 words
&220b = fa0b 0717 0484 2cf0 0617 0690 e119 0c00 d438 041a 001a 022b 23f4 0116 0184 20f0 0216 0327 1df4 e119 0016 0784 19f0 e500 ab15 8000 0054 0100 c018 ff2b fe27 0317 ff0e fe9f e199 0cf4 7d00 f214 0127 0014 0027 0317 000e 019f 0014 021b 0226 fa0f 8392
// patch_spare1, PSKEY_PATCH155 (0x222b, 8747), 60 words
&222b = e70b 1627 a100 8514 0227 0214 0127 6b00 d814 0427 0214 0327 0417 fe27 0317 ff27 1613 0230 0814 0027 e415 0534 ff0e fe9f 0513 0009 01a4 e015 7fc4 7f84 1bf0 0617 1584 18f0 161b 0116 010e 029f e119 049a 11f4 0116 4184 0ef0 e500 ac11 8000 0050 0100 c014 ff27 fe23 0816 ff0e fe9f 0114 02e0 0014 e70f 4d65
// patch_spare2, PSKEY_PATCH156 (0x222c, 8748), 40 words
&222c = f40b 0927 2900 d414 0427 0314 0327 3500 ea14 0627 0314 0527 2900 9614 0827 0414 0727 0917 0110 070e 089f 0917 030e 049f 0617 fe27 0517 ff27 7f14 0027 1514 0127 2a14 0227 0114 0913 ff0e fe9f f40f 3478

View File

@@ -1,38 +0,0 @@
// Set the crystal frequency to 26MHz
&01fe = 6590
// PSKEY_COEX_SCHEME
// 7 = Use Unity-e.
&2480 = 0007
// Signal Configuration
// --------------------
// PSKEY_COEX_PIO_UNITY_3_BT_ACTIVE
// BT_ACTIVE (PIO=0, polarity=active high)
&2483 = 0000 0001
// PSKEY_COEX_PIO_UNITY_3_BT_STATUS
// BT_STATUS (PIO=5, polarity=active high)
&2484 = 0005 0001
// PSKEY_COEX_PIO_UNITY_3_WLAN_DENY
// WLAN_DENY (PIO=1, polarity=active high)
&2485 = 0001 0001
// Priority Configuration
// ----------------------
// PSKEY_coex_transaction_priority_table
&2488 = 0000 0000 0000 0000 0000 0001 0001 0000 0000 0000 0000 0000 0000 0000 0000 0000 0001
// PSKEY_COEX_BLE_TRANSACTION_PRIORITY_TABLE
&2493 = 0000 0000 0000 0000 0000 0000 0000 0000 0001 0001 0001 0000 0000 0000 0000 0001
// PSKEY_COEX_UNITY_EXPRESS_TIMINGS
// BT_ACTIVE lead time - 20 us
// BT_STATUS lead time - 12 us
&248a = 0014 000c
//Disable clock request on PIO2
&0246 = 0000

View File

@@ -1,14 +0,0 @@
#!/bin/sh
# Write bluetooth PIN number here:
pin=
if [ -z "$pin" ]; then
msg="Set bluetooth PIN in file $0"
logger -p user.err "$msg"
for i in /dev/pts/* ; do
[ -w $i ] && echo "$msg" > $i
done
else
echo "PIN:$pin"
fi

View File

@@ -1,40 +0,0 @@
--- a/tools/hciattach.c
+++ b/tools/hciattach.c
@@ -101,20 +101,37 @@ int uart_speed(int s)
return B230400;
case 460800:
return B460800;
+/* FIX: Not all platform support this high serial speed
+ claudyus84 @gamil.com
+*/
+#ifdef B500000
case 500000:
return B500000;
+#endif
+#ifdef B576000
case 576000:
return B576000;
+#endif
+#ifdef B921600
case 921600:
return B921600;
+#endif
+#ifdef B1000000
case 1000000:
return B1000000;
+#endif
+#ifdef B1152000
case 1152000:
return B1152000;
+#endif
+#ifdef B1500000
case 1500000:
return B1500000;
+#endif
+#ifdef B2000000
case 2000000:
return B2000000;
+#endif
#ifdef B2500000
case 2500000:
return B2500000;

View File

@@ -1,48 +0,0 @@
--- a/Makefile.in
+++ b/Makefile.in
@@ -2441,7 +2441,7 @@ unit_tests = $(am__append_35) unit/test-
@CLIENT_TRUE@ monitor/uuid.h monitor/uuid.c
@CLIENT_TRUE@client_bluetoothctl_LDADD = gdbus/libgdbus-internal.la @GLIB_LIBS@ @DBUS_LIBS@ \
-@CLIENT_TRUE@ -lreadline
+@CLIENT_TRUE@ -lreadline -lncurses
@MONITOR_TRUE@monitor_btmon_SOURCES = monitor/main.c monitor/bt.h \
@MONITOR_TRUE@ monitor/display.h monitor/display.c \
@@ -2691,13 +2691,13 @@ unit_tests = $(am__append_35) unit/test-
@READLINE_TRUE@ client/display.h
@READLINE_TRUE@attrib_gatttool_LDADD = lib/libbluetooth-internal.la \
-@READLINE_TRUE@ src/libshared-glib.la @GLIB_LIBS@ -lreadline
+@READLINE_TRUE@ src/libshared-glib.la @GLIB_LIBS@ -lreadline -lncurses
@READLINE_TRUE@tools_obex_client_tool_SOURCES = $(gobex_sources) $(btio_sources) \
@READLINE_TRUE@ tools/obex-client-tool.c
@READLINE_TRUE@tools_obex_client_tool_LDADD = lib/libbluetooth-internal.la \
-@READLINE_TRUE@ @GLIB_LIBS@ -lreadline
+@READLINE_TRUE@ @GLIB_LIBS@ -lreadline -lncurses
@READLINE_TRUE@tools_obex_server_tool_SOURCES = $(gobex_sources) $(btio_sources) \
@READLINE_TRUE@ tools/obex-server-tool.c
@@ -2707,17 +2707,17 @@ unit_tests = $(am__append_35) unit/test-
@READLINE_TRUE@ client/display.h client/display.c
@READLINE_TRUE@tools_bluetooth_player_LDADD = gdbus/libgdbus-internal.la \
-@READLINE_TRUE@ @GLIB_LIBS@ @DBUS_LIBS@ -lreadline
+@READLINE_TRUE@ @GLIB_LIBS@ @DBUS_LIBS@ -lreadline -lncurses
@READLINE_TRUE@tools_obexctl_SOURCES = tools/obexctl.c \
@READLINE_TRUE@ client/display.h client/display.c
@READLINE_TRUE@tools_obexctl_LDADD = gdbus/libgdbus-internal.la \
-@READLINE_TRUE@ @GLIB_LIBS@ @DBUS_LIBS@ -lreadline
+@READLINE_TRUE@ @GLIB_LIBS@ @DBUS_LIBS@ -lreadline -lncurses
@READLINE_TRUE@tools_btmgmt_SOURCES = tools/btmgmt.c src/uuid-helper.c client/display.c
@READLINE_TRUE@tools_btmgmt_LDADD = lib/libbluetooth-internal.la src/libshared-mainloop.la \
-@READLINE_TRUE@ -lreadline
+@READLINE_TRUE@ -lreadline -lncurses
@EXPERIMENTAL_TRUE@tools_gatt_service_SOURCES = tools/gatt-service.c
@EXPERIMENTAL_TRUE@tools_gatt_service_LDADD = @GLIB_LIBS@ @DBUS_LIBS@ gdbus/libgdbus-internal.la

View File

@@ -1,14 +0,0 @@
--- a/profiles/audio/a2dp-codecs.h
+++ b/profiles/audio/a2dp-codecs.h
@@ -234,6 +234,11 @@ typedef struct {
uint8_t channel_mode:4;
} __attribute__ ((packed)) a2dp_aptx_t;
+typedef struct {
+ a2dp_vendor_codec_t info;
+ uint8_t unknown[2];
+} __attribute__ ((packed)) a2dp_ldac_t;
+
#else
#error "Unknown byte order"
#endif

View File

@@ -1,14 +0,0 @@
--- a/tools/bccmd.c
+++ b/tools/bccmd.c
@@ -48,7 +48,7 @@
#define CSR_STORES_PSF (0x0002)
#define CSR_STORES_PSROM (0x0004)
#define CSR_STORES_PSRAM (0x0008)
-#define CSR_STORES_DEFAULT (CSR_STORES_PSI | CSR_STORES_PSF)
+#define CSR_STORES_DEFAULT 0
#define CSR_TYPE_NULL 0
#define CSR_TYPE_COMPLEX 1
--
2.1.4

View File

@@ -1,93 +0,0 @@
diff --git a/tools/bccmd.c b/tools/bccmd.c
old mode 100644
new mode 100755
index 6bc28da..1605d1c
--- a/tools/bccmd.c
+++ b/tools/bccmd.c
@@ -636,6 +636,78 @@ static int opt_pskey(int argc, char *argv[], uint16_t *stores, int *reset, int *
return optind;
}
+int inline serialize_u32(uint8_t *array, uint32_t val32)
+{
+ if (NULL == array)
+ return -1;
+
+ array[0] = (val32 & 0xff0000) >> 16;
+ array[1] = val32 >> 24;
+ array[2] = val32 & 0xff;
+ array[3] = (val32 & 0xff00) >> 8;
+
+ return 0;
+}
+
+int inline deserialize_u32(uint8_t *array, uint32_t *pval32)
+{
+ if (NULL == array || NULL == pval32)
+ return -1;
+
+ *pval32 = (array[1]<<24)
+ | (array[0]<<16)
+ | (array[3]<<8)
+ | array[2];
+ return 0;
+}
+
+static int setpio32(int transport, uint32_t varID, uint32_t mask, uint32_t bits)
+{
+ uint8_t array[32];
+ uint8_t *ptr = NULL;
+ uint32_t result = 0;
+ int err;
+
+ memset(array, 0, sizeof(array));
+ ptr = array;
+
+ serialize_u32(ptr, mask);
+ ptr += 4;
+
+ serialize_u32(ptr, bits);
+
+ err = transport_write(transport, varID, array, 12);
+ if (err < 0)
+ return err;
+
+ deserialize_u32(&array[8], &result);
+ printf("result: 0x%x\n", result);
+
+ return 0;
+
+}
+
+
+static int cmd_pio32set(int transport, int argc, char *argv[])
+{
+ uint32_t varID;
+ uint32_t mask;
+ uint32_t bits;
+
+ argc--;
+ argv++;
+
+ if (3 != argc)
+ return -1;
+
+ varID = strtol(argv[0] + 2, NULL, 16);
+ mask = strtol(argv[1] + 2, NULL, 16);
+ bits = strtol(argv[2] + 2, NULL, 16);
+
+ return setpio32(transport, varID, mask, bits);
+}
+
+
#define OPT_PSKEY(min, max, stores, reset, help) \
opt_pskey(argc, argv, (stores), (reset), (help)); \
argc -= optind; argv += optind; optind = 0; \
@@ -1112,6 +1184,7 @@ static struct {
{ "psread", cmd_psread, NULL, "Read all PS keys" },
{ "psload", cmd_psload, "<file>", "Load all PS keys from PSR file" },
{ "pscheck", cmd_pscheck, "<file>", "Check PSR file" },
+ { "pio32set", cmd_pio32set, "<VarID> <mask> <bits>","Set value for PIO32 register" },
{ "adc", cmd_adc, "<mux>", "Read ADC value of <mux> input" },
{ NULL }
};

View File

@@ -1,50 +0,0 @@
diff --git a/tools/bccmd.c b/tools/bccmd.c
index 1605d1c..5655bb5 100755
--- a/tools/bccmd.c
+++ b/tools/bccmd.c
@@ -555,6 +555,37 @@ static int cmd_radiotest(int transport, int argc, char *argv[])
return transport_write(transport, CSR_VARID_RADIOTEST, array, 8);
}
+static int cmd_fullradiotest(int transport, int argc, char *argv[])
+{
+ uint8_t array[8];
+ uint16_t testID;
+ uint16_t word1;
+ uint16_t word2;
+ uint16_t word3;
+
+ OPT_HELP(4, NULL);
+
+ testID = atoi(argv[0]);
+ word1 = atoi(argv[1]);
+ word2 = atoi(argv[2]);
+ word3 = atoi(argv[3]);
+
+ printf("TestID %u, word1 %u, word2 %u, word3 %u\n",
+ testID, word1, word2, word3);
+
+ memset(array, 0, sizeof(array));
+ array[0] = testID & 0xff;
+ array[1] = testID >> 8;
+ array[2] = word1 & 0xff;
+ array[3] = word1 >> 8;
+ array[4] = word2 & 0xff;
+ array[5] = word2 >> 8;
+ array[6] = word3 & 0xff;
+ array[7] = word3 >> 8;
+
+ return transport_write(transport, CSR_VARID_RADIOTEST, array, 8);
+}
+
static int cmd_memtypes(int transport, int argc, char *argv[])
{
uint8_t array[8];
@@ -1176,6 +1207,7 @@ static struct {
{ "hoppingon", cmd_hoppingon, "", "Revert to channel hopping" },
{ "rttxdata1", cmd_rttxdata1, "<freq> <level>", "TXData1 radio test" },
{ "radiotest", cmd_radiotest, "<freq> <level> <id>", "Run radio tests" },
+ { "fullradiotest", cmd_fullradiotest,"<id> <w1> <w2> <w3>", "Run full radio tests" },
{ "memtypes", cmd_memtypes, NULL, "Get memory types" },
{ "psget", cmd_psget, "<key>", "Get value for PS key" },
{ "psset", cmd_psset, "<key> <value>", "Set value for PS key" },

View File

@@ -1,29 +0,0 @@
Index: bluez-5.37/profiles/input/hog.c
===================================================================
--- bluez-5.37.orig/profiles/input/hog.c
+++ bluez-5.37/profiles/input/hog.c
@@ -107,8 +107,13 @@ static struct hog_device *hog_device_new
product, version);
dev = new0(struct hog_device, 1);
- dev->device = btd_device_ref(device);
dev->hog = bt_hog_new_default(name, vendor, product, version, prim);
+ if (!dev->hog) {
+ free(dev);
+ return NULL;
+ }
+
+ dev->device = btd_device_ref(device);
/*
* TODO: Remove attio callback and use .accept once using
@@ -189,6 +194,9 @@ static int hog_probe(struct btd_service
continue;
dev = hog_device_new(device, prim);
+ if (!dev)
+ break;
+
btd_service_set_user_data(service, dev);
return 0;
}

View File

@@ -1,29 +0,0 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=csr8811
PKG_RELEASE:=1
PKG_MAINTAINER:=John Crispin <john@phrozen.org>
include $(INCLUDE_DIR)/package.mk
define Package/csr8811
SECTION:=utils
CATEGORY:=Utilities
TITLE:=TIP CSR8811 support package
endef
define Build/Prepare
mkdir -p $(PKG_BUILD_DIR)
endef
define Build/Compile/Default
endef
Build/Compile = $(Build/Compile/Default)
define Package/csr8811/install
$(CP) ./files/* $(1)
endef
$(eval $(call BuildPackage,csr8811))

View File

@@ -1,9 +0,0 @@
#!/bin/sh /etc/rc.common
START=80
boot() {
bccmd -t bcsp -b 115200 -d /dev/ttyMSM1 psload -r /lib/firmware/CSR8811/pb-207-csr8x11-rev8.psr
sleep 1
hciattach -s 115200 /dev/ttyMSM1 any 115200
}

View File

@@ -1,320 +0,0 @@
// =============================================================================
//
// Copyright (c) 2015 - 2017 Qualcomm Technologies International, Ltd.
// All Rights Reserved.
// Qualcomm Technologies International, Ltd. Confidential and Proprietary.
// report this in case of problems:
// $Revision: #8 $
// Built Mon Feb 20 11:33:32 2017 GMT
// Checked-in $DateTime: 2017/02/20 11:36:26 $
// $File: //depot/bc/gemini-a12/dev/patches/10520/pb-207.psr $
//
// Patch is for build 10520 gem_5hci_rom_bt4.1_gemA12_1407301204_dspm_encr128
//
// Issues patched: B-158094, B-169261, B-171616, B-174351, B-176411,
// B-179448, B-180762, B-184008, B-206751, B-208678,
// B-216310, B-220605, B-223811
//
// Documentation from pb-207.pb
// ----------------------------
//
// General purpose patch and PSKEY bundle for CSR8811
// and CSR8311 A12 BT4.2 (build ID 10520).
//
// Documentation from pb-173-common.pb
// -----------------------------------
//
// General patch bundle for Gemini-A12 (build ID 10520)
// Patches and keys in here should be common to all
// package variants.
//
// Documentation from report_bt4p2.pb
// ----------------------------------
//
// Issues patched: B-174351
//
// Report BT version 4.2
//
// Documentation from patch_ulp_adv_avg_to_calc.xap
// ------------------------------------------------
//
// Issues patched: B-171616
//
// BlueCore can be configured through BCCMDVARID_BLE_CONFIG_ADV_RSSI_AVG_PARAM
// to report the advertising rssi average through LE ADVERTISING REPORT to the
// host for a given PEER LE device.
// For more information, See CS-317256-AN.
//
// If the BlueCore is unable to receive a LE ADVERTISING REPORT from the PEER
// before a configured average rssi supervision timeout, then the BlueCore
// should send a LE ADVERTISING REPORT with rssi value equal to -127 conveying
// that the PEER is out of the range; however, it fails to do this.
//
// Documentation from patch_ble_scan_deaf.xap
// ------------------------------------------
//
// Issues patched: B-158094
//
// When BlueCore is asked to do BLE scanning, it scans for a window
// approximately 2.5% shorter than asked for. Generally, this does
// not cause noticeable effects; sometimes BLE adverts can be missed
// making connection initialisation between two BLE devices take
// somewhat longer than expected. In pathological cases, especially
// if the scan window is long, connections may fail to be made entirely.
//
// Documentation from patch_usb_suspend_deep_sleep.xap
// ---------------------------------------------------
//
// Issues patched: B-176411
//
// When BlueCore device is bus powered and is in USB suspend mode,
// the current consumption is approximately 8 mA which is higher
// than the expected current of 250 uA
//
// Documentation from patch_tx_if_reduction.xap
// --------------------------------------------
//
// Issues patched: B-169261
//
// When a BlueCore7 device is configured to use a +/-500 kHz transmit IF, this
// can be overridden and a +/-375 kHz IF used instead. This reduces the
// bandwidthof the transmit spectrum providing a greater margin in a Chinese
// regulatory test.
// Only transmit IFs of +/-500 kHz may be reduced; if BlueCore7 is configured to
// use a TX IF of +/-1 MHz IF that will remain unchanged.
//
// Documentation from coex_shutdown.xap
// ------------------------------------
//
// Issues patched: B-208678
//
// With Coexistence Unity-3 scheme, If the WLAN_DENY signal is asserted during
// the initial phase of an adaptive frequency hopping(AFH) scan, the Bluecore
// device fails to deassert its BT_ACTIVE signal
//
// Documentation from patch_access_address.xap
// -------------------------------------------
//
// Issues patched: B-206751
//
// BlueCore devices may generate access addresses that only
// have one bit transition in the 6 most significant bits.
// The problem is seen on access addresses that have the most
// significant bit set to one and only have one bit transition
// in the 6 most significant bits.
//
// Furthermore, the access address, whilst not identical to the
// advertising channel packets Access Address, may differ by
// only one bit.
//
// Documentation from patch_sched_get_or_peek_message.c
// ----------------------------------------------------
//
// Issues patched: B-220605
//
// During the crossover of a locally initiated
// LMP_unsniff_req and peer initiated LMP_sniff_subrate_req,
// Bluecore responds with LMP_Sniff_Subrate_Rsp even if it
// has initiated LMP_unsniff. This probably confuses peer and
// peer stops responding, leading to a timeout.
//
// Documentation from patch_sched_get_or_peek_message_part2.c
// ----------------------------------------------------------
//
// Issues patched: B-220605
//
// During the crossover of a locally initiated
// LMP_unsniff_req and peer initiated LMP_sniff_subrate_req,
// Bluecore responds with LMP_Sniff_Subrate_Rsp even if it
// has initiated LMP_unsniff. This probably confuses peer and
// peer stops responding, leading to a timeout.
//
// Documentation from patch_ble_advt_restart.xap
// ---------------------------------------------
//
// Issues patched: B-223811
//
// When advertisements are disabled before the expiry of the interval
// and enabled immediately the advertisements are not sent before the
// expiry of the advertising interval
//
// Documentation from patch_whitelist_connection_status.xap
// --------------------------------------------------------
//
// Issues patched: B-180762
//
// If a BlueCore device attempts but fails to form a Low Energy (LE) connection
// to a remote slave using the whitelist, it will make no further attempts to
// initiate a connection to that slave until either the BlueCore is reset or the
// slave is removed and re-added to the whitelist.
//
// Documentation from patch_semp2.xap
// ----------------------------------
//
// Issues patched: B-184008
//
// If HCI_SET_EVENT_MASK_PAGE_2 command is sent with wrong parameters
// to Bluecore device, it returns error code
// 'INVALID_HCI_COMMAND_PARAMETERS'. It should return error code
// 'UNKNOWN_HCI_COMMAND'.
//
// Documentation from patch_disc_ll_pdu.xap
// ----------------------------------------
//
// Issues patched: B-179448
//
// If a BlueCore device in the Connection State (regardless if in master or
// slave role) receives an unexpected Data Channel PDU from the peer Link Layer
// during the encryption start or encryption pause procedure, it does not exit
// the Connection State and does not notify the Host with error code
// "Connection Terminated Due to MIC Failure (0x3d)".
//
// Documentation from patch_fsm_shared_patchpoint.c
// ------------------------------------------------
//
// Issues patched: B-216310
//
// In a particular scenario where the peer device retries a Role Switch
// (after a failed Role Switch) without EPR sequence, the Hydra/BlueCore
// Devices do not handle the user data Start/Stop operation properly.
// As a result the user data does not resume after the procedure is finished.
//
// Version information for input files
// -----------------------------------
//
// Created by patchmaker.pl Revision: #68 Date: 2016/01/18
//
// Input file: pb-207.pb
// Depot file: //depot/bc/gemini-a12/dev/patches/10520/pb-207.pb
// File revision: 4
//
// Input file: pb-173-common.pb
// Depot file: //depot/bc/gemini-a12/dev/patches/10520/pb-173-common.pb
// File revision: 7
//
// Input file: report_bt4p2.pb
// Depot file: //depot/bc/gemini-a12/dev/patches/10520/report_bt4p2.pb
// File revision: 1
//
// Input file: patch_ulp_adv_avg_to_calc.xap
// Depot file: //depot/bc/gemini-a12/dev/patches/10520/patch_ulp_adv_avg_to_calc.xap
// File revision: 4
//
// Input file: ../patch_utils.inc
// Depot file: //depot/bc/gemini-a12/dev/patches/patch_utils.inc
// File revision: 1
//
// Input file: patch_ble_scan_deaf.xap
// Depot file: //depot/bc/gemini-a12/dev/patches/10520/patch_ble_scan_deaf.xap
// File revision: 3
//
// Input file: patch_usb_suspend_deep_sleep.xap
// Depot file: //depot/bc/gemini-a12/dev/patches/10520/patch_usb_suspend_deep_sleep.xap
// File revision: 3
//
// Input file: patch_tx_if_reduction.xap
// Depot file: //depot/bc/gemini-a12/dev/patches/10520/patch_tx_if_reduction.xap
// File revision: 1
//
// Input file: coex_shutdown.xap
// Depot file: //depot/bc/gemini-a12/dev/patches/10520/coex_shutdown.xap
// File revision: 3
//
// Input file: patch_access_address.xap
// Depot file: //depot/bc/gemini-a12/dev/patches/10520/patch_access_address.xap
// File revision: 2
//
// Input file: patch_sched_get_or_peek_message.c
// Depot file: //depot/bc/gemini-a12/dev/patches/10520/patch_sched_get_or_peek_message.c
// File revision: 3
//
// Input file: patch_sched_get_or_peek_message_part2.c
// Depot file: //depot/bc/gemini-a12/dev/patches/10520/patch_sched_get_or_peek_message_part2.c
// File revision: 2
//
// Input file: patch_ble_advt_restart.xap
// Depot file: //depot/bc/gemini-a12/dev/patches/10520/patch_ble_advt_restart.xap
// File revision: 2
//
// Input file: patch_whitelist_connection_status.xap
// Depot file: //depot/bc/gemini-a12/dev/patches/10520/patch_whitelist_connection_status.xap
// File revision: 4
//
// Input file: patch_semp2.xap
// Depot file: //depot/bc/gemini-a12/dev/patches/10520/patch_semp2.xap
// File revision: 3
//
// Input file: patch_disc_ll_pdu.xap
// Depot file: //depot/bc/gemini-a12/dev/patches/10520/patch_disc_ll_pdu.xap
// File revision: 4
//
// Input file: patch_fsm_shared_patchpoint.c
// Depot file: //depot/bc/gemini-a12/dev/patches/10520/patch_fsm_shared_patchpoint.c
// File revision: 3
// explicit, PSKEY_HCI_LMP_LOCAL_VERSION (0x010d, 269), 1 words
&010d = 0808
// explicit, PSKEY_LMP_REMOTE_VERSION (0x010e, 270), 1 words
&010e = 0008
// patch_hardware_0, PSKEY_PATCH50 (0x212c, 8492), 56 words
&212c = 0000 f001 0617 0513 0118 ff2b ff0e 1a00 2818 009e 081b f100 8888 24f0 f925 f821 0a17 0184 0cf0 0117 0013 0009 02a4 fb25 fa21 f915 f811 fb55 fa61 09e0 ff84 10f0 0117 0013 0009 02a4 f935 f841 f925 f821 0f1b 0712 10a4 0494 0712 e151 0722 f915 f811 0018 ff2b ff0e f000 0518 00e2 5a79
// patch_hardware_1, PSKEY_PATCH51 (0x212d, 8493), 21 words
&212d = 0002 968a 0863 f925 f821 0757 0663 e099 02ec 05e0 f915 0727 f815 0627 0218 ff2b ff0e 9700 8d18 00e2 7e34
// patch_hardware_2, PSKEY_PATCH52 (0x212e, 8494), 16 words
&212e = 0002 0b5a 0100 7834 0040 0327 0223 f815 e311 0218 ff2b ff0e 0b00 5e18 00e2 59c1
// patch_hardware_3, PSKEY_PATCH53 (0x212f, 8495), 17 words
&212f = 0000 7315 0084 04f0 0800 0014 03e0 f800 1215 0b27 0018 ff2b ff0e 7300 1818 00e2 0549
// patch_hardware_4, PSKEY_PATCH54 (0x2130, 8496), 21 words
&2130 = 0001 53f8 0817 0e27 0c00 6384 07f0 0118 ff2b ff0e 5400 0918 00e2 0917 0118 ff2b ff0e 5400 fb18 00e2 91f6
// patch_hardware_5, PSKEY_PATCH55 (0x2131, 8497), 49 words
&2131 = 0002 c0d5 0423 05f4 031b 0012 0280 1df0 021b 0916 1000 00c4 1ef0 0916 03c4 1bf4 031b 0012 0280 17f4 0380 15f4 0480 13f4 0580 11f4 0680 0ff4 0b80 0df4 0d80 0bf4 019c fb00 6719 0d9e 0218 ff2b ff0e c200 8c18 00e2 0218 ff2b ff0e c100 de18 00e2 c5cf
// patch_hardware_6, PSKEY_PATCH56 (0x2132, 8498), 42 words
&2132 = 0003 243f f40b 0827 0923 e019 0916 01b4 0926 0318 ff2b ff0e 2400 4218 00e2 fa0b 3d14 0327 0114 0227 0014 0127 0027 081b 0816 0218 ff2b ff0e f700 fd18 009e e111 081b 0816 0218 ff2b ff0e 3300 ff18 009e fa0f 40f2
// patch_hardware_7, PSKEY_PATCH57 (0x2133, 8499), 23 words
&2133 = 0003 254e 02c0 0916 1000 00c4 02f4 02b0 0916 fec4 e1b1 0922 0816 0318 ff2b ff0e 2500 5218 8000 00c0 08f2 00e2 e402
// patch_hardware_8, PSKEY_PATCH58 (0x2134, 8500), 16 words
&2134 = 0003 21ca fa0b 0227 0323 e019 0916 01b4 0926 0318 ff2b ff0e 2200 cd18 00e2 22dc
// patch_hardware_9, PSKEY_PATCH59 (0x2135, 8501), 18 words
&2135 = 0000 55e2 09f4 0218 ff2b ff0e 2c00 a718 009e 0314 fc0f 0018 ff2b ff0e 5600 0118 00e2 a008
// patch_hardware_10, PSKEY_PATCH60 (0x2136, 8502), 30 words
&2136 = 0004 0d80 1aa4 0418 ff2b ff0e 1d00 ba18 009e 0184 0d2c 0013 8f00 89d0 0117 bf00 d6d4 0318 ff2b ff0e 2700 4218 009e 0418 ff2b ff0e 0e00 8418 00e2 6855
// patch_hardware_11, PSKEY_PATCH61 (0x2137, 8503), 22 words
&2137 = 0002 4da5 0118 ff2b ff0e 6200 c518 009e 031b 2b22 fcc4 2c26 0114 e700 f025 0218 ff2b ff0e 4e00 a818 00e2 8dfc
// patch_hardware_12, PSKEY_PATCH62 (0x2138, 8504), 19 words
&2138 = 0002 0f22 0310 081b 0100 8022 0100 b012 04f4 0114 e019 0426 0218 ff2b ff0e 0f00 2618 00e2 bc41
// patch_hardware_13, PSKEY_PATCH63 (0x2139, 8505), 12 words
&2139 = 0002 0d95 0513 0100 b022 0218 ff2b ff0e 0f00 db18 00e2 7a40
// patch_fsm_shared_patchpoint, PSKEY_PATCH121 (0x2209, 8713), 36 words
&2209 = fc0b 0b13 0717 1d00 c184 1df0 081b 0016 6384 05f0 1380 17f0 0114 13e0 6084 13f0 0100 da80 0df0 0d1b 5d9a 0af4 b900 f014 0127 0214 0027 e315 0010 000e 019f 0014 0d1b 5d26 fc0f a1a6
// patch_sched_get_or_peek_message, PSKEY_PATCH123 (0x220b, 8715), 49 words
&220b = fa0b 0717 0484 2cf0 0617 0690 e119 0c00 d438 041a 001a 022b 23f4 0116 0184 20f0 0216 0327 1df4 e119 0016 0784 19f0 e500 ab15 8000 0054 0100 c018 ff2b fe27 0317 ff0e fe9f e199 0cf4 7d00 f214 0127 0014 0027 0317 000e 019f 0014 021b 0226 fa0f 8392
// patch_spare1, PSKEY_PATCH155 (0x222b, 8747), 60 words
&222b = e70b 1627 a100 8514 0227 0214 0127 6b00 d814 0427 0214 0327 0417 fe27 0317 ff27 1613 0230 0814 0027 e415 0534 ff0e fe9f 0513 0009 01a4 e015 7fc4 7f84 1bf0 0617 1584 18f0 161b 0116 010e 029f e119 049a 11f4 0116 4184 0ef0 e500 ac11 8000 0050 0100 c014 ff27 fe23 0816 ff0e fe9f 0114 02e0 0014 e70f 4d65
// patch_spare2, PSKEY_PATCH156 (0x222c, 8748), 40 words
&222c = f40b 0927 2900 d414 0427 0314 0327 3500 ea14 0627 0314 0527 2900 9614 0827 0414 0727 0917 0110 070e 089f 0917 030e 049f 0617 fe27 0517 ff27 7f14 0027 1514 0127 2a14 0227 0114 0913 ff0e fe9f f40f 3478
&01fe = 6590
//Interface, BCSP
//&01f9 = 0001
//Interface, H4
&01f9 = 0003
//Bit rate for 8811, 115200
&01ea = 0001 c200