public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
* [PATCH v5 0/5] Implement reset to EDL for qcs9100
@ 2026-01-13 10:38 Varadarajan Narayanan
  2026-01-13 10:38 ` [PATCH v5 1/5] arm: psci: Add API to check for support of specific PSCI function Varadarajan Narayanan
                   ` (6 more replies)
  0 siblings, 7 replies; 13+ messages in thread
From: Varadarajan Narayanan @ 2026-01-13 10:38 UTC (permalink / raw)
  To: trini, casey.connolly, neil.armstrong, sumit.garg,
	varadarajan.narayanan, ilias.apalodimas, jerome,
	marek.vasut+renesas, christopher.obbard, me, michal.simek,
	clamor95, u-boot, u-boot-qcom

Using the 'reboot edl' command in Linux, the platform can reboot to the
Emergency Download mode. Implement the same for U-Boot.

v5: * Update author and signed-off-by email id from quicinc.com to oss.qualcomm.com
    * Add r-b tags
    * Enable CONFIG_SYSRESET_QCOM_PSCI in qcom_defconfig instead of qcs9100_defconfig

v4: * Update documentation about '-edl' option
    * Add API to check for support of PSCI functions
    * Check if RESET2 is supported before issuing the command
    * Fix compiler warnings

v3: * Introduce a sysreset op that will pass down the 'reset' command
      arguments to registered handlers
    * Handle 'reset to edl' alone in qcom-psci driver

v2: * Rebased to recent sources
    * Dropped the first patch as it is not applicable anymore
    * Bind the new driver from psci driver

Varadarajan Narayanan (5):
  arm: psci: Add API to check for support of specific PSCI function
  drivers: sysreset: Add sysreset op that can take arguments
  sysreset: Implement PSCI based reset to EDL mode for QCOM SoCs
  cmd: boot: Add '-edl' option to reset command documentation
  qcom_defconfig: enable psci based sysreset

 arch/arm/cpu/armv8/fwcall.c           | 15 +++++++++
 arch/arm/include/asm/system.h         |  1 +
 cmd/boot.c                            |  3 ++
 configs/qcom_defconfig                |  1 +
 doc/usage/cmd/reset.rst               |  2 ++
 drivers/firmware/psci.c               |  4 +++
 drivers/sysreset/Kconfig              |  6 ++++
 drivers/sysreset/Makefile             |  1 +
 drivers/sysreset/sysreset-uclass.c    | 32 +++++++++++++++++++
 drivers/sysreset/sysreset_qcom-psci.c | 45 +++++++++++++++++++++++++++
 include/sysreset.h                    | 18 +++++++++++
 11 files changed, 128 insertions(+)
 create mode 100644 drivers/sysreset/sysreset_qcom-psci.c

-- 
2.34.1


^ permalink raw reply	[flat|nested] 13+ messages in thread

* [PATCH v5 1/5] arm: psci: Add API to check for support of specific PSCI function
  2026-01-13 10:38 [PATCH v5 0/5] Implement reset to EDL for qcs9100 Varadarajan Narayanan
@ 2026-01-13 10:38 ` Varadarajan Narayanan
  2026-01-13 10:38 ` [PATCH v5 2/5] drivers: sysreset: Add sysreset op that can take arguments Varadarajan Narayanan
                   ` (5 subsequent siblings)
  6 siblings, 0 replies; 13+ messages in thread
From: Varadarajan Narayanan @ 2026-01-13 10:38 UTC (permalink / raw)
  To: trini, casey.connolly, neil.armstrong, sumit.garg,
	varadarajan.narayanan, ilias.apalodimas, jerome,
	marek.vasut+renesas, christopher.obbard, me, michal.simek,
	clamor95, u-boot, u-boot-qcom

Add an API to check if a specific PSCI function is supported or not.
This is based on the psci_features() function present in Linux kernel
(drivers/firmware/psci/psci.c).

Reviewed-by: Casey Connolly <casey.connolly@linaro.org>
Signed-off-by: Varadarajan Narayanan <varadarajan.narayanan@oss.qualcomm.com>
---
 arch/arm/cpu/armv8/fwcall.c   | 15 +++++++++++++++
 arch/arm/include/asm/system.h |  1 +
 2 files changed, 16 insertions(+)

diff --git a/arch/arm/cpu/armv8/fwcall.c b/arch/arm/cpu/armv8/fwcall.c
index 87de09979b1..f834d770dd6 100644
--- a/arch/arm/cpu/armv8/fwcall.c
+++ b/arch/arm/cpu/armv8/fwcall.c
@@ -129,3 +129,18 @@ void __noreturn psci_system_off(void)
 	while (1)
 		;
 }
+
+int psci_features(u32 psci_func_id)
+{
+	struct pt_regs regs;
+
+	regs.regs[0] = ARM_PSCI_1_0_FN_PSCI_FEATURES;
+	regs.regs[1] = psci_func_id;
+
+	if (use_smc_for_psci)
+		smc_call(&regs);
+	else
+		hvc_call(&regs);
+
+	return regs.regs[0];
+}
diff --git a/arch/arm/include/asm/system.h b/arch/arm/include/asm/system.h
index 4c1b81483c9..0b788bcf0e5 100644
--- a/arch/arm/include/asm/system.h
+++ b/arch/arm/include/asm/system.h
@@ -336,6 +336,7 @@ void smc_call(struct pt_regs *args);
 void __noreturn psci_system_reset(void);
 void __noreturn psci_system_reset2(u32 reset_level, u32 cookie);
 void __noreturn psci_system_off(void);
+int psci_features(u32 psci_func_id);
 
 #ifdef CONFIG_ARMV8_PSCI
 extern char __secure_start[];
-- 
2.34.1


^ permalink raw reply related	[flat|nested] 13+ messages in thread

* [PATCH v5 2/5] drivers: sysreset: Add sysreset op that can take arguments
  2026-01-13 10:38 [PATCH v5 0/5] Implement reset to EDL for qcs9100 Varadarajan Narayanan
  2026-01-13 10:38 ` [PATCH v5 1/5] arm: psci: Add API to check for support of specific PSCI function Varadarajan Narayanan
