Devicetree
 help / color / mirror / Atom feed
* [PATCH 0/2] Use platform Bluetooth addresses on Broadcom UART controllers
@ 2026-11-10 10:45 Linus Walleij
  2026-11-10 10:45 ` [PATCH 1/2] dt-bindings: bluetooth: brcm: Allow a platform BD address Linus Walleij
                   ` (2 more replies)
  0 siblings, 3 replies; 5+ messages in thread
From: Linus Walleij @ 2026-11-10 10:45 UTC (permalink / raw)
  To: Marcel Holtmann, Luiz Augusto von Dentz, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley, Linus Walleij
  Cc: linux-bluetooth, devicetree

Allow local-bd-address through the common Bluetooth controller binding,
including its six-byte little-endian representation.

Enable the existing HCI core property.

Absent, unreadable and all-zero properties preserve the existing setup
path.

Developed with LLM assistance.

---
Linus Walleij (2):
      dt-bindings: bluetooth: brcm: Allow a platform BD address
      Bluetooth: hci_bcm: Prefer a valid platform BD address

 .../devicetree/bindings/net/bluetooth/brcm,bluetooth.yaml         | 2 ++
 drivers/bluetooth/hci_bcm.c                                       | 8 ++++++++
 2 files changed, 10 insertions(+)
---
base-commit: 6628e7d4c6b25c8d18f1345e3a20d21829aae7e4
change-id: 20261110-brcm-bcmbt-mac-8a8145bf531a

Best regards,
--  
Linus Walleij <linusw@kernel.org>


^ permalink raw reply	[flat|nested] 5+ messages in thread

* [PATCH 1/2] dt-bindings: bluetooth: brcm: Allow a platform BD address
  2026-11-10 10:45 [PATCH 0/2] Use platform Bluetooth addresses on Broadcom UART controllers Linus Walleij
@ 2026-11-10 10:45 ` Linus Walleij
  2026-11-10 18:49   ` Conor Dooley
  2026-11-10 10:45 ` [PATCH 2/2] Bluetooth: hci_bcm: Prefer a valid " Linus Walleij
  2026-11-11 19:40 ` [PATCH 0/2] Use platform Bluetooth addresses on Broadcom UART controllers patchwork-bot+bluetooth
  2 siblings, 1 reply; 5+ messages in thread
From: Linus Walleij @ 2026-11-10 10:45 UTC (permalink / raw)
  To: Marcel Holtmann, Luiz Augusto von Dentz, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley, Linus Walleij
  Cc: linux-bluetooth, devicetree

The bootloader can recover the device-specific Bluetooth address from
persistent storage on Samsung phones using BCM4334B0, and pass it in
the Bluetooth node. The Broadcom UART binding currently rejects the
standard local-bd-address property.

Reference the common Bluetooth controller binding to accept the optional
six-byte, little-endian address, and illustrate it in the example.

Signed-off-by: Linus Walleij <linusw@kernel.org>
---
 Documentation/devicetree/bindings/net/bluetooth/brcm,bluetooth.yaml | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/Documentation/devicetree/bindings/net/bluetooth/brcm,bluetooth.yaml b/Documentation/devicetree/bindings/net/bluetooth/brcm,bluetooth.yaml
index 612d21123aaa..5c44d8459166 100644
--- a/Documentation/devicetree/bindings/net/bluetooth/brcm,bluetooth.yaml
+++ b/Documentation/devicetree/bindings/net/bluetooth/brcm,bluetooth.yaml
@@ -127,6 +127,7 @@ dependencies:
   brcm,requires-autobaud-mode: [ shutdown-gpios ]
 
 allOf:
+  - $ref: bluetooth-controller.yaml#
   - $ref: /schemas/serial/serial-peripheral-props.yaml#
   - if:
       not:
