Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/patches/2146089/?format=api
{ "id": 2146089, "url": "http://patchwork.ozlabs.org/api/patches/2146089/?format=api", "web_url": "http://patchwork.ozlabs.org/project/uboot/patch/20251006101057.4172248-7-anshuld@ti.com/", "project": { "id": 18, "url": "http://patchwork.ozlabs.org/api/projects/18/?format=api", "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": "<20251006101057.4172248-7-anshuld@ti.com>", "list_archive_url": null, "date": "2025-10-06T10:10:54", "name": "[-next,v3,6/7] spl: nand: refactor spl_nand_load_image for falcon mode", "commit_ref": null, "pull_url": null, "state": "changes-requested", "archived": false, "hash": "450faa38b744b0d0fbb0698d341c3cde61a59e30", "submitter": { "id": 90324, "url": "http://patchwork.ozlabs.org/api/people/90324/?format=api", "name": "Anshul Dalal", "email": "anshuld@ti.com" }, "delegate": { "id": 3651, "url": "http://patchwork.ozlabs.org/api/users/3651/?format=api", "username": "trini", "first_name": "Tom", "last_name": "Rini", "email": "trini@ti.com" }, "mbox": "http://patchwork.ozlabs.org/project/uboot/patch/20251006101057.4172248-7-anshuld@ti.com/mbox/", "series": [ { "id": 476383, "url": "http://patchwork.ozlabs.org/api/series/476383/?format=api", "web_url": "http://patchwork.ozlabs.org/project/uboot/list/?series=476383", "date": "2025-10-06T10:10:48", "name": "Add support for secure falcon mode: disable fallback", "version": 3, "mbox": "http://patchwork.ozlabs.org/series/476383/mbox/" } ], "comments": "http://patchwork.ozlabs.org/api/patches/2146089/comments/", "check": "pending", "checks": "http://patchwork.ozlabs.org/api/patches/2146089/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 (1024-bit key;\n unprotected) header.d=ti.com header.i=@ti.com header.a=rsa-sha256\n header.s=ti-com-17Q1 header.b=IMnCZNBT;\n\tdkim-atps=neutral", "legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de\n (client-ip=85.214.62.61; helo=phobos.denx.de;\n envelope-from=u-boot-bounces@lists.denx.de; receiver=patchwork.ozlabs.org)", "phobos.denx.de;\n dmarc=pass (p=quarantine dis=none) header.from=ti.com", "phobos.denx.de;\n spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de", "phobos.denx.de;\n\tdkim=pass (1024-bit key;\n unprotected) header.d=ti.com header.i=@ti.com header.b=\"IMnCZNBT\";\n\tdkim-atps=neutral", "phobos.denx.de;\n dmarc=pass (p=quarantine dis=none) header.from=ti.com", "phobos.denx.de; spf=pass smtp.mailfrom=anshuld@ti.com" ], "Received": [ "from phobos.denx.de (phobos.denx.de [85.214.62.61])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange X25519 server-signature ECDSA (secp384r1))\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4cgFS43rFVz1yGb\n\tfor <incoming@patchwork.ozlabs.org>; Mon, 6 Oct 2025 21:12:04 +1100 (AEDT)", "from h2850616.stratoserver.net (localhost [IPv6:::1])\n\tby phobos.denx.de (Postfix) with ESMTP id 2550583759;\n\tMon, 6 Oct 2025 12:11:19 +0200 (CEST)", "by phobos.denx.de (Postfix, from userid 109)\n id C51EF835D0; Mon, 6 Oct 2025 12:11:17 +0200 (CEST)", "from fllvem-ot03.ext.ti.com (fllvem-ot03.ext.ti.com [198.47.19.245])\n (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256\n bits)) (No client certificate requested)\n by phobos.denx.de (Postfix) with ESMTPS id A4A6B836CE\n for <u-boot@lists.denx.de>; Mon, 6 Oct 2025 12:11:15 +0200 (CEST)", "from fllvem-sh04.itg.ti.com ([10.64.41.54])\n by fllvem-ot03.ext.ti.com (8.15.2/8.15.2) with ESMTP id 596ABC5u3526642;\n Mon, 6 Oct 2025 05:11:12 -0500", "from DLEE203.ent.ti.com (dlee203.ent.ti.com [157.170.170.78])\n by fllvem-sh04.itg.ti.com (8.18.1/8.18.1) with ESMTPS id 596ABCGb4044754\n (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=FAIL);\n Mon, 6 Oct 2025 05:11:12 -0500", "from DLEE203.ent.ti.com (157.170.170.78) by DLEE203.ent.ti.com\n (157.170.170.78) with Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.20; Mon, 6 Oct\n 2025 05:11:11 -0500", "from lelvem-mr05.itg.ti.com (10.180.75.9) by DLEE203.ent.ti.com\n (157.170.170.78) with Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.20 via Frontend\n Transport; Mon, 6 Oct 2025 05:11:11 -0500", "from localhost (dhcp-172-24-233-105.dhcp.ti.com [172.24.233.105])\n by lelvem-mr05.itg.ti.com (8.18.1/8.18.1) with ESMTP id 596ABArq3511822;\n Mon, 6 Oct 2025 05:11:11 -0500" ], "X-Spam-Checker-Version": "SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de", "X-Spam-Level": "", "X-Spam-Status": "No, score=-2.5 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH,\n DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,\n RCVD_IN_DNSWL_BLOCKED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,\n RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_PASS,SPF_PASS autolearn=ham\n autolearn_force=no version=3.4.2", "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed; d=ti.com;\n s=ti-com-17Q1; t=1759745472;\n bh=/CpcEN18W1bI040vFodiXEDL4duBMIUwIc3CZO3Lfhk=;\n h=From:To:CC:Subject:Date:In-Reply-To:References;\n b=IMnCZNBTOx447CupJnlOSyue2lgKuYekIYDCdRa37mUt0q9Fso9FS+V0oKxVg0wnt\n G+x1pWe5EWEtbjn0SWZLjxrcs+Whyx8s9pHnT9S0HNZ3EA0nToyxpjNcmQaSH+Lk/f\n Ba9m3TYsPY4zyVaq++FaXvqwl8aXAIzSCmeOGxyk=", "From": "Anshul Dalal <anshuld@ti.com>", "To": "<u-boot@lists.denx.de>", "CC": "Anshul Dalal <anshuld@ti.com>, <vigneshr@ti.com>, <trini@konsulko.com>,\n <afd@ti.com>, <m-chawdhry@ti.com>, <n-francis@ti.com>, <b-liu@ti.com>,\n <nm@ti.com>, <bb@ti.com>, <kever.yang@rock-chips.com>,\n <hl@rock-chips.com>, <tim@feathertop.org>,\n <marek.vasut+renesas@mailbox.org>", "Subject": "[PATCH -next v3 6/7] spl: nand: refactor spl_nand_load_image for\n falcon mode", "Date": "Mon, 6 Oct 2025 15:40:54 +0530", "Message-ID": "<20251006101057.4172248-7-anshuld@ti.com>", "X-Mailer": "git-send-email 2.51.0", "In-Reply-To": "<20251006101057.4172248-1-anshuld@ti.com>", "References": "<20251006101057.4172248-1-anshuld@ti.com>", "MIME-Version": "1.0", "Content-Transfer-Encoding": "8bit", "Content-Type": "text/plain", "X-C2ProcessedOrg": "333ef613-75bf-4e12-a4b1-8e3623f5dcea", "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": "This patch moves the falcon mode handling logic out of\nspl_ubi_load_image to spl_ubi_load_image_os, this allows for cleaner\nhandling for fallback to U-Boot in case falcon mode fails.\n\nSigned-off-by: Anshul Dalal <anshuld@ti.com>\n---\n common/spl/spl_nand.c | 95 +++++++++++++++++++++++--------------------\n 1 file changed, 52 insertions(+), 43 deletions(-)", "diff": "diff --git a/common/spl/spl_nand.c b/common/spl/spl_nand.c\nindex 22883f4e8b9..f37baefb372 100644\n--- a/common/spl/spl_nand.c\n+++ b/common/spl/spl_nand.c\n@@ -75,6 +75,52 @@ static int spl_nand_load_element(struct spl_image_info *spl_image,\n \treturn spl_load(spl_image, bootdev, &load, 0, offset);\n }\n \n+#if CONFIG_IS_ENABLED(OS_BOOT)\n+static int spl_nand_load_image_os(struct spl_image_info *spl_image,\n+\t\t\t\t struct spl_boot_device *bootdev)\n+{\n+\tint *src, *dst, err;\n+\tstruct legacy_img_hdr *header = spl_get_load_buffer(0, sizeof(*header));\n+\n+\t/* load linux */\n+\tnand_spl_load_image(CONFIG_SYS_NAND_SPL_KERNEL_OFFS, sizeof(*header),\n+\t\t\t (void *)header);\n+\terr = spl_parse_image_header(spl_image, bootdev, header);\n+\tif (err)\n+\t\treturn err;\n+\n+\tif (header->ih_os != IH_OS_LINUX)\n+\t\treturn -EINVAL;\n+\n+\t/* happy - was a linux */\n+\terr = nand_spl_load_image(CONFIG_SYS_NAND_SPL_KERNEL_OFFS,\n+\t\t\t\t spl_image->size,\n+\t\t\t\t (void *)spl_image->load_addr);\n+\tnand_deselect();\n+\n+\tif (err)\n+\t\treturn err;\n+\n+\t/*\n+\t * load parameter image load to temp position since nand_spl_load_image\n+\t * reads a whole block which is typically larger than\n+\t * CONFIG_CMD_SPL_WRITE_SIZE therefore may overwrite following sections\n+\t * like BSS\n+\t */\n+\tnand_spl_load_image(CONFIG_CMD_SPL_NAND_OFS, CONFIG_CMD_SPL_WRITE_SIZE,\n+\t\t\t (void *)CONFIG_TEXT_BASE);\n+\t/* copy to destintion */\n+\tfor (dst = (int *)CONFIG_SPL_PAYLOAD_ARGS_ADDR,\n+\t src = (int *)CONFIG_TEXT_BASE;\n+\t src < (int *)(CONFIG_TEXT_BASE + CONFIG_CMD_SPL_WRITE_SIZE);\n+\t src++, dst++) {\n+\t\twritel(readl(src), dst);\n+\t}\n+\n+\treturn 0;\n+}\n+#endif\n+\n static int spl_nand_load_image(struct spl_image_info *spl_image,\n \t\t\t struct spl_boot_device *bootdev)\n {\n@@ -89,51 +135,14 @@ static int spl_nand_load_image(struct spl_image_info *spl_image,\n \n #if CONFIG_IS_ENABLED(OS_BOOT)\n \tif (!spl_start_uboot()) {\n-\t\tint *src, *dst;\n-\t\tstruct legacy_img_hdr *header =\n-\t\t\tspl_get_load_buffer(0, sizeof(*header));\n-\n-\t\t/*\n-\t\t * load parameter image\n-\t\t * load to temp position since nand_spl_load_image reads\n-\t\t * a whole block which is typically larger than\n-\t\t * CONFIG_CMD_SPL_WRITE_SIZE therefore may overwrite\n-\t\t * following sections like BSS\n-\t\t */\n-\t\tnand_spl_load_image(CONFIG_CMD_SPL_NAND_OFS,\n-\t\t\tCONFIG_CMD_SPL_WRITE_SIZE,\n-\t\t\t(void *)CONFIG_TEXT_BASE);\n-\t\t/* copy to destintion */\n-\t\tfor (dst = (int *)CONFIG_SPL_PAYLOAD_ARGS_ADDR,\n-\t\t src = (int *)CONFIG_TEXT_BASE;\n-\t\t\tsrc < (int *)(CONFIG_TEXT_BASE +\n-\t\t\t\t CONFIG_CMD_SPL_WRITE_SIZE);\n-\t\t src++, dst++) {\n-\t\t\twritel(readl(src), dst);\n-\t\t}\n-\n-\t\t/* load linux */\n-\t\tnand_spl_load_image(CONFIG_SYS_NAND_SPL_KERNEL_OFFS,\n-\t\t\tsizeof(*header), (void *)header);\n-\t\terr = spl_parse_image_header(spl_image, bootdev, header);\n-\t\tif (err)\n-\t\t\treturn err;\n-\t\tif (header->ih_os == IH_OS_LINUX) {\n-\t\t\t/* happy - was a linux */\n-\t\t\terr = nand_spl_load_image(\n-\t\t\t\tCONFIG_SYS_NAND_SPL_KERNEL_OFFS,\n-\t\t\t\tspl_image->size,\n-\t\t\t\t(void *)spl_image->load_addr);\n-\t\t\tnand_deselect();\n-\t\t\treturn err;\n-\t\t} else {\n-\t\t\tputs(\"The Expected Linux image was not \"\n-\t\t\t\t\"found. Please check your NAND \"\n-\t\t\t\t\"configuration.\\n\");\n-\t\t\tputs(\"Trying to start u-boot now...\\n\");\n-\t\t}\n+\t\terr = spl_nand_load_image_os(spl_image, bootdev);\n+\t\tif (!err)\n+\t\t\treturn 0;\n+\t\tprintf(\"%s: Failed in falcon boot: %d, fallback to U-Boot\",\n+\t\t __func__, err);\n \t}\n #endif\n+\n #ifdef CONFIG_NAND_ENV_DST\n \tspl_nand_load_element(spl_image, bootdev, CONFIG_ENV_OFFSET);\n #ifdef CONFIG_ENV_OFFSET_REDUND\n", "prefixes": [ "-next", "v3", "6/7" ] }