From nobody Sat Sep 26 13:08:31 2026 Received: from mail-pg1-f173.google.com (mail-pg1-f173.google.com [209.85.215.173]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 1387F476043 for ; Tue, 1 Sep 2026 08:57:24 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.215.173 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1788253046; cv=none; b=OENENousfRt6XuLrbywm6J0Qp51yDtOmqChZl/yBaByx21a5wL3lBFvyJ/8vRJEy4jXI5jgTIOTTqiFZtPd2BfWlFaGYW9OcspC8xjqmMagskwAvyWwWu2B3oQ0PzfO7qE03Y04tkSamlGTOfhocQ24zhymnSNb/HrCM6s5Y6HU= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1788253046; c=relaxed/simple; bh=5EN9gj1NuJxJzKBR19pdp2IOB3VptHKZV61+tHNfah0=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=DD3mckUz2ckYFW9MBpuyXsNw/Gwz2VmL3vP4aCvTXDCt23udgfP4ykU/jKfdHH9Q9VIraUPh5VVFY9TCF3AfCfvDznZve/5W+/aPvv3QL/RvQwpIcouMgX4/019dgVHRhxHk8Ppm3VfuJD3pJHVr2QqayuFlHLDYzJF1PIwVM5c= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=synaptics.corp-partner.google.com; spf=pass smtp.mailfrom=synaptics.corp-partner.google.com; dkim=pass (2048-bit key) header.d=synaptics-corp-partner-google-com.20251104.gappssmtp.com header.i=@synaptics-corp-partner-google-com.20251104.gappssmtp.com header.b=G14ku1Yf; arc=none smtp.client-ip=209.85.215.173 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=synaptics.corp-partner.google.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=synaptics.corp-partner.google.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=synaptics-corp-partner-google-com.20251104.gappssmtp.com header.i=@synaptics-corp-partner-google-com.20251104.gappssmtp.com header.b="G14ku1Yf" Received: by mail-pg1-f173.google.com with SMTP id 41be03b00d2f7-cbe827e3cb4so4898488a12.3 for ; Tue, 01 Sep 2026 01:57:24 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=synaptics-corp-partner-google-com.20251104.gappssmtp.com; s=20251104; t=1788253044; x=1788857844; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=5xzW0n7QNW4SkJResUk2G1u5HyRDJbdbqCtfNYhy8Ys=; b=G14ku1Yf3V9slbi7Vn7zwcbtsjmNoXVWhuSJaR8eJeWqciMo/BCjZZSgGGVSQkFPqk zKlnmWsdFmti6YN630HHzMgMYpdQaAcZvWN+fW6ABcLv/qoamp5dQf+Vro+53GBZQkj+ z/KhEtV+UVwFt4UrOprFJbtjmmLY9Vc2pCl5hCWI7mLGTo7bZoMSbfu4rlA83CH5rcKw rFVZKQMdqoxtsVXRTePYXmiaPvyI2A41fGyfGqd8V5NWaqv560td1N9jPhc95cIJQCRE 2mlAR+AYoFOxRglEzpeRFGZkmjO2PBlQUSgufl6gOqiSegfNzKn//pn+4b9aJwLvJqiB TEMQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1788253044; x=1788857844; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to:content-type; bh=5xzW0n7QNW4SkJResUk2G1u5HyRDJbdbqCtfNYhy8Ys=; b=AHK4Lhd+flWeME8BC1nGxoDJd72LQP1vGFCz/AGgQynth+uT9FQP5ebkyG0T8x8bJG s+YC7aDMHlhBF5x+b0YqDuO1ZMKXkXD6WNKYFTJG3x0n6CDbOs5ifVD3x/VaWy5lrJYX gXkxwNQVdTj50y3UBVbZ0yNfuIgclCGF9yj9bo/sNo21/Gc8q0XltujWjyzQyWedulRI U2Bcy0fIQdIjjTsrsXS+3+xYIkWi5iWLo5phJKV9fjHUo++fxqb94tu0iTyluWSadihn pDygw5Q/bqOYIrvCs4363VVTAKaBhsDxOjDUx7UCxyM4ZSSJvGJd7gPCU65ZoC54jOra IpWw== X-Forwarded-Encrypted: i=1; AKwUvBw7VXeO5t5+KPzudCU9IEM0z2eHwFtc57OhtDrLp1NyTM48JsVbIN5MBAYJgaBTdyAaGlYv5iLym7kE5ww=@vger.kernel.org X-Gm-Message-State: AFuF++m3lx+5PcoHfi2aUnUWflaR6/YfAHgTNiNn/D+7JNrxxom83dYU TUR/tL4HzIiopadisQwUI1ytpH2E96Q/TVP7eBbAC3sNZ9S2Gzvm/apzJGBAffCPndZ5bFhqdqZ 8uI9Q X-Gm-Gg: AYBFou21Xz0sJkYB4KVN60wgjUafMyCeykv6+Ngh4fmfm3E1dweJsRRzMybfaCt/fjE saRALmJU/aDqklm7RkTPnuAqlBuj9QFC4FWzXW0+m7m4kJYJc2tav1Ttd0Nezapxr5t1gRoRvnJ jzb4eW0jU4bAo17Z558gdTc+PKll5SW1tigzgKtSl963911paIzpPF9gUrjayUBYqnFBcbsi3yu LC4kA/hdlKb4e3AldIEx9CZi+XRBy2X6q/o/rA3vvWCYBU6qJrw5ffUcm2zYpUiuUUdYqfCbpNg EzqGpD4MurHqZd+zswJDSh9Sfuq/7pKTHPrQusqxzCYY46DfTv8QiBZoaoxJ04FtS/1Bx01psZM bmFH+gmtgIpDnn587Uy6rraNnLwXbxSqtXWjTwyxMYAbzQExeHWbZR3+shJ1HHEyj5Ak3k1XoBg wSEYR2B7S1NNY3HZ2J6Vl2T/oAcOy8xmBVGbD+3WW5Z8KEdDAGPYtNhgGbkG1CWBlxk9l3yvCkk 4/GF7er9hEh8e0XfLYUP+FWOFjH1sKskAfA2BRpDnMi6QLBBhNIIRvAIodL1WbkMOZdnIPddJYb Ke9ZDg== X-Received: by 2002:a17:90a:d887:b0:398:b71e:60c1 with SMTP id 98e67ed59e1d1-39907df015amr9550349a91.12.1788253044304; Tue, 01 Sep 2026 01:57:24 -0700 (PDT) Received: from bt-tpe-server.synaptics-inc.local (59-124-75-166.hinet-ip.hinet.net. [59.124.75.166]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-3990bcf6800sm5934432a91.3.2026.09.01.01.57.21 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 01 Sep 2026 01:57:23 -0700 (PDT) From: Andy Chang To: linux-bluetooth@vger.kernel.org, Marcel Holtmann , Luiz Augusto von Dentz Cc: Rob Herring , Krzysztof Kozlowski , Conor Dooley , devicetree@vger.kernel.org, Linus Walleij , linux-kernel@vger.kernel.org, Andy Chang Subject: [PATCH v3 1/2] Bluetooth: dt-bindings: net: bluetooth: add BCM4384 Date: Tue, 1 Sep 2026 16:57:01 +0800 Message-Id: <20260901085702.1515378-2-andy.chang@synaptics.corp-partner.google.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20260901085702.1515378-1-andy.chang@synaptics.corp-partner.google.com> References: <20260901023300.1382808-2-andy.chang@synaptics.corp-partner.google.com> <20260901085702.1515378-1-andy.chang@synaptics.corp-partner.google.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Add the brcm,bcm4384-bt compatible string to support the Synaptics BCM4384 Bluetooth controller. A fallback compatible is not suitable here because the BCM4384 controller requires a dedicated firmware patch file (.hcd) matching its specific hardware ID and revision. Falling back to an existing compatible would cause the driver to request the wrong firmware binary and fail the controller initialization. Signed-off-by: Andy Chang Reviewed-by: Paul Menzel --- Changes in v3: - Fix typo and GitLint failure. .../devicetree/bindings/net/bluetooth/brcm,bluetooth.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/Documentation/devicetree/bindings/net/bluetooth/brcm,bluetooth= .yaml b/Documentation/devicetree/bindings/net/bluetooth/brcm,bluetooth.yaml index 95501e858e6f..612d21123aaa 100644 --- a/Documentation/devicetree/bindings/net/bluetooth/brcm,bluetooth.yaml +++ b/Documentation/devicetree/bindings/net/bluetooth/brcm,bluetooth.yaml @@ -31,6 +31,7 @@ properties: - brcm,bcm43540-bt - brcm,bcm4335a0 - brcm,bcm4349-bt + - brcm,bcm4384-bt - cypress,cyw4373a0-bt - infineon,cyw55572-bt =20 --=20 2.25.1 From nobody Sat Sep 26 13:08:31 2026 Received: from mail-pj1-f53.google.com (mail-pj1-f53.google.com [209.85.216.53]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id BC9CB47607E for ; Tue, 1 Sep 2026 08:57:28 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.216.53 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1788253051; cv=none; b=BaSuvUi7vLGtMc/hUKceQdBqyfTT2nA9xPawzT7Edue6Nn0eAtiMpPrwC8VDLsIrkcnQMNIcqzFt29ovW73kXH2aLtLUVJwGnD+b3wtP9Cl70O9F87OGJhyNPMOmC7vCNonNPMSVVVRgWtBL+mjEHdzpCFhq4eOuJmuYZw59N3s= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1788253051; c=relaxed/simple; bh=8urEIkOEgNg/W0WfryJCD+eWZUJUCTF8wpI/6h2nZwI=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=d31u4McHz7M99Trr3G+kUz4i2rhhFAStb9dxuRck2vlGzoWJ2qEkB8KRAMfYAdVzkXiAvObNJKvDp0Jl6sNNSxZHKvj9UZzx/MmrgmDFnzk7VPbRV9GGbKWjWxayCwANJJneZE1++CqZ0yWuleqLqziy+FVz3nRKdRImpYxlhVU= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=synaptics.corp-partner.google.com; spf=pass smtp.mailfrom=synaptics.corp-partner.google.com; dkim=pass (2048-bit key) header.d=synaptics-corp-partner-google-com.20251104.gappssmtp.com header.i=@synaptics-corp-partner-google-com.20251104.gappssmtp.com header.b=f4zT8ZWN; arc=none smtp.client-ip=209.85.216.53 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=synaptics.corp-partner.google.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=synaptics.corp-partner.google.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=synaptics-corp-partner-google-com.20251104.gappssmtp.com header.i=@synaptics-corp-partner-google-com.20251104.gappssmtp.com header.b="f4zT8ZWN" Received: by mail-pj1-f53.google.com with SMTP id 98e67ed59e1d1-398a5aad413so668116a91.3 for ; Tue, 01 Sep 2026 01:57:28 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=synaptics-corp-partner-google-com.20251104.gappssmtp.com; s=20251104; t=1788253048; x=1788857848; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=Fj+fXTtu50ERwc8Uhij96oNyWIgOxu7AHbjsaE81Xyc=; b=f4zT8ZWNXTek/sbE/ZdVrZusr+BjcJ1JTBbqKvqpbvzVkbgFkXh5+X8nYPkIB128vx mftJ1+2TEL86o86E6Bn8m6hzTmZoCyN838tmT8aqP+SerkXPw7DerhTRIbl+OqB9ZzbN o9azDRFDATbsPwuaBXsooLw6HxNJp2peB1bw0aGOnsxQ6OOCUGuPxaTyk+C4fw9bCGBT q+0t/yx3dBzuo/0CvyxnQYmsYhWi1DGJWWuwyE1WqJiwNF2TiUYoXw0Ka7FGNZN4KhjM DUByC0i9oYiGuW3rnQq95Kg12AxzDSHyFxG8qhP2SFgm+oF5wQJMLVWAfz3HWdmz6IiH qP3w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1788253048; x=1788857848; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to:content-type; bh=Fj+fXTtu50ERwc8Uhij96oNyWIgOxu7AHbjsaE81Xyc=; b=bp5VtULG6jk1at7AnKZwLbR/hyYWszyRxrPsJDjmeGws5M5N4viORhK44wJ5DKgqb7 eWMSA/KRnIgx8xsac12MfenTttbCSfmDWZ2Rd7IVFkUS05JZ/icmZk9RT3LCIAtdkrGr 0Th1mdHGkx0WT5C4XypTRAYeX7naekYTnBZvz+KAXkWq/Bn6evODbMPaKzgkDOhkfpAp AvPGCDV1jxRBxNWEU3QdosHK6BAQTKcjuVI2k9I5mxvqVQTgmPzqfVrpo7LlrKot8m3k KV3x6bd1CDTfnfqFpovTiYm9POWeexNyc3Rw9bxoQld5D2GNKNFSe/grJUVxqL/OdUrM +zoA== X-Forwarded-Encrypted: i=1; AKwUvBx7NuFa5/A8RYxsYLyD5bSj9UvuMV54ZT7YZe0t9zX19sTZVbDhG4za7pDT3lu2i8TkhgJQ6pqkpgX0Upg=@vger.kernel.org X-Gm-Message-State: AFuF++m+IHfRUBSMEf360qMUFqOyY7dwxwjbIqFxzjQhbX5l9sJWSQ9q VrOFKgmFGGB/g5RF7xQzHlsDLRpK1y3extyPgcr4HymdErJ8WYcxEzH+vRhTu2ILNgo= X-Gm-Gg: AYBFou1pQv0deOw/BOsBPuSA8K5Eu3l3v7eWbt6eplqopPmHSi+sZZ+nXabgmJ8ehZL l1QPNEFn4spmq29uPCs1uVbUTip2ixVNPEsfKF6BvsEoGXw3B1lqj6rvbHed0BpYYiUxTjAGu6m D92FJvo//r+gjtZzz40bLXdBWUPAWibN4CFAcISFNyrifDZqhULJ29xuxPkczViaC/BS3gQKUcX 2EQROGBrFK9yswHmnX1vqaNeH0j2mpwqhN6vvFNCHyKPj9Ce/x07IfhwPyKj5Am2Eg/YMk4pg6h ouch47Zgzu49DIbK2k7t4Qwvs7K143bv9RQtGOpBoufuR6i3ofZyQCSvbtqddiTTvky+IuDiGgs YC37vIK11cUoBZoFEW/PFbYTcvu0g8Hwj29GgPVbl4ZA5zsFuEv0PlH2/kc4nlK0O/AgqaMhaMi BFR3SipfsoAIxd7Kin7KRf+PzwmkWbw9nhs+cXBShqSOMI1h9xfbD5nIPlL/O4k9uNKHULhcuOw /zs1WbIFVdPf8fEYm5QPjohfrW+BVdISLyUnM5D7264ep3xdLncpDSZF/1H0gGEwVOMKr82M4ai +fUwiAk= X-Received: by 2002:a17:90b:37cc:b0:366:10f1:3d91 with SMTP id 98e67ed59e1d1-396d0d92d0amr52298580a91.1.1788253047628; Tue, 01 Sep 2026 01:57:27 -0700 (PDT) Received: from bt-tpe-server.synaptics-inc.local (59-124-75-166.hinet-ip.hinet.net. [59.124.75.166]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-3990bcf6800sm5934432a91.3.2026.09.01.01.57.24 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 01 Sep 2026 01:57:26 -0700 (PDT) From: Andy Chang To: linux-bluetooth@vger.kernel.org, Marcel Holtmann , Luiz Augusto von Dentz Cc: Rob Herring , Krzysztof Kozlowski , Conor Dooley , devicetree@vger.kernel.org, Linus Walleij , linux-kernel@vger.kernel.org, Andy Chang Subject: [PATCH v3 2/2] Bluetooth: btbcm: Add Synaptics 4384 chip support Date: Tue, 1 Sep 2026 16:57:02 +0800 Message-Id: <20260901085702.1515378-3-andy.chang@synaptics.corp-partner.google.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20260901085702.1515378-1-andy.chang@synaptics.corp-partner.google.com> References: <20260901023300.1382808-2-andy.chang@synaptics.corp-partner.google.com> <20260901085702.1515378-1-andy.chang@synaptics.corp-partner.google.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Add support for the Synaptics 4384 Bluetooth controller by adding the corresponding chip IDs. Tested on the VIM3 platform. Verified that the controller initializes successfully and that firmware loading and basic Bluetooth operation work as expected. The VIM3 is a Khadas single-board computer that I used as the host platform for testing the BCM4384 Bluetooth controller. Signed-off-by: Andy Chang Reviewed-by: Linus Walleij Reviewed-by: Paul Menzel --- drivers/bluetooth/btbcm.c | 6 +++++- drivers/bluetooth/hci_bcm.c | 1 + 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/drivers/bluetooth/btbcm.c b/drivers/bluetooth/btbcm.c index 463d59890bef..63c4c788d9c4 100644 --- a/drivers/bluetooth/btbcm.c +++ b/drivers/bluetooth/btbcm.c @@ -31,6 +31,7 @@ #define BDADDR_BCM4334B0 (&(bdaddr_t) {{0x00, 0x00, 0x00, 0xb0, 0x34, 0x43= }}) #define BDADDR_BCM4345C5 (&(bdaddr_t) {{0xac, 0x1f, 0x00, 0xc5, 0x45, 0x43= }}) #define BDADDR_BCM43341B (&(bdaddr_t) {{0xac, 0x1f, 0x00, 0x1b, 0x34, 0x43= }}) +#define BDADDR_BCM4384B0 (&(bdaddr_t) {{0x93, 0x76, 0x00, 0xb0, 0x84, 0x43= }}) =20 #define BCM_FW_NAME_LEN 64 #define BCM_FW_NAME_COUNT_MAX 4 @@ -130,7 +131,8 @@ int btbcm_check_bdaddr(struct hci_dev *hdev) !bacmp(&bda->bdaddr, BDADDR_BCM4345C5) || !bacmp(&bda->bdaddr, BDADDR_BCM43430A0) || !bacmp(&bda->bdaddr, BDADDR_BCM43430A1) || - !bacmp(&bda->bdaddr, BDADDR_BCM43341B)) { + !bacmp(&bda->bdaddr, BDADDR_BCM43341B) || + !bacmp(&bda->bdaddr, BDADDR_BCM4384B0)) { /* Try falling back to BDADDR EFI variable */ if (btbcm_set_bdaddr_from_efi(hdev) !=3D 0) { bt_dev_info(hdev, "BCM: Using default device address (%pMR)", @@ -514,6 +516,8 @@ static const struct bcm_subver_table bcm_uart_subver_ta= ble[] =3D { { 0x4106, "BCM4335A0" }, /* 002.001.006 */ { 0x410c, "BCM43430B0" }, /* 002.001.012 */ { 0x2119, "BCM4373A0" }, /* 001.001.025 */ + { 0x2128, "BCM4384A0" }, /* 001.001.040 */ + { 0x4119, "BCM4384B0" }, /* 002.001.025 */ { } }; =20 diff --git a/drivers/bluetooth/hci_bcm.c b/drivers/bluetooth/hci_bcm.c index 9a103db7e355..e70b9f3fd968 100644 --- a/drivers/bluetooth/hci_bcm.c +++ b/drivers/bluetooth/hci_bcm.c @@ -1593,6 +1593,7 @@ static const struct of_device_id bcm_bluetooth_of_mat= ch[] =3D { { .compatible =3D "brcm,bcm4349-bt", .data =3D &bcm43438_device_data }, { .compatible =3D "brcm,bcm43540-bt", .data =3D &bcm4354_device_data }, { .compatible =3D "brcm,bcm4335a0" }, + { .compatible =3D "brcm,bcm4384-bt" }, { .compatible =3D "cypress,cyw4373a0-bt", .data =3D &cyw4373a0_device_dat= a }, { .compatible =3D "infineon,cyw55572-bt", .data =3D &cyw55572_device_data= }, { }, --=20 2.25.1