@@ -153,6 +154,7 @@ examples:
 
         bluetooth {
             compatible = "brcm,bcm4330-bt";
+            local-bd-address = [55 44 33 22 11 00];
             max-speed = <921600>;
             brcm,bt-pcm-int-params = [01 02 00 01 01];
             shutdown-gpios = <&gpio 30 GPIO_ACTIVE_HIGH>;

-- 
2.56.0


^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [PATCH 2/2] Bluetooth: hci_bcm: Prefer a valid platform BD address
  2026-11-10 10:45 [PATCH 0/2] Use platform Bluetooth addresses on Broadcom UART controllers Linus Walleij
  2026-11-10 10:45 ` [PATCH 1/2] dt-bindings: bluetooth: brcm: Allow a platform BD address Linus Walleij
@ 2026-11-10 10:45 ` Linus Walleij
  2026-11-11 19:40 ` [PATCH 0/2] Use platform Bluetooth addresses on Broadcom UART controllers patchwork-bot+bluetooth
  2 siblings, 0 replies; 5+ messages in thread
From: Linus Walleij @ 2026-11-10 10:45 UTC (permalink / raw)
  To: Marcel Holtmann, Luiz Augusto von Dentz, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley, Linus Walleij
  Cc: linux-bluetooth, devicetree

Samsung phones with BCM4334B0 store the assigned Bluetooth address in
persistent EFS storage. The bootloader can supply that address through
local-bd-address even when the controller reports a non-default address.

Signed-off-by: Linus Walleij <linusw@kernel.org>
---
 drivers/bluetooth/hci_bcm.c | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/drivers/bluetooth/hci_bcm.c b/drivers/bluetooth/hci_bcm.c
index e70b9f3fd968..1f62a8c2fb38 100644
--- a/drivers/bluetooth/hci_bcm.c
+++ b/drivers/bluetooth/hci_bcm.c
@@ -584,6 +584,7 @@ static int bcm_setup(struct hci_uart *hu)
 	bool fw_load_done = false;
 	bool use_autobaud_mode = (bcm->dev ? bcm->dev->use_autobaud_mode : 0);
 	unsigned int speed;
+	bdaddr_t bdaddr;
 	int err;
 
 	bt_dev_dbg(hu->hdev, "hu %p", hu);
@@ -595,6 +596,13 @@ static int bcm_setup(struct hci_uart *hu)
 	if (err)
 		return err;
 
+	/* Prefer a valid platform address, even if the controller has one. */
+	if (!device_property_read_u8_array(hu->hdev->dev.parent,
+					   "local-bd-address", bdaddr.b,
+					   sizeof(bdaddr.b)) &&
+	    bacmp(&bdaddr, BDADDR_ANY))
+		hci_set_quirk(hu->hdev, HCI_QUIRK_USE_BDADDR_PROPERTY);
+
 	if (!fw_load_done)
 		return 0;
 

-- 
2.56.0


^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: [PATCH 1/2] dt-bindings: bluetooth: brcm: Allow a platform BD address
  2026-11-10 10:45 ` [PATCH 1/2] dt-bindings: bluetooth: brcm: Allow a platform BD address Linus Walleij
@ 2026-11-10 18:49   ` Conor Dooley
  0 siblings, 0 replies; 5+ messages in thread
From: Conor Dooley @ 2026-11-10 18:49 UTC (permalink / raw)
  To: Linus Walleij
  Cc: Marcel Holtmann, Luiz Augusto von Dentz, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley, linux-bluetooth, devicetree

[-- Attachment #1: Type: text/plain, Size: 75 bytes --]

Acked-by: Conor Dooley <conor.dooley@microchip.com>
pw-bot: not-applicable

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 228 bytes --]

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH 0/2] Use platform Bluetooth addresses on Broadcom UART controllers
  2026-11-10 10:45 [PATCH 0/2] Use platform Bluetooth addresses on Broadcom UART controllers Linus Walleij
  2026-11-10 10:45 ` [PATCH 1/2] dt-bindings: bluetooth: brcm: Allow a platform BD address Linus Walleij
  2026-11-10 10:45 ` [PATCH 2/2] Bluetooth: hci_bcm: Prefer a valid " Linus Walleij
@ 2026-11-11 19:40 ` patchwork-bot+bluetooth
  2 siblings, 0 replies; 5+ messages in thread
From: patchwork-bot+bluetooth @ 2026-11-11 19:40 UTC (permalink / raw)
  To: Linus Walleij
  Cc: marcel, luiz.dentz, robh, krzk+dt, conor+dt, linux-bluetooth,
	devicetree

Hello:

This series was applied to bluetooth/bluetooth-next.git (master)
by Luiz Augusto von Dentz <luiz.von.dentz@intel.com>:

On Tue, 10 Nov 2026 11:45:25 +0100 you wrote:
> Allow local-bd-address through the common Bluetooth controller binding,
> including its six-byte little-endian representation.
> 
> Enable the existing HCI core property.
> 
> Absent, unreadable and all-zero properties preserve the existing setup
> path.
> 
> [...]

Here is the summary with links:
  - [1/2] dt-bindings: bluetooth: brcm: Allow a platform BD address
    https://git.kernel.org/bluetooth/bluetooth-next/c/05ad7f2dee07
  - [2/2] Bluetooth: hci_bcm: Prefer a valid platform BD address
    https://git.kernel.org/bluetooth/bluetooth-next/c/afafcb373fd0

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] 5+ messages in thread

end of thread, other threads:[~2026-11-11 19:40 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-11-10 10:45 [PATCH 0/2] Use platform Bluetooth addresses on Broadcom UART controllers Linus Walleij
2026-11-10 10:45 ` [PATCH 1/2] dt-bindings: bluetooth: brcm: Allow a platform BD address Linus Walleij
2026-11-10 18:49   ` Conor Dooley
2026-11-10 10:45 ` [PATCH 2/2] Bluetooth: hci_bcm: Prefer a valid " Linus Walleij
2026-11-11 19:40 ` [PATCH 0/2] Use platform Bluetooth addresses on Broadcom UART controllers 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