* [PATCH v5 1/2] dt-bindings: net: bluetooth: nxp: Add support to set BD address
@ 2025-01-15 16:38 Neeraj Sanjay Kale
2025-01-15 16:38 ` [PATCH v5 2/2] Bluetooth: btnxpuart: Add support for " Neeraj Sanjay Kale
2025-01-15 16:59 ` [v5,1/2] dt-bindings: net: bluetooth: nxp: Add support to " bluez.test.bot
0 siblings, 2 replies; 4+ messages in thread
From: Neeraj Sanjay Kale @ 2025-01-15 16:38 UTC (permalink / raw)
To: marcel, luiz.dentz, robh, krzk+dt, conor+dt
Cc: linux-bluetooth, linux-kernel, devicetree, amitkumar.karwar,
neeraj.sanjaykale, sherry.sun, ziniu.wang_1, johan.korsnes,
kristian.krohn, manjeet.gupta
Allow user to set custom BD address for NXP chipsets.
Signed-off-by: Neeraj Sanjay Kale <neeraj.sanjaykale@nxp.com>
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
---
v2: Add allOf and unevaluatedProperties: false (Krzysztof)
v3: Drop local-bd-address: true (Krzysztof)
---
.../devicetree/bindings/net/bluetooth/nxp,88w8987-bt.yaml | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/Documentation/devicetree/bindings/net/bluetooth/nxp,88w8987-bt.yaml b/Documentation/devicetree/bindings/net/bluetooth/nxp,88w8987-bt.yaml
index 0a2d7baf5db3..a84c1c21b024 100644
--- a/Documentation/devicetree/bindings/net/bluetooth/nxp,88w8987-bt.yaml
+++ b/Documentation/devicetree/bindings/net/bluetooth/nxp,88w8987-bt.yaml
@@ -17,6 +17,9 @@ description:
maintainers:
- Neeraj Sanjay Kale <neeraj.sanjaykale@nxp.com>
+allOf:
+ - $ref: bluetooth-controller.yaml#
+
properties:
compatible:
enum:
@@ -43,7 +46,7 @@ properties:
required:
- compatible
-additionalProperties: false
+unevaluatedProperties: false
examples:
- |
@@ -54,5 +57,6 @@ examples:
fw-init-baudrate = <3000000>;
firmware-name = "uartuart8987_bt_v0.bin";
device-wakeup-gpios = <&gpio 11 GPIO_ACTIVE_HIGH>;
+ local-bd-address = [66 55 44 33 22 11];
};
};
--
2.25.1
^ permalink raw reply related [flat|nested] 4+ messages in thread
* [PATCH v5 2/2] Bluetooth: btnxpuart: Add support for set BD address
2025-01-15 16:38 [PATCH v5 1/2] dt-bindings: net: bluetooth: nxp: Add support to set BD address Neeraj Sanjay Kale
@ 2025-01-15 16:38 ` Neeraj Sanjay Kale
2025-01-15 16:59 ` [v5,1/2] dt-bindings: net: bluetooth: nxp: Add support to " bluez.test.bot
1 sibling, 0 replies; 4+ messages in thread
From: Neeraj Sanjay Kale @ 2025-01-15 16:38 UTC (permalink / raw)
To: marcel, luiz.dentz, robh, krzk+dt, conor+dt
Cc: linux-bluetooth, linux-kernel, devicetree, amitkumar.karwar,
neeraj.sanjaykale, sherry.sun, ziniu.wang_1, johan.korsnes,
kristian.krohn, manjeet.gupta
This adds support for setting BD address during hci registration. NXP
FW does not allow vendor commands unless it receives a reset command
after FW download and initialization done.
As a workaround, the .set_bdaddr callback function will first send the
HCI reset command, followed by the actual vendor command to set BD
address.
Signed-off-by: Loic Poulain <loic.poulain@linaro.org>
Signed-off-by: Johan Korsnes <johan.korsnes@remarkable.no>
Signed-off-by: Kristian Husevåg Krohn <kristian.krohn@remarkable.no>
Tested-by: Neeraj Sanjay Kale <neeraj.sanjaykale@nxp.com>
Signed-off-by: Neeraj Sanjay Kale <neeraj.sanjaykale@nxp.com>
---
v4: hci0 interface shows RAW mode if 'local-bd-address' not defined and
HCI_QUIRK_USE_BDADDR_PROPERTY is set. Add Quirk only if device tree
property 'local-bd-address' found. (Neeraj)
v5: Initialize local variable ba, update Copywrite year. (Kristian)
---
drivers/bluetooth/btnxpuart.c | 39 ++++++++++++++++++++++++++++++++++-
1 file changed, 38 insertions(+), 1 deletion(-)
diff --git a/drivers/bluetooth/btnxpuart.c b/drivers/bluetooth/btnxpuart.c
index 1230045d78a5..dd9161bfd52c 100644
--- a/drivers/bluetooth/btnxpuart.c
+++ b/drivers/bluetooth/btnxpuart.c
@@ -1,7 +1,7 @@
// SPDX-License-Identifier: GPL-2.0-or-later
/*
* NXP Bluetooth driver
- * Copyright 2023 NXP
+ * Copyright 2023-2025 NXP
*/
#include <linux/module.h>
@@ -1197,6 +1197,34 @@ static int nxp_set_ind_reset(struct hci_dev *hdev, void *data)
return hci_recv_frame(hdev, skb);
}
+static int nxp_set_bdaddr(struct hci_dev *hdev, const bdaddr_t *bdaddr)
+{
+ u8 data[8] = { 0xfe, 0x06, 0, 0, 0, 0, 0, 0 };
+ struct sk_buff *skb;
+ int err;
+
+ memcpy(data + 2, bdaddr, 6);
+
+ skb = __hci_cmd_sync(hdev, HCI_OP_RESET, 0, NULL, HCI_INIT_TIMEOUT);
+ if (IS_ERR(skb)) {
+ err = PTR_ERR(skb);
+ bt_dev_err(hdev, "Reset before setting local-bd-addr failed (%ld)",
+ PTR_ERR(skb));
+ return err;
+ }
+ kfree_skb(skb);
+
+ skb = __hci_cmd_sync(hdev, 0xfc22, sizeof(data), data, HCI_CMD_TIMEOUT);
+ if (IS_ERR(skb)) {
+ err = PTR_ERR(skb);
+ bt_dev_err(hdev, "Changing device address failed (%d)", err);
+ return err;
+ }
+ kfree_skb(skb);
+
+ return 0;
+}
+
/* NXP protocol */
static int nxp_setup(struct hci_dev *hdev)
{
@@ -1500,6 +1528,7 @@ static int nxp_serdev_probe(struct serdev_device *serdev)
{
struct hci_dev *hdev;
struct btnxpuart_dev *nxpdev;
+ bdaddr_t ba = {0};
nxpdev = devm_kzalloc(&serdev->dev, sizeof(*nxpdev), GFP_KERNEL);
if (!nxpdev)
@@ -1547,8 +1576,16 @@ static int nxp_serdev_probe(struct serdev_device *serdev)
hdev->send = nxp_enqueue;
hdev->hw_error = nxp_hw_err;
hdev->shutdown = nxp_shutdown;
+ hdev->set_bdaddr = nxp_set_bdaddr;
+
SET_HCIDEV_DEV(hdev, &serdev->dev);
+ device_property_read_u8_array(&nxpdev->serdev->dev,
+ "local-bd-address",
+ (u8 *)&ba, sizeof(ba));
+ if (bacmp(&ba, BDADDR_ANY))
+ set_bit(HCI_QUIRK_USE_BDADDR_PROPERTY, &hdev->quirks);
+
if (hci_register_dev(hdev) < 0) {
dev_err(&serdev->dev, "Can't register HCI device\n");
goto probe_fail;
--
2.25.1
^ permalink raw reply related [flat|nested] 4+ messages in thread
* RE: [v5,1/2] dt-bindings: net: bluetooth: nxp: Add support to set BD address
2025-01-15 16:38 [PATCH v5 1/2] dt-bindings: net: bluetooth: nxp: Add support to set BD address Neeraj Sanjay Kale
2025-01-15 16:38 ` [PATCH v5 2/2] Bluetooth: btnxpuart: Add support for " Neeraj Sanjay Kale
@ 2025-01-15 16:59 ` bluez.test.bot
1 sibling, 0 replies; 4+ messages in thread
From: bluez.test.bot @ 2025-01-15 16:59 UTC (permalink / raw)
To: linux-bluetooth, neeraj.sanjaykale
[-- Attachment #1: Type: text/plain, Size: 2195 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=925776
---Test result---
Test Summary:
CheckPatch PENDING 0.27 seconds
GitLint PENDING 0.22 seconds
SubjectPrefix FAIL 0.49 seconds
BuildKernel PASS 24.59 seconds
CheckAllWarning PASS 27.59 seconds
CheckSparse PASS 31.06 seconds
BuildKernel32 PASS 24.64 seconds
TestRunnerSetup PASS 436.57 seconds
TestRunner_l2cap-tester PASS 20.78 seconds
TestRunner_iso-tester PASS 37.67 seconds
TestRunner_bnep-tester PASS 5.41 seconds
TestRunner_mgmt-tester FAIL 125.38 seconds
TestRunner_rfcomm-tester PASS 7.71 seconds
TestRunner_sco-tester PASS 9.60 seconds
TestRunner_ioctl-tester PASS 8.28 seconds
TestRunner_mesh-tester PASS 7.08 seconds
TestRunner_smp-tester PASS 7.09 seconds
TestRunner_userchan-tester PASS 5.16 seconds
IncrementalBuild PENDING 0.50 seconds
Details
##############################
Test: CheckPatch - PENDING
Desc: Run checkpatch.pl script
Output:
##############################
Test: GitLint - PENDING
Desc: Run gitlint
Output:
##############################
Test: SubjectPrefix - FAIL
Desc: Check subject contains "Bluetooth" prefix
Output:
"Bluetooth: " prefix is not specified in the subject
##############################
Test: TestRunner_mgmt-tester - FAIL
Desc: Run mgmt-tester with test-runner
Output:
Total: 490, Passed: 484 (98.8%), Failed: 2, Not Run: 4
Failed Test Cases
LL Privacy - Add Device 2 (2 Devices to AL) Failed 0.166 seconds
LL Privacy - Add Device 3 (AL is full) Failed 0.206 seconds
##############################
Test: IncrementalBuild - PENDING
Desc: Incremental build with the patches in the series
Output:
---
Regards,
Linux Bluetooth
^ permalink raw reply [flat|nested] 4+ messages in thread
* RE: [v5,1/2] dt-bindings: net: bluetooth: nxp: Add support to set BD address
2025-02-20 11:41 [PATCH v5 1/2] " Neeraj Sanjay Kale
@ 2025-02-20 12:43 ` bluez.test.bot
0 siblings, 0 replies; 4+ messages in thread
From: bluez.test.bot @ 2025-02-20 12:43 UTC (permalink / raw)
To: linux-bluetooth, neeraj.sanjaykale
[-- Attachment #1: Type: text/plain, Size: 2355 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=935985
---Test result---
Test Summary:
CheckPatch PENDING 0.27 seconds
GitLint PENDING 0.20 seconds
SubjectPrefix FAIL 0.47 seconds
BuildKernel PASS 26.85 seconds
CheckAllWarning PASS 27.61 seconds
CheckSparse PASS 31.31 seconds
BuildKernel32 PASS 25.18 seconds
TestRunnerSetup PASS 441.12 seconds
TestRunner_l2cap-tester PASS 21.47 seconds
TestRunner_iso-tester PASS 42.44 seconds
TestRunner_bnep-tester PASS 5.14 seconds
TestRunner_mgmt-tester FAIL 125.21 seconds
TestRunner_rfcomm-tester PASS 8.12 seconds
TestRunner_sco-tester PASS 9.85 seconds
TestRunner_ioctl-tester PASS 8.74 seconds
TestRunner_mesh-tester PASS 6.25 seconds
TestRunner_smp-tester PASS 7.58 seconds
TestRunner_userchan-tester PASS 5.20 seconds
IncrementalBuild PENDING 0.84 seconds
Details
##############################
Test: CheckPatch - PENDING
Desc: Run checkpatch.pl script
Output:
##############################
Test: GitLint - PENDING
Desc: Run gitlint
Output:
##############################
Test: SubjectPrefix - FAIL
Desc: Check subject contains "Bluetooth" prefix
Output:
"Bluetooth: " prefix is not specified in the subject
##############################
Test: TestRunner_mgmt-tester - FAIL
Desc: Run mgmt-tester with test-runner
Output:
Total: 490, Passed: 482 (98.4%), Failed: 4, Not Run: 4
Failed Test Cases
LL Privacy - Add Device 2 (2 Devices to AL) Failed 0.159 seconds
LL Privacy - Set Flags 3 (2 Devices to RL) Failed 0.190 seconds
LL Privacy - Start Discovery 1 (Disable RL) Failed 0.170 seconds
LL Privacy - Set Device Flag 1 (Device Privacy) Failed 0.142 seconds
##############################
Test: IncrementalBuild - PENDING
Desc: Incremental build with the patches in the series
Output:
---
Regards,
Linux Bluetooth
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2025-02-20 12:43 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-01-15 16:38 [PATCH v5 1/2] dt-bindings: net: bluetooth: nxp: Add support to set BD address Neeraj Sanjay Kale
2025-01-15 16:38 ` [PATCH v5 2/2] Bluetooth: btnxpuart: Add support for " Neeraj Sanjay Kale
2025-01-15 16:59 ` [v5,1/2] dt-bindings: net: bluetooth: nxp: Add support to " bluez.test.bot
-- strict thread matches above, loose matches on Subject: below --
2025-02-20 11:41 [PATCH v5 1/2] " Neeraj Sanjay Kale
2025-02-20 12:43 ` [v5,1/2] " bluez.test.bot
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.