* [PATCH v1 0/2] Add support for the Synaptics BCM4384 Bluetooth controller
@ 2026-08-27 11:02 Andy Chang
2026-08-27 11:02 ` [PATCH v1 1/2] Bluetooth: dt-bindings: net: bluetooth: add BCM4384 Andy Chang
` (2 more replies)
0 siblings, 3 replies; 25+ messages in thread
From: Andy Chang @ 2026-08-27 11:02 UTC (permalink / raw)
To: linux-bluetooth, Marcel Holtmann, Luiz Augusto von Dentz
Cc: Rob Herring, Krzysztof Kozlowski, Conor Dooley, devicetree,
Linus Walleij, linux-kernel, Andy Chang
The first patch adds the BCM4384 Device Tree compatible string.
The second patch adds the controller support to the Broadcom
Bluetooth driver
Andy Chang (2):
Bluetooth: dt-bindings: net: bluetooth: add BCM4384
Bluetooth: btbcm: Add Synaptics 4384 chip support
.../devicetree/bindings/net/bluetooth/brcm,bluetooth.yaml | 1 +
drivers/bluetooth/btbcm.c | 6 +++++-
drivers/bluetooth/hci_bcm.c | 1 +
3 files changed, 7 insertions(+), 1 deletion(-)
--
2.25.1
^ permalink raw reply [flat|nested] 25+ messages in thread
* [PATCH v1 1/2] Bluetooth: dt-bindings: net: bluetooth: add BCM4384
2026-08-27 11:02 [PATCH v1 0/2] Add support for the Synaptics BCM4384 Bluetooth controller Andy Chang
@ 2026-08-27 11:02 ` Andy Chang
2026-08-27 15:58 ` Add support for the Synaptics BCM4384 Bluetooth controller bluez.test.bot
` (2 more replies)
2026-08-27 11:02 ` [PATCH v1 2/2] Bluetooth: btbcm: Add Synaptics 4384 chip support Andy Chang
2026-09-04 16:56 ` [PATCH v1 0/2] Add support for the Synaptics BCM4384 Bluetooth controller patchwork-bot+bluetooth
2 siblings, 3 replies; 25+ messages in thread
From: Andy Chang @ 2026-08-27 11:02 UTC (permalink / raw)
To: linux-bluetooth, Marcel Holtmann, Luiz Augusto von Dentz
Cc: Rob Herring, Krzysztof Kozlowski, Conor Dooley, devicetree,
Linus Walleij, linux-kernel, Andy Chang
Add the brcm,bcm4384-bt compatible string to support the
Synaptics BCM4384 Bluetooth controller.
Signed-off-by: Andy Chang <andy.chang@synaptics.corp-partner.google.com>
---
.../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
--
2.25.1
^ permalink raw reply related [flat|nested] 25+ messages in thread
* [PATCH v1 2/2] Bluetooth: btbcm: Add Synaptics 4384 chip support
2026-08-27 11:02 [PATCH v1 0/2] Add support for the Synaptics BCM4384 Bluetooth controller Andy Chang
2026-08-27 11:02 ` [PATCH v1 1/2] Bluetooth: dt-bindings: net: bluetooth: add BCM4384 Andy Chang
@ 2026-08-27 11:02 ` Andy Chang
2026-09-04 16:56 ` [PATCH v1 0/2] Add support for the Synaptics BCM4384 Bluetooth controller patchwork-bot+bluetooth
2 siblings, 0 replies; 25+ messages in thread
From: Andy Chang @ 2026-08-27 11:02 UTC (permalink / raw)
To: linux-bluetooth, Marcel Holtmann, Luiz Augusto von Dentz
Cc: Rob Herring, Krzysztof Kozlowski, Conor Dooley, devicetree,
Linus Walleij, linux-kernel, Andy Chang
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 <andy.chang@synaptics.corp-partner.google.com>
---
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}})
#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) != 0) {
bt_dev_info(hdev, "BCM: Using default device address (%pMR)",
@@ -514,6 +516,8 @@ static const struct bcm_subver_table bcm_uart_subver_table[] = {
{ 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 */
{ }
};
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_match[] = {
{ .compatible = "brcm,bcm4349-bt", .data = &bcm43438_device_data },
{ .compatible = "brcm,bcm43540-bt", .data = &bcm4354_device_data },
{ .compatible = "brcm,bcm4335a0" },
+ { .compatible = "brcm,bcm4384-bt" },
{ .compatible = "cypress,cyw4373a0-bt", .data = &cyw4373a0_device_data },
{ .compatible = "infineon,cyw55572-bt", .data = &cyw55572_device_data },
{ },
--
2.25.1
^ permalink raw reply related [flat|nested] 25+ messages in thread
* RE: Add support for the Synaptics BCM4384 Bluetooth controller
2026-08-27 11:02 ` [PATCH v1 1/2] Bluetooth: dt-bindings: net: bluetooth: add BCM4384 Andy Chang
@ 2026-08-27 15:58 ` bluez.test.bot
2026-08-27 16:38 ` [PATCH v1 1/2] Bluetooth: dt-bindings: net: bluetooth: add BCM4384 Conor Dooley
2026-09-01 2:32 ` [PATCH v2 0/2] Add support for the Synaptics BCM4384 Bluetooth controller Andy Chang
2 siblings, 0 replies; 25+ messages in thread
From: bluez.test.bot @ 2026-08-27 15:58 UTC (permalink / raw)
To: linux-bluetooth, andy.chang
[-- Attachment #1: Type: text/plain, Size: 2389 bytes --]
This is automated email and please do not reply to this email!
Dear submitter,
Thank you for submitting the patches to the linux bluetooth mailing list.
This is a CI test results with your patch series:
PW Link:https://patchwork.kernel.org/project/bluetooth/list/?series=1152597
---Test result---
Test Summary:
CheckPatch PASS 1.22 seconds
VerifyFixes PASS 0.09 seconds
VerifySignedoff PASS 0.09 seconds
GitLint PASS 0.44 seconds
SubjectPrefix PASS 0.16 seconds
BuildKernel PASS 21.33 seconds
CheckAllWarning PASS 25.19 seconds
CheckSparse PASS 21.49 seconds
BuildKernel32 PASS 22.50 seconds
CheckKernelLLVM SKIP 0.00 seconds
TestRunnerSetup PASS 364.91 seconds
TestRunner_l2cap-tester PASS 52.32 seconds
TestRunner_iso-tester PASS 97.47 seconds
TestRunner_bnep-tester PASS 14.73 seconds
TestRunner_mgmt-tester FAIL 175.56 seconds
TestRunner_rfcomm-tester PASS 20.09 seconds
TestRunner_sco-tester PASS 25.01 seconds
TestRunner_ioctl-tester PASS 20.50 seconds
TestRunner_mesh-tester FAIL 20.53 seconds
TestRunner_smp-tester PASS 18.28 seconds
TestRunner_userchan-tester PASS 15.48 seconds
TestRunner_6lowpan-tester PASS 18.32 seconds
IncrementalBuild PASS 23.39 seconds
Details
##############################
Test: CheckKernelLLVM - SKIP
Desc: Build kernel with LLVM + context analysis
Output:
Clang not found
##############################
Test: TestRunner_mgmt-tester - FAIL
Desc: Run mgmt-tester with test-runner
Output:
Total: 501, Passed: 496 (99.0%), Failed: 1, Not Run: 4
Failed Test Cases
Read Exp Feature - Success Failed 0.184 seconds
##############################
Test: TestRunner_mesh-tester - FAIL
Desc: Run mesh-tester with test-runner
Output:
Total: 10, Passed: 8 (80.0%), Failed: 2, Not Run: 0
Failed Test Cases
Mesh - Send cancel - 1 Timed out 1.869 seconds
Mesh - Send cancel - 2 Timed out 1.990 seconds
https://github.com/bluez/bluetooth-next/pull/656
---
Regards,
Linux Bluetooth
^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: [PATCH v1 1/2] Bluetooth: dt-bindings: net: bluetooth: add BCM4384
2026-08-27 11:02 ` [PATCH v1 1/2] Bluetooth: dt-bindings: net: bluetooth: add BCM4384 Andy Chang
2026-08-27 15:58 ` Add support for the Synaptics BCM4384 Bluetooth controller bluez.test.bot
@ 2026-08-27 16:38 ` Conor Dooley
2026-08-31 9:34 ` Andy Chang
2026-09-01 2:32 ` [PATCH v2 0/2] Add support for the Synaptics BCM4384 Bluetooth controller Andy Chang
2 siblings, 1 reply; 25+ messages in thread
From: Conor Dooley @ 2026-08-27 16:38 UTC (permalink / raw)
To: Andy Chang
Cc: linux-bluetooth, Marcel Holtmann, Luiz Augusto von Dentz,
Rob Herring, Krzysztof Kozlowski, Conor Dooley, devicetree,
Linus Walleij, linux-kernel
[-- Attachment #1: Type: text/plain, Size: 1130 bytes --]
On Thu, Aug 27, 2026 at 07:02:41PM +0800, Andy Chang wrote:
> Add the brcm,bcm4384-bt compatible string to support the
> Synaptics BCM4384 Bluetooth controller.
Please explain why a fallback compatible is not suitable here, or
alternatively if it is, use one.
pw-bot: changes-requested
Thanks,
Conor.
>
> Signed-off-by: Andy Chang <andy.chang@synaptics.corp-partner.google.com>
> ---
> .../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
>
> --
> 2.25.1
>
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 228 bytes --]
^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: [PATCH v1 1/2] Bluetooth: dt-bindings: net: bluetooth: add BCM4384
2026-08-27 16:38 ` [PATCH v1 1/2] Bluetooth: dt-bindings: net: bluetooth: add BCM4384 Conor Dooley
@ 2026-08-31 9:34 ` Andy Chang
2026-08-31 15:02 ` Conor Dooley
0 siblings, 1 reply; 25+ messages in thread
From: Andy Chang @ 2026-08-31 9:34 UTC (permalink / raw)
To: Conor Dooley
Cc: linux-bluetooth, Marcel Holtmann, Luiz Augusto von Dentz,
Rob Herring, Krzysztof Kozlowski, Conor Dooley, devicetree,
Linus Walleij, linux-kernel
On Fri, Aug 28, 2026 at 12:38 AM Conor Dooley <conor@kernel.org> wrote:
>
> On Thu, Aug 27, 2026 at 07:02:41PM +0800, Andy Chang wrote:
> > Add the brcm,bcm4384-bt compatible string to support the
> > Synaptics BCM4384 Bluetooth controller.
>
> Please explain why a fallback compatible is not suitable here, or
> alternatively if it is, use one.
>
> pw-bot: changes-requested
>
> Thanks,
> Conor.
Hi Conor,
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.
Therefore, it requires a distinct compatible string.
>
> >
> > Signed-off-by: Andy Chang <andy.chang@synaptics.corp-partner.google.com>
> > ---
> > .../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
> >
> > --
> > 2.25.1
> >
^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: [PATCH v1 1/2] Bluetooth: dt-bindings: net: bluetooth: add BCM4384
2026-08-31 9:34 ` Andy Chang
@ 2026-08-31 15:02 ` Conor Dooley
0 siblings, 0 replies; 25+ messages in thread
From: Conor Dooley @ 2026-08-31 15:02 UTC (permalink / raw)
To: Andy Chang
Cc: linux-bluetooth, Marcel Holtmann, Luiz Augusto von Dentz,
Rob Herring, Krzysztof Kozlowski, Conor Dooley, devicetree,
Linus Walleij, linux-kernel
[-- Attachment #1: Type: text/plain, Size: 967 bytes --]
On Mon, Aug 31, 2026 at 05:34:23PM +0800, Andy Chang wrote:
> On Fri, Aug 28, 2026 at 12:38 AM Conor Dooley <conor@kernel.org> wrote:
> >
> > On Thu, Aug 27, 2026 at 07:02:41PM +0800, Andy Chang wrote:
> > > Add the brcm,bcm4384-bt compatible string to support the
> > > Synaptics BCM4384 Bluetooth controller.
> >
> > Please explain why a fallback compatible is not suitable here, or
> > alternatively if it is, use one.
> >
> > pw-bot: changes-requested
> >
> > Thanks,
> > Conor.
> Hi Conor,
> 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.
> Therefore, it requires a distinct compatible string.
Cool, please put this info in the commit message.
Thanks,
Conor.
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 228 bytes --]
^ permalink raw reply [flat|nested] 25+ messages in thread
* [PATCH v2 0/2] Add support for the Synaptics BCM4384 Bluetooth controller
2026-08-27 11:02 ` [PATCH v1 1/2] Bluetooth: dt-bindings: net: bluetooth: add BCM4384 Andy Chang
2026-08-27 15:58 ` Add support for the Synaptics BCM4384 Bluetooth controller bluez.test.bot
2026-08-27 16:38 ` [PATCH v1 1/2] Bluetooth: dt-bindings: net: bluetooth: add BCM4384 Conor Dooley
@ 2026-09-01 2:32 ` Andy Chang
2026-09-01 2:32 ` [PATCH v2 1/2] Bluetooth: dt-bindings: net: bluetooth: add BCM4384 Andy Chang
` (2 more replies)
2 siblings, 3 replies; 25+ messages in thread
From: Andy Chang @ 2026-09-01 2:32 UTC (permalink / raw)
To: linux-bluetooth, Marcel Holtmann, Luiz Augusto von Dentz
Cc: Rob Herring, Krzysztof Kozlowski, Conor Dooley, devicetree,
Linus Walleij, linux-kernel, Andy Chang
The first patch adds the BCM4384 Device Tree compatible string.
The second patch adds the controller support to the Broadcom
Bluetooth driver
Changes in v2:
- Patch 1: Added an explanation for why a fallback compatible is not
suitable.
Andy Chang (2):
Bluetooth: dt-bindings: net: bluetooth: add BCM4384
Bluetooth: btbcm: Add Synaptics 4384 chip support
.../devicetree/bindings/net/bluetooth/brcm,bluetooth.yaml | 1 +
drivers/bluetooth/btbcm.c | 6 +++++-
drivers/bluetooth/hci_bcm.c | 1 +
3 files changed, 7 insertions(+), 1 deletion(-)
--
2.25.1
^ permalink raw reply [flat|nested] 25+ messages in thread
* [PATCH v2 1/2] Bluetooth: dt-bindings: net: bluetooth: add BCM4384
2026-09-01 2:32 ` [PATCH v2 0/2] Add support for the Synaptics BCM4384 Bluetooth controller Andy Chang
@ 2026-09-01 2:32 ` Andy Chang
2026-09-01 7:28 ` [v2,1/2] " bluez.test.bot
` (2 more replies)
2026-09-01 2:33 ` [PATCH v2 2/2] Bluetooth: btbcm: Add Synaptics 4384 chip support Andy Chang
2026-09-03 12:18 ` [PATCH v4 0/2] Add support for the Synaptics BCM4384 Bluetooth controller Andy Chang
2 siblings, 3 replies; 25+ messages in thread
From: Andy Chang @ 2026-09-01 2:32 UTC (permalink / raw)
To: linux-bluetooth, Marcel Holtmann, Luiz Augusto von Dentz
Cc: Rob Herring, Krzysztof Kozlowski, Conor Dooley, devicetree,
Linus Walleij, linux-kernel, Andy Chang
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 <andy.chang@synaptics.corp-partner.google.com>
---
Changes in v2:
- Add an explaination for why a fallback compatible is not suitable.
.../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
--
2.25.1
^ permalink raw reply related [flat|nested] 25+ messages in thread
* [PATCH v2 2/2] Bluetooth: btbcm: Add Synaptics 4384 chip support
2026-09-01 2:32 ` [PATCH v2 0/2] Add support for the Synaptics BCM4384 Bluetooth controller Andy Chang
2026-09-01 2:32 ` [PATCH v2 1/2] Bluetooth: dt-bindings: net: bluetooth: add BCM4384 Andy Chang
@ 2026-09-01 2:33 ` Andy Chang
2026-09-03 12:18 ` [PATCH v4 0/2] Add support for the Synaptics BCM4384 Bluetooth controller Andy Chang
2 siblings, 0 replies; 25+ messages in thread
From: Andy Chang @ 2026-09-01 2:33 UTC (permalink / raw)
To: linux-bluetooth, Marcel Holtmann, Luiz Augusto von Dentz
Cc: Rob Herring, Krzysztof Kozlowski, Conor Dooley, devicetree,
Linus Walleij, linux-kernel, Andy Chang
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 <andy.chang@synaptics.corp-partner.google.com>
---
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}})
#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) != 0) {
bt_dev_info(hdev, "BCM: Using default device address (%pMR)",
@@ -514,6 +516,8 @@ static const struct bcm_subver_table bcm_uart_subver_table[] = {
{ 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 */
{ }
};
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_match[] = {
{ .compatible = "brcm,bcm4349-bt", .data = &bcm43438_device_data },
{ .compatible = "brcm,bcm43540-bt", .data = &bcm4354_device_data },
{ .compatible = "brcm,bcm4335a0" },
+ { .compatible = "brcm,bcm4384-bt" },
{ .compatible = "cypress,cyw4373a0-bt", .data = &cyw4373a0_device_data },
{ .compatible = "infineon,cyw55572-bt", .data = &cyw55572_device_data },
{ },
--
2.25.1
^ permalink raw reply related [flat|nested] 25+ messages in thread
* RE: [v2,1/2] Bluetooth: dt-bindings: net: bluetooth: add BCM4384
2026-09-01 2:32 ` [PATCH v2 1/2] Bluetooth: dt-bindings: net: bluetooth: add BCM4384 Andy Chang
@ 2026-09-01 7:28 ` bluez.test.bot
2026-09-01 8:57 ` [PATCH v3 0/2] Add support for the Synaptics BCM4384 Bluetooth controller Andy Chang
2026-09-01 17:10 ` [PATCH v2 1/2] Bluetooth: dt-bindings: net: bluetooth: add BCM4384 Linus Walleij
2 siblings, 0 replies; 25+ messages in thread
From: bluez.test.bot @ 2026-09-01 7:28 UTC (permalink / raw)
To: linux-bluetooth, andy.chang
[-- Attachment #1: Type: text/plain, Size: 2571 bytes --]
This is automated email and please do not reply to this email!
Dear submitter,
Thank you for submitting the patches to the linux bluetooth mailing list.
This is a CI test results with your patch series:
PW Link:https://patchwork.kernel.org/project/bluetooth/list/?series=1154971
---Test result---
Test Summary:
CheckPatch PASS 1.69 seconds
VerifyFixes PASS 0.13 seconds
VerifySignedoff PASS 0.13 seconds
GitLint FAIL 0.67 seconds
SubjectPrefix PASS 0.25 seconds
BuildKernel PASS 26.21 seconds
CheckAllWarning PASS 29.58 seconds
CheckSparse PASS 27.99 seconds
BuildKernel32 PASS 25.60 seconds
CheckKernelLLVM SKIP 0.00 seconds
TestRunnerSetup PASS 470.54 seconds
TestRunner_l2cap-tester PASS 65.11 seconds
TestRunner_iso-tester PASS 112.54 seconds
TestRunner_bnep-tester PASS 19.24 seconds
TestRunner_mgmt-tester FAIL 222.91 seconds
TestRunner_rfcomm-tester PASS 25.76 seconds
TestRunner_sco-tester PASS 31.63 seconds
TestRunner_ioctl-tester PASS 26.47 seconds
TestRunner_mesh-tester FAIL 26.22 seconds
TestRunner_smp-tester PASS 23.46 seconds
TestRunner_userchan-tester PASS 20.08 seconds
TestRunner_6lowpan-tester PASS 23.31 seconds
IncrementalBuild PASS 26.17 seconds
Details
##############################
Test: GitLint - FAIL
Desc: Run gitlint
Output:
[v2,1/2] Bluetooth: dt-bindings: net: bluetooth: add BCM4384
19: B2 Line has trailing whitespace: " "
##############################
Test: CheckKernelLLVM - SKIP
Desc: Build kernel with LLVM + context analysis
Output:
Clang not found
##############################
Test: TestRunner_mgmt-tester - FAIL
Desc: Run mgmt-tester with test-runner
Output:
Total: 501, Passed: 496 (99.0%), Failed: 1, Not Run: 4
Failed Test Cases
Read Exp Feature - Success Failed 0.244 seconds
##############################
Test: TestRunner_mesh-tester - FAIL
Desc: Run mesh-tester with test-runner
Output:
Total: 10, Passed: 8 (80.0%), Failed: 2, Not Run: 0
Failed Test Cases
Mesh - Send cancel - 1 Timed out 2.612 seconds
Mesh - Send cancel - 2 Timed out 1.988 seconds
https://github.com/bluez/bluetooth-next/pull/678
---
Regards,
Linux Bluetooth
^ permalink raw reply [flat|nested] 25+ messages in thread
* [PATCH v3 0/2] Add support for the Synaptics BCM4384 Bluetooth controller
2026-09-01 2:32 ` [PATCH v2 1/2] Bluetooth: dt-bindings: net: bluetooth: add BCM4384 Andy Chang
2026-09-01 7:28 ` [v2,1/2] " bluez.test.bot
@ 2026-09-01 8:57 ` Andy Chang
2026-09-01 8:57 ` [PATCH v3 1/2] Bluetooth: dt-bindings: net: bluetooth: add BCM4384 Andy Chang
2026-09-01 8:57 ` [PATCH v3 2/2] Bluetooth: btbcm: Add Synaptics 4384 chip support Andy Chang
2026-09-01 17:10 ` [PATCH v2 1/2] Bluetooth: dt-bindings: net: bluetooth: add BCM4384 Linus Walleij
2 siblings, 2 replies; 25+ messages in thread
From: Andy Chang @ 2026-09-01 8:57 UTC (permalink / raw)
To: linux-bluetooth, Marcel Holtmann, Luiz Augusto von Dentz
Cc: Rob Herring, Krzysztof Kozlowski, Conor Dooley, devicetree,
Linus Walleij, linux-kernel, Andy Chang
he first patch adds the BCM4384 Device Tree compatible string.
The second patch adds the controller support to the Broadcom
Bluetooth driver
Changes in v3:
- Patch 1: Fixed typo and GitLint failure.
Andy Chang (2):
Bluetooth: dt-bindings: net: bluetooth: add BCM4384
Bluetooth: btbcm: Add Synaptics 4384 chip support
.../devicetree/bindings/net/bluetooth/brcm,bluetooth.yaml | 1 +
drivers/bluetooth/btbcm.c | 6 +++++-
drivers/bluetooth/hci_bcm.c | 1 +
3 files changed, 7 insertions(+), 1 deletion(-)
--
2.25.1
^ permalink raw reply [flat|nested] 25+ messages in thread
* [PATCH v3 1/2] Bluetooth: dt-bindings: net: bluetooth: add BCM4384
2026-09-01 8:57 ` [PATCH v3 0/2] Add support for the Synaptics BCM4384 Bluetooth controller Andy Chang
@ 2026-09-01 8:57 ` Andy Chang
2026-09-01 13:42 ` Paul Menzel
2026-09-04 16:56 ` patchwork-bot+bluetooth
2026-09-01 8:57 ` [PATCH v3 2/2] Bluetooth: btbcm: Add Synaptics 4384 chip support Andy Chang
1 sibling, 2 replies; 25+ messages in thread
From: Andy Chang @ 2026-09-01 8:57 UTC (permalink / raw)
To: linux-bluetooth, Marcel Holtmann, Luiz Augusto von Dentz
Cc: Rob Herring, Krzysztof Kozlowski, Conor Dooley, devicetree,
Linus Walleij, linux-kernel, Andy Chang
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 <andy.chang@synaptics.corp-partner.google.com>
---
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
--
2.25.1
^ permalink raw reply related [flat|nested] 25+ messages in thread
* [PATCH v3 2/2] Bluetooth: btbcm: Add Synaptics 4384 chip support
2026-09-01 8:57 ` [PATCH v3 0/2] Add support for the Synaptics BCM4384 Bluetooth controller Andy Chang
2026-09-01 8:57 ` [PATCH v3 1/2] Bluetooth: dt-bindings: net: bluetooth: add BCM4384 Andy Chang
@ 2026-09-01 8:57 ` Andy Chang
2026-09-01 13:55 ` Paul Menzel
2026-09-01 17:11 ` Linus Walleij
1 sibling, 2 replies; 25+ messages in thread
From: Andy Chang @ 2026-09-01 8:57 UTC (permalink / raw)
To: linux-bluetooth, Marcel Holtmann, Luiz Augusto von Dentz
Cc: Rob Herring, Krzysztof Kozlowski, Conor Dooley, devicetree,
Linus Walleij, linux-kernel, Andy Chang
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 <andy.chang@synaptics.corp-partner.google.com>
---
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}})
#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) != 0) {
bt_dev_info(hdev, "BCM: Using default device address (%pMR)",
@@ -514,6 +516,8 @@ static const struct bcm_subver_table bcm_uart_subver_table[] = {
{ 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 */
{ }
};
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_match[] = {
{ .compatible = "brcm,bcm4349-bt", .data = &bcm43438_device_data },
{ .compatible = "brcm,bcm43540-bt", .data = &bcm4354_device_data },
{ .compatible = "brcm,bcm4335a0" },
+ { .compatible = "brcm,bcm4384-bt" },
{ .compatible = "cypress,cyw4373a0-bt", .data = &cyw4373a0_device_data },
{ .compatible = "infineon,cyw55572-bt", .data = &cyw55572_device_data },
{ },
--
2.25.1
^ permalink raw reply related [flat|nested] 25+ messages in thread
* Re: [PATCH v3 1/2] Bluetooth: dt-bindings: net: bluetooth: add BCM4384
2026-09-01 8:57 ` [PATCH v3 1/2] Bluetooth: dt-bindings: net: bluetooth: add BCM4384 Andy Chang
@ 2026-09-01 13:42 ` Paul Menzel
2026-09-04 16:56 ` patchwork-bot+bluetooth
1 sibling, 0 replies; 25+ messages in thread
From: Paul Menzel @ 2026-09-01 13:42 UTC (permalink / raw)
To: Andy Chang
Cc: Marcel Holtmann, Luiz Augusto von Dentz, linux-bluetooth,
Rob Herring, Krzysztof Kozlowski, Conor Dooley, devicetree,
Linus Walleij, linux-kernel
Dear Andy,
Thank you for your patch.
Am 01.09.26 um 10:57 schrieb Andy Chang:
> 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 <andy.chang@synaptics.corp-partner.google.com>
I’d use your @synaptics.com address.
> ---
> Changes in v3:
> - Fix typo and GitLint failure.
kaihsin.chung@synaptics.corp-partner.google.com also sent in patches
[1]. It’d be great if you could coordinate.
> .../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
Reviewed-by: Paul Menzel <pmenzel@molgen.mpg.de>
Kind regards,
Paul
[1]:
https://lore.kernel.org/all/?q=kaihsin.chung@synaptics.corp-partner.google.com
^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: [PATCH v3 2/2] Bluetooth: btbcm: Add Synaptics 4384 chip support
2026-09-01 8:57 ` [PATCH v3 2/2] Bluetooth: btbcm: Add Synaptics 4384 chip support Andy Chang
@ 2026-09-01 13:55 ` Paul Menzel
2026-09-01 17:11 ` Linus Walleij
1 sibling, 0 replies; 25+ messages in thread
From: Paul Menzel @ 2026-09-01 13:55 UTC (permalink / raw)
To: Andy Chang
Cc: Marcel Holtmann, Luiz Augusto von Dentz, linux-bluetooth,
Rob Herring, Krzysztof Kozlowski, Conor Dooley, devicetree,
Linus Walleij, linux-kernel
Dear Andy,
Thank you for your patch. Same comments as in *PATCH v3 1/2*.
Am 01.09.26 um 10:57 schrieb Andy Chang:
> 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.
Should you resend, please paste the new Linux log message into the
commit message, as most people don’t have the hardware for testing.
> Signed-off-by: Andy Chang <andy.chang@synaptics.corp-partner.google.com>
> ---
> 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}})
>
> #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) != 0) {
> bt_dev_info(hdev, "BCM: Using default device address (%pMR)",
> @@ -514,6 +516,8 @@ static const struct bcm_subver_table bcm_uart_subver_table[] = {
> { 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 */
> { }
> };
>
> 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_match[] = {
> { .compatible = "brcm,bcm4349-bt", .data = &bcm43438_device_data },
> { .compatible = "brcm,bcm43540-bt", .data = &bcm4354_device_data },
> { .compatible = "brcm,bcm4335a0" },
> + { .compatible = "brcm,bcm4384-bt" },
> { .compatible = "cypress,cyw4373a0-bt", .data = &cyw4373a0_device_data },
> { .compatible = "infineon,cyw55572-bt", .data = &cyw55572_device_data },
> { },
Reviewed-by: Paul Menzel <pmenzel@molgen.mpg.de>
Kind regards,
Paul
^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: [PATCH v2 1/2] Bluetooth: dt-bindings: net: bluetooth: add BCM4384
2026-09-01 2:32 ` [PATCH v2 1/2] Bluetooth: dt-bindings: net: bluetooth: add BCM4384 Andy Chang
2026-09-01 7:28 ` [v2,1/2] " bluez.test.bot
2026-09-01 8:57 ` [PATCH v3 0/2] Add support for the Synaptics BCM4384 Bluetooth controller Andy Chang
@ 2026-09-01 17:10 ` Linus Walleij
2 siblings, 0 replies; 25+ messages in thread
From: Linus Walleij @ 2026-09-01 17:10 UTC (permalink / raw)
To: Andy Chang
Cc: linux-bluetooth, Marcel Holtmann, Luiz Augusto von Dentz,
Rob Herring, Krzysztof Kozlowski, Conor Dooley, devicetree,
linux-kernel
On Tue, Sep 1, 2026 at 4:32 AM Andy Chang
<andy.chang@synaptics.corp-partner.google.com> wrote:
> 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.
I would word this neutrally like
"any operating system must discern the proper firmware to drive
this hardware and the compatible string will fulfil that purpose".
> Signed-off-by: Andy Chang <andy.chang@synaptics.corp-partner.google.com>
Either way:
Reviewed-by: Linus Walleij <linusw@linaro.org>
Yours,
Linus Walleij
^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: [PATCH v3 2/2] Bluetooth: btbcm: Add Synaptics 4384 chip support
2026-09-01 8:57 ` [PATCH v3 2/2] Bluetooth: btbcm: Add Synaptics 4384 chip support Andy Chang
2026-09-01 13:55 ` Paul Menzel
@ 2026-09-01 17:11 ` Linus Walleij
1 sibling, 0 replies; 25+ messages in thread
From: Linus Walleij @ 2026-09-01 17:11 UTC (permalink / raw)
To: Andy Chang
Cc: linux-bluetooth, Marcel Holtmann, Luiz Augusto von Dentz,
Rob Herring, Krzysztof Kozlowski, Conor Dooley, devicetree,
linux-kernel
On Tue, Sep 1, 2026 at 10:57 AM Andy Chang
<andy.chang@synaptics.corp-partner.google.com> wrote:
> 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 <andy.chang@synaptics.corp-partner.google.com>
Reviewed-by: Linus Walleij <linusw@kernel.org>
Yours,
Linus Walleij
^ permalink raw reply [flat|nested] 25+ messages in thread
* [PATCH v4 0/2] Add support for the Synaptics BCM4384 Bluetooth controller
2026-09-01 2:32 ` [PATCH v2 0/2] Add support for the Synaptics BCM4384 Bluetooth controller Andy Chang
2026-09-01 2:32 ` [PATCH v2 1/2] Bluetooth: dt-bindings: net: bluetooth: add BCM4384 Andy Chang
2026-09-01 2:33 ` [PATCH v2 2/2] Bluetooth: btbcm: Add Synaptics 4384 chip support Andy Chang
@ 2026-09-03 12:18 ` Andy Chang
2026-09-03 12:18 ` [PATCH v4 1/2] Bluetooth: dt-bindings: net: bluetooth: add BCM4384 Andy Chang
` (2 more replies)
2 siblings, 3 replies; 25+ messages in thread
From: Andy Chang @ 2026-09-03 12:18 UTC (permalink / raw)
To: linux-bluetooth, Marcel Holtmann, Luiz Augusto von Dentz
Cc: Rob Herring, Krzysztof Kozlowski, Conor Dooley, devicetree,
Linus Walleij, linux-kernel, Andy Chang
The first patch adds the BCM4384 Device Tree compatible string.
The second patch adds the controller support to the Broadcom
Bluetooth driver
Changes in v4:
- Patch 1: Rephrase commit message to be OS-agnostic regarding firmware
selection as suggested by Linus Walleij.
- Patch 2: Add test log into commit message.
Andy Chang (2):
Bluetooth: dt-bindings: net: bluetooth: add BCM4384
Bluetooth: btbcm: Add Synaptics 4384 chip support
.../devicetree/bindings/net/bluetooth/brcm,bluetooth.yaml | 1 +
drivers/bluetooth/btbcm.c | 6 +++++-
drivers/bluetooth/hci_bcm.c | 1 +
3 files changed, 7 insertions(+), 1 deletion(-)
--
2.25.1
^ permalink raw reply [flat|nested] 25+ messages in thread
* [PATCH v4 1/2] Bluetooth: dt-bindings: net: bluetooth: add BCM4384
2026-09-03 12:18 ` [PATCH v4 0/2] Add support for the Synaptics BCM4384 Bluetooth controller Andy Chang
@ 2026-09-03 12:18 ` Andy Chang
2026-09-03 15:22 ` Add support for the Synaptics BCM4384 Bluetooth controller bluez.test.bot
2026-09-03 12:18 ` [PATCH v4 2/2] Bluetooth: btbcm: Add Synaptics 4384 chip support Andy Chang
2026-09-04 16:56 ` [PATCH v4 0/2] Add support for the Synaptics BCM4384 Bluetooth controller patchwork-bot+bluetooth
2 siblings, 1 reply; 25+ messages in thread
From: Andy Chang @ 2026-09-03 12:18 UTC (permalink / raw)
To: linux-bluetooth, Marcel Holtmann, Luiz Augusto von Dentz
Cc: Rob Herring, Krzysztof Kozlowski, Conor Dooley, devicetree,
Linus Walleij, linux-kernel, Andy Chang, Paul Menzel,
Linus Walleij
Add the brcm,bcm4384-bt compatible string to support the
Synaptics BCM4384 Bluetooth controller.
A fallback compatible is not suitable here because any operating system
must discern the proper firmware to drive this specific hardware
revision, and the compatible string fulfills that purpose.
Signed-off-by: Andy Chang <Andy.Chang@synaptics.com>
Reviewed-by: Paul Menzel <pmenzel@molgen.mpg.de>
Reviewed-by: Linus Walleij <linusw@linaro.org>
---
.../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
--
2.25.1
^ permalink raw reply related [flat|nested] 25+ messages in thread
* [PATCH v4 2/2] Bluetooth: btbcm: Add Synaptics 4384 chip support
2026-09-03 12:18 ` [PATCH v4 0/2] Add support for the Synaptics BCM4384 Bluetooth controller Andy Chang
2026-09-03 12:18 ` [PATCH v4 1/2] Bluetooth: dt-bindings: net: bluetooth: add BCM4384 Andy Chang
@ 2026-09-03 12:18 ` Andy Chang
2026-09-04 16:56 ` [PATCH v4 0/2] Add support for the Synaptics BCM4384 Bluetooth controller patchwork-bot+bluetooth
2 siblings, 0 replies; 25+ messages in thread
From: Andy Chang @ 2026-09-03 12:18 UTC (permalink / raw)
To: linux-bluetooth, Marcel Holtmann, Luiz Augusto von Dentz
Cc: Rob Herring, Krzysztof Kozlowski, Conor Dooley, devicetree,
Linus Walleij, linux-kernel, Andy Chang, Paul Menzel
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.
Test log:
Bluetooth: hci0: BCM: chip id 206
Bluetooth: hci0: BCM: features 0x0f
Bluetooth: hci0: BCM4384B0
Bluetooth: hci0: BCM4384B0 (002.001.025) build 0000
Bluetooth: hci0: BCM4384B0 'brcm/BCM4384B0.hcd' Patch
Bluetooth: hci0: BCM: features 0x0f
Bluetooth: hci0: BCM4384B0 AP6684P CN iPA [Version: 1030.1021]
Bluetooth: hci0: BCM4384B0 (002.001.025) build 1021
Bluetooth: hci0: BCM: Using default device address (43:84:b0:00:76:93)
Signed-off-by: Andy Chang <Andy.Chang@synaptics.com>
Reviewed-by: Paul Menzel <pmenzel@molgen.mpg.de>
Reviewed-by: Linus Walleij <linusw@kernel.org>
---
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}})
#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) != 0) {
bt_dev_info(hdev, "BCM: Using default device address (%pMR)",
@@ -514,6 +516,8 @@ static const struct bcm_subver_table bcm_uart_subver_table[] = {
{ 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 */
{ }
};
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_match[] = {
{ .compatible = "brcm,bcm4349-bt", .data = &bcm43438_device_data },
{ .compatible = "brcm,bcm43540-bt", .data = &bcm4354_device_data },
{ .compatible = "brcm,bcm4335a0" },
+ { .compatible = "brcm,bcm4384-bt" },
{ .compatible = "cypress,cyw4373a0-bt", .data = &cyw4373a0_device_data },
{ .compatible = "infineon,cyw55572-bt", .data = &cyw55572_device_data },
{ },
--
2.25.1
^ permalink raw reply related [flat|nested] 25+ messages in thread
* RE: Add support for the Synaptics BCM4384 Bluetooth controller
2026-09-03 12:18 ` [PATCH v4 1/2] Bluetooth: dt-bindings: net: bluetooth: add BCM4384 Andy Chang
@ 2026-09-03 15:22 ` bluez.test.bot
0 siblings, 0 replies; 25+ messages in thread
From: bluez.test.bot @ 2026-09-03 15:22 UTC (permalink / raw)
To: linux-bluetooth, Andy.Chang
[-- Attachment #1: Type: text/plain, Size: 2470 bytes --]
This is automated email and please do not reply to this email!
Dear submitter,
Thank you for submitting the patches to the linux bluetooth mailing list.
This is a CI test results with your patch series:
PW Link:https://patchwork.kernel.org/project/bluetooth/list/?series=1157073
---Test result---
Test Summary:
CheckPatch PASS 1.36 seconds
VerifyFixes PASS 0.11 seconds
VerifySignedoff PASS 0.11 seconds
GitLint PASS 0.53 seconds
SubjectPrefix PASS 0.23 seconds
BuildKernel PASS 24.28 seconds
CheckAllWarning PASS 27.13 seconds
CheckSparse PASS 25.59 seconds
BuildKernel32 PASS 23.75 seconds
CheckKernelLLVM SKIP 0.00 seconds
TestRunnerSetup PASS 435.22 seconds
TestRunner_l2cap-tester PASS 66.25 seconds
TestRunner_iso-tester PASS 108.36 seconds
TestRunner_bnep-tester PASS 18.19 seconds
TestRunner_mgmt-tester FAIL 225.82 seconds
TestRunner_rfcomm-tester PASS 25.15 seconds
TestRunner_sco-tester PASS 34.91 seconds
TestRunner_ioctl-tester PASS 26.29 seconds
TestRunner_mesh-tester FAIL 24.85 seconds
TestRunner_smp-tester PASS 22.83 seconds
TestRunner_userchan-tester PASS 19.66 seconds
TestRunner_6lowpan-tester PASS 27.35 seconds
IncrementalBuild PASS 25.38 seconds
Details
##############################
Test: CheckKernelLLVM - SKIP
Desc: Build kernel with LLVM + context analysis
Output:
Clang not found
##############################
Test: TestRunner_mgmt-tester - FAIL
Desc: Run mgmt-tester with test-runner
Output:
Total: 501, Passed: 495 (98.8%), Failed: 2, Not Run: 4
Failed Test Cases
Read Exp Feature - Success Failed 0.256 seconds
LL Privacy - Set Flags 2 (Enable RL) Failed 0.412 seconds
##############################
Test: TestRunner_mesh-tester - FAIL
Desc: Run mesh-tester with test-runner
Output:
Total: 10, Passed: 8 (80.0%), Failed: 2, Not Run: 0
Failed Test Cases
Mesh - Send cancel - 1 Timed out 1.833 seconds
Mesh - Send cancel - 2 Timed out 1.988 seconds
https://github.com/bluez/bluetooth-next/pull/695
---
Regards,
Linux Bluetooth
^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: [PATCH v1 0/2] Add support for the Synaptics BCM4384 Bluetooth controller
2026-08-27 11:02 [PATCH v1 0/2] Add support for the Synaptics BCM4384 Bluetooth controller Andy Chang
2026-08-27 11:02 ` [PATCH v1 1/2] Bluetooth: dt-bindings: net: bluetooth: add BCM4384 Andy Chang
2026-08-27 11:02 ` [PATCH v1 2/2] Bluetooth: btbcm: Add Synaptics 4384 chip support Andy Chang
@ 2026-09-04 16:56 ` patchwork-bot+bluetooth
2 siblings, 0 replies; 25+ messages in thread
From: patchwork-bot+bluetooth @ 2026-09-04 16:56 UTC (permalink / raw)
To: Andy Chang
Cc: linux-bluetooth, marcel, luiz.dentz, robh, krzk+dt, conor+dt,
devicetree, linusw, linux-kernel
Hello:
This series was applied to bluetooth/bluetooth-next.git (master)
by Luiz Augusto von Dentz <luiz.von.dentz@intel.com>:
On Thu, 27 Aug 2026 19:02:40 +0800 you wrote:
> The first patch adds the BCM4384 Device Tree compatible string.
>
> The second patch adds the controller support to the Broadcom
> Bluetooth driver
>
> Andy Chang (2):
> Bluetooth: dt-bindings: net: bluetooth: add BCM4384
> Bluetooth: btbcm: Add Synaptics 4384 chip support
>
> [...]
Here is the summary with links:
- [v1,1/2] Bluetooth: dt-bindings: net: bluetooth: add BCM4384
https://git.kernel.org/bluetooth/bluetooth-next/c/29d82dcf7273
- [v1,2/2] Bluetooth: btbcm: Add Synaptics 4384 chip support
https://git.kernel.org/bluetooth/bluetooth-next/c/9aa9447804c7
You are awesome, thank you!
--
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/patchwork/pwbot.html
^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: [PATCH v3 1/2] Bluetooth: dt-bindings: net: bluetooth: add BCM4384
2026-09-01 8:57 ` [PATCH v3 1/2] Bluetooth: dt-bindings: net: bluetooth: add BCM4384 Andy Chang
2026-09-01 13:42 ` Paul Menzel
@ 2026-09-04 16:56 ` patchwork-bot+bluetooth
1 sibling, 0 replies; 25+ messages in thread
From: patchwork-bot+bluetooth @ 2026-09-04 16:56 UTC (permalink / raw)
To: Andy Chang
Cc: linux-bluetooth, marcel, luiz.dentz, robh, krzk+dt, conor+dt,
devicetree, linusw, linux-kernel
Hello:
This series was applied to bluetooth/bluetooth-next.git (master)
by Luiz Augusto von Dentz <luiz.von.dentz@intel.com>:
On Tue, 1 Sep 2026 16:57:01 +0800 you wrote:
> 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.
>
> [...]
Here is the summary with links:
- [v3,1/2] Bluetooth: dt-bindings: net: bluetooth: add BCM4384
https://git.kernel.org/bluetooth/bluetooth-next/c/29d82dcf7273
- [v3,2/2] Bluetooth: btbcm: Add Synaptics 4384 chip support
https://git.kernel.org/bluetooth/bluetooth-next/c/9aa9447804c7
You are awesome, thank you!
--
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/patchwork/pwbot.html
^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: [PATCH v4 0/2] Add support for the Synaptics BCM4384 Bluetooth controller
2026-09-03 12:18 ` [PATCH v4 0/2] Add support for the Synaptics BCM4384 Bluetooth controller Andy Chang
2026-09-03 12:18 ` [PATCH v4 1/2] Bluetooth: dt-bindings: net: bluetooth: add BCM4384 Andy Chang
2026-09-03 12:18 ` [PATCH v4 2/2] Bluetooth: btbcm: Add Synaptics 4384 chip support Andy Chang
@ 2026-09-04 16:56 ` patchwork-bot+bluetooth
2 siblings, 0 replies; 25+ messages in thread
From: patchwork-bot+bluetooth @ 2026-09-04 16:56 UTC (permalink / raw)
To: Andy Chang
Cc: linux-bluetooth, marcel, luiz.dentz, robh, krzk+dt, conor+dt,
devicetree, linusw, linux-kernel
Hello:
This series was applied to bluetooth/bluetooth-next.git (master)
by Luiz Augusto von Dentz <luiz.von.dentz@intel.com>:
On Thu, 3 Sep 2026 20:18:22 +0800 you wrote:
> The first patch adds the BCM4384 Device Tree compatible string.
>
> The second patch adds the controller support to the Broadcom
> Bluetooth driver
>
> Changes in v4:
> - Patch 1: Rephrase commit message to be OS-agnostic regarding firmware
> selection as suggested by Linus Walleij.
> - Patch 2: Add test log into commit message.
>
> [...]
Here is the summary with links:
- [v4,1/2] Bluetooth: dt-bindings: net: bluetooth: add BCM4384
https://git.kernel.org/bluetooth/bluetooth-next/c/29d82dcf7273
- [v4,2/2] Bluetooth: btbcm: Add Synaptics 4384 chip support
https://git.kernel.org/bluetooth/bluetooth-next/c/9aa9447804c7
You are awesome, thank you!
--
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/patchwork/pwbot.html
^ permalink raw reply [flat|nested] 25+ messages in thread
end of thread, other threads:[~2026-09-04 16:57 UTC | newest]
Thread overview: 25+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-08-27 11:02 [PATCH v1 0/2] Add support for the Synaptics BCM4384 Bluetooth controller Andy Chang
2026-08-27 11:02 ` [PATCH v1 1/2] Bluetooth: dt-bindings: net: bluetooth: add BCM4384 Andy Chang
2026-08-27 15:58 ` Add support for the Synaptics BCM4384 Bluetooth controller bluez.test.bot
2026-08-27 16:38 ` [PATCH v1 1/2] Bluetooth: dt-bindings: net: bluetooth: add BCM4384 Conor Dooley
2026-08-31 9:34 ` Andy Chang
2026-08-31 15:02 ` Conor Dooley
2026-09-01 2:32 ` [PATCH v2 0/2] Add support for the Synaptics BCM4384 Bluetooth controller Andy Chang
2026-09-01 2:32 ` [PATCH v2 1/2] Bluetooth: dt-bindings: net: bluetooth: add BCM4384 Andy Chang
2026-09-01 7:28 ` [v2,1/2] " bluez.test.bot
2026-09-01 8:57 ` [PATCH v3 0/2] Add support for the Synaptics BCM4384 Bluetooth controller Andy Chang
2026-09-01 8:57 ` [PATCH v3 1/2] Bluetooth: dt-bindings: net: bluetooth: add BCM4384 Andy Chang
2026-09-01 13:42 ` Paul Menzel
2026-09-04 16:56 ` patchwork-bot+bluetooth
2026-09-01 8:57 ` [PATCH v3 2/2] Bluetooth: btbcm: Add Synaptics 4384 chip support Andy Chang
2026-09-01 13:55 ` Paul Menzel
2026-09-01 17:11 ` Linus Walleij
2026-09-01 17:10 ` [PATCH v2 1/2] Bluetooth: dt-bindings: net: bluetooth: add BCM4384 Linus Walleij
2026-09-01 2:33 ` [PATCH v2 2/2] Bluetooth: btbcm: Add Synaptics 4384 chip support Andy Chang
2026-09-03 12:18 ` [PATCH v4 0/2] Add support for the Synaptics BCM4384 Bluetooth controller Andy Chang
2026-09-03 12:18 ` [PATCH v4 1/2] Bluetooth: dt-bindings: net: bluetooth: add BCM4384 Andy Chang
2026-09-03 15:22 ` Add support for the Synaptics BCM4384 Bluetooth controller bluez.test.bot
2026-09-03 12:18 ` [PATCH v4 2/2] Bluetooth: btbcm: Add Synaptics 4384 chip support Andy Chang
2026-09-04 16:56 ` [PATCH v4 0/2] Add support for the Synaptics BCM4384 Bluetooth controller patchwork-bot+bluetooth
2026-08-27 11:02 ` [PATCH v1 2/2] Bluetooth: btbcm: Add Synaptics 4384 chip support Andy Chang
2026-09-04 16:56 ` [PATCH v1 0/2] Add support for the Synaptics BCM4384 Bluetooth controller patchwork-bot+bluetooth
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox