Re: [PATCH 14/16] arm64: dts: qcom: shikra: Enable BT support on EVK boards

From: Yepuri Siddu

Date: Wed May 27 2026 - 09:31:14 EST




On 5/25/2026 3:01 PM, Dmitry Baryshkov wrote:
On Mon, May 25, 2026 at 01:19:18AM +0530, Komal Bajaj wrote:
From: Yepuri Siddu <ysiddu@xxxxxxxxxxxxxxxx>

Enable uart8 and add WCN3988 Bluetooth node with board-specific regulator
supplies across CQM, CQS and IQS Shikra EVK boards.

Signed-off-by: Yepuri Siddu <yepuri.siddu@xxxxxxxxxxxxxxxx>
Signed-off-by: Komal Bajaj <komal.bajaj@xxxxxxxxxxxxxxxx>
---
arch/arm64/boot/dts/qcom/shikra-cqm-evk.dts | 12 ++++++++++++
arch/arm64/boot/dts/qcom/shikra-cqs-evk.dts | 12 ++++++++++++
arch/arm64/boot/dts/qcom/shikra-iqs-evk.dts | 20 ++++++++++++++++++++
arch/arm64/boot/dts/qcom/shikra.dtsi | 7 +++++++
4 files changed, 51 insertions(+)

diff --git a/arch/arm64/boot/dts/qcom/shikra-cqm-evk.dts b/arch/arm64/boot/dts/qcom/shikra-cqm-evk.dts
index b112b21b1d79..259032bd20af 100644
--- a/arch/arm64/boot/dts/qcom/shikra-cqm-evk.dts
+++ b/arch/arm64/boot/dts/qcom/shikra-cqm-evk.dts
@@ -16,6 +16,7 @@ / {
aliases {
mmc0 = &sdhc_1;
serial0 = &uart0;
+ serial1 = &uart8;
};
chosen {
@@ -57,3 +58,14 @@ &sdhc_1 {
status = "okay";
};
+
+&uart8 {
+ status = "okay";
+
+ bluetooth {
+ vddio-supply = <&pm4125_l7>;
+ vddxo-supply = <&pm4125_l13>;
+ vddrf-supply = <&pm4125_l10>;
+ vddch0-supply = <&pm4125_l22>;

Use the modern (PMU) bindings. Also please add WiFi.
The modern PMU support for the WCN39xx family is currently not available in hci qca driver, that is why we have defined the regulators directly within the Bluetooth node.

+ };
+};
diff --git a/arch/arm64/boot/dts/qcom/shikra-cqs-evk.dts b/arch/arm64/boot/dts/qcom/shikra-cqs-evk.dts
index e62ba5aef71f..142cc8da53ce 100644
--- a/arch/arm64/boot/dts/qcom/shikra-cqs-evk.dts
+++ b/arch/arm64/boot/dts/qcom/shikra-cqs-evk.dts
@@ -16,6 +16,7 @@ / {
aliases {
mmc0 = &sdhc_1;
serial0 = &uart0;
+ serial1 = &uart8;
};
chosen {
@@ -57,3 +58,14 @@ &sdhc_1 {
status = "okay";
};
+
+&uart8 {
+ status = "okay";
+
+ bluetooth {
+ vddio-supply = <&pm4125_l7>;
+ vddxo-supply = <&pm4125_l13>;
+ vddrf-supply = <&pm4125_l10>;
+ vddch0-supply = <&pm4125_l22>;
+ };
+};
diff --git a/arch/arm64/boot/dts/qcom/shikra-iqs-evk.dts b/arch/arm64/boot/dts/qcom/shikra-iqs-evk.dts
index 727809430fd1..9bf52030bcc5 100644
--- a/arch/arm64/boot/dts/qcom/shikra-iqs-evk.dts
+++ b/arch/arm64/boot/dts/qcom/shikra-iqs-evk.dts
@@ -16,11 +16,20 @@ / {
aliases {
mmc0 = &sdhc_1;
serial0 = &uart0;
+ serial1 = &uart8;
};
chosen {
stdout-path = "serial0:115200n8";
};
+
+ vreg_bt_3p3_dummy: regulator-bt-3p3-dummy {
+ compatible = "regulator-fixed";
+ regulator-name = "bt_3p3_dummy";
+ regulator-min-microvolt = <3300000>;
+ regulator-max-microvolt = <3300000>;
+ regulator-always-on;
+ };
};
&remoteproc_cdsp {
@@ -57,3 +66,14 @@ &sdhc_1 {
status = "okay";
};
+
+&uart8 {
+ status = "okay";
+
+ bluetooth {
+ vddio-supply = <&pm8150_s4>;
+ vddxo-supply = <&pm8150_l12>;
+ vddrf-supply = <&pm8150_l8>;
+ vddch0-supply = <&vreg_bt_3p3_dummy>;
+ };
+};
diff --git a/arch/arm64/boot/dts/qcom/shikra.dtsi b/arch/arm64/boot/dts/qcom/shikra.dtsi
index 124d0f05538d..73681bf0e3ea 100644
--- a/arch/arm64/boot/dts/qcom/shikra.dtsi
+++ b/arch/arm64/boot/dts/qcom/shikra.dtsi
@@ -1753,6 +1753,13 @@ &clk_virt SLAVE_QUP_CORE_0 RPM_ALWAYS_TAG>,
pinctrl-names = "default";
status = "disabled";
+
+ bluetooth {
+ compatible = "qcom,wcn3988-bt";

No, it's not a part of the SoC. Move it to the board files.
I will move the node from the SoC DTSI to the board-specific files in the next revision.

+ enable-gpios = <&tlmm 88 GPIO_ACTIVE_HIGH>;
+ max-speed = <3200000>;
+ };
+
};
i2c9: i2c@4aa4000 {

--
2.34.1