@ 2026-01-13 10:38 ` Varadarajan Narayanan
  2026-01-13 10:38 ` [PATCH v5 3/5] sysreset: Implement PSCI based reset to EDL mode for QCOM SoCs Varadarajan Narayanan
                   ` (4 subsequent siblings)
  6 siblings, 0 replies; 13+ messages in thread
From: Varadarajan Narayanan @ 2026-01-13 10:38 UTC (permalink / raw)
  To: trini, casey.connolly, neil.armstrong, sumit.garg,
	varadarajan.narayanan, ilias.apalodimas, jerome,
	marek.vasut+renesas, christopher.obbard, me, michal.simek,
	clamor95, u-boot, u-boot-qcom

Add a 'request_arg' op to struct sysreset_ops to enable sysreset drivers
to receive arguments given to the 'reset' command. Process the
request_arg() op before the usual request() op.

Reviewed-by: Casey Connolly <casey.connolly@linaro.org>
Signed-off-by: Varadarajan Narayanan <varadarajan.narayanan@oss.qualcomm.com>
---
 drivers/sysreset/sysreset-uclass.c | 32 ++++++++++++++++++++++++++++++
 include/sysreset.h                 | 18 +++++++++++++++++
 2 files changed, 50 insertions(+)

diff --git a/drivers/sysreset/sysreset-uclass.c b/drivers/sysreset/sysreset-uclass.c
index 536ac727142..6eb090a37aa 100644
--- a/drivers/sysreset/sysreset-uclass.c
+++ b/drivers/sysreset/sysreset-uclass.c
@@ -32,6 +32,16 @@ int sysreset_request(struct udevice *dev, enum sysreset_t type)
 	return ops->request(dev, type);
 }
 
+int sysreset_request_arg(struct udevice *dev, int argc, char * const argv[])
+{
+	struct sysreset_ops *ops = sysreset_get_ops(dev);
+
+	if (!ops->request_arg)
+		return -ENOSYS;
+
+	return ops->request_arg(dev, argc, argv);
+}
+
 int sysreset_get_status(struct udevice *dev, char *buf, int size)
 {
 	struct sysreset_ops *ops = sysreset_get_ops(dev);
@@ -71,6 +81,24 @@ int sysreset_walk(enum sysreset_t type)
 	return ret;
 }
 
+int sysreset_walk_arg(int argc, char * const argv[])
+{
+	struct udevice *dev;
+	int ret = -ENOSYS;
+
+	while (ret != -EINPROGRESS && ret != -EPROTONOSUPPORT) {
+		for (uclass_first_device(UCLASS_SYSRESET, &dev);
+		     dev;
+		     uclass_next_device(&dev)) {
+			ret = sysreset_request_arg(dev, argc, argv);
+			if (ret == -EINPROGRESS || ret == -EPROTONOSUPPORT)
+				break;
+		}
+	}
+
+	return ret;
+}
+
 int sysreset_get_last_walk(void)
 {
 	struct udevice *dev;
@@ -132,6 +160,10 @@ int do_reset(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[])
 	printf("resetting ...\n");
 	mdelay(100);
 
+	if (argc > 1)
+		if (sysreset_walk_arg(argc, argv) == -EINPROGRESS)
+			return 0;
+
 	sysreset_walk_halt(reset_type);
 
 	return 0;
diff --git a/include/sysreset.h b/include/sysreset.h
index ff20abdeed3..d1cc9ebc542 100644
--- a/include/sysreset.h
+++ b/include/sysreset.h
@@ -43,6 +43,24 @@ struct sysreset_ops {
 	 * (in which case this method will not actually return)
 	 */
 	int (*request)(struct udevice *dev, enum sysreset_t type);
+
+	/**
+	 * @request_arg: Reset handler implementations that might need to process
+	 *		 arguments given to the 'reset' command.
+	 *
+	 * Note that this function may return before the reset takes effect.
+	 *
+	 * @dev:	Device to be used for system reset
+	 * @argc:	No. of items in @argv
+	 * @argv:	Arguments given to 'reset' command
+	 * Return:
+	 * -EINPROGRESS		if the reset has started and will complete soon
+	 * -EPROTONOSUPPORT	if not supported by this device
+	 * 0			if the reset has already happened
+	 * (in which case this method will not actually return)
+	 */
+	int (*request_arg)(struct udevice *dev, int argc, char * const argv[]);
+
 	/**
 	 * @get_status:	get printable reset status information
 	 *
-- 
2.34.1


^ permalink raw reply related	[flat|nested] 13+ messages in thread

* [PATCH v5 3/5] sysreset: Implement PSCI based reset to EDL mode for QCOM SoCs
  2026-01-13 10:38 [PATCH v5 0/5] Implement reset to EDL for qcs9100 Varadarajan Narayanan
  2026-01-13 10:38 ` [PATCH v5 1/5] arm: psci: Add API to check for support of specific PSCI function Varadarajan Narayanan
  2026-01-13 10:38 ` [PATCH v5 2/5] drivers: sysreset: Add sysreset op that can take arguments Varadarajan Narayanan
@ 2026-01-13 10:38 ` Varadarajan Narayanan
  2026-01-13 10:38 ` [PATCH v5 4/5] cmd: boot: Add '-edl' option to reset command documentation Varadarajan Narayanan
                   ` (3 subsequent siblings)
  6 siblings, 0 replies; 13+ messages in thread
From: Varadarajan Narayanan @ 2026-01-13 10:38 UTC (permalink / raw)
  To: trini, casey.connolly, neil.armstrong, sumit.garg,
	varadarajan.narayanan, ilias.apalodimas, jerome,
	marek.vasut+renesas, christopher.obbard, me, michal.simek,
	clamor95, u-boot, u-boot-qcom

Implement request_arg() sysreset_op for QCOM SoCs that use
PSCI to reset to EDL (Emergency Download) mode.

Reviewed-by: Casey Connolly <casey.connolly@linaro.org>
Signed-off-by: Varadarajan Narayanan <varadarajan.narayanan@oss.qualcomm.com>
---
v4: * Check if ARM_PSCI_1_1_FN64_SYSTEM_RESET2 is supported before
      issuing it

v3: * Move argument handling to a separate function and pass the
      arguments to the actual handler to process
    * Drop Qcom specific SYSRESET_EDL from the common enum

v2: * Update commit message
    * Elaborate Kconfig help text
    * Use '-edl' instead of 'edl' for consistency with other arguments of reset
      command
    * Remove 'weak' for qcom_psci_sysreset_get_status() and make it static
    * Mention 'SYSRESET_EDL' is Qcom specific in the enum's comments
---
 drivers/firmware/psci.c               |  4 +++
 drivers/sysreset/Kconfig              |  6 ++++
 drivers/sysreset/Makefile             |  1 +
 drivers/sysreset/sysreset_qcom-psci.c | 45 +++++++++++++++++++++++++++
 4 files changed, 56 insertions(+)
 create mode 100644 drivers/sysreset/sysreset_qcom-psci.c

diff --git a/drivers/firmware/psci.c b/drivers/firmware/psci.c
index 2e3223e1c32..b6838a244d2 100644
--- a/drivers/firmware/psci.c
+++ b/drivers/firmware/psci.c
@@ -186,6 +186,10 @@ static int psci_bind(struct udevice *dev)
 					 NULL);
 		if (ret)
 			pr_debug("PSCI System Reset was not bound.\n");
+		if (IS_ENABLED(CONFIG_SYSRESET_QCOM_PSCI) &&
+		    device_bind_driver(dev, "qcom_psci-sysreset",
+				       "qcom_psci-sysreset", NULL))
+			pr_debug("QCOM PSCI System Reset was not bound.\n");
 	}
 
 	/* From PSCI v1.0 onward we can discover services through ARM_SMCCC_FEATURE */
diff --git a/drivers/sysreset/Kconfig b/drivers/sysreset/Kconfig
index 0181f6cd581..8e010bf1ccc 100644
--- a/drivers/sysreset/Kconfig
+++ b/drivers/sysreset/Kconfig
@@ -293,6 +293,12 @@ config SYSRESET_RAA215300
 	help
 	  Add support for the system reboot via the Renesas RAA215300 PMIC.
 
+config SYSRESET_QCOM_PSCI
+	bool "Support reset to EDL for Qualcomm SoCs via PSCI"
+	help
+	  Add support for the reset to EDL (Emergency Download) on Qualcomm
+	  SoCs via PSCI.
+
 config SYSRESET_QCOM_PSHOLD
 	bool "Support sysreset for Qualcomm SoCs via PSHOLD"
 	help
diff --git a/drivers/sysreset/Makefile b/drivers/sysreset/Makefile
index f5c78b25896..8bb1eabd48e 100644
--- a/drivers/sysreset/Makefile
+++ b/drivers/sysreset/Makefile
@@ -30,5 +30,6 @@ obj-$(CONFIG_SYSRESET_RESETCTL) += sysreset_resetctl.o
 obj-$(CONFIG_$(PHASE_)SYSRESET_AT91) += sysreset_at91.o
 obj-$(CONFIG_$(PHASE_)SYSRESET_X86) += sysreset_x86.o
 obj-$(CONFIG_SYSRESET_RAA215300) += sysreset_raa215300.o
+obj-$(CONFIG_SYSRESET_QCOM_PSCI) += sysreset_qcom-psci.o
 obj-$(CONFIG_SYSRESET_QCOM_PSHOLD) += sysreset_qcom-pshold.o
 obj-$(CONFIG_TARGET_XTFPGA) += sysreset_xtfpga.o
diff --git a/drivers/sysreset/sysreset_qcom-psci.c b/drivers/sysreset/sysreset_qcom-psci.c
new file mode 100644
index 00000000000..3627bbf5c82
--- /dev/null
+++ b/drivers/sysreset/sysreset_qcom-psci.c
@@ -0,0 +1,45 @@
+// SPDX-License-Identifier: GPL-2.0+
+/*
+ * Copyright (C) 2017 Masahiro Yamada <yamada.masahiro@socionext.com>
+ * Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.
+ */
+
+#include <dm.h>
+#include <sysreset.h>
+#include <asm/system.h>
+#include <linux/errno.h>
+#include <linux/psci.h>
+#include <asm/psci.h>
+
+static int qcom_psci_sysreset_get_status(struct udevice *dev, char *buf, int size)
+{
+	return -EOPNOTSUPP;
+}
+
+static int qcom_psci_sysreset_request_arg(struct udevice *dev, int argc,
+					  char * const argv[])
+{
+	if (!strncasecmp(argv[1], "-edl", 4)) {
+		/* Supported in qcs9100, qcs8300, sc7280, qcs615 */
+		if (psci_features(ARM_PSCI_1_1_FN64_SYSTEM_RESET2) ==
+							ARM_PSCI_RET_SUCCESS) {
+			psci_system_reset2(0, 1);
+			return -EINPROGRESS;
+		}
+		printf("PSCI SYSTEM_RESET2 not supported\n");
+	}
+
+	return -EPROTONOSUPPORT;
+}
+
+static struct sysreset_ops qcom_psci_sysreset_ops = {
+	.request_arg = qcom_psci_sysreset_request_arg,
+	.get_status = qcom_psci_sysreset_get_status,
+};
+
+U_BOOT_DRIVER(qcom_psci_sysreset) = {
+	.name = "qcom_psci-sysreset",
+	.id = UCLASS_SYSRESET,
+	.ops = &qcom_psci_sysreset_ops,
+	.flags = DM_FLAG_PRE_RELOC,
+};
-- 
2.34.1


^ permalink raw reply related	[flat|nested] 13+ messages in thread

* [PATCH v5 4/5] cmd: boot: Add '-edl' option to reset command documentation
  2026-01-13 10:38 [PATCH v5 0/5] Implement reset to EDL for qcs9100 Varadarajan Narayanan
                   ` (2 preceding siblings ...)
  2026-01-13 10:38 ` [PATCH v5 3/5] sysreset: Implement PSCI based reset to EDL mode for QCOM SoCs Varadarajan Narayanan
@ 2026-01-13 10:38 ` Varadarajan Narayanan
  2026-01-13 10:38 ` [PATCH v5 5/5] qcom_defconfig: enable psci based sysreset Varadarajan Narayanan
                   ` (2 subsequent siblings)
  6 siblings, 0 replies; 13+ messages in thread
From: Varadarajan Narayanan @ 2026-01-13 10:38 UTC (permalink / raw)
  To: trini, casey.connolly, neil.armstrong, sumit.garg,
	varadarajan.narayanan, ilias.apalodimas, jerome,
	marek.vasut+renesas, christopher.obbard, me, michal.simek,
	clamor95, u-boot, u-boot-qcom

Add help text about '-edl' option to reset command definition and
related documentation.

Reviewed-by: Casey Connolly <casey.connolly@linaro.org>
Signed-off-by: Varadarajan Narayanan <varadarajan.narayanan@oss.qualcomm.com>
---
 cmd/boot.c              | 3 +++
 doc/usage/cmd/reset.rst | 2 ++
 2 files changed, 5 insertions(+)

diff --git a/cmd/boot.c b/cmd/boot.c
index 23496cafdf5..d80f9d8c05d 100644
--- a/cmd/boot.c
+++ b/cmd/boot.c
@@ -60,6 +60,9 @@ U_BOOT_CMD(
 	reset, 2, 0,	do_reset,
 	"Perform RESET of the CPU",
 	"- cold boot without level specifier\n"
+#ifdef CONFIG_SYSRESET_QCOM_PSCI
+	"reset -edl - Boot to Emergency DownLoad mode\n"
+#endif
 	"reset -w - warm reset if implemented"
 );
 
diff --git a/doc/usage/cmd/reset.rst b/doc/usage/cmd/reset.rst
index 126db21cdb8..366b17eea16 100644
--- a/doc/usage/cmd/reset.rst
+++ b/doc/usage/cmd/reset.rst
@@ -22,6 +22,8 @@ DDR and peripherals, on some boards also resets external PMIC.
 -w
     Do warm WARM, reset CPU but keep peripheral/DDR/PMIC active.
 
+-edl
+    Boot to Emergency DownLoad mode on supported Qualcomm platforms.
 
 Return value
 ------------
-- 
2.34.1


^ permalink raw reply related	[flat|nested] 13+ messages in thread

* [PATCH v5 5/5] qcom_defconfig: enable psci based sysreset
  2026-01-13 10:38 [PATCH v5 0/5] Implement reset to EDL for qcs9100 Varadarajan Narayanan
                   ` (3 preceding siblings ...)
  2026-01-13 10:38 ` [PATCH v5 4/5] cmd: boot: Add '-edl' option to reset command documentation Varadarajan Narayanan
@ 2026-01-13 10:38 ` Varadarajan Narayanan
  2026-01-13 14:42 ` [PATCH v5 0/5] Implement reset to EDL for qcs9100 Tom Rini
  2026-01-16  9:20 ` Sumit Garg
  6 siblings, 0 replies; 13+ messages in thread
