* [PATCH V5 1/3] arm64: dts: qcom: monaco: Move eMMC CQE support from SoC to board DT
2026-08-26 11:24 [PATCH V5 0/3] arm64: dts: qcom: Monaco: Enable SDHCI storage support Monish Chunara
@ 2026-08-26 11:24 ` Monish Chunara
2026-09-02 16:26 ` Konrad Dybcio
2026-08-26 11:24 ` [PATCH V5 2/3] arm64: dts: qcom: monaco-evk: Enable SDHCI for SD Card via overlay Monish Chunara
2026-08-26 11:24 ` [PATCH V5 3/3] arm64: dts: qcom: monaco-evk: Add SDHCI support for eMMC " Monish Chunara
2 siblings, 1 reply; 7+ messages in thread
From: Monish Chunara @ 2026-08-26 11:24 UTC (permalink / raw)
To: Bjorn Andersson, Dmitry Baryshkov, Konrad Dybcio, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Manivannan Sadhasivam
Cc: linux-arm-msm, devicetree, linux-kernel, Sarthak Garg,
Pradeep Pragallapati, Nitin Rawat, Shiraz Hashim, Monish Chunara
The Monaco SoC SDHC controller supports both eMMC and SD cards. However,
the 'supports-cqe' property (Command Queue Engine) is specific to eMMC
and conflicts with SD card operation.
Remove 'supports-cqe' from the SoC device tree to ensure compatibility
with SD cards. Simultaneously, add the property explicitly to the
qcs8300-ride and monaco-monza-som board device tree, as this board uses
the controller in eMMC mode.
This ensures the SoC definition remains generic while enabling features
correctly at the board level.
Signed-off-by: Monish Chunara <monish.chunara@oss.qualcomm.com>
---
arch/arm64/boot/dts/qcom/monaco-monza-som.dtsi | 1 +
arch/arm64/boot/dts/qcom/monaco.dtsi | 1 -
arch/arm64/boot/dts/qcom/qcs8300-ride.dts | 1 +
3 files changed, 2 insertions(+), 1 deletion(-)
diff --git a/arch/arm64/boot/dts/qcom/monaco-monza-som.dtsi b/arch/arm64/boot/dts/qcom/monaco-monza-som.dtsi
index 36af1ad2105d..a489932c7b1d 100644
--- a/arch/arm64/boot/dts/qcom/monaco-monza-som.dtsi
+++ b/arch/arm64/boot/dts/qcom/monaco-monza-som.dtsi
@@ -275,6 +275,7 @@ &sdhc_1 {
mmc-hs400-1_8v;
mmc-hs400-enhanced-strobe;
+ supports-cqe;
no-sd;
no-sdio;
non-removable;
diff --git a/arch/arm64/boot/dts/qcom/monaco.dtsi b/arch/arm64/boot/dts/qcom/monaco.dtsi
index cfe39f923224..1c6d2c31820d 100644
--- a/arch/arm64/boot/dts/qcom/monaco.dtsi
+++ b/arch/arm64/boot/dts/qcom/monaco.dtsi
@@ -4842,7 +4842,6 @@ &mc_virt SLAVE_EBI1 QCOM_ICC_TAG_ALWAYS>,
qcom,dll-config = <0x000f64ee>;
qcom,ddr-config = <0x80040868>;
bus-width = <8>;
- supports-cqe;
dma-coherent;
mmc-ddr-1_8v;
diff --git a/arch/arm64/boot/dts/qcom/qcs8300-ride.dts b/arch/arm64/boot/dts/qcom/qcs8300-ride.dts
index 1ff39530ea3d..4f9710587e71 100644
--- a/arch/arm64/boot/dts/qcom/qcs8300-ride.dts
+++ b/arch/arm64/boot/dts/qcom/qcs8300-ride.dts
@@ -719,6 +719,7 @@ &sdhc_1 {
vmmc-supply = <&vreg_l8a>;
vqmmc-supply = <&vreg_s4a>;
+ supports-cqe;
non-removable;
no-sd;
no-sdio;
--
2.34.1
^ permalink raw reply [flat|nested] 7+ messages in thread* Re: [PATCH V5 1/3] arm64: dts: qcom: monaco: Move eMMC CQE support from SoC to board DT
2026-08-26 11:24 ` [PATCH V5 1/3] arm64: dts: qcom: monaco: Move eMMC CQE support from SoC to board DT Monish Chunara
@ 2026-09-02 16:26 ` Konrad Dybcio
0 siblings, 0 replies; 7+ messages in thread
From: Konrad Dybcio @ 2026-09-02 16:26 UTC (permalink / raw)
To: Monish Chunara, Bjorn Andersson, Dmitry Baryshkov, Konrad Dybcio,
Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Manivannan Sadhasivam
Cc: linux-arm-msm, devicetree, linux-kernel, Sarthak Garg,
Pradeep Pragallapati, Nitin Rawat, Shiraz Hashim
On 8/26/26 1:24 PM, Monish Chunara wrote:
> The Monaco SoC SDHC controller supports both eMMC and SD cards. However,
> the 'supports-cqe' property (Command Queue Engine) is specific to eMMC
> and conflicts with SD card operation.
>
> Remove 'supports-cqe' from the SoC device tree to ensure compatibility
> with SD cards. Simultaneously, add the property explicitly to the
> qcs8300-ride and monaco-monza-som board device tree, as this board uses
> the controller in eMMC mode.
>
> This ensures the SoC definition remains generic while enabling features
> correctly at the board level.
>
> Signed-off-by: Monish Chunara <monish.chunara@oss.qualcomm.com>
> ---
Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Konrad
^ permalink raw reply [flat|nested] 7+ messages in thread
* [PATCH V5 2/3] arm64: dts: qcom: monaco-evk: Enable SDHCI for SD Card via overlay
2026-08-26 11:24 [PATCH V5 0/3] arm64: dts: qcom: Monaco: Enable SDHCI storage support Monish Chunara
2026-08-26 11:24 ` [PATCH V5 1/3] arm64: dts: qcom: monaco: Move eMMC CQE support from SoC to board DT Monish Chunara
@ 2026-08-26 11:24 ` Monish Chunara
2026-09-02 16:29 ` Konrad Dybcio
2026-08-26 11:24 ` [PATCH V5 3/3] arm64: dts: qcom: monaco-evk: Add SDHCI support for eMMC " Monish Chunara
2 siblings, 1 reply; 7+ messages in thread
From: Monish Chunara @ 2026-08-26 11:24 UTC (permalink / raw)
To: Bjorn Andersson, Dmitry Baryshkov, Konrad Dybcio, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Manivannan Sadhasivam
Cc: linux-arm-msm, devicetree, linux-kernel, Sarthak Garg,
Pradeep Pragallapati, Nitin Rawat, Shiraz Hashim, Monish Chunara
The monaco EVK board supports either eMMC or SD-card, but only one can
be active at a time.
Make the base monaco-evk.dtsi storage-agnostic by removing eMMC-specific
configuration from it. This allows storage media selection to be handled
through device tree overlays.
Introduce an SD card overlay that enables the SD Host Controller
Interface (SDHCI) for SD-based storage on the monaco EVK board.
Signed-off-by: Monish Chunara <monish.chunara@oss.qualcomm.com>
---
arch/arm64/boot/dts/qcom/Makefile | 4 ++
.../boot/dts/qcom/monaco-evk-sd-card.dtso | 72 +++++++++++++++++++
arch/arm64/boot/dts/qcom/monaco-evk.dts | 11 ---
3 files changed, 76 insertions(+), 11 deletions(-)
create mode 100644 arch/arm64/boot/dts/qcom/monaco-evk-sd-card.dtso
diff --git a/arch/arm64/boot/dts/qcom/Makefile b/arch/arm64/boot/dts/qcom/Makefile
index 1c86e7e98f55..466d4b67f72b 100644
--- a/arch/arm64/boot/dts/qcom/Makefile
+++ b/arch/arm64/boot/dts/qcom/Makefile
@@ -71,6 +71,10 @@ monaco-evk-el2-dtbs := monaco-evk.dtb monaco-el2.dtbo
dtb-$(CONFIG_ARCH_QCOM) += monaco-evk-el2.dtb
monaco-evk-ifp-mezzanine-dtbs := monaco-evk.dtb monaco-evk-ifp-mezzanine.dtbo
dtb-$(CONFIG_ARCH_QCOM) += monaco-evk-ifp-mezzanine.dtb
+
+monaco-evk-sd-card-dtbs := monaco-evk.dtb monaco-evk-sd-card.dtbo
+dtb-$(CONFIG_ARCH_QCOM) += monaco-evk-sd-card.dtb
+
dtb-$(CONFIG_ARCH_QCOM) += msm8216-samsung-fortuna3g.dtb
dtb-$(CONFIG_ARCH_QCOM) += msm8916-acer-a1-724.dtb
dtb-$(CONFIG_ARCH_QCOM) += msm8916-alcatel-idol347.dtb
diff --git a/arch/arm64/boot/dts/qcom/monaco-evk-sd-card.dtso b/arch/arm64/boot/dts/qcom/monaco-evk-sd-card.dtso
new file mode 100644
index 000000000000..bc4ea12587a2
--- /dev/null
+++ b/arch/arm64/boot/dts/qcom/monaco-evk-sd-card.dtso
@@ -0,0 +1,72 @@
+// SPDX-License-Identifier: BSD-3-Clause
+/*
+ * Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.
+ */
+
+/dts-v1/;
+/plugin/;
+
+#include <dt-bindings/gpio/gpio.h>
+
+/ {
+ vmmc_sdc: regulator-mmc-sdc {
+ compatible = "regulator-fixed";
+
+ regulator-name = "vmmc_sdc";
+ regulator-min-microvolt = <2950000>;
+ regulator-max-microvolt = <2950000>;
+ };
+
+ vreg_sdc: regulator-sdc {
+ compatible = "regulator-gpio";
+
+ regulator-name = "vreg_sdc";
+ regulator-type = "voltage";
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <2950000>;
+
+ gpios = <&expander1 7 GPIO_ACTIVE_HIGH>;
+ states = <1800000 1>, <2950000 0>;
+
+ startup-delay-us = <100>;
+ };
+};
+
+&sdhc_1 {
+ vmmc-supply = <&vmmc_sdc>;
+ vqmmc-supply = <&vreg_sdc>;
+
+ pinctrl-0 = <&sdc1_state_on>, <&sd_cd>;
+ pinctrl-1 = <&sdc1_state_off>, <&sd_cd>;
+ pinctrl-names = "default", "sleep";
+
+ cap-sd-highspeed;
+ no-1-8-v;
+
+ bus-width = <4>;
+ cd-gpios = <&tlmm 11 GPIO_ACTIVE_LOW>;
+ no-mmc;
+ no-sdio;
+
+ status = "okay";
+};
+
+&sdhc1_opp_table {
+ opp-100000000 {
+ opp-hz = /bits/ 64 <100000000>;
+ required-opps = <&rpmhpd_opp_low_svs>;
+ };
+
+ opp-202000000 {
+ opp-hz = /bits/ 64 <202000000>;
+ required-opps = <&rpmhpd_opp_svs_l1>;
+ };
+};
+
+&tlmm {
+ sd_cd: sd-cd-state {
+ pins = "gpio11";
+ function = "gpio";
+ bias-pull-up;
+ };
+};
diff --git a/arch/arm64/boot/dts/qcom/monaco-evk.dts b/arch/arm64/boot/dts/qcom/monaco-evk.dts
index 9d17ef7d2caf..436727350dd3 100644
--- a/arch/arm64/boot/dts/qcom/monaco-evk.dts
+++ b/arch/arm64/boot/dts/qcom/monaco-evk.dts
@@ -694,17 +694,6 @@ &remoteproc_gpdsp {
status = "okay";
};
-&sdhc_1 {
- vmmc-supply = <&vreg_l8a>;
- vqmmc-supply = <&vreg_s2s>;
-
- no-sd;
- no-sdio;
- non-removable;
-
- status = "okay";
-};
-
&serdes0 {
phy-supply = <&vreg_l4a>;
--
2.34.1
^ permalink raw reply [flat|nested] 7+ messages in thread* Re: [PATCH V5 2/3] arm64: dts: qcom: monaco-evk: Enable SDHCI for SD Card via overlay
2026-08-26 11:24 ` [PATCH V5 2/3] arm64: dts: qcom: monaco-evk: Enable SDHCI for SD Card via overlay Monish Chunara
@ 2026-09-02 16:29 ` Konrad Dybcio
0 siblings, 0 replies; 7+ messages in thread
From: Konrad Dybcio @ 2026-09-02 16:29 UTC (permalink / raw)
To: Monish Chunara, Bjorn Andersson, Dmitry Baryshkov, Konrad Dybcio,
Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Manivannan Sadhasivam
Cc: linux-arm-msm, devicetree, linux-kernel, Sarthak Garg,
Pradeep Pragallapati, Nitin Rawat, Shiraz Hashim
On 8/26/26 1:24 PM, Monish Chunara wrote:
> The monaco EVK board supports either eMMC or SD-card, but only one can
> be active at a time.
>
> Make the base monaco-evk.dtsi storage-agnostic by removing eMMC-specific
> configuration from it. This allows storage media selection to be handled
> through device tree overlays.
>
> Introduce an SD card overlay that enables the SD Host Controller
> Interface (SDHCI) for SD-based storage on the monaco EVK board.
>
> Signed-off-by: Monish Chunara <monish.chunara@oss.qualcomm.com>
> ---
[...]
> +&sdhc1_opp_table {
> + opp-100000000 {
> + opp-hz = /bits/ 64 <100000000>;
> + required-opps = <&rpmhpd_opp_low_svs>;
> + };
> +
> + opp-202000000 {
> + opp-hz = /bits/ 64 <202000000>;
> + required-opps = <&rpmhpd_opp_svs_l1>;
> + };
> +};
This only adds to the existing table, not removing the existing
entries
Based on the previous discussions at
https://lore.kernel.org/linux-arm-msm/de10ed05-a0fc-4f84-83ea-8810270ff2d6@oss.qualcomm.com/
I'm not sure this is intended
Konrad
^ permalink raw reply [flat|nested] 7+ messages in thread
* [PATCH V5 3/3] arm64: dts: qcom: monaco-evk: Add SDHCI support for eMMC via overlay
2026-08-26 11:24 [PATCH V5 0/3] arm64: dts: qcom: Monaco: Enable SDHCI storage support Monish Chunara
2026-08-26 11:24 ` [PATCH V5 1/3] arm64: dts: qcom: monaco: Move eMMC CQE support from SoC to board DT Monish Chunara
2026-08-26 11:24 ` [PATCH V5 2/3] arm64: dts: qcom: monaco-evk: Enable SDHCI for SD Card via overlay Monish Chunara
@ 2026-08-26 11:24 ` Monish Chunara
2026-09-02 16:26 ` Konrad Dybcio
2 siblings, 1 reply; 7+ messages in thread
From: Monish Chunara @ 2026-08-26 11:24 UTC (permalink / raw)
To: Bjorn Andersson, Dmitry Baryshkov, Konrad Dybcio, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Manivannan Sadhasivam
Cc: linux-arm-msm, devicetree, linux-kernel, Sarthak Garg,
Pradeep Pragallapati, Nitin Rawat, Shiraz Hashim, Monish Chunara
Enable the SDHCI controller for eMMC functionality on the Monaco EVK
using a device tree overlay.
Signed-off-by: Monish Chunara <monish.chunara@oss.qualcomm.com>
---
arch/arm64/boot/dts/qcom/Makefile | 4 +++
arch/arm64/boot/dts/qcom/monaco-evk-emmc.dtso | 27 +++++++++++++++++++
2 files changed, 31 insertions(+)
create mode 100644 arch/arm64/boot/dts/qcom/monaco-evk-emmc.dtso
diff --git a/arch/arm64/boot/dts/qcom/Makefile b/arch/arm64/boot/dts/qcom/Makefile
index 466d4b67f72b..9c1ed020f53e 100644
--- a/arch/arm64/boot/dts/qcom/Makefile
+++ b/arch/arm64/boot/dts/qcom/Makefile
@@ -69,6 +69,10 @@ dtb-$(CONFIG_ARCH_QCOM) += monaco-evk-camera-imx577.dtb
monaco-evk-el2-dtbs := monaco-evk.dtb monaco-el2.dtbo
dtb-$(CONFIG_ARCH_QCOM) += monaco-evk-el2.dtb
+
+monaco-evk-emmc-dtbs := monaco-evk.dtb monaco-evk-emmc.dtbo
+dtb-$(CONFIG_ARCH_QCOM) += monaco-evk-emmc.dtb
+
monaco-evk-ifp-mezzanine-dtbs := monaco-evk.dtb monaco-evk-ifp-mezzanine.dtbo
dtb-$(CONFIG_ARCH_QCOM) += monaco-evk-ifp-mezzanine.dtb
diff --git a/arch/arm64/boot/dts/qcom/monaco-evk-emmc.dtso b/arch/arm64/boot/dts/qcom/monaco-evk-emmc.dtso
new file mode 100644
index 000000000000..6454efc03ddb
--- /dev/null
+++ b/arch/arm64/boot/dts/qcom/monaco-evk-emmc.dtso
@@ -0,0 +1,27 @@
+// SPDX-License-Identifier: BSD-3-Clause
+/*
+ * Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.
+ */
+
+/dts-v1/;
+/plugin/;
+
+&sdhc_1 {
+ vmmc-supply = <&vreg_l8a>;
+ vqmmc-supply = <&vreg_s2s>;
+
+ supports-cqe;
+
+ pinctrl-0 = <&sdc1_state_on>;
+ pinctrl-1 = <&sdc1_state_off>;
+
+ pinctrl-names = "default", "sleep";
+
+ non-removable;
+
+ bus-width = <8>;
+ no-sd;
+ no-sdio;
+
+ status = "okay";
+};
--
2.34.1
^ permalink raw reply [flat|nested] 7+ messages in thread* Re: [PATCH V5 3/3] arm64: dts: qcom: monaco-evk: Add SDHCI support for eMMC via overlay
2026-08-26 11:24 ` [PATCH V5 3/3] arm64: dts: qcom: monaco-evk: Add SDHCI support for eMMC " Monish Chunara
@ 2026-09-02 16:26 ` Konrad Dybcio
0 siblings, 0 replies; 7+ messages in thread
From: Konrad Dybcio @ 2026-09-02 16:26 UTC (permalink / raw)
To: Monish Chunara, Bjorn Andersson, Dmitry Baryshkov, Konrad Dybcio,
Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Manivannan Sadhasivam
Cc: linux-arm-msm, devicetree, linux-kernel, Sarthak Garg,
Pradeep Pragallapati, Nitin Rawat, Shiraz Hashim
On 8/26/26 1:24 PM, Monish Chunara wrote:
> Enable the SDHCI controller for eMMC functionality on the Monaco EVK
> using a device tree overlay.
>
> Signed-off-by: Monish Chunara <monish.chunara@oss.qualcomm.com>
> ---
Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Konrad
^ permalink raw reply [flat|nested] 7+ messages in thread