{"id":2217827,"url":"http://patchwork.ozlabs.org/api/1.2/patches/2217827/?format=json","web_url":"http://patchwork.ozlabs.org/project/uboot/patch/20260330171419.1117817-4-aswin.murugan@oss.qualcomm.com/","project":{"id":18,"url":"http://patchwork.ozlabs.org/api/1.2/projects/18/?format=json","name":"U-Boot","link_name":"uboot","list_id":"u-boot.lists.denx.de","list_email":"u-boot@lists.denx.de","web_url":null,"scm_url":null,"webscm_url":null,"list_archive_url":"","list_archive_url_format":"","commit_url_format":""},"msgid":"<20260330171419.1117817-4-aswin.murugan@oss.qualcomm.com>","list_archive_url":null,"date":"2026-03-30T17:14:15","name":"[v3,3/7] mach-snapdragon: Integrate reboot-mode handling","commit_ref":null,"pull_url":null,"state":"superseded","archived":false,"hash":"f4df24b5bcfb5b4679213c0d0d5eae7c1d2de9e5","submitter":{"id":90811,"url":"http://patchwork.ozlabs.org/api/1.2/people/90811/?format=json","name":"Aswin Murugan","email":"aswin.murugan@oss.qualcomm.com"},"delegate":{"id":151538,"url":"http://patchwork.ozlabs.org/api/1.2/users/151538/?format=json","username":"kcxt","first_name":"Casey","last_name":"Connolly","email":"casey.connolly@linaro.org"},"mbox":"http://patchwork.ozlabs.org/project/uboot/patch/20260330171419.1117817-4-aswin.murugan@oss.qualcomm.com/mbox/","series":[{"id":498069,"url":"http://patchwork.ozlabs.org/api/1.2/series/498069/?format=json","web_url":"http://patchwork.ozlabs.org/project/uboot/list/?series=498069","date":"2026-03-30T17:14:12","name":"qcom: Add NVMEM bitfield support and reboot���mode integration","version":3,"mbox":"http://patchwork.ozlabs.org/series/498069/mbox/"}],"comments":"http://patchwork.ozlabs.org/api/patches/2217827/comments/","check":"pending","checks":"http://patchwork.ozlabs.org/api/patches/2217827/checks/","tags":{},"related":[],"headers":{"Return-Path":"<u-boot-bounces@lists.denx.de>","X-Original-To":"incoming@patchwork.ozlabs.org","Delivered-To":"patchwork-incoming@legolas.ozlabs.org","Authentication-Results":["legolas.ozlabs.org;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=qualcomm.com header.i=@qualcomm.com header.a=rsa-sha256\n header.s=qcppdkim1 header.b=hQwNvYTa;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com\n header.a=rsa-sha256 header.s=google header.b=FULmdP6L;\n\tdkim-atps=neutral","legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de\n (client-ip=2a01:238:438b:c500:173d:9f52:ddab:ee01; helo=phobos.denx.de;\n envelope-from=u-boot-bounces@lists.denx.de; receiver=patchwork.ozlabs.org)","phobos.denx.de;\n dmarc=none (p=none dis=none) header.from=oss.qualcomm.com","phobos.denx.de;\n spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de","phobos.denx.de;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=qualcomm.com header.i=@qualcomm.com\n header.b=\"hQwNvYTa\";\n\tdkim=pass (2048-bit key;\n unprotected) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com\n header.b=\"FULmdP6L\";\n\tdkim-atps=neutral","phobos.denx.de; dmarc=none (p=none dis=none)\n header.from=oss.qualcomm.com","phobos.denx.de;\n spf=pass smtp.mailfrom=aswin.murugan@oss.qualcomm.com"],"Received":["from phobos.denx.de (phobos.denx.de\n [IPv6:2a01:238:438b:c500:173d:9f52:ddab:ee01])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519)\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4fkyYg3pMYz1yG7\n\tfor <incoming@patchwork.ozlabs.org>; Tue, 31 Mar 2026 04:15:19 +1100 (AEDT)","from h2850616.stratoserver.net (localhost [IPv6:::1])\n\tby phobos.denx.de (Postfix) with ESMTP id 9703B84020;\n\tMon, 30 Mar 2026 19:15:11 +0200 (CEST)","by phobos.denx.de (Postfix, from userid 109)\n id 6BF6E84020; Mon, 30 Mar 2026 19:15:10 +0200 (CEST)","from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com\n [205.220.168.131])\n (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits))\n (No client certificate requested)\n by phobos.denx.de (Postfix) with ESMTPS id 2711F83E7A\n for <u-boot@lists.denx.de>; Mon, 30 Mar 2026 19:15:07 +0200 (CEST)","from pps.filterd (m0279863.ppops.net [127.0.0.1])\n by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id\n 62UG48AG3668463\n for <u-boot@lists.denx.de>; Mon, 30 Mar 2026 17:15:06 GMT","from mail-pj1-f71.google.com (mail-pj1-f71.google.com\n [209.85.216.71])\n by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4d7vcc09pv-1\n (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT)\n for <u-boot@lists.denx.de>; Mon, 30 Mar 2026 17:15:06 +0000 (GMT)","by mail-pj1-f71.google.com with SMTP id\n 98e67ed59e1d1-35da99b90f6so1762646a91.1\n for <u-boot@lists.denx.de>; Mon, 30 Mar 2026 10:15:06 -0700 (PDT)","from hu-aswinm-blr.qualcomm.com\n (blr-bdr-fw-01_GlobalNAT_AllZones-Outside.qualcomm.com. [103.229.18.19])\n by smtp.gmail.com with ESMTPSA id\n d2e1a72fcca58-82ca8626518sm7349777b3a.52.2026.03.30.10.14.57\n (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);\n Mon, 30 Mar 2026 10:15:04 -0700 (PDT)"],"X-Spam-Checker-Version":"SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de","X-Spam-Level":"","X-Spam-Status":"No, score=-0.1 required=5.0 tests=BAYES_00,DKIM_SIGNED,\n DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_BLOCKED,\n RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,\n SPF_HELO_NONE,SPF_PASS autolearn=no autolearn_force=no version=3.4.2","DKIM-Signature":["v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h=\n content-transfer-encoding:date:from:in-reply-to:message-id\n :mime-version:references:subject:to; s=qcppdkim1; bh=6JNEPFQimK2\n O52Lsilc33mZzYpt3iDDdyNIZ6dq4XTc=; b=hQwNvYTayCJIli0W5s07LjGvMmc\n M0WA8vplIBgEmassGPy9X7hiIZg3eVpqe+c4eVF9hfs7uLp8rzUxkLrqHFz6lI0F\n 6HWhINNKLX6kn3p8vGB8iFtXzBzyN9AbHXoOXdSyAsYvokI00ncsbMymb4EkHMUQ\n 2br05sqlYRP83jv5sBWSY/w40/6qkj2r6IEqqFK0XJZNf6Y/Ko0IZLBTUMXztEMe\n 1iWklmjLSlaWegZ+IvGxrWdPurrUdJYSnh16gwvBMC+Ao6obNhah9+tg/PUWFkWP\n fwKtymAnLWDZV2GT3tq1I6OTd1ddrBrvIrDYQKv4BmdK1MSgA/Rrj2xsPRg==","v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=oss.qualcomm.com; s=google; t=1774890905; x=1775495705; darn=lists.denx.de;\n h=content-transfer-encoding:mime-version:references:in-reply-to\n :message-id:date:subject:to:from:from:to:cc:subject:date:message-id\n :reply-to; bh=6JNEPFQimK2O52Lsilc33mZzYpt3iDDdyNIZ6dq4XTc=;\n b=FULmdP6LTBN7VmeNHqldrIOlQsM7qmuNz2sHBhkQDuxEP2PYNsyHnYeaDK0eACsBMr\n Lf/dSHo0LpJQfk0mnqsRotf4WWL84/CcLeZIPmIDUlt+Kpis7W80oi5AsAX9uPrup+Nu\n nYoueOQOSXqCh/7usElWJezPR4gidl2T9ArokLV9S+WlsoHEeyyUO6eRcUbcC/4b7ya7\n uJYk515hBylI49zi6dBfynsU5Xd/zVidfIWKD8eLwbVXX131C13tRYQ2/Eg1FAbuBskg\n kqSS+GwL0kATPp65Juw+XL/tZhws/0VcuzXEV14ZlVyEkns5xiID4rmD7QsCynY3RbVC\n 1dEw=="],"X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=1e100.net; s=20251104; t=1774890905; x=1775495705;\n h=content-transfer-encoding:mime-version:references:in-reply-to\n :message-id:date:subject:to:from:x-gm-gg:x-gm-message-state:from:to\n :cc:subject:date:message-id:reply-to;\n bh=6JNEPFQimK2O52Lsilc33mZzYpt3iDDdyNIZ6dq4XTc=;\n b=FQCe8zJwrrovmgKG7p6ER6/+s6RpgWsp1t4pcQ8F44EaKnzvv1chTD0Nq0uQ9mrYsw\n FuAWwaOXHJ1JCs40d+FfnBji5RXnNnn0r+qQUe7um4JZlHHfuznjnoWscX28sm9/pWIq\n uf7fXQ6DS4iFnZn6Of90zvOhkxfrjCGJ8Dv03H/eHI9WhGxNHvfsPZ6HsOhSX7Nu8HEi\n ODPkolhI8L67WyMGHY7df+2xNHcnQyz5sfhtQv8MHakE9RxeR/JTVOKqA37/D0/jo1HF\n /CXgS+1rNdqr3GYD7nk6l/Wk2xluHfzSVBBtn7Cs/ay7ak8MqMbW6NaJHo12AFKy1MYA\n JFzg==","X-Forwarded-Encrypted":"i=1;\n AJvYcCWNmxxrjTgPzJ4oLs4Pzelwbwxu1d9UhthZfJqNyOqLXtIJz7sa5Ro3Xw7WotXPGZus0OlsH60=@lists.denx.de","X-Gm-Message-State":"AOJu0YwhcWpNuJA9PYDbnWpYg3OpZfcfSbM+inW+N9G/di9PbGIAud3d\n lkykKbhFcXkECT1IbrE9pEc2hU3CFRj99Ni5j+2p90c9hN1X34oE3Tug/CkyS0BAglwQYl937Bh\n KT6YpwV84g23HbmZnTqo5sUBTPD9VoSDqDrDTEpeoRb+2notkrSaDDDwA","X-Gm-Gg":"ATEYQzw4u09APQB+NHCAiQ2yB6NSlsIJ/WKgDclmProBpioVOtlT37WFmy9eN75hyfd\n Pfz0stUAm8zt5+tKeNrNu3N9DSAQuKt4dJfVDrJuZUK4v0ODEd3+7s/y+yT6V5KO5SnjRGu+2dZ\n yav+Cg98m9N3ZvKVcmlovLvuN42CSJWlYIwO1fJyWhHQGuNnEe5xeUa0Fjbs1yMk9tjIbu7UfqT\n bPXpOm2s4rKG1VhYz3Nx+SpRJNfLP4gD+hN+f4gMin5H4gmXgPK8pQJU/33go4k+HChO0Kb6ltz\n DN8tWRteBnEx8UtdKgivSqrobAWHc1N5TxHxY2H8l2tHJaENigahpIHH9IwStWtNNN4rmOXCZQL\n OAazyY1iWTW39oZ1FbIA2anIGaQnHi1n8FYacvoCBjE2+KufSW8yJuBULpxvIsYp26HfVONV3Mt\n 5E5LShWvlKRU998XTy+t5unmAV5rcXl6J701NtWxSD","X-Received":["by 2002:a05:6300:218c:b0:398:79a1:cb1 with SMTP id\n adf61e73a8af0-39c87c61d6cmr14083234637.64.1774890905115;\n Mon, 30 Mar 2026 10:15:05 -0700 (PDT)","by 2002:a05:6300:218c:b0:398:79a1:cb1 with SMTP id\n adf61e73a8af0-39c87c61d6cmr14083186637.64.1774890904517;\n Mon, 30 Mar 2026 10:15:04 -0700 (PDT)"],"From":"Aswin Murugan <aswin.murugan@oss.qualcomm.com>","To":"trini@konsulko.com, aswin.murugan@oss.qualcomm.com,\n casey.connolly@linaro.org, neil.armstrong@linaro.org,\n sumit.garg@kernel.org, sjg@chromium.org, seanga2@gmail.com,\n sughosh.ganu@arm.com, ilias.apalodimas@linaro.org, gchan9527@gmail.com,\n mkorpershoek@kernel.org, hs@nabladev.com,\n marek.vasut+renesas@mailbox.org, msp@baylibre.com,\n dinesh.maniyam@altera.com, peng.fan@nxp.com, quentin.schulz@cherry.de,\n kever.yang@rock-chips.com, jamie.gibbons@microchip.com,\n justin@tidylabs.net, xypron.glpk@gmx.de, n-francis@ti.com, h-vm@ti.com,\n ycliang@andestech.com, u-boot@lists.denx.de, u-boot-qcom@groups.io","Subject":"[PATCH v3 3/7] mach-snapdragon: Integrate reboot-mode handling","Date":"Mon, 30 Mar 2026 22:44:15 +0530","Message-Id":"<20260330171419.1117817-4-aswin.murugan@oss.qualcomm.com>","X-Mailer":"git-send-email 2.34.1","In-Reply-To":"<20260330171419.1117817-1-aswin.murugan@oss.qualcomm.com>","References":"<20260330171419.1117817-1-aswin.murugan@oss.qualcomm.com>","MIME-Version":"1.0","Content-Transfer-Encoding":"8bit","X-Proofpoint-ORIG-GUID":"iWxCHupHK7_-__G2fY1MGCDRqLYODdI6","X-Authority-Analysis":"v=2.4 cv=GbMaXAXL c=1 sm=1 tr=0 ts=69caaf9a cx=c_pps\n a=UNFcQwm+pnOIJct1K4W+Mw==:117 a=Ou0eQOY4+eZoSc0qltEV5Q==:17\n a=Yq5XynenixoA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22\n a=u7WPNUs3qKkmUXheDGA7:22 a=yOCtJkima9RkubShWh1s:22 a=EUspDBNiAAAA:8\n a=zRlt6gtmhGCAqZgH310A:9 a=uKXjsCUrEbL0IQVhDsJ9:22","X-Proofpoint-GUID":"iWxCHupHK7_-__G2fY1MGCDRqLYODdI6","X-Proofpoint-Spam-Details-Enc":"AW1haW4tMjYwMzMwMDE0MCBTYWx0ZWRfX/NSq0aatIwMS\n EX5xj3ZeV9N5DU5QHDOxzxtpYxnjPXupgu+ZK24QG7iiyRNSmBfdzP6yFDV3+QmE7iwa+nGUnOH\n GzOj7YAHD4+RDFYvgkYOeR2bUQ/0z9zdmaFFxNar9xMxv7TRBW/5b+mt/VVpEfUv/oCw/7ZsgqK\n WN+XrLUh5NRH+APFhIft2id/G2W0Mww4icoRsRVbFVx1z0kn8gieI+nRzrOumlfEDlAAvGB4Pdj\n 9R40ZmMQdkkAkK5u98zLCzEMlGhewbfRvVodUYgq+xUjGXWwDxUfKbsAvXfnI1kbmqLFj0Sa4ut\n ssDIiAaqm7ehrBmlOtQyCZ+24KK7OuerhOKbW8lPz7Pm3q0mXkvKR8Q2R8UjFb2iwy9Ctf6bLPX\n vcBQEzTq6cFT1mWZ4O7ZZ5AJ0Q8uLtTif2AVTxVBYqNCzoJupVXJH1ih+/76nhISjHjlHsnjY8k\n 9spVNoXplNdW2loAffg==","X-Proofpoint-Virus-Version":"vendor=baseguard\n engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49\n definitions=2026-03-29_05,2026-03-28_01,2025-10-01_01","X-Proofpoint-Spam-Details":"rule=outbound_notspam policy=outbound score=0\n bulkscore=0 priorityscore=1501 suspectscore=0 clxscore=1015 phishscore=0\n spamscore=0 adultscore=0 malwarescore=0 impostorscore=0 lowpriorityscore=0\n classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0\n reason=mlx scancount=1 engine=8.22.0-2603050001 definitions=main-2603300140","X-BeenThere":"u-boot@lists.denx.de","X-Mailman-Version":"2.1.39","Precedence":"list","List-Id":"U-Boot discussion <u-boot.lists.denx.de>","List-Unsubscribe":"<https://lists.denx.de/options/u-boot>,\n <mailto:u-boot-request@lists.denx.de?subject=unsubscribe>","List-Archive":"<https://lists.denx.de/pipermail/u-boot/>","List-Post":"<mailto:u-boot@lists.denx.de>","List-Help":"<mailto:u-boot-request@lists.denx.de?subject=help>","List-Subscribe":"<https://lists.denx.de/listinfo/u-boot>,\n <mailto:u-boot-request@lists.denx.de?subject=subscribe>","Errors-To":"u-boot-bounces@lists.denx.de","Sender":"\"U-Boot\" <u-boot-bounces@lists.denx.de>","X-Virus-Scanned":"clamav-milter 0.103.8 at phobos.denx.de","X-Virus-Status":"Clean"},"content":"Add reboot-mode detection and automatic fastboot entry to Qualcomm board\ninitialization. This enables 'reboot bootloader' functionality on\nplatforms with reboot-mode device tree configuration.\n\nChanges:\n- Add qcom_handle_reboot_mode() call in board_late_init()\n- Conditionally compile with CONFIG_DM_REBOOT_MODE\n- Reorganize header includes\n\nSigned-off-by: Aswin Murugan <aswin.murugan@oss.qualcomm.com>\n---\nChanges in v3:\n1. No change in v3\n---\n arch/arm/mach-snapdragon/board.c | 56 +++++++++++++++++++++++++-------\n 1 file changed, 45 insertions(+), 11 deletions(-)","diff":"diff --git a/arch/arm/mach-snapdragon/board.c b/arch/arm/mach-snapdragon/board.c\nindex 5fb3240acc5..a596d052711 100644\n--- a/arch/arm/mach-snapdragon/board.c\n+++ b/arch/arm/mach-snapdragon/board.c\n@@ -9,6 +9,15 @@\n #define LOG_CATEGORY LOGC_BOARD\n #define pr_fmt(fmt) \"QCOM: \" fmt\n \n+#include <command.h>\n+#include <env.h>\n+#include <fdt_support.h>\n+#include <init.h>\n+#include <lmb.h>\n+#include <malloc.h>\n+#include <sort.h>\n+#include <time.h>\n+#include <usb.h>\n #include <asm/armv8/mmu.h>\n #include <asm/gpio.h>\n #include <asm/io.h>\n@@ -16,22 +25,14 @@\n #include <asm/system.h>\n #include <dm/device.h>\n #include <dm/pinctrl.h>\n-#include <dm/uclass-internal.h>\n #include <dm/read.h>\n-#include <power/regulator.h>\n-#include <env.h>\n-#include <fdt_support.h>\n-#include <init.h>\n+#include <dm/uclass-internal.h>\n #include <linux/arm-smccc.h>\n #include <linux/bug.h>\n #include <linux/psci.h>\n #include <linux/sizes.h>\n-#include <lmb.h>\n-#include <malloc.h>\n-#include <fdt_support.h>\n-#include <usb.h>\n-#include <sort.h>\n-#include <time.h>\n+#include <power/regulator.h>\n+#include <reboot-mode/reboot-mode.h>\n \n #include \"qcom-priv.h\"\n \n@@ -506,6 +507,33 @@ void qcom_show_boot_source(void)\n \tenv_set(\"boot_source\", name);\n }\n \n+/**\n+ * qcom_handle_reboot_mode() - Process reboot-mode detection and handle fastboot entry\n+ *\n+ * This function detects the reboot reason from PMIC registers and automatically\n+ * enters fastboot mode if the reboot reason was \"bootloader\".\n+ */\n+static void qcom_handle_reboot_mode(void)\n+{\n+\tstruct udevice *reboot_dev;\n+\tconst char *reboot_mode;\n+\tint ret;\n+\n+\tret = uclass_first_device_err(UCLASS_REBOOT_MODE, &reboot_dev);\n+\tif (ret)\n+\t\treturn;\n+\n+\tret = dm_reboot_mode_update(reboot_dev);\n+\tif (ret)\n+\t\treturn;\n+\n+\treboot_mode = env_get(\"reboot-mode\");\n+\tif (reboot_mode && !strcmp(reboot_mode, \"bootloader\")) {\n+\t\tprintf(\"Entering fastboot mode due to reboot reason...\\n\");\n+\t\trun_command(\"run fastboot\", 0);\n+\t}\n+}\n+\n void __weak qcom_late_init(void)\n {\n }\n@@ -570,6 +598,12 @@ int board_late_init(void)\n \tqcom_late_init();\n \n \tqcom_show_boot_source();\n+\n+\t/* Handle reboot-mode detection and fastboot entry */\n+#if IS_ENABLED(CONFIG_DM_REBOOT_MODE)\n+\tqcom_handle_reboot_mode();\n+#endif\n+\n \t/* Configure the dfu_string for capsule updates */\n \tqcom_configure_capsule_updates();\n \n","prefixes":["v3","3/7"]}