From: Varadarajan Narayanan @ 2026-01-13 10:38 UTC (permalink / raw)
  To: trini, casey.connolly, neil.armstrong, sumit.garg,
	varadarajan.narayanan, ilias.apalodimas, jerome,
	marek.vasut+renesas, christopher.obbard, me, michal.simek,
	clamor95, u-boot, u-boot-qcom

Enable CONFIG_SYSRESET_QCOM_PSCI to allow U-Boot to reset to Emergency
Download mode.

Signed-off-by: Varadarajan Narayanan <varadarajan.narayanan@oss.qualcomm.com>
---
v5: Moved from qcs9100_defconfig to qcom_defconfig
---
 configs/qcom_defconfig | 1 +
 1 file changed, 1 insertion(+)

diff --git a/configs/qcom_defconfig b/configs/qcom_defconfig
index a210f4dc5e6..75b4f39c590 100644
--- a/configs/qcom_defconfig
+++ b/configs/qcom_defconfig
@@ -147,6 +147,7 @@ CONFIG_SPMI_MSM=y
 CONFIG_SYSINFO=y
 CONFIG_SYSINFO_SMBIOS=y
 CONFIG_SYSRESET_QCOM_PSHOLD=y
+CONFIG_SYSRESET_QCOM_PSCI=y
 CONFIG_USB=y
 CONFIG_USB_XHCI_HCD=y
 CONFIG_USB_XHCI_DWC3=y
-- 
2.34.1


^ permalink raw reply related	[flat|nested] 13+ messages in thread

* Re: [PATCH v5 0/5] Implement reset to EDL for qcs9100
  2026-01-13 10:38 [PATCH v5 0/5] Implement reset to EDL for qcs9100 Varadarajan Narayanan
                   ` (4 preceding siblings ...)
  2026-01-13 10:38 ` [PATCH v5 5/5] qcom_defconfig: enable psci based sysreset Varadarajan Narayanan
@ 2026-01-13 14:42 ` Tom Rini
  2026-01-16  7:09   ` Varadarajan Narayanan
  2026-01-16  9:20 ` Sumit Garg
  6 siblings, 1 reply; 13+ messages in thread
From: Tom Rini @ 2026-01-13 14:42 UTC (permalink / raw)
  To: Varadarajan Narayanan
  Cc: casey.connolly, neil.armstrong, sumit.garg, ilias.apalodimas,
	jerome, marek.vasut+renesas, christopher.obbard, me, michal.simek,
	clamor95, u-boot, u-boot-qcom

[-- Attachment #1: Type: text/plain, Size: 749 bytes --]

On Tue, Jan 13, 2026 at 04:08:35PM +0530, Varadarajan Narayanan wrote:

> Using the 'reboot edl' command in Linux, the platform can reboot to the
> Emergency Download mode. Implement the same for U-Boot.

Have you used buildman's size checking options before? If not,
https://source.denx.de/u-boot/u-boot-extras/-/blob/master/contrib/trini/u-boot-size-test.sh?ref_type=heads
may be helpful to you, as it can be a bit tricky at first (but IMHO is
better than the linux kernel bloat-o-meter). I ask because, what is the
size impact of these changes on things like say qemu_arm64 and qemu_arm?
I saw the cmd/ portion is guarded by a new CONFIG option which is good,
but I wonder about the more generic sysreset changes. Thanks!

-- 
Tom

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 228 bytes --]

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PATCH v5 0/5] Implement reset to EDL for qcs9100
  2026-01-13 14:42 ` [PATCH v5 0/5] Implement reset to EDL for qcs9100 Tom Rini
@ 2026-01-16  7:09   ` Varadarajan Narayanan
  2026-01-16 14:43     ` Tom Rini
  0 siblings, 1 reply; 13+ messages in thread
From: Varadarajan Narayanan @ 2026-01-16  7:09 UTC (permalink / raw)
  To: Tom Rini
  Cc: casey.connolly, neil.armstrong, sumit.garg, ilias.apalodimas,
	jerome, marek.vasut+renesas, christopher.obbard, me, michal.simek,
	clamor95, u-boot, u-boot-qcom

On Tue, Jan 13, 2026 at 08:42:44AM -0600, Tom Rini wrote:
> On Tue, Jan 13, 2026 at 04:08:35PM +0530, Varadarajan Narayanan wrote:
>
> > Using the 'reboot edl' command in Linux, the platform can reboot to the
> > Emergency Download mode. Implement the same for U-Boot.
>
> Have you used buildman's size checking options before? If not,

No.

> https://source.denx.de/u-boot/u-boot-extras/-/blob/master/contrib/trini/u-boot-size-test.sh?ref_type=heads
> may be helpful to you, as it can be a bit tricky at first (but IMHO is
> better than the linux kernel bloat-o-meter). I ask because, what is the
> size impact of these changes on things like say qemu_arm64 and qemu_arm?
> I saw the cmd/ portion is guarded by a new CONFIG option which is good,
> but I wonder about the more generic sysreset changes. Thanks!

Please see below for u-boot-size-test.sh output

$ ./u-boot-size-test.sh --board qcom_ipq9574_mmc
Generating board list...Processing #include to produce configs/socfpga_agilex5_vab_defconfig
Processing #include to produce configs/r8a78000_ironhide_defconfig
	.
	.
	.
Processing #include to produce configs/am69_sk_a72_defconfig
Building 2 commits for 1 boards (1 thread, 16 jobs per thread)
01: configs: am57xx_hs_evm_defconfig: Reserve EMIF memory used by PPA
06: qcom_defconfig: enable psci based sysreset
    2    0    0 /2              qcom_ipq9574_mmc
Completed: 2 total built, 2 newly), duration 0:00:13, rate 0.15
/tmp/qcom_ipq9574_mmc/edl5/boards.cfg is up to date. Nothing to do.
Summary of 2 commits for 1 boards (1 thread, 16 jobs per thread)
01: configs: am57xx_hs_evm_defconfig: Reserve EMIF memory used by PPA
06: qcom_defconfig: enable psci based sysreset
   aarch64: (for 1/1 boards) all +224.0 data +8.0 text +216.0
            qcom_ipq9574_mmc: all +224 data +8 text +216
               u-boot: add: 2/0, grow: 2/0 bytes: 224/0 (224)
                 function                                   old     new   delta
                 sysreset_walk_arg                            -     124    +124
                 do_reset                                   100     160     +60
                 sysreset_request_arg                         -      32     +32
                 psci_sysreset_ops                           24      32      +8
(no errors to report)

Thanks
Varada

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PATCH v5 0/5] Implement reset to EDL for qcs9100
  2026-01-13 10:38 [PATCH v5 0/5] Implement reset to EDL for qcs9100 Varadarajan Narayanan
                   ` (5 preceding siblings ...)
  2026-01-13 14:42 ` [PATCH v5 0/5] Implement reset to EDL for qcs9100 Tom Rini
@ 2026-01-16  9:20 ` Sumit Garg
  6 siblings, 0 replies; 13+ messages in thread
From: Sumit Garg @ 2026-01-16  9:20 UTC (permalink / raw)
  To: Varadarajan Narayanan
  Cc: trini, casey.connolly, neil.armstrong, ilias.apalodimas, jerome,
	marek.vasut+renesas, christopher.obbard, me, michal.simek,
	clamor95, u-boot, u-boot-qcom

On Tue, Jan 13, 2026 at 04:08:35PM +0530, Varadarajan Narayanan wrote:
> Using the 'reboot edl' command in Linux, the platform can reboot to the
> Emergency Download mode. Implement the same for U-Boot.
> 
> v5: * Update author and signed-off-by email id from quicinc.com to oss.qualcomm.com
>     * Add r-b tags
>     * Enable CONFIG_SYSRESET_QCOM_PSCI in qcom_defconfig instead of qcs9100_defconfig

Thanks for the patience with this patch-set.

Feel free to add:

Reviewed-by: Sumit Garg <sumit.garg@oss.qualcomm.com>

-Sumit

> 
> v4: * Update documentation about '-edl' option
>     * Add API to check for support of PSCI functions
>     * Check if RESET2 is supported before issuing the command
>     * Fix compiler warnings
> 
> v3: * Introduce a sysreset op that will pass down the 'reset' command
>       arguments to registered handlers
>     * Handle 'reset to edl' alone in qcom-psci driver
> 
> v2: * Rebased to recent sources
>     * Dropped the first patch as it is not applicable anymore
>     * Bind the new driver from psci driver
> 
> Varadarajan Narayanan (5):
>   arm: psci: Add API to check for support of specific PSCI function
>   drivers: sysreset: Add sysreset op that can take arguments
>   sysreset: Implement PSCI based reset to EDL mode for QCOM SoCs
>   cmd: boot: Add '-edl' option to reset command documentation
>   qcom_defconfig: enable psci based sysreset
> 
>  arch/arm/cpu/armv8/fwcall.c           | 15 +++++++++
>  arch/arm/include/asm/system.h         |  1 +
>  cmd/boot.c                            |  3 ++
>  configs/qcom_defconfig                |  1 +
>  doc/usage/cmd/reset.rst               |  2 ++
>  drivers/firmware/psci.c               |  4 +++
>  drivers/sysreset/Kconfig              |  6 ++++
>  drivers/sysreset/Makefile             |  1 +
>  drivers/sysreset/sysreset-uclass.c    | 32 +++++++++++++++++++
>  drivers/sysreset/sysreset_qcom-psci.c | 45 +++++++++++++++++++++++++++
>  include/sysreset.h                    | 18 +++++++++++
>  11 files changed, 128 insertions(+)
>  create mode 100644 drivers/sysreset/sysreset_qcom-psci.c
> 
> -- 
> 2.34.1
> 

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PATCH v5 0/5] Implement reset to EDL for qcs9100
  2026-01-16  7:09   ` Varadarajan Narayanan
@ 2026-01-16 14:43     ` Tom Rini
  2026-01-19  5:39       ` Varadarajan Narayanan
  0 siblings, 1 reply; 13+ messages in thread
From: Tom Rini @ 2026-01-16 14:43 UTC (permalink / raw)
  To: Varadarajan Narayanan
  Cc: casey.connolly, neil.armstrong, sumit.garg, ilias.apalodimas,
	jerome, marek.vasut+renesas, christopher.obbard, me, michal.simek,
	clamor95, u-boot, u-boot-qcom

[-- Attachment #1: Type: text/plain, Size: 2753 bytes --]

On Fri, Jan 16, 2026 at 12:39:47PM +0530, Varadarajan Narayanan wrote:
> On Tue, Jan 13, 2026 at 08:42:44AM -0600, Tom Rini wrote:
> > On Tue, Jan 13, 2026 at 04:08:35PM +0530, Varadarajan Narayanan wrote:
> >
> > > Using the 'reboot edl' command in Linux, the platform can reboot to the
> > > Emergency Download mode. Implement the same for U-Boot.
> >
> > Have you used buildman's size checking options before? If not,
> 
> No.
> 
> > https://source.denx.de/u-boot/u-boot-extras/-/blob/master/contrib/trini/u-boot-size-test.sh?ref_type=heads
> > may be helpful to you, as it can be a bit tricky at first (but IMHO is
> > better than the linux kernel bloat-o-meter). I ask because, what is the
> > size impact of these changes on things like say qemu_arm64 and qemu_arm?
> > I saw the cmd/ portion is guarded by a new CONFIG option which is good,
> > but I wonder about the more generic sysreset changes. Thanks!
> 
> Please see below for u-boot-size-test.sh output
> 
> $ ./u-boot-size-test.sh --board qcom_ipq9574_mmc
> Generating board list...Processing #include to produce configs/socfpga_agilex5_vab_defconfig
> Processing #include to produce configs/r8a78000_ironhide_defconfig
> 	.
> 	.
> 	.
> Processing #include to produce configs/am69_sk_a72_defconfig
> Building 2 commits for 1 boards (1 thread, 16 jobs per thread)
> 01: configs: am57xx_hs_evm_defconfig: Reserve EMIF memory used by PPA
> 06: qcom_defconfig: enable psci based sysreset
>     2    0    0 /2              qcom_ipq9574_mmc
> Completed: 2 total built, 2 newly), duration 0:00:13, rate 0.15
> /tmp/qcom_ipq9574_mmc/edl5/boards.cfg is up to date. Nothing to do.
> Summary of 2 commits for 1 boards (1 thread, 16 jobs per thread)
> 01: configs: am57xx_hs_evm_defconfig: Reserve EMIF memory used by PPA
> 06: qcom_defconfig: enable psci based sysreset
>    aarch64: (for 1/1 boards) all +224.0 data +8.0 text +216.0
>             qcom_ipq9574_mmc: all +224 data +8 text +216
>                u-boot: add: 2/0, grow: 2/0 bytes: 224/0 (224)
>                  function                                   old     new   delta
>                  sysreset_walk_arg                            -     124    +124
>                  do_reset                                   100     160     +60
>                  sysreset_request_arg                         -      32     +32
>                  psci_sysreset_ops                           24      32      +8
> (no errors to report)

OK, so minimal growth on the platforms that would use it. How about
platforms which don't? qemu_arm and qemu_arm64 should build the sysreset
code in general and that's where I'm most concerned, platforms which
aren't using this feature. Thanks.

-- 
Tom

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 228 bytes --]

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PATCH v5 0/5] Implement reset to EDL for qcs9100
  2026-01-16 14:43     ` Tom Rini
@ 2026-01-19  5:39       ` Varadarajan Narayanan
  2026-01-19 17:07         ` Tom Rini
  0 siblings, 1 reply; 13+ messages in thread
From: Varadarajan Narayanan @ 2026-01-19  5:39 UTC (permalink / raw)
  To: Tom Rini
  Cc: casey.connolly, neil.armstrong, sumit.garg, ilias.apalodimas,
	jerome, marek.vasut+renesas, christopher.obbard, me, michal.simek,
	clamor95, u-boot, u-boot-qcom

On Fri, Jan 16, 2026 at 08:43:55AM -0600, Tom Rini wrote:
> On Fri, Jan 16, 2026 at 12:39:47PM +0530, Varadarajan Narayanan wrote:
> > On Tue, Jan 13, 2026 at 08:42:44AM -0600, Tom Rini wrote:
> > > On Tue, Jan 13, 2026 at 04:08:35PM +0530, Varadarajan Narayanan wrote:
> > >
> > > > Using the 'reboot edl' command in Linux, the platform can reboot to the
> > > > Emergency Download mode. Implement the same for U-Boot.
> > >
> > > Have you used buildman's size checking options before? If not,
> >
> > No.
> >
> > > https://source.denx.de/u-boot/u-boot-extras/-/blob/master/contrib/trini/u-boot-size-test.sh?ref_type=heads
> > > may be helpful to you, as it can be a bit tricky at first (but IMHO is
> > > better than the linux kernel bloat-o-meter). I ask because, what is the
> > > size impact of these changes on things like say qemu_arm64 and qemu_arm?
> > > I saw the cmd/ portion is guarded by a new CONFIG option which is good,
> > > but I wonder about the more generic sysreset changes. Thanks!
> >
> > Please see below for u-boot-size-test.sh output
> >
> > $ ./u-boot-size-test.sh --board qcom_ipq9574_mmc
> > Generating board list...Processing #include to produce configs/socfpga_agilex5_vab_defconfig
> > Processing #include to produce configs/r8a78000_ironhide_defconfig
> > 	.
> > 	.
> > 	.
> > Processing #include to produce configs/am69_sk_a72_defconfig
> > Building 2 commits for 1 boards (1 thread, 16 jobs per thread)
> > 01: configs: am57xx_hs_evm_defconfig: Reserve EMIF memory used by PPA
> > 06: qcom_defconfig: enable psci based sysreset
> >     2    0    0 /2              qcom_ipq9574_mmc
> > Completed: 2 total built, 2 newly), duration 0:00:13, rate 0.15
> > /tmp/qcom_ipq9574_mmc/edl5/boards.cfg is up to date. Nothing to do.
> > Summary of 2 commits for 1 boards (1 thread, 16 jobs per thread)
> > 01: configs: am57xx_hs_evm_defconfig: Reserve EMIF memory used by PPA
> > 06: qcom_defconfig: enable psci based sysreset
> >    aarch64: (for 1/1 boards) all +224.0 data +8.0 text +216.0
> >             qcom_ipq9574_mmc: all +224 data +8 text +216
> >                u-boot: add: 2/0, grow: 2/0 bytes: 224/0 (224)
> >                  function                                   old     new   delta
> >                  sysreset_walk_arg                            -     124    +124
> >                  do_reset                                   100     160     +60
> >                  sysreset_request_arg                         -      32     +32
> >                  psci_sysreset_ops                           24      32      +8
> > (no errors to report)
>
> OK, so minimal growth on the platforms that would use it. How about
> platforms which don't? qemu_arm and qemu_arm64 should build the sysreset
> code in general and that's where I'm most concerned, platforms which
> aren't using this feature. Thanks.

Please see below for u-boot-size-test.sh output

$ ./u-boot-size-test.sh --board qemu_arm
Generating board list...Processing #include to produce configs/socfpga_agilex5_vab_defconfig
Processing #include to produce configs/imx6ulz_smm_m2_defconfig
	.
	.
	.
Processing #include to produce configs/am69_sk_a72_defconfig
Building 2 commits for 1 boards (1 thread, 16 jobs per thread)
01: configs: am57xx_hs_evm_defconfig: Reserve EMIF memory used by PPA
06: qcom_defconfig: enable psci based sysreset
    2    0    0 /2              qemu_arm
Completed: 2 total built, 2 newly), duration 0:00:18, rate 0.11
/tmp/qemu_arm/edl5/boards.cfg is up to date. Nothing to do.
Summary of 2 commits for 1 boards (1 thread, 16 jobs per thread)
01: configs: am57xx_hs_evm_defconfig: Reserve EMIF memory used by PPA
06: qcom_defconfig: enable psci based sysreset
       arm: (for 1/1 boards) all +184.0 text +184.0
            qemu_arm       : all +184 text +184
               u-boot: add: 2/0, grow: 2/0 bytes: 184/0 (184)
                 function                                   old     new   delta
                 sysreset_walk_arg                            -     104    +104
                 do_reset                                    92     136     +44
                 sysreset_request_arg                         -      32     +32
                 psci_sysreset_ops                           12      16      +4
(no errors to report)

$ ./u-boot-size-test.sh --board qemu_arm64
Generating board list...Processing #include to produce configs/socfpga_agilex5_vab_defconfig
Processing #include to produce configs/imx6ulz_smm_m2_defconfig
	.
	.
	.
Processing #include to produce configs/genmai_defconfig
Building 2 commits for 1 boards (1 thread, 16 jobs per thread)
01: configs: am57xx_hs_evm_defconfig: Reserve EMIF memory used by PPA
06: qcom_defconfig: enable psci based sysreset
    2    0    0 /2              qemu_arm64
Completed: 2 total built, 2 newly), duration 0:00:19, rate 0.11
/tmp/qemu_arm64/edl5/boards.cfg is up to date. Nothing to do.
Summary of 2 commits for 1 boards (1 thread, 16 jobs per thread)
01: configs: am57xx_hs_evm_defconfig: Reserve EMIF memory used by PPA
06: qcom_defconfig: enable psci based sysreset
   aarch64: (for 1/1 boards) all +216.0 data +8.0 rodata -8.0 text +216.0
            qemu_arm64     : all +216 data +8 rodata -8 text +216
               u-boot: add: 2/0, grow: 2/0 bytes: 224/0 (224)
                 function                                   old     new   delta
                 sysreset_walk_arg                            -     124    +124
                 do_reset                                   100     160     +60
                 sysreset_request_arg                         -      32     +32
                 psci_sysreset_ops                           24      32      +8
(no errors to report)

Thanks
Varada

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PATCH v5 0/5] Implement reset to EDL for qcs9100
  2026-01-19  5:39       ` Varadarajan Narayanan
