Re: [PATCH v5 10/11] arm64: dts: qcom: shikra: Enable Bluetooth and WiFi on EVK boards

From: Komal Bajaj

Date: Tue Jul 07 2026 - 09:48:45 EST


On 7/2/2026 5:26 PM, Dmitry Baryshkov wrote:
On Thu, Jul 02, 2026 at 03:20:52PM +0530, Komal Bajaj wrote:
Enable Bluetooth and WiFi connectivity on Shikra CQM, CQS and IQS
EVK boards using the WCN3988 combo chip.

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

For WiFi, enable per-board with the appropriate PMIC supply
connections and calibration variant selection.
This is obvious from the patch itself. Don't repeat patch contents, say
something useful.

ACK, will update commit message.


Co-developed-by: Yepuri Siddu <yepuri.siddu@xxxxxxxxxxxxxxxx>
Signed-off-by: Yepuri Siddu <yepuri.siddu@xxxxxxxxxxxxxxxx>
Co-developed-by: Miaoqing Pan <miaoqing.pan@xxxxxxxxxxxxxxxx>
Signed-off-by: Miaoqing Pan <miaoqing.pan@xxxxxxxxxxxxxxxx>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@xxxxxxxxxxxxxxxx>
Signed-off-by: Komal Bajaj <komal.bajaj@xxxxxxxxxxxxxxxx>
---
arch/arm64/boot/dts/qcom/shikra-cqm-evk.dts | 18 +++++++++
arch/arm64/boot/dts/qcom/shikra-cqs-evk.dts | 18 +++++++++
arch/arm64/boot/dts/qcom/shikra-evk.dtsi | 61 +++++++++++++++++++++++++++++
arch/arm64/boot/dts/qcom/shikra-iqs-evk.dts | 26 ++++++++++++
4 files changed, 123 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..c9409ab0a3f1 100644
--- a/arch/arm64/boot/dts/qcom/shikra-cqm-evk.dts
+++ b/arch/arm64/boot/dts/qcom/shikra-cqm-evk.dts
@@ -16,11 +16,19 @@ / {
aliases {
mmc0 = &sdhc_1;
serial0 = &uart0;
+ serial1 = &uart8;
};
chosen {
stdout-path = "serial0:115200n8";
};
+
+ wcn3988-pmu {
+ vddio-supply = <&pm4125_l7>;
+ vddxo-supply = <&pm4125_l13>;
+ vddrf-supply = <&pm4125_l10>;
+ vddch0-supply = <&pm4125_l22>;
+ };
Is the WiFI/BT chip a part of common schematics or not? Why do you
define power supplies here, while the chip itself is defined in a common
file?

You're right. WCN3988 is integrated on SoM, and its regulator dependencies are provided by SoM PMIC.
I'll move the supply definitions to SoM DTSI.


};
&remoteproc_cdsp {
@@ -57,3 +65,13 @@ &sdhc_1 {
status = "okay";
};
+
+&uart8 {
+ status = "okay";
+};
Same question.

I'll move to SoM DTSI.

Thanks
Komal


+
+&wifi {
+ vdd-0.8-cx-mx-supply = <&pm4125_l7>;
+
+ status = "okay";
+};
diff --git a/arch/arm64/boot/dts/qcom/shikra-evk.dtsi b/arch/arm64/boot/dts/qcom/shikra-evk.dtsi
index d0c48bad704c..4b7be09eb5a5 100644
--- a/arch/arm64/boot/dts/qcom/shikra-evk.dtsi
+++ b/arch/arm64/boot/dts/qcom/shikra-evk.dtsi
@@ -3,13 +3,74 @@
* Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.
*/
+/ {
+ wcn3988-pmu {
+ compatible = "qcom,wcn3988-pmu";
+
+ pinctrl-0 = <&sw_ctrl_default>;
+ pinctrl-names = "default";
+
+ swctrl-gpios = <&tlmm 88 GPIO_ACTIVE_HIGH>;
+
+ regulators {
+ vreg_pmu_io: ldo0 {
+ regulator-name = "vreg_pmu_io";
+ };
+
+ vreg_pmu_xo: ldo1 {
+ regulator-name = "vreg_pmu_xo";
+ };
+
+ vreg_pmu_rf: ldo2 {
+ regulator-name = "vreg_pmu_rf";
+ };
+
+ vreg_pmu_ch0: ldo3 {
+ regulator-name = "vreg_pmu_ch0";
+ };
+
+ vreg_pmu_ch1: ldo4 {
+ regulator-name = "vreg_pmu_ch1";
+ };
+ };
+ };
+};
+
&qupv3_0 {
firmware-name = "qcom/shikra/qupv3fw.elf";
status = "okay";
};
+&tlmm {
+ sw_ctrl_default: sw-ctrl-default-state {
+ pins = "gpio88";
+ function = "gpio";
+ bias-pull-down;
+ };
+};
+
&uart0 {
status = "okay";
};
+&uart8 {
+ bluetooth {
+ compatible = "qcom,wcn3988-bt";
+ max-speed = <3200000>;
+
+ vddio-supply = <&vreg_pmu_io>;
+ vddxo-supply = <&vreg_pmu_xo>;
+ vddrf-supply = <&vreg_pmu_rf>;
+ vddch0-supply = <&vreg_pmu_ch0>;
+ };
+};
+
+&wifi {
+ vdd-1.8-xo-supply = <&vreg_pmu_xo>;
+ vdd-1.3-rfa-supply = <&vreg_pmu_rf>;
+ vdd-3.3-ch0-supply = <&vreg_pmu_ch0>;
+
+ qcom,calibration-variant = "Shikra_EVK";
+ firmware-name = "shikra";
+};