[PATCH v2] arm64: dts: monaco-arduino-monza: Add Bluetooth UART node

Shuai Zhang posted 1 patch 1 month, 2 weeks ago
arch/arm64/boot/dts/qcom/monaco-arduino-monza.dts | 11 +++++++++++
1 file changed, 11 insertions(+)
[PATCH v2] arm64: dts: monaco-arduino-monza: Add Bluetooth UART node
Posted by Shuai Zhang 1 month, 2 weeks ago
The QCA2066 Bluetooth chip is powered by a board-level 3.3 V supply
provided by the hardware. This change connects the Bluetooth
controller via UART10, and the corresponding GPIO is used to enable
the Bluetooth chip.

basic function test step:
 - bluetoothctl power on/off
 - bluetoothctl scan bredr/le
 - bluetoothctl pair <remote device address>
 - bluetoothctl connect <remote device address>

low-state test and state:
 - rtcwake -d /dev/rtc0 -m no -s 30 && systemctl suspend

cat /sys/kernel/debug/suspend_stats
success: 1
fail: 0
failed_freeze: 0
failed_prepare: 0
failed_suspend: 0
failed_suspend_late: 0
failed_suspend_noirq: 0
failed_resume: 0
failed_resume_early: 0
failed_resume_noirq: 0
failures:
  last_failed_dev:

  last_failed_errno:    0
                        0
  last_failed_step:

Signed-off-by: Shuai Zhang <shuai.zhang@oss.qualcomm.com>
---
Changes v2:
- Fix board name typo from "monac" to "monaco".
- Clarify that Bluetooth is connected via UART10.
- Add detailed testing steps, including suspend/resume and low-power validation.
- Document that the QCA2066 Bluetooth chip is powered by a board-level, hardware-provided 3.3 V supply, and that the GPIO is used only to enable the Bluetooth chip.
- Add the required sleep clock to satisfy the qcom,qca2066-bt DT binding and run dtbs_check.
- Fix DTS formatting issues and drop redundant status properties.
- Update authorship
- Link to v6
  https://lore.kernel.org/all/20260428025652.662502-1-shuai.zhang@oss.qualcomm.com/
---
 arch/arm64/boot/dts/qcom/monaco-arduino-monza.dts | 11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/arch/arm64/boot/dts/qcom/monaco-arduino-monza.dts b/arch/arm64/boot/dts/qcom/monaco-arduino-monza.dts
index ca14f0ea4..379b796f2 100644
--- a/arch/arm64/boot/dts/qcom/monaco-arduino-monza.dts
+++ b/arch/arm64/boot/dts/qcom/monaco-arduino-monza.dts
@@ -21,6 +21,7 @@ aliases {
 		ethernet0 = &ethernet0;
 		i2c1 = &i2c1;
 		serial0 = &uart7;
+		serial1 = &uart10;
 	};
 
 	chosen {
@@ -454,6 +455,16 @@ &uart7 {
 	status = "okay";
 };
 
+&uart10 {
+	status = "okay";
+
+	bluetooth: bluetooth {
+		compatible = "qcom,qca2066-bt";
+		enable-gpios = <&tlmm 55 GPIO_ACTIVE_HIGH>;
+		clocks = <&sleep_clk>;
+	};
+};
+
 &usb_1 {
 	status = "okay";
 };
-- 
2.34.1

Re: [PATCH v2] arm64: dts: monaco-arduino-monza: Add Bluetooth UART node
Posted by Bjorn Andersson 3 weeks, 3 days ago
On Wed, 29 Apr 2026 18:35:37 +0800, Shuai Zhang wrote:
> The QCA2066 Bluetooth chip is powered by a board-level 3.3 V supply
> provided by the hardware. This change connects the Bluetooth
> controller via UART10, and the corresponding GPIO is used to enable
> the Bluetooth chip.
> 
> basic function test step:
>  - bluetoothctl power on/off
>  - bluetoothctl scan bredr/le
>  - bluetoothctl pair <remote device address>
>  - bluetoothctl connect <remote device address>
> 
> [...]

Applied, thanks!

[1/1] arm64: dts: monaco-arduino-monza: Add Bluetooth UART node
      commit: 0299c007e6f34a2a5b724c332b86be77409ea729

Best regards,
-- 
Bjorn Andersson <andersson@kernel.org>
Re: [PATCH v2] arm64: dts: monaco-arduino-monza: Add Bluetooth UART node
Posted by Konrad Dybcio 1 month ago
On 4/29/26 12:35 PM, Shuai Zhang wrote:
> The QCA2066 Bluetooth chip is powered by a board-level 3.3 V supply
> provided by the hardware. This change connects the Bluetooth
> controller via UART10, and the corresponding GPIO is used to enable
> the Bluetooth chip.
> 
> basic function test step:
>  - bluetoothctl power on/off
>  - bluetoothctl scan bredr/le
>  - bluetoothctl pair <remote device address>
>  - bluetoothctl connect <remote device address>
> 
> low-state test and state:
>  - rtcwake -d /dev/rtc0 -m no -s 30 && systemctl suspend
> 
> cat /sys/kernel/debug/suspend_stats
> success: 1
> fail: 0
> failed_freeze: 0
> failed_prepare: 0
> failed_suspend: 0
> failed_suspend_late: 0
> failed_suspend_noirq: 0
> failed_resume: 0
> failed_resume_early: 0
> failed_resume_noirq: 0
> failures:
>   last_failed_dev:
> 
>   last_failed_errno:    0
>                         0
>   last_failed_step:
> 
> Signed-off-by: Shuai Zhang <shuai.zhang@oss.qualcomm.com>
> ---

Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>

Konrad