@ 2026-01-19 17:07         ` Tom Rini
  2026-01-21  6:42           ` Varadarajan Narayanan
  0 siblings, 1 reply; 13+ messages in thread
From: Tom Rini @ 2026-01-19 17:07 UTC (permalink / raw)
  To: Varadarajan Narayanan
  Cc: casey.connolly, neil.armstrong, sumit.garg, ilias.apalodimas,
	jerome, marek.vasut+renesas, christopher.obbard, me, michal.simek,
	clamor95, u-boot, u-boot-qcom

[-- Attachment #1: Type: text/plain, Size: 6277 bytes --]

On Mon, Jan 19, 2026 at 11:09:26AM +0530, Varadarajan Narayanan wrote:
> On Fri, Jan 16, 2026 at 08:43:55AM -0600, Tom Rini wrote:
> > On Fri, Jan 16, 2026 at 12:39:47PM +0530, Varadarajan Narayanan wrote:
> > > On Tue, Jan 13, 2026 at 08:42:44AM -0600, Tom Rini wrote:
> > > > On Tue, Jan 13, 2026 at 04:08:35PM +0530, Varadarajan Narayanan wrote:
> > > >
> > > > > Using the 'reboot edl' command in Linux, the platform can reboot to the
> > > > > Emergency Download mode. Implement the same for U-Boot.
> > > >
> > > > Have you used buildman's size checking options before? If not,
> > >
> > > No.
> > >
> > > > https://source.denx.de/u-boot/u-boot-extras/-/blob/master/contrib/trini/u-boot-size-test.sh?ref_type=heads
> > > > may be helpful to you, as it can be a bit tricky at first (but IMHO is
> > > > better than the linux kernel bloat-o-meter). I ask because, what is the
> > > > size impact of these changes on things like say qemu_arm64 and qemu_arm?
> > > > I saw the cmd/ portion is guarded by a new CONFIG option which is good,
> > > > but I wonder about the more generic sysreset changes. Thanks!
> > >
> > > Please see below for u-boot-size-test.sh output
> > >
> > > $ ./u-boot-size-test.sh --board qcom_ipq9574_mmc
> > > Generating board list...Processing #include to produce configs/socfpga_agilex5_vab_defconfig
> > > Processing #include to produce configs/r8a78000_ironhide_defconfig
> > > 	.
> > > 	.
> > > 	.
> > > Processing #include to produce configs/am69_sk_a72_defconfig
> > > Building 2 commits for 1 boards (1 thread, 16 jobs per thread)
> > > 01: configs: am57xx_hs_evm_defconfig: Reserve EMIF memory used by PPA
> > > 06: qcom_defconfig: enable psci based sysreset
> > >     2    0    0 /2              qcom_ipq9574_mmc
> > > Completed: 2 total built, 2 newly), duration 0:00:13, rate 0.15
> > > /tmp/qcom_ipq9574_mmc/edl5/boards.cfg is up to date. Nothing to do.
> > > Summary of 2 commits for 1 boards (1 thread, 16 jobs per thread)
> > > 01: configs: am57xx_hs_evm_defconfig: Reserve EMIF memory used by PPA
> > > 06: qcom_defconfig: enable psci based sysreset
> > >    aarch64: (for 1/1 boards) all +224.0 data +8.0 text +216.0
> > >             qcom_ipq9574_mmc: all +224 data +8 text +216
> > >                u-boot: add: 2/0, grow: 2/0 bytes: 224/0 (224)
> > >                  function                                   old     new   delta
> > >                  sysreset_walk_arg                            -     124    +124
> > >                  do_reset                                   100     160     +60
> > >                  sysreset_request_arg                         -      32     +32
> > >                  psci_sysreset_ops                           24      32      +8
> > > (no errors to report)
> >
> > OK, so minimal growth on the platforms that would use it. How about
> > platforms which don't? qemu_arm and qemu_arm64 should build the sysreset
> > code in general and that's where I'm most concerned, platforms which
> > aren't using this feature. Thanks.
> 
> Please see below for u-boot-size-test.sh output
> 
> $ ./u-boot-size-test.sh --board qemu_arm
> Generating board list...Processing #include to produce configs/socfpga_agilex5_vab_defconfig
> Processing #include to produce configs/imx6ulz_smm_m2_defconfig
> 	.
> 	.
> 	.
> Processing #include to produce configs/am69_sk_a72_defconfig
> Building 2 commits for 1 boards (1 thread, 16 jobs per thread)
> 01: configs: am57xx_hs_evm_defconfig: Reserve EMIF memory used by PPA
> 06: qcom_defconfig: enable psci based sysreset
>     2    0    0 /2              qemu_arm
> Completed: 2 total built, 2 newly), duration 0:00:18, rate 0.11
> /tmp/qemu_arm/edl5/boards.cfg is up to date. Nothing to do.
> Summary of 2 commits for 1 boards (1 thread, 16 jobs per thread)
> 01: configs: am57xx_hs_evm_defconfig: Reserve EMIF memory used by PPA
> 06: qcom_defconfig: enable psci based sysreset
>        arm: (for 1/1 boards) all +184.0 text +184.0
>             qemu_arm       : all +184 text +184
>                u-boot: add: 2/0, grow: 2/0 bytes: 184/0 (184)
>                  function                                   old     new   delta
>                  sysreset_walk_arg                            -     104    +104
>                  do_reset                                    92     136     +44
>                  sysreset_request_arg                         -      32     +32
>                  psci_sysreset_ops                           12      16      +4
> (no errors to report)
> 
> $ ./u-boot-size-test.sh --board qemu_arm64
> Generating board list...Processing #include to produce configs/socfpga_agilex5_vab_defconfig
> Processing #include to produce configs/imx6ulz_smm_m2_defconfig
> 	.
> 	.
> 	.
> Processing #include to produce configs/genmai_defconfig
> Building 2 commits for 1 boards (1 thread, 16 jobs per thread)
> 01: configs: am57xx_hs_evm_defconfig: Reserve EMIF memory used by PPA
> 06: qcom_defconfig: enable psci based sysreset
>     2    0    0 /2              qemu_arm64
> Completed: 2 total built, 2 newly), duration 0:00:19, rate 0.11
> /tmp/qemu_arm64/edl5/boards.cfg is up to date. Nothing to do.
> Summary of 2 commits for 1 boards (1 thread, 16 jobs per thread)
> 01: configs: am57xx_hs_evm_defconfig: Reserve EMIF memory used by PPA
> 06: qcom_defconfig: enable psci based sysreset
>    aarch64: (for 1/1 boards) all +216.0 data +8.0 rodata -8.0 text +216.0
>             qemu_arm64     : all +216 data +8 rodata -8 text +216
>                u-boot: add: 2/0, grow: 2/0 bytes: 224/0 (224)
>                  function                                   old     new   delta
>                  sysreset_walk_arg                            -     124    +124
>                  do_reset                                   100     160     +60
>                  sysreset_request_arg                         -      32     +32
>                  psci_sysreset_ops                           24      32      +8
> (no errors to report)

That's not great. Can you please look at if you can cleanly rework your
changes to have less, or ideally no, size growth on the 700+ other
platforms that enable SYSRESET? Thanks.

-- 
Tom

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 228 bytes --]

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PATCH v5 0/5] Implement reset to EDL for qcs9100
  2026-01-19 17:07         ` Tom Rini
@ 2026-01-21  6:42           ` Varadarajan Narayanan
  0 siblings, 0 replies; 13+ messages in thread
From: Varadarajan Narayanan @ 2026-01-21  6:42 UTC (permalink / raw)
  To: Tom Rini
  Cc: casey.connolly, neil.armstrong, sumit.garg, ilias.apalodimas,
	jerome, marek.vasut+renesas, christopher.obbard, me, michal.simek,
	clamor95, u-boot, u-boot-qcom

On Mon, Jan 19, 2026 at 11:07:01AM -0600, Tom Rini wrote:
[ . . .]
> > $ ./u-boot-size-test.sh --board qemu_arm64
> > Generating board list...Processing #include to produce configs/socfpga_agilex5_vab_defconfig
> > Processing #include to produce configs/imx6ulz_smm_m2_defconfig
> > 	.
> > 	.
> > 	.
> > Processing #include to produce configs/genmai_defconfig
> > Building 2 commits for 1 boards (1 thread, 16 jobs per thread)
> > 01: configs: am57xx_hs_evm_defconfig: Reserve EMIF memory used by PPA
> > 06: qcom_defconfig: enable psci based sysreset
> >     2    0    0 /2              qemu_arm64
> > Completed: 2 total built, 2 newly), duration 0:00:19, rate 0.11
> > /tmp/qemu_arm64/edl5/boards.cfg is up to date. Nothing to do.
> > Summary of 2 commits for 1 boards (1 thread, 16 jobs per thread)
> > 01: configs: am57xx_hs_evm_defconfig: Reserve EMIF memory used by PPA
> > 06: qcom_defconfig: enable psci based sysreset
> >    aarch64: (for 1/1 boards) all +216.0 data +8.0 rodata -8.0 text +216.0
> >             qemu_arm64     : all +216 data +8 rodata -8 text +216
> >                u-boot: add: 2/0, grow: 2/0 bytes: 224/0 (224)
> >                  function                                   old     new   delta
> >                  sysreset_walk_arg                            -     124    +124
> >                  do_reset                                   100     160     +60
> >                  sysreset_request_arg                         -      32     +32
> >                  psci_sysreset_ops                           24      32      +8
> > (no errors to report)
>
> That's not great. Can you please look at if you can cleanly rework your
> changes to have less, or ideally no, size growth on the 700+ other
> platforms that enable SYSRESET? Thanks.

Have posted v6 [1] addressing this, please take a look

-Varada

1 - https://lore.kernel.org/u-boot/20260121063920.1500293-1-varadarajan.narayanan@oss.qualcomm.com/#t

^ permalink raw reply	[flat|nested] 13+ messages in thread

end of thread, other threads:[~2026-01-21  6:42 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-01-13 10:38 [PATCH v5 0/5] Implement reset to EDL for qcs9100 Varadarajan Narayanan
2026-01-13 10:38 ` [PATCH v5 1/5] arm: psci: Add API to check for support of specific PSCI function Varadarajan Narayanan
2026-01-13 10:38 ` [PATCH v5 2/5] drivers: sysreset: Add sysreset op that can take arguments Varadarajan Narayanan
2026-01-13 10:38 ` [PATCH v5 3/5] sysreset: Implement PSCI based reset to EDL mode for QCOM SoCs Varadarajan Narayanan
2026-01-13 10:38 ` [PATCH v5 4/5] cmd: boot: Add '-edl' option to reset command documentation Varadarajan Narayanan
2026-01-13 10:38 ` [PATCH v5 5/5] qcom_defconfig: enable psci based sysreset Varadarajan Narayanan
2026-01-13 14:42 ` [PATCH v5 0/5] Implement reset to EDL for qcs9100 Tom Rini
2026-01-16  7:09   ` Varadarajan Narayanan
2026-01-16 14:43     ` Tom Rini
2026-01-19  5:39       ` Varadarajan Narayanan
2026-01-19 17:07         ` Tom Rini
2026-01-21  6:42           ` Varadarajan Narayanan
2026-01-16  9:20 ` Sumit Garg

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox