arch/arm64/boot/dts/qcom/monaco-arduino-monza.dts | 11 +++++++++++ 1 file changed, 11 insertions(+)
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 = ðernet0;
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
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>
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
© 2016 - 2026 Red Hat, Inc.