[PATCH v5 02/12] arm64: dts: qcom: sdm845-lg-common: Add uarts and Bluetooth

From: Paul Sajna

Date: Wed Dec 03 2025 - 04:42:17 EST


uart9 is debug serial on USB SBU1/2

UART RX is SBU1 and UART TX is SBU2 of the USB-C port).
1.8V Logic Level
Tested using pololu usb07a https://www.pololu.com/product/2585
and CH340 USB-UART

uart6 is bluetooth

Bluetooth: hci0: setting up wcn399x
Bluetooth: hci0: QCA Product ID :0x0000000a
Bluetooth: hci0: QCA SOC Version :0x40010214
Bluetooth: hci0: QCA ROM Version :0x00000201
Bluetooth: hci0: QCA Patch Version:0x00000001
Bluetooth: hci0: QCA controller version 0x02140201
Bluetooth: hci0: QCA Downloading qca/crbtfw21.tlv
Bluetooth: hci0: QCA Downloading qca/judyln/crnv21.bin
Bluetooth: hci0: QCA setup on UART is completed

Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@xxxxxxxxxxxxxxxx>
Signed-off-by: Paul Sajna <sajattack@xxxxxxxxxxxxxxxx>
---
arch/arm64/boot/dts/qcom/sdm845-lg-common.dtsi | 39 ++++++++++++++++++++++++--
arch/arm64/boot/dts/qcom/sdm845-lg-judyln.dts | 8 ++++++
2 files changed, 45 insertions(+), 2 deletions(-)

diff --git a/arch/arm64/boot/dts/qcom/sdm845-lg-common.dtsi b/arch/arm64/boot/dts/qcom/sdm845-lg-common.dtsi
index b8ab64a8de1c..cbd57eee6ffc 100644
--- a/arch/arm64/boot/dts/qcom/sdm845-lg-common.dtsi
+++ b/arch/arm64/boot/dts/qcom/sdm845-lg-common.dtsi
@@ -27,10 +27,17 @@
/delete-node/ &wlan_msa_mem;

/ {
+ aliases {
+ serial0 = &uart9;
+ serial1 = &uart6;
+ };
+
chosen {
#address-cells = <2>;
#size-cells = <2>;
ranges;
+
+ stdout-path = "serial0:115200n8";
};

reserved-memory {
@@ -540,6 +547,36 @@ &qupv3_id_1 {
status = "okay";
};

+&qup_uart9_rx {
+ drive-strength = <2>;
+ bias-pull-up;
+};
+
+&qup_uart9_tx {
+ drive-strength = <2>;
+ bias-disable;
+};
+
+&uart6 {
+ pinctrl-0 = <&qup_uart6_4pin>;
+
+ status = "okay";
+
+ bluetooth: bluetooth {
+ compatible = "qcom,wcn3990-bt";
+
+ vddio-supply = <&vreg_s4a_1p8>;
+ vddxo-supply = <&vreg_l7a_1p8>;
+ vddrf-supply = <&vreg_l17a_1p3>;
+ vddch0-supply = <&vreg_l25a_3p3>;
+ max-speed = <3200000>;
+ };
+};
+
+&uart9 {
+ status = "okay";
+};
+
&ufs_mem_hc {
reset-gpios = <&tlmm 150 GPIO_ACTIVE_LOW>;

@@ -597,6 +634,4 @@ &wifi {
vdd-3.3-ch1-supply = <&vreg_l23a_3p3>;

qcom,snoc-host-cap-skip-quirk;
-
- status = "okay";
};
diff --git a/arch/arm64/boot/dts/qcom/sdm845-lg-judyln.dts b/arch/arm64/boot/dts/qcom/sdm845-lg-judyln.dts
index 09bfcef42402..e530a08f5e27 100644
--- a/arch/arm64/boot/dts/qcom/sdm845-lg-judyln.dts
+++ b/arch/arm64/boot/dts/qcom/sdm845-lg-judyln.dts
@@ -43,6 +43,14 @@ &adsp_pas {
firmware-name = "qcom/sdm845/judyln/adsp.mbn";
};

+&bluetooth {
+ /*
+ * This path is relative to the qca/
+ * subdir under lib/firmware.
+ */
+ firmware-name = "judyln/crnv21.bin";
+};
+
&cdsp_pas {
firmware-name = "qcom/sdm845/judyln/cdsp.mbn";
};

--
2.52.0