* [PATCH v1 0/3] Enable eMMC/SDCC support for QCS615 platform
@ 2026-01-26 15:59 Balaji Selvanathan
2026-01-26 15:59 ` [PATCH v1 1/3] clk: qcom: Add QCS615 SDCC clock support and RPMH-CLK compatibility Balaji Selvanathan
` (2 more replies)
0 siblings, 3 replies; 9+ messages in thread
From: Balaji Selvanathan @ 2026-01-26 15:59 UTC (permalink / raw)
To: trini, casey.connolly, neil.armstrong, sumit.garg, lukma,
aswin.murugan, balaji.selvanathan, rui.silva, david.wronek,
ilias.apalodimas, luca.weiss, jorge.ramirez, stephan.gerhold,
quic_varada, u-boot-qcom, u-boot
This series enables eMMC functionality on QCS615 platform by adding
the necessary clock infrastructure, removing conflicting device tree
fixups, and updating the boot environment to work reliably with eMMC
storage.
Balaji Selvanathan (3):
clk: qcom: Add QCS615 SDCC clock support and RPMH-CLK compatibility
arm: snapdragon: Remove QCS615 MMC node disable fixup
board: qualcomm: Remove SCSI scan from default preboot environment
arch/arm/mach-snapdragon/of_fixup.c | 14 --------------
board/qualcomm/default.env | 2 +-
drivers/clk/clk-stub.c | 2 +-
drivers/clk/qcom/clock-qcom.h | 1 +
drivers/clk/qcom/clock-qcs615.c | 10 ++++++++++
5 files changed, 13 insertions(+), 16 deletions(-)
--
2.34.1
^ permalink raw reply [flat|nested] 9+ messages in thread
* [PATCH v1 1/3] clk: qcom: Add QCS615 SDCC clock support and RPMH-CLK compatibility
2026-01-26 15:59 [PATCH v1 0/3] Enable eMMC/SDCC support for QCS615 platform Balaji Selvanathan
@ 2026-01-26 15:59 ` Balaji Selvanathan
2026-01-27 6:28 ` Sumit Garg
2026-02-09 18:56 ` Casey Connolly
2026-01-26 15:59 ` [PATCH v1 2/3] arm: snapdragon: Remove QCS615 MMC node disable fixup Balaji Selvanathan
2026-01-26 15:59 ` [PATCH v1 3/3] board: qualcomm: Remove SCSI scan from default preboot environment Balaji Selvanathan
2 siblings, 2 replies; 9+ messages in thread
From: Balaji Selvanathan @ 2026-01-26 15:59 UTC (permalink / raw)
To: trini, casey.connolly, neil.armstrong, sumit.garg, lukma,
aswin.murugan, balaji.selvanathan, rui.silva, david.wronek,
ilias.apalodimas, luca.weiss, jorge.ramirez, stephan.gerhold,
quic_varada, u-boot-qcom, u-boot
Add SDCC (SD Card Controller) clock support for QCS615 platform to
enable eMMC functionality. This includes adding SDCC1 and SDCC2 clock
gates, implementing SDCC1 apps clock rate configuration
and adding QCS615 RPMH clock compatibility to the stub
driver to handle device tree clock controller references.
Signed-off-by: Balaji Selvanathan <balaji.selvanathan@oss.qualcomm.com>
---
drivers/clk/clk-stub.c | 2 +-
drivers/clk/qcom/clock-qcom.h | 1 +
drivers/clk/qcom/clock-qcs615.c | 10 ++++++++++
3 files changed, 12 insertions(+), 1 deletion(-)
diff --git a/drivers/clk/clk-stub.c b/drivers/clk/clk-stub.c
index 117266ac778..1bc749e47b3 100644
--- a/drivers/clk/clk-stub.c
+++ b/drivers/clk/clk-stub.c
@@ -50,6 +50,7 @@ static struct clk_ops stub_clk_ops = {
static const struct udevice_id stub_clk_ids[] = {
{ .compatible = "qcom,rpmcc" },
+ { .compatible = "qcom,qcs615-rpmh-clk" },
{ .compatible = "qcom,sdm670-rpmh-clk" },
{ .compatible = "qcom,sdm845-rpmh-clk" },
{ .compatible = "qcom,sc7180-rpmh-clk" },
@@ -69,4 +70,3 @@ U_BOOT_DRIVER(clk_stub) = {
.of_match = stub_clk_ids,
.flags = DM_FLAG_DEFAULT_PD_CTRL_OFF,
};
-
diff --git a/drivers/clk/qcom/clock-qcom.h b/drivers/clk/qcom/clock-qcom.h
index 3a4550d8536..bc7e0453cba 100644
--- a/drivers/clk/qcom/clock-qcom.h
+++ b/drivers/clk/qcom/clock-qcom.h
@@ -14,6 +14,7 @@
#define CFG_CLK_SRC_GPLL0_AUX2 (2 << 8)
#define CFG_CLK_SRC_GPLL2 (2 << 8)
#define CFG_CLK_SRC_GPLL2_MAIN (2 << 8)
+#define CFG_CLK_SRC_GPLL6_OUT_MAIN (2 << 8)
#define CFG_CLK_SRC_GPLL9 (2 << 8)
#define CFG_CLK_SRC_GPLL0_ODD (3 << 8)
#define CFG_CLK_SRC_GPLL6 (4 << 8)
diff --git a/drivers/clk/qcom/clock-qcs615.c b/drivers/clk/qcom/clock-qcs615.c
index 4700baba8c9..483642531ef 100644
--- a/drivers/clk/qcom/clock-qcs615.c
+++ b/drivers/clk/qcom/clock-qcs615.c
@@ -18,6 +18,7 @@
#define USB30_PRIM_MOCK_UTMI_CLK_CMD_RCGR 0xf034
#define USB30_PRIM_MASTER_CLK_CMD_RCGR 0xf01c
#define USB3_PRIM_PHY_AUX_CMD_RCGR 0xf060
+#define SDCC1_APPS_CLK_CMD_RCGR 0x12028
#define GCC_QUPV3_WRAP0_S0_CLK_ENA_BIT BIT(10)
#define GCC_QUPV3_WRAP0_S1_CLK_ENA_BIT BIT(11)
@@ -52,6 +53,10 @@ static ulong qcs615_set_rate(struct clk *clk, ulong rate)
5, 0, 0, CFG_CLK_SRC_GPLL0, 8);
clk_rcg_set_rate(priv->base, USB3_PRIM_PHY_AUX_CMD_RCGR, 0, 0);
return rate;
+ case GCC_SDCC1_APPS_CLK:
+ clk_rcg_set_rate(priv->base, SDCC1_APPS_CLK_CMD_RCGR,
+ 1, CFG_CLK_SRC_GPLL6_OUT_MAIN);
+ return rate;
default:
return 0;
}
@@ -66,6 +71,11 @@ static const struct gate_clk qcs615_clks[] = {
GATE_CLK(GCC_USB3_PRIM_PHY_AUX_CLK, 0xf050, BIT(0)),
GATE_CLK(GCC_USB3_PRIM_PHY_COM_AUX_CLK, 0xf054, BIT(0)),
GATE_CLK(GCC_USB3_PRIM_PHY_PIPE_CLK, 0xf058, BIT(0)),
+ GATE_CLK(GCC_SDCC1_AHB_CLK, 0x12008, BIT(0)),
+ GATE_CLK(GCC_SDCC1_APPS_CLK, 0x12004, BIT(0)),
+ GATE_CLK(GCC_SDCC1_ICE_CORE_CLK, 0x1200c, BIT(0)),
+ GATE_CLK(GCC_SDCC2_AHB_CLK, 0x14008, BIT(0)),
+ GATE_CLK(GCC_SDCC2_APPS_CLK, 0x14004, BIT(0)),
GATE_CLK(GCC_QUPV3_WRAP0_S0_CLK, 0x5200c, GCC_QUPV3_WRAP0_S0_CLK_ENA_BIT),
GATE_CLK(GCC_QUPV3_WRAP0_S1_CLK, 0x5200c, GCC_QUPV3_WRAP0_S1_CLK_ENA_BIT),
GATE_CLK(GCC_QUPV3_WRAP0_S2_CLK, 0x5200c, GCC_QUPV3_WRAP0_S2_CLK_ENA_BIT),
--
2.34.1
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [PATCH v1 2/3] arm: snapdragon: Remove QCS615 MMC node disable fixup
2026-01-26 15:59 [PATCH v1 0/3] Enable eMMC/SDCC support for QCS615 platform Balaji Selvanathan
2026-01-26 15:59 ` [PATCH v1 1/3] clk: qcom: Add QCS615 SDCC clock support and RPMH-CLK compatibility Balaji Selvanathan
@ 2026-01-26 15:59 ` Balaji Selvanathan
2026-01-27 7:18 ` Sumit Garg
2026-01-26 15:59 ` [PATCH v1 3/3] board: qualcomm: Remove SCSI scan from default preboot environment Balaji Selvanathan
2 siblings, 1 reply; 9+ messages in thread
From: Balaji Selvanathan @ 2026-01-26 15:59 UTC (permalink / raw)
To: trini, casey.connolly, neil.armstrong, sumit.garg, lukma,
aswin.murugan, balaji.selvanathan, rui.silva, david.wronek,
ilias.apalodimas, luca.weiss, jorge.ramirez, stephan.gerhold,
quic_varada, u-boot-qcom, u-boot
Remove the QCS615-specific device tree fixup that was disabling the
MMC node at /soc@0/mmc@7c4000. This fixup is no longer needed as the
MMC/SDCC functionality should now be properly supported through the
clock infrastructure and device tree configuration.
This patch is based on the changes in the upstream submission:
https://lore.kernel.org/u-boot/20260113115404.1448759-4-aswin.murugan@oss.qualcomm.com/
Signed-off-by: Balaji Selvanathan <balaji.selvanathan@oss.qualcomm.com>
---
arch/arm/mach-snapdragon/of_fixup.c | 14 --------------
1 file changed, 14 deletions(-)
diff --git a/arch/arm/mach-snapdragon/of_fixup.c b/arch/arm/mach-snapdragon/of_fixup.c
index 9b6e1847489..216cc816d95 100644
--- a/arch/arm/mach-snapdragon/of_fixup.c
+++ b/arch/arm/mach-snapdragon/of_fixup.c
@@ -194,20 +194,6 @@ EVENT_SPY_FULL(EVT_OF_LIVE_BUILT, qcom_of_fixup_nodes);
static void soc_specific_fixups(struct fdt_header *fdt)
{
int ret;
-
- /* QCS615-specific fixup: Disable MMC node */
- if (fdt_node_check_compatible(fdt, 0, "qcom,qcs615") == 0) {
- int path_offset;
- char prop_val[] = "disabled";
-
- path_offset = fdt_path_offset(fdt, "/soc@0/mmc@7c4000");
- if (path_offset >= 0) {
- ret = fixup_dt_node(fdt, path_offset, "status",
- (void *)prop_val, SET_PROP_STRING);
- if (ret)
- log_err("Failed to disable MMC node for QCS615: %d\n", ret);
- }
- }
}
int ft_board_setup(void __maybe_unused *blob, struct bd_info __maybe_unused *bd)
--
2.34.1
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [PATCH v1 3/3] board: qualcomm: Remove SCSI scan from default preboot environment
2026-01-26 15:59 [PATCH v1 0/3] Enable eMMC/SDCC support for QCS615 platform Balaji Selvanathan
2026-01-26 15:59 ` [PATCH v1 1/3] clk: qcom: Add QCS615 SDCC clock support and RPMH-CLK compatibility Balaji Selvanathan
2026-01-26 15:59 ` [PATCH v1 2/3] arm: snapdragon: Remove QCS615 MMC node disable fixup Balaji Selvanathan
@ 2026-01-26 15:59 ` Balaji Selvanathan
2026-01-27 7:25 ` Sumit Garg
2026-02-09 19:16 ` Casey Connolly
2 siblings, 2 replies; 9+ messages in thread
From: Balaji Selvanathan @ 2026-01-26 15:59 UTC (permalink / raw)
To: trini, casey.connolly, neil.armstrong, sumit.garg, lukma,
aswin.murugan, balaji.selvanathan, rui.silva, david.wronek,
ilias.apalodimas, luca.weiss, jorge.ramirez, stephan.gerhold,
quic_varada, u-boot-qcom, u-boot
Remove "scsi scan" from the preboot command sequence in the default
Qualcomm board environment. The SCSI scan command fails on eMMC-based
boot configurations, causing unnecessary boot delays and potential
error messages during the preboot phase.
This change improves boot reliability on platforms using eMMC storage
as the primary boot device.
Signed-off-by: Balaji Selvanathan <balaji.selvanathan@oss.qualcomm.com>
---
board/qualcomm/default.env | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/board/qualcomm/default.env b/board/qualcomm/default.env
index dbf6f4e7260..7cfa8e0ce2a 100644
--- a/board/qualcomm/default.env
+++ b/board/qualcomm/default.env
@@ -1,7 +1,7 @@
stdin=serial,button-kbd
stdout=serial,vidconsole
stderr=serial,vidconsole
-preboot=scsi scan; usb start
+preboot=usb start
fastboot=fastboot -l $fastboot_addr_r usb 0
do_boot=bootefi bootmgr
bootmenu_0=Boot first available device=run do_boot
--
2.34.1
^ permalink raw reply related [flat|nested] 9+ messages in thread
* Re: [PATCH v1 1/3] clk: qcom: Add QCS615 SDCC clock support and RPMH-CLK compatibility
2026-01-26 15:59 ` [PATCH v1 1/3] clk: qcom: Add QCS615 SDCC clock support and RPMH-CLK compatibility Balaji Selvanathan
@ 2026-01-27 6:28 ` Sumit Garg
2026-02-09 18:56 ` Casey Connolly
1 sibling, 0 replies; 9+ messages in thread
From: Sumit Garg @ 2026-01-27 6:28 UTC (permalink / raw)
To: Balaji Selvanathan
Cc: trini, casey.connolly, neil.armstrong, lukma, aswin.murugan,
rui.silva, david.wronek, ilias.apalodimas, luca.weiss,
jorge.ramirez, stephan.gerhold, quic_varada, u-boot-qcom, u-boot
On Mon, Jan 26, 2026 at 09:29:36PM +0530, Balaji Selvanathan wrote:
> Add SDCC (SD Card Controller) clock support for QCS615 platform to
> enable eMMC functionality. This includes adding SDCC1 and SDCC2 clock
> gates, implementing SDCC1 apps clock rate configuration
> and adding QCS615 RPMH clock compatibility to the stub
> driver to handle device tree clock controller references.
>
> Signed-off-by: Balaji Selvanathan <balaji.selvanathan@oss.qualcomm.com>
> ---
> drivers/clk/clk-stub.c | 2 +-
> drivers/clk/qcom/clock-qcom.h | 1 +
> drivers/clk/qcom/clock-qcs615.c | 10 ++++++++++
> 3 files changed, 12 insertions(+), 1 deletion(-)
Reviewed-by: Sumit Garg <sumit.garg@oss.qualcomm.com>
-Sumit
>
> diff --git a/drivers/clk/clk-stub.c b/drivers/clk/clk-stub.c
> index 117266ac778..1bc749e47b3 100644
> --- a/drivers/clk/clk-stub.c
> +++ b/drivers/clk/clk-stub.c
> @@ -50,6 +50,7 @@ static struct clk_ops stub_clk_ops = {
>
> static const struct udevice_id stub_clk_ids[] = {
> { .compatible = "qcom,rpmcc" },
> + { .compatible = "qcom,qcs615-rpmh-clk" },
> { .compatible = "qcom,sdm670-rpmh-clk" },
> { .compatible = "qcom,sdm845-rpmh-clk" },
> { .compatible = "qcom,sc7180-rpmh-clk" },
> @@ -69,4 +70,3 @@ U_BOOT_DRIVER(clk_stub) = {
> .of_match = stub_clk_ids,
> .flags = DM_FLAG_DEFAULT_PD_CTRL_OFF,
> };
> -
> diff --git a/drivers/clk/qcom/clock-qcom.h b/drivers/clk/qcom/clock-qcom.h
> index 3a4550d8536..bc7e0453cba 100644
> --- a/drivers/clk/qcom/clock-qcom.h
> +++ b/drivers/clk/qcom/clock-qcom.h
> @@ -14,6 +14,7 @@
> #define CFG_CLK_SRC_GPLL0_AUX2 (2 << 8)
> #define CFG_CLK_SRC_GPLL2 (2 << 8)
> #define CFG_CLK_SRC_GPLL2_MAIN (2 << 8)
> +#define CFG_CLK_SRC_GPLL6_OUT_MAIN (2 << 8)
> #define CFG_CLK_SRC_GPLL9 (2 << 8)
> #define CFG_CLK_SRC_GPLL0_ODD (3 << 8)
> #define CFG_CLK_SRC_GPLL6 (4 << 8)
> diff --git a/drivers/clk/qcom/clock-qcs615.c b/drivers/clk/qcom/clock-qcs615.c
> index 4700baba8c9..483642531ef 100644
> --- a/drivers/clk/qcom/clock-qcs615.c
> +++ b/drivers/clk/qcom/clock-qcs615.c
> @@ -18,6 +18,7 @@
> #define USB30_PRIM_MOCK_UTMI_CLK_CMD_RCGR 0xf034
> #define USB30_PRIM_MASTER_CLK_CMD_RCGR 0xf01c
> #define USB3_PRIM_PHY_AUX_CMD_RCGR 0xf060
> +#define SDCC1_APPS_CLK_CMD_RCGR 0x12028
>
> #define GCC_QUPV3_WRAP0_S0_CLK_ENA_BIT BIT(10)
> #define GCC_QUPV3_WRAP0_S1_CLK_ENA_BIT BIT(11)
> @@ -52,6 +53,10 @@ static ulong qcs615_set_rate(struct clk *clk, ulong rate)
> 5, 0, 0, CFG_CLK_SRC_GPLL0, 8);
> clk_rcg_set_rate(priv->base, USB3_PRIM_PHY_AUX_CMD_RCGR, 0, 0);
> return rate;
> + case GCC_SDCC1_APPS_CLK:
> + clk_rcg_set_rate(priv->base, SDCC1_APPS_CLK_CMD_RCGR,
> + 1, CFG_CLK_SRC_GPLL6_OUT_MAIN);
> + return rate;
> default:
> return 0;
> }
> @@ -66,6 +71,11 @@ static const struct gate_clk qcs615_clks[] = {
> GATE_CLK(GCC_USB3_PRIM_PHY_AUX_CLK, 0xf050, BIT(0)),
> GATE_CLK(GCC_USB3_PRIM_PHY_COM_AUX_CLK, 0xf054, BIT(0)),
> GATE_CLK(GCC_USB3_PRIM_PHY_PIPE_CLK, 0xf058, BIT(0)),
> + GATE_CLK(GCC_SDCC1_AHB_CLK, 0x12008, BIT(0)),
> + GATE_CLK(GCC_SDCC1_APPS_CLK, 0x12004, BIT(0)),
> + GATE_CLK(GCC_SDCC1_ICE_CORE_CLK, 0x1200c, BIT(0)),
> + GATE_CLK(GCC_SDCC2_AHB_CLK, 0x14008, BIT(0)),
> + GATE_CLK(GCC_SDCC2_APPS_CLK, 0x14004, BIT(0)),
> GATE_CLK(GCC_QUPV3_WRAP0_S0_CLK, 0x5200c, GCC_QUPV3_WRAP0_S0_CLK_ENA_BIT),
> GATE_CLK(GCC_QUPV3_WRAP0_S1_CLK, 0x5200c, GCC_QUPV3_WRAP0_S1_CLK_ENA_BIT),
> GATE_CLK(GCC_QUPV3_WRAP0_S2_CLK, 0x5200c, GCC_QUPV3_WRAP0_S2_CLK_ENA_BIT),
> --
> 2.34.1
>
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH v1 2/3] arm: snapdragon: Remove QCS615 MMC node disable fixup
2026-01-26 15:59 ` [PATCH v1 2/3] arm: snapdragon: Remove QCS615 MMC node disable fixup Balaji Selvanathan
@ 2026-01-27 7:18 ` Sumit Garg
0 siblings, 0 replies; 9+ messages in thread
From: Sumit Garg @ 2026-01-27 7:18 UTC (permalink / raw)
To: Balaji Selvanathan
Cc: trini, casey.connolly, neil.armstrong, lukma, aswin.murugan,
rui.silva, david.wronek, ilias.apalodimas, luca.weiss,
jorge.ramirez, stephan.gerhold, quic_varada, u-boot-qcom, u-boot
On Mon, Jan 26, 2026 at 09:29:37PM +0530, Balaji Selvanathan wrote:
> Remove the QCS615-specific device tree fixup that was disabling the
> MMC node at /soc@0/mmc@7c4000. This fixup is no longer needed as the
> MMC/SDCC functionality should now be properly supported through the
> clock infrastructure and device tree configuration.
>
> This patch is based on the changes in the upstream submission:
> https://lore.kernel.org/u-boot/20260113115404.1448759-4-aswin.murugan@oss.qualcomm.com/
Rather drop this patch entirely since fixing eMMC as you did as part of
patch #1 is the right thing to do for upstream. The series you
referenced can be adjusted accordingly.
-Sumit
>
> Signed-off-by: Balaji Selvanathan <balaji.selvanathan@oss.qualcomm.com>
> ---
> arch/arm/mach-snapdragon/of_fixup.c | 14 --------------
> 1 file changed, 14 deletions(-)
>
> diff --git a/arch/arm/mach-snapdragon/of_fixup.c b/arch/arm/mach-snapdragon/of_fixup.c
> index 9b6e1847489..216cc816d95 100644
> --- a/arch/arm/mach-snapdragon/of_fixup.c
> +++ b/arch/arm/mach-snapdragon/of_fixup.c
> @@ -194,20 +194,6 @@ EVENT_SPY_FULL(EVT_OF_LIVE_BUILT, qcom_of_fixup_nodes);
> static void soc_specific_fixups(struct fdt_header *fdt)
> {
> int ret;
> -
> - /* QCS615-specific fixup: Disable MMC node */
> - if (fdt_node_check_compatible(fdt, 0, "qcom,qcs615") == 0) {
> - int path_offset;
> - char prop_val[] = "disabled";
> -
> - path_offset = fdt_path_offset(fdt, "/soc@0/mmc@7c4000");
> - if (path_offset >= 0) {
> - ret = fixup_dt_node(fdt, path_offset, "status",
> - (void *)prop_val, SET_PROP_STRING);
> - if (ret)
> - log_err("Failed to disable MMC node for QCS615: %d\n", ret);
> - }
> - }
> }
>
> int ft_board_setup(void __maybe_unused *blob, struct bd_info __maybe_unused *bd)
> --
> 2.34.1
>
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH v1 3/3] board: qualcomm: Remove SCSI scan from default preboot environment
2026-01-26 15:59 ` [PATCH v1 3/3] board: qualcomm: Remove SCSI scan from default preboot environment Balaji Selvanathan
@ 2026-01-27 7:25 ` Sumit Garg
2026-02-09 19:16 ` Casey Connolly
1 sibling, 0 replies; 9+ messages in thread
From: Sumit Garg @ 2026-01-27 7:25 UTC (permalink / raw)
To: Balaji Selvanathan
Cc: trini, casey.connolly, neil.armstrong, lukma, aswin.murugan,
rui.silva, david.wronek, ilias.apalodimas, luca.weiss,
jorge.ramirez, stephan.gerhold, quic_varada, u-boot-qcom, u-boot
On Mon, Jan 26, 2026 at 09:29:38PM +0530, Balaji Selvanathan wrote:
> Remove "scsi scan" from the preboot command sequence in the default
> Qualcomm board environment.
This is the default environment configuration expected to work on all
Qcom platforms, wouln't it break platforms supporting UFS boot?
> The SCSI scan command fails on eMMC-based
> boot configurations, causing unnecessary boot delays and potential
> error messages during the preboot phase.
Say if UFS isn't supported as the boot target then this SCSI scan should
just bail out. Can you share the error messages and boot delays seen
here?
-Sumit
>
> This change improves boot reliability on platforms using eMMC storage
> as the primary boot device.
>
> Signed-off-by: Balaji Selvanathan <balaji.selvanathan@oss.qualcomm.com>
> ---
> board/qualcomm/default.env | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/board/qualcomm/default.env b/board/qualcomm/default.env
> index dbf6f4e7260..7cfa8e0ce2a 100644
> --- a/board/qualcomm/default.env
> +++ b/board/qualcomm/default.env
> @@ -1,7 +1,7 @@
> stdin=serial,button-kbd
> stdout=serial,vidconsole
> stderr=serial,vidconsole
> -preboot=scsi scan; usb start
> +preboot=usb start
> fastboot=fastboot -l $fastboot_addr_r usb 0
> do_boot=bootefi bootmgr
> bootmenu_0=Boot first available device=run do_boot
> --
> 2.34.1
>
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH v1 1/3] clk: qcom: Add QCS615 SDCC clock support and RPMH-CLK compatibility
2026-01-26 15:59 ` [PATCH v1 1/3] clk: qcom: Add QCS615 SDCC clock support and RPMH-CLK compatibility Balaji Selvanathan
2026-01-27 6:28 ` Sumit Garg
@ 2026-02-09 18:56 ` Casey Connolly
1 sibling, 0 replies; 9+ messages in thread
From: Casey Connolly @ 2026-02-09 18:56 UTC (permalink / raw)
To: Balaji Selvanathan, trini, neil.armstrong, sumit.garg, lukma,
aswin.murugan, rui.silva, david.wronek, ilias.apalodimas,
luca.weiss, jorge.ramirez, stephan.gerhold, quic_varada,
u-boot-qcom, u-boot
Hi Balaji,
On 26/01/2026 16:59, Balaji Selvanathan wrote:
> Add SDCC (SD Card Controller) clock support for QCS615 platform to
> enable eMMC functionality. This includes adding SDCC1 and SDCC2 clock
> gates, implementing SDCC1 apps clock rate configuration
> and adding QCS615 RPMH clock compatibility to the stub
> driver to handle device tree clock controller references.
For the sake of clarity, could you split the clk-stub patch out to it's
own patch.
>
> Signed-off-by: Balaji Selvanathan <balaji.selvanathan@oss.qualcomm.com>
Reviewed-by: Casey Connolly <casey.connolly@linaro.org>
> ---
> drivers/clk/clk-stub.c | 2 +-
> drivers/clk/qcom/clock-qcom.h | 1 +
> drivers/clk/qcom/clock-qcs615.c | 10 ++++++++++
> 3 files changed, 12 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/clk/clk-stub.c b/drivers/clk/clk-stub.c
> index 117266ac778..1bc749e47b3 100644
> --- a/drivers/clk/clk-stub.c
> +++ b/drivers/clk/clk-stub.c
> @@ -50,6 +50,7 @@ static struct clk_ops stub_clk_ops = {
>
> static const struct udevice_id stub_clk_ids[] = {
> { .compatible = "qcom,rpmcc" },
> + { .compatible = "qcom,qcs615-rpmh-clk" },
> { .compatible = "qcom,sdm670-rpmh-clk" },
> { .compatible = "qcom,sdm845-rpmh-clk" },
> { .compatible = "qcom,sc7180-rpmh-clk" },
> @@ -69,4 +70,3 @@ U_BOOT_DRIVER(clk_stub) = {
> .of_match = stub_clk_ids,
> .flags = DM_FLAG_DEFAULT_PD_CTRL_OFF,
> };
> -
> diff --git a/drivers/clk/qcom/clock-qcom.h b/drivers/clk/qcom/clock-qcom.h
> index 3a4550d8536..bc7e0453cba 100644
> --- a/drivers/clk/qcom/clock-qcom.h
> +++ b/drivers/clk/qcom/clock-qcom.h
> @@ -14,6 +14,7 @@
> #define CFG_CLK_SRC_GPLL0_AUX2 (2 << 8)
> #define CFG_CLK_SRC_GPLL2 (2 << 8)
> #define CFG_CLK_SRC_GPLL2_MAIN (2 << 8)
> +#define CFG_CLK_SRC_GPLL6_OUT_MAIN (2 << 8)
> #define CFG_CLK_SRC_GPLL9 (2 << 8)
> #define CFG_CLK_SRC_GPLL0_ODD (3 << 8)
> #define CFG_CLK_SRC_GPLL6 (4 << 8)
> diff --git a/drivers/clk/qcom/clock-qcs615.c b/drivers/clk/qcom/clock-qcs615.c
> index 4700baba8c9..483642531ef 100644
> --- a/drivers/clk/qcom/clock-qcs615.c
> +++ b/drivers/clk/qcom/clock-qcs615.c
> @@ -18,6 +18,7 @@
> #define USB30_PRIM_MOCK_UTMI_CLK_CMD_RCGR 0xf034
> #define USB30_PRIM_MASTER_CLK_CMD_RCGR 0xf01c
> #define USB3_PRIM_PHY_AUX_CMD_RCGR 0xf060
> +#define SDCC1_APPS_CLK_CMD_RCGR 0x12028
>
> #define GCC_QUPV3_WRAP0_S0_CLK_ENA_BIT BIT(10)
> #define GCC_QUPV3_WRAP0_S1_CLK_ENA_BIT BIT(11)
> @@ -52,6 +53,10 @@ static ulong qcs615_set_rate(struct clk *clk, ulong rate)
> 5, 0, 0, CFG_CLK_SRC_GPLL0, 8);
> clk_rcg_set_rate(priv->base, USB3_PRIM_PHY_AUX_CMD_RCGR, 0, 0);
> return rate;
> + case GCC_SDCC1_APPS_CLK:
> + clk_rcg_set_rate(priv->base, SDCC1_APPS_CLK_CMD_RCGR,
> + 1, CFG_CLK_SRC_GPLL6_OUT_MAIN);
> + return rate;
> default:
> return 0;
> }
> @@ -66,6 +71,11 @@ static const struct gate_clk qcs615_clks[] = {
> GATE_CLK(GCC_USB3_PRIM_PHY_AUX_CLK, 0xf050, BIT(0)),
> GATE_CLK(GCC_USB3_PRIM_PHY_COM_AUX_CLK, 0xf054, BIT(0)),
> GATE_CLK(GCC_USB3_PRIM_PHY_PIPE_CLK, 0xf058, BIT(0)),
> + GATE_CLK(GCC_SDCC1_AHB_CLK, 0x12008, BIT(0)),
> + GATE_CLK(GCC_SDCC1_APPS_CLK, 0x12004, BIT(0)),
> + GATE_CLK(GCC_SDCC1_ICE_CORE_CLK, 0x1200c, BIT(0)),
> + GATE_CLK(GCC_SDCC2_AHB_CLK, 0x14008, BIT(0)),
> + GATE_CLK(GCC_SDCC2_APPS_CLK, 0x14004, BIT(0)),
> GATE_CLK(GCC_QUPV3_WRAP0_S0_CLK, 0x5200c, GCC_QUPV3_WRAP0_S0_CLK_ENA_BIT),
> GATE_CLK(GCC_QUPV3_WRAP0_S1_CLK, 0x5200c, GCC_QUPV3_WRAP0_S1_CLK_ENA_BIT),
> GATE_CLK(GCC_QUPV3_WRAP0_S2_CLK, 0x5200c, GCC_QUPV3_WRAP0_S2_CLK_ENA_BIT),
--
// Casey (she/her)
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH v1 3/3] board: qualcomm: Remove SCSI scan from default preboot environment
2026-01-26 15:59 ` [PATCH v1 3/3] board: qualcomm: Remove SCSI scan from default preboot environment Balaji Selvanathan
2026-01-27 7:25 ` Sumit Garg
@ 2026-02-09 19:16 ` Casey Connolly
1 sibling, 0 replies; 9+ messages in thread
From: Casey Connolly @ 2026-02-09 19:16 UTC (permalink / raw)
To: Balaji Selvanathan, trini, neil.armstrong, sumit.garg, lukma,
aswin.murugan, rui.silva, david.wronek, ilias.apalodimas,
luca.weiss, jorge.ramirez, stephan.gerhold, quic_varada,
u-boot-qcom, u-boot
Hi Balaji,
On 26/01/2026 16:59, Balaji Selvanathan wrote:
> Remove "scsi scan" from the preboot command sequence in the default
> Qualcomm board environment. The SCSI scan command fails on eMMC-based
> boot configurations, causing unnecessary boot delays and potential
> error messages during the preboot phase.
I'm fine with this change in principle, since we already do the
scsi_scan() in qcom_configure_capsule_updates(). However currently this
only happens on Qualcomm boards if EFI_HAVE_CAPSULE_UPDATE is enabled.
Could you move the scsi_scan() call from there to board_late_init()? It
would be even better to introduce a config option for this and do it in
board_r.c similarly to mmc init (perhaps rename initr_mmc to
initr_storage), maybe something for the todo list?
>
> This change improves boot reliability on platforms using eMMC storage
> as the primary boot device.
It isn't clear from the commit message here but do I understand
correctly that you're booting on a board that can either have eMMC or
UFS storage, and that the UFS controller is enabled in DT despite the
hardware not being present?
I would propose (in addition to the above) that you resolve this with a
runtime DT fixup, I believe SMEM (or maybe the sbl1 shared data
structure?) contain a property describing what storage device we're
booting from, so the other one can be disabled.
Kind regards,
>
> Signed-off-by: Balaji Selvanathan <balaji.selvanathan@oss.qualcomm.com>
> ---
> board/qualcomm/default.env | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/board/qualcomm/default.env b/board/qualcomm/default.env
> index dbf6f4e7260..7cfa8e0ce2a 100644
> --- a/board/qualcomm/default.env
> +++ b/board/qualcomm/default.env
> @@ -1,7 +1,7 @@
> stdin=serial,button-kbd
> stdout=serial,vidconsole
> stderr=serial,vidconsole
> -preboot=scsi scan; usb start
> +preboot=usb start
> fastboot=fastboot -l $fastboot_addr_r usb 0
> do_boot=bootefi bootmgr
> bootmenu_0=Boot first available device=run do_boot
--
// Casey (she/her)
^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2026-02-09 19:16 UTC | newest]
Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-01-26 15:59 [PATCH v1 0/3] Enable eMMC/SDCC support for QCS615 platform Balaji Selvanathan
2026-01-26 15:59 ` [PATCH v1 1/3] clk: qcom: Add QCS615 SDCC clock support and RPMH-CLK compatibility Balaji Selvanathan
2026-01-27 6:28 ` Sumit Garg
2026-02-09 18:56 ` Casey Connolly
2026-01-26 15:59 ` [PATCH v1 2/3] arm: snapdragon: Remove QCS615 MMC node disable fixup Balaji Selvanathan
2026-01-27 7:18 ` Sumit Garg
2026-01-26 15:59 ` [PATCH v1 3/3] board: qualcomm: Remove SCSI scan from default preboot environment Balaji Selvanathan
2026-01-27 7:25 ` Sumit Garg
2026-02-09 19:16 ` Casey Connolly
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox