[PATCH v6 04/15] arm64: dts: qcom: sdm845-lg-common: Add uarts and Bluetooth

From: Paul Sajna

Date: Mon Mar 23 2026 - 22:16:43 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 | 37 ++++++++++++++++++++++++++
arch/arm64/boot/dts/qcom/sdm845-lg-judyln.dts | 8 ++++++
2 files changed, 45 insertions(+)

diff --git a/arch/arm64/boot/dts/qcom/sdm845-lg-common.dtsi b/arch/arm64/boot/dts/qcom/sdm845-lg-common.dtsi
index eb8de8d01177..57badeff16a5 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 {
@@ -490,6 +497,16 @@ &qupv3_id_1 {
status = "okay";
};

+&qup_uart9_rx {
+ drive-strength = <2>;
+ bias-pull-up;
+};
+
+&qup_uart9_tx {
+ drive-strength = <2>;
+ bias-disable;
+};
+
&sdhc_2 {
cd-gpios = <&tlmm 126 GPIO_ACTIVE_LOW>;

@@ -540,6 +557,26 @@ sd_card_det_n: sd-card-det-n-state {
};
};

+&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 works partially and only with clk_ignore_unused.
* Sometimes it crashes with I/O errors.
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.53.0