* [PATCH V3 0/3] arm64: dts: qcom: Monaco: Enable SDHCI storage support
@ 2026-07-01 8:17 Monish Chunara
2026-07-01 8:17 ` [PATCH V3 1/3] arm64: dts: qcom: monaco: Move eMMC CQE support from SoC to board DT Monish Chunara
` (2 more replies)
0 siblings, 3 replies; 7+ messages in thread
From: Monish Chunara @ 2026-07-01 8:17 UTC (permalink / raw)
To: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Dmitry Baryshkov, Manivannan Sadhasivam
Cc: linux-arm-msm, devicetree, linux-kernel, Sarthak Garg,
Pradeep Pragallapati, Nitin Rawat, Shiraz Hashim, Monish Chunara
Respected Maintainers,
This is v3 of the Monaco SDHCI storage support series.
Changes in v3:
- Update the patch to handle the supports-cqe property for monaco-monza-som platform which also extends the monaco SoC DT
- Link to v2: https://lore.kernel.org/all/20260616130347.3096034-1-monish.chunara@oss.qualcomm.com/
Changes in v2:
- Avoids using the reference to direct supplies as dummy
- Updates the eMMC overlay to remove the static UFS host disablement and
vreg_l8a voltage override, allowing DT-fixup to manage the UFS-eMMC mutual
exclusion dynamically for flexible UFS/eMMC configurations.
- Link to v1: https://lore.kernel.org/all/20260227105055.2364348-1-monish.chunara@oss.qualcomm.com/
Validated on Qualcomm Monaco EVK with both SD card and eMMC modules.
Monish Chunara (3):
arm64: dts: qcom: monaco: Move eMMC CQE support from SoC to board DT
arm64: dts: qcom: monaco-evk: Enable SDHCI for SD Card via overlay
arm64: dts: qcom: monaco-evk: Add SDHCI support for eMMC via overlay
arch/arm64/boot/dts/qcom/Makefile | 7 ++
arch/arm64/boot/dts/qcom/monaco-evk-emmc.dtso | 37 ++++++++++
.../boot/dts/qcom/monaco-evk-sd-card.dtso | 72 +++++++++++++++++++
.../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 +
6 files changed, 118 insertions(+), 1 deletion(-)
create mode 100644 arch/arm64/boot/dts/qcom/monaco-evk-emmc.dtso
create mode 100644 arch/arm64/boot/dts/qcom/monaco-evk-sd-card.dtso
--
2.34.1
^ permalink raw reply [flat|nested] 7+ messages in thread
* [PATCH V3 1/3] arm64: dts: qcom: monaco: Move eMMC CQE support from SoC to board DT
2026-07-01 8:17 [PATCH V3 0/3] arm64: dts: qcom: Monaco: Enable SDHCI storage support Monish Chunara
@ 2026-07-01 8:17 ` Monish Chunara
2026-07-01 8:28 ` sashiko-bot
2026-07-01 8:17 ` [PATCH V3 2/3] arm64: dts: qcom: monaco-evk: Enable SDHCI for SD Card via overlay Monish Chunara
2026-07-01 8:17 ` [PATCH V3 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-07-01 8:17 UTC (permalink / raw)
To: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Dmitry Baryshkov, 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 9b5ed55939b8..6b146fdd6ebc 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 e4c8466f941b..e82cba350842 100644
--- a/arch/arm64/boot/dts/qcom/monaco.dtsi
+++ b/arch/arm64/boot/dts/qcom/monaco.dtsi
@@ -4832,7 +4832,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 e9a8553a8d82..3090eba0317a 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 related [flat|nested] 7+ messages in thread
* [PATCH V3 2/3] arm64: dts: qcom: monaco-evk: Enable SDHCI for SD Card via overlay
2026-07-01 8:17 [PATCH V3 0/3] arm64: dts: qcom: Monaco: Enable SDHCI storage support Monish Chunara
2026-07-01 8:17 ` [PATCH V3 1/3] arm64: dts: qcom: monaco: Move eMMC CQE support from SoC to board DT Monish Chunara
@ 2026-07-01 8:17 ` Monish Chunara
2026-07-01 8:31 ` sashiko-bot
2026-07-01 8:17 ` [PATCH V3 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-07-01 8:17 UTC (permalink / raw)
To: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Dmitry Baryshkov, 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.
Enable the SD Host Controller Interface (SDHCI) on the monaco EVK board
to support SD Card for storage via a device tree overlay. This allows
eMMC support to be enabled through a separate overlay when required.
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 +++++++++++++++++++
2 files changed, 76 insertions(+)
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 6f33c4e2f09c..3c5983bff00c 100644
--- a/arch/arm64/boot/dts/qcom/Makefile
+++ b/arch/arm64/boot/dts/qcom/Makefile
@@ -69,6 +69,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;
+ };
+};
--
2.34.1
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCH V3 3/3] arm64: dts: qcom: monaco-evk: Add SDHCI support for eMMC via overlay
2026-07-01 8:17 [PATCH V3 0/3] arm64: dts: qcom: Monaco: Enable SDHCI storage support Monish Chunara
2026-07-01 8:17 ` [PATCH V3 1/3] arm64: dts: qcom: monaco: Move eMMC CQE support from SoC to board DT Monish Chunara
2026-07-01 8:17 ` [PATCH V3 2/3] arm64: dts: qcom: monaco-evk: Enable SDHCI for SD Card via overlay Monish Chunara
@ 2026-07-01 8:17 ` Monish Chunara
2026-07-01 8:29 ` sashiko-bot
2 siblings, 1 reply; 7+ messages in thread
From: Monish Chunara @ 2026-07-01 8:17 UTC (permalink / raw)
To: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Dmitry Baryshkov, 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 | 3 ++
arch/arm64/boot/dts/qcom/monaco-evk-emmc.dtso | 37 +++++++++++++++++++
2 files changed, 40 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 3c5983bff00c..e9a21c83001c 100644
--- a/arch/arm64/boot/dts/qcom/Makefile
+++ b/arch/arm64/boot/dts/qcom/Makefile
@@ -73,6 +73,9 @@ 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
+monaco-evk-emmc-dtbs := monaco-evk.dtb monaco-evk-emmc.dtbo
+dtb-$(CONFIG_ARCH_QCOM) += monaco-evk-emmc.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-emmc.dtso b/arch/arm64/boot/dts/qcom/monaco-evk-emmc.dtso
new file mode 100644
index 000000000000..cb2566ac6923
--- /dev/null
+++ b/arch/arm64/boot/dts/qcom/monaco-evk-emmc.dtso
@@ -0,0 +1,37 @@
+// SPDX-License-Identifier: BSD-3-Clause
+/*
+ * Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.
+ */
+
+/dts-v1/;
+/plugin/;
+
+/ {
+ vreg_s2s: regulator-vreg-s2s {
+ compatible = "regulator-fixed";
+ regulator-name = "regulator-s2s";
+
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ };
+};
+
+&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 related [flat|nested] 7+ messages in thread
* Re: [PATCH V3 1/3] arm64: dts: qcom: monaco: Move eMMC CQE support from SoC to board DT
2026-07-01 8:17 ` [PATCH V3 1/3] arm64: dts: qcom: monaco: Move eMMC CQE support from SoC to board DT Monish Chunara
@ 2026-07-01 8:28 ` sashiko-bot
0 siblings, 0 replies; 7+ messages in thread
From: sashiko-bot @ 2026-07-01 8:28 UTC (permalink / raw)
To: Monish Chunara; +Cc: devicetree, robh, conor+dt
Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
- [High] Missing `supports-cqe` property for eMMC in `monaco-evk.dts`.
--
commit 5c91ec5c205c89bd965c17fc6805d964575e0468
Author: Monish Chunara <monish.chunara@oss.qualcomm.com>
arm64: dts: qcom: monaco: Move eMMC CQE support from SoC to board DT
This commit removes the 'supports-cqe' property from the Monaco SoC device
tree to allow SD card compatibility, and moves it into the board-specific
device trees that use eMMC.
> diff --git a/arch/arm64/boot/dts/qcom/monaco.dtsi b/arch/arm64/boot/dts/qcom/monaco.dtsi
> index 7b1d57460f1e6..e5f316897706b 100644
> --- a/arch/arm64/boot/dts/qcom/monaco.dtsi
> +++ b/arch/arm64/boot/dts/qcom/monaco.dtsi
> @@ -4828,7 +4828,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;
[Severity: High]
Does this unintentionally drop CQE support for the monaco-evk board?
The &sdhc_1 node in arch/arm64/boot/dts/qcom/monaco-evk.dts configures the
controller for eMMC:
&sdhc_1 {
vmmc-supply = <&vreg_l8a>;
vqmmc-supply = <&vreg_s2s>;
no-sd;
no-sdio;
non-removable;
status = "okay";
};
Since supports-cqe is removed from the base monaco.dtsi here, but is not
explicitly added to monaco-evk.dts in this patch, booting the standalone
monaco-evk.dtb will now bring up eMMC without Command Queue Engine support.
Should monaco-evk.dts be updated alongside the other boards in this patch
to prevent a performance regression?
--
Sashiko AI review · https://sashiko.dev/#/patchset/20260701081715.2580329-1-monish.chunara@oss.qualcomm.com?part=1
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH V3 3/3] arm64: dts: qcom: monaco-evk: Add SDHCI support for eMMC via overlay
2026-07-01 8:17 ` [PATCH V3 3/3] arm64: dts: qcom: monaco-evk: Add SDHCI support for eMMC " Monish Chunara
@ 2026-07-01 8:29 ` sashiko-bot
0 siblings, 0 replies; 7+ messages in thread
From: sashiko-bot @ 2026-07-01 8:29 UTC (permalink / raw)
To: Monish Chunara; +Cc: robh, devicetree, conor+dt
Thank you for your contribution! Sashiko AI review found 3 potential issue(s) to consider:
New issues:
- [Medium] Duplicate regulator node creation and label shadowing in overlay.
- [Low] Redundant device tree overlay duplicating base configuration.
Pre-existing issues:
- [High] Conflicting device tree properties silently disable SD card functionality.
--
commit c17f3092c8fef709ae2384b75b1582cdb37b5837
Author: Monish Chunara <monish.chunara@oss.qualcomm.com>
arm64: dts: qcom: monaco-evk: Add SDHCI support for eMMC via overlay
Enable the SDHCI controller for eMMC functionality on the Monaco EVK
using a device tree overlay.
> diff --git a/arch/arm64/boot/dts/qcom/Makefile b/arch/arm64/boot/dts/qcom/Makefile
> index 0b60626369190..a341d6dab6150 100644
> --- a/arch/arm64/boot/dts/qcom/Makefile
> +++ b/arch/arm64/boot/dts/qcom/Makefile
> @@ -71,6 +71,9 @@ dtb-$(CONFIG_ARCH_QCOM) += monaco-evk-ifp-mezzanine.dtb
> monaco-evk-sd-card-dtbs := monaco-evk.dtb monaco-evk-sd-card.dtbo
[Severity: High]
This is a pre-existing issue, but does applying the monaco-evk-sd-card.dtso
overlay break SD card functionality by conflicting with the base device tree?
The base device tree monaco-evk.dts defaults to eMMC and hardcodes no-sd and
non-removable for sdhc_1.
The monaco-evk-sd-card.dtso overlay adds no-mmc and cd-gpios, but doesn't
explicitly delete the base boolean properties using /delete-property/.
Because overlays don't overwrite or delete boolean properties without that
directive, the merged node would retain both no-sd and no-mmc, which could
completely disable media scanning.
> dtb-$(CONFIG_ARCH_QCOM) += monaco-evk-sd-card.dtb
>
> +monaco-evk-emmc-dtbs := monaco-evk.dtb monaco-evk-emmc.dtbo
> +dtb-$(CONFIG_ARCH_QCOM) += monaco-evk-emmc.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 0000000000000..cb2566ac6923c
> --- /dev/null
> +++ b/arch/arm64/boot/dts/qcom/monaco-evk-emmc.dtso
> @@ -0,0 +1,37 @@
> +// SPDX-License-Identifier: BSD-3-Clause
> +/*
> + * Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.
> + */
> +
> +/dts-v1/;
> +/plugin/;
> +
> +/ {
> + vreg_s2s: regulator-vreg-s2s {
[Severity: Medium]
Does this create a duplicate phantom node instead of merging with the intended
base regulator?
The base device tree monaco-evk.dts defines a fixed regulator node named
vreg-s2s. This overlay defines a new fixed regulator node named
regulator-vreg-s2s and assigns it the same label vreg_s2s.
Because the node names differ, the dtc overlay compiler won't merge them.
This could create a second phantom node at the root (/regulator-vreg-s2s).
Will local phandle references to <&vreg_s2s> in this overlay resolve to the
new phantom node instead of generating a fixup to the correct base board
regulator resource?
> + compatible = "regulator-fixed";
> + regulator-name = "regulator-s2s";
> +
> + regulator-min-microvolt = <1800000>;
> + regulator-max-microvolt = <1800000>;
> + };
> +};
> +
> +&sdhc_1 {
[Severity: Low]
Does this overlay duplicate properties that are already fully configured in
the base device tree?
The base board DT monaco-evk.dts already sets up sdhc_1 for eMMC with
properties such as no-sd, no-sdio, non-removable, vmmc-supply, and
vqmmc-supply.
Since this overlay redefines all of these exact properties, does it offer new
functionality beyond supports-cqe, or should the base board DT instead leave
the controller unconfigured for media types so overlays can correctly apply
the specific parameters?
> + 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";
> +};
--
Sashiko AI review · https://sashiko.dev/#/patchset/20260701081715.2580329-1-monish.chunara@oss.qualcomm.com?part=3
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH V3 2/3] arm64: dts: qcom: monaco-evk: Enable SDHCI for SD Card via overlay
2026-07-01 8:17 ` [PATCH V3 2/3] arm64: dts: qcom: monaco-evk: Enable SDHCI for SD Card via overlay Monish Chunara
@ 2026-07-01 8:31 ` sashiko-bot
0 siblings, 0 replies; 7+ messages in thread
From: sashiko-bot @ 2026-07-01 8:31 UTC (permalink / raw)
To: Monish Chunara; +Cc: devicetree, conor+dt, robh
Thank you for your contribution! Sashiko AI review found 2 potential issue(s) to consider:
- [High] The SD card overlay fails to remove conflicting eMMC properties (`no-sd` and `non-removable`) inherited from the base device tree, rendering the SD controller non-functional.
- [Medium] The overlay configures 1.8V regulator states and high-speed OPPs for UHS-I, but explicitly disables 1.8V support via `no-1-8-v`, rendering the high-speed configurations unreachable.
--
Note: The format of this review is altered to provide a free-form summary
of the findings rather than inline quotes due to recitation restrictions.
commit 8700d2dd7b89a43576ae3f5ad283ea9e832db05a
Author: Monish Chunara <monish.chunara@oss.qualcomm.com>
arm64: dts: qcom: monaco-evk: Enable SDHCI for SD Card via overlay
The monaco EVK board supports either eMMC or SD-card, but only one
can be active at a time. This enables the SDHCI for SD Card support
via a device tree overlay.
[Severity: High]
In arch/arm64/boot/dts/qcom/monaco-evk-sd-card.dtso, the overlay modifies
the &sdhc_1 node by adding no-mmc and cd-gpios, but it doesn't explicitly
delete the conflicting properties inherited from the base device tree.
Since device tree overlays merge nodes and do not implicitly overwrite
boolean properties, does this resulting merged node contain both no-sd
(from the base) and no-mmc (from the overlay)?
If both properties are present, will the MMC subsystem set both
MMC_CAP2_NO_SD and MMC_CAP2_NO_MMC flags and refuse to initialize any
card? Additionally, won't leaving the non-removable property from the
base tree intact cause mmc_of_parse() to bypass requesting the newly
added cd-gpios?
Should this overlay explicitly use /delete-property/ no-sd; and
/delete-property/ non-removable; to clear the base configuration?
[Severity: Medium]
Also in arch/arm64/boot/dts/qcom/monaco-evk-sd-card.dtso, the &sdhc_1
node is configured with the no-1-8-v property. However, the overlay
configures vreg_sdc with a 1.8V state (states = <1800000 1>) and sets up
sdhc1_opp_table with opp-100000000 and opp-202000000, which correspond
to SDR50 and SDR104 modes requiring 1.8V.
Does setting no-1-8-v force the MMC core to disable UHS capabilities and
artificially restrict the SD card to 50MHz?
If the board genuinely supports 1.8V, should the no-1-8-v property be
removed? Alternatively, if the board cannot support 1.8V, should the
unused 1.8V regulator configurations and high-speed OPP additions be
dropped to avoid contradictory configurations?
--
Sashiko AI review · https://sashiko.dev/#/patchset/20260701081715.2580329-1-monish.chunara@oss.qualcomm.com?part=2
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2026-07-01 8:31 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-07-01 8:17 [PATCH V3 0/3] arm64: dts: qcom: Monaco: Enable SDHCI storage support Monish Chunara
2026-07-01 8:17 ` [PATCH V3 1/3] arm64: dts: qcom: monaco: Move eMMC CQE support from SoC to board DT Monish Chunara
2026-07-01 8:28 ` sashiko-bot
2026-07-01 8:17 ` [PATCH V3 2/3] arm64: dts: qcom: monaco-evk: Enable SDHCI for SD Card via overlay Monish Chunara
2026-07-01 8:31 ` sashiko-bot
2026-07-01 8:17 ` [PATCH V3 3/3] arm64: dts: qcom: monaco-evk: Add SDHCI support for eMMC " Monish Chunara
2026-07-01 8:29 ` sashiko-bot
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox