From patchwork Mon Jul 31 22:43:03 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sean Anderson X-Patchwork-Id: 1815300 X-Patchwork-Delegate: trini@ti.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de (client-ip=2a01:238:438b:c500:173d:9f52:ddab:ee01; helo=phobos.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: legolas.ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=seco.com header.i=@seco.com header.a=rsa-sha256 header.s=selector1 header.b=1JQFoDrR; dkim=pass (2048-bit key) header.d=seco.com header.i=@seco.com header.a=rsa-sha256 header.s=selector1 header.b=1JQFoDrR; dkim-atps=neutral Received: from phobos.denx.de (phobos.denx.de [IPv6:2a01:238:438b:c500:173d:9f52:ddab:ee01]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-384)) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4RFCxs3lGtz1yfG for ; Tue, 1 Aug 2023 08:45:37 +1000 (AEST) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 689AC86ADF; Tue, 1 Aug 2023 00:43:52 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=reject dis=none) header.from=seco.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (2048-bit key; unprotected) header.d=seco.com header.i=@seco.com header.b="1JQFoDrR"; dkim=pass (2048-bit key) header.d=seco.com header.i=@seco.com header.b="1JQFoDrR"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id BE68486AB2; Tue, 1 Aug 2023 00:43:51 +0200 (CEST) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de X-Spam-Level: X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,SPF_HELO_PASS,SPF_PASS, T_SCC_BODY_TEXT_LINE autolearn=unavailable autolearn_force=no version=3.4.2 Received: from EUR05-DB8-obe.outbound.protection.outlook.com (mail-db8eur05on20623.outbound.protection.outlook.com [IPv6:2a01:111:f400:7e1a::623]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id 8E52086AF5 for ; Tue, 1 Aug 2023 00:43:42 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=reject dis=none) header.from=seco.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=sean.anderson@seco.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=seco.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=DvD1Yk/lo/+tOdPCuUA0eJb4Di58YFTFFGXTwKsZAV4=; b=1JQFoDrR2vNGhd8mmHv5Aj0ODsaTUPh/SkvEQHyP4GdryeCRuwRTRRKMg8f8Q3BHHdaPJi2XZA/dXvNQsQzQ2b58C7/1bbU1ZAuNlbr8vwQc2/sYUR2oYCiDxno5yvP5yMQkj7eJe1/RlRT4wEy3elqBHTn9er4ZNIycXNGaaerfP8PKSH7+HKydH/0hbjRgb5z7BHSidRLWI8Xjg2f2x80afvpK6cGzhjlAXWzZuUMhux251rXC9byyqMgHNQR7JXZOpW3XdaJ3UVD3q246YOW2zCrkdCBYj6WIIcS3gL24DqlqPwcN021jZ3wlI7bSoLnUjCS+KoBA9cTt0P4OAQ== Received: from FR0P281CA0199.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:ad::7) by DB3PR0302MB8941.eurprd03.prod.outlook.com (2603:10a6:10:43b::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6631.43; Mon, 31 Jul 2023 22:43:40 +0000 Received: from VI1EUR05FT062.eop-eur05.prod.protection.outlook.com (2603:10a6:d10:ad:cafe::b1) by FR0P281CA0199.outlook.office365.com (2603:10a6:d10:ad::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.17 via Frontend Transport; Mon, 31 Jul 2023 22:43:39 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 20.160.56.83) smtp.mailfrom=seco.com; dkim=pass (signature was verified) header.d=seco.com;dmarc=pass action=none header.from=seco.com; Received-SPF: Pass (protection.outlook.com: domain of seco.com designates 20.160.56.83 as permitted sender) receiver=protection.outlook.com; client-ip=20.160.56.83; helo=inpost-eu.tmcas.trendmicro.com; pr=C Received: from inpost-eu.tmcas.trendmicro.com (20.160.56.83) by VI1EUR05FT062.mail.protection.outlook.com (10.233.243.189) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6631.44 via Frontend Transport; Mon, 31 Jul 2023 22:43:39 +0000 Received: from outmta (unknown [192.168.82.133]) by inpost-eu.tmcas.trendmicro.com (Trend Micro CAS) with ESMTP id BE0422008008B; Mon, 31 Jul 2023 22:43:38 +0000 (UTC) Received: from EUR02-AM0-obe.outbound.protection.outlook.com (unknown [104.47.11.236]) by repre.tmcas.trendmicro.com (Trend Micro CAS) with ESMTPS id A6F252008006E; Mon, 31 Jul 2023 22:43:29 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=W/q34rfLxW5moAk7llOqL3uQEO/6gu8RIC7VrCoOHZbI2jZfzn8P8xWgG+1Z6bacA84yyojhNhuZ7309AK6tdMyg7GQmvWcc00pCk5OlzvJ8vE94miXU2Jw71vAbs7UODHNVgrJSEx2oTm5+2BkuKV+Oavl4qqEgWBJjeRXQK7xzyiBYAPtYr6tAqbpeztogL9+7g4bSOISSAKTGxgYsLPLje+pv0unBH0R8et1a80RGA65qzRWCJlAOMPyaDXOqnvxBpWu1yh/rMZ9HTIpniS82svFTR0z1K23OjX6DzPiYBusKGG7sAnZTmHmvs1w/yzRW5ZR80wP1i2SfZ1Z8FA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=DvD1Yk/lo/+tOdPCuUA0eJb4Di58YFTFFGXTwKsZAV4=; b=cjevNy1AVQScH3tVCD+X+nmdD7YQiPrhwTYlbO8I1KnAVkIsH3mO9AxNntwAbj90ZBtRdoGExfOx9uINb/PZBWyT38KsYJuMSviYR1fv5r9qHQiSeElUPRhNccApIeZyWpFptSj4T8XgxPd7H3tu4nb2u+3Y3hfRCGRxxk2+bpvW2cBJrzSNmaVYOrUmuCSW9tvpGxlSRM73T4Sg0PC+saNWZoww2coRG2tou0ZybI05XM3DdAPjVrVFK373hh8ip4OGZEJm4xB0sZczX0B9eLkLaaHzR4hDJqBmgazHbWIVw3IqRuXVYUXXXPIB1mjFe25SwA+N3FxrTf1TUUp/cQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=seco.com; dmarc=pass action=none header.from=seco.com; dkim=pass header.d=seco.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=seco.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=DvD1Yk/lo/+tOdPCuUA0eJb4Di58YFTFFGXTwKsZAV4=; b=1JQFoDrR2vNGhd8mmHv5Aj0ODsaTUPh/SkvEQHyP4GdryeCRuwRTRRKMg8f8Q3BHHdaPJi2XZA/dXvNQsQzQ2b58C7/1bbU1ZAuNlbr8vwQc2/sYUR2oYCiDxno5yvP5yMQkj7eJe1/RlRT4wEy3elqBHTn9er4ZNIycXNGaaerfP8PKSH7+HKydH/0hbjRgb5z7BHSidRLWI8Xjg2f2x80afvpK6cGzhjlAXWzZuUMhux251rXC9byyqMgHNQR7JXZOpW3XdaJ3UVD3q246YOW2zCrkdCBYj6WIIcS3gL24DqlqPwcN021jZ3wlI7bSoLnUjCS+KoBA9cTt0P4OAQ== Authentication-Results-Original: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=seco.com; Received: from DB9PR03MB8847.eurprd03.prod.outlook.com (2603:10a6:10:3dd::13) by AM9PR03MB7899.eurprd03.prod.outlook.com (2603:10a6:20b:436::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6631.43; Mon, 31 Jul 2023 22:43:29 +0000 Received: from DB9PR03MB8847.eurprd03.prod.outlook.com ([fe80::65d7:d7d8:711b:2514]) by DB9PR03MB8847.eurprd03.prod.outlook.com ([fe80::65d7:d7d8:711b:2514%5]) with mapi id 15.20.6631.043; Mon, 31 Jul 2023 22:43:29 +0000 From: Sean Anderson To: Tom Rini , u-boot@lists.denx.de Cc: =?utf-8?q?Pali_Roh=C3=A1r?= , Stefan Roese , =?utf-8?q?Marek_Beh=C3=BAn?= , Simon Glass , Xavier Drudis Ferran , Heinrich Schuchardt , Marek Vasut , Sean Anderson , Nathan Barrett-Morrison Subject: [PATCH v5 11/11] spl: spi: Consolidate spi_load_image_os into spl_spi_load_image Date: Mon, 31 Jul 2023 18:43:03 -0400 Message-Id: <20230731224304.111081-12-sean.anderson@seco.com> X-Mailer: git-send-email 2.40.1 In-Reply-To: <20230731224304.111081-1-sean.anderson@seco.com> References: <20230731224304.111081-1-sean.anderson@seco.com> X-ClientProxiedBy: MN2PR15CA0013.namprd15.prod.outlook.com (2603:10b6:208:1b4::26) To DB9PR03MB8847.eurprd03.prod.outlook.com (2603:10a6:10:3dd::13) MIME-Version: 1.0 X-MS-TrafficTypeDiagnostic: DB9PR03MB8847:EE_|AM9PR03MB7899:EE_|VI1EUR05FT062:EE_|DB3PR0302MB8941:EE_ X-MS-Office365-Filtering-Correlation-Id: 14937077-aba8-4b59-8f7e-08db921795be X-TrendMicro-CAS-OUT-LOOP-IDENTIFIER: 656f966764b7fb185830381c646b41a1 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam-Untrusted: BCL:0; X-Microsoft-Antispam-Message-Info-Original: WHcaGI3QgcUMfi+/vMOiHTdx5AUeIfYgiU5gNrznn723Hc5ij79fVIDwbeRILm53pkgpjOyGT+SYvQysOCqXzBIl55gYJmaq00DACL+mI6FDKGu633C4uDy8hrWH97jf4dU2xxn/SKYXy7+lUSWBp+kDIVMlNvBDkmgN3pqVSS/+xOoA2Myu9V9lpXS3wvIBdK8mvLO76KrtSwsQqzHqVjtS/nPv3LebNAtJ+HU7WCgUcuwFQEOLFeS4jGv9Fe/MsYrc4bAli6LlSNG/GPt+gAd1tFBO/1hFnx5hZlrUZWqhXNvCO+kl9BUy207IFjrGwmgJv+zLJgb0AG0CXdrFLYIRcWbMqCfDLsdCiAF9JRG9g+Wip/hxQyaJcWWzyzFttCgHg00wmU73F2KjJ5anmK7JAG4vB/kKVvsf2gPR7R+KfqfkK5h8QUAlJkruMMeVt1PksHKbr2L4G0j9ivQCqjAafGqpg4mkQPFkk1uc//Om2S/qPHmKSXxyk9aVnieOtg1lINebKAwP1Nk5WsBLe6GmzBUT6Btfepn2Zx6X/GCJoXYJww0tBZ/jEN9a13N/y7ZU6vwKYBVhsU38eZy5bTqOScL5hNFb1fC69GRyL7xmoXTws8Rb4FPGhfm3eYLP X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DB9PR03MB8847.eurprd03.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230028)(39850400004)(376002)(396003)(136003)(366004)(346002)(451199021)(6512007)(6486002)(6666004)(52116002)(186003)(83380400001)(2616005)(36756003)(86362001)(38100700002)(38350700002)(26005)(1076003)(6506007)(5660300002)(4326008)(41300700001)(8936002)(8676002)(66946007)(66476007)(2906002)(7416002)(316002)(478600001)(54906003)(66556008)(44832011); DIR:OUT; SFP:1101; X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR03MB7899 X-EOPAttributedMessage: 0 X-MS-Exchange-Transport-CrossTenantHeadersStripped: VI1EUR05FT062.eop-eur05.prod.protection.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: f24c5652-b7da-4f03-d706-08db92178f3f X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: /7gGE6E0Xw2Z0ZdwYxqn8/3UdhfKy7QSQdXvUoFA7h3unBkvxs14REN7FNGMxf7yMWHjPmefNfvGECOpt8OUrMLRrqvNZLRpJnpVayQnkYcJkqRKmOdwI7qYhM8aOyIH105gdzCmL4RdChPJzJkMl4+b2GY7jCH+unYcbhimXde4lqRaSQzZYmiwZaYJekFTqTLb6605KmnRZyi0C50Oyz+vVNMFcqet1P4jO3EEtpXr9jK4JjM5TBla+uuCRqZdiy4ahH0SdDMiqder9n68vDJPrhB3ZMWInQVOLDN4416wdVUW857pOgrWHfchVVjUoZBi//BllbPQaxrkPfErWQLtd4h18QWu5REG9OC0XMEJMzr0HcNGH9YcyV1qbUnPuTx7PbG18mMG9HWK19dKZn5dHuGb7Pqm0Iy7Uua1R0bOXNQ1yWoeqpTCWAqXShtbC6vmzfp6K6+uEe7xz4Gf9QRKe2dirlcDxZvEuCeU6Fa8VSR+FTEunHG0Dpb/au7YUjixRc5v7QkXWmB5e1QEdnDyM9pq4d1QLIX9gJxZ6+/ibROaqdJyB1JPoEgQ3SxlzrcfcHK3sqZ8pDVlSatc44TWsnqlC3pwjereazPmYxTZA08ByrnwRGmLs0JXgD3tulS2wrXDlpjqfdRxgZcpxB/Q8ik10uyJgjZBMmht0LGB2XE8FT3o/tyk16Ks38aQvllFj3OgKPByIxaiN7xYybJ4wD39u1ddv293+VxY83KbtoxIpArNYF8gWhs9y9uV X-Forefront-Antispam-Report: CIP:20.160.56.83; CTRY:NL; LANG:en; SCL:1; SRV:; IPV:CAL; SFV:NSPM; H:inpost-eu.tmcas.trendmicro.com; PTR:inpost-eu.tmcas.trendmicro.com; CAT:NONE; SFS:(13230028)(346002)(396003)(376002)(136003)(39850400004)(82310400008)(451199021)(36840700001)(46966006)(44832011)(6512007)(47076005)(36860700001)(6486002)(36756003)(2616005)(40480700001)(6506007)(26005)(1076003)(83380400001)(336012)(186003)(70206006)(70586007)(7636003)(7416002)(54906003)(356005)(7596003)(82740400003)(41300700001)(86362001)(316002)(5660300002)(4326008)(8676002)(8936002)(2906002)(6666004)(34070700002)(478600001); DIR:OUT; SFP:1101; X-OriginatorOrg: seco.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 Jul 2023 22:43:39.6472 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 14937077-aba8-4b59-8f7e-08db921795be X-MS-Exchange-CrossTenant-Id: bebe97c3-6438-442e-ade3-ff17aa50e733 X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=bebe97c3-6438-442e-ade3-ff17aa50e733; Ip=[20.160.56.83]; Helo=[inpost-eu.tmcas.trendmicro.com] X-MS-Exchange-CrossTenant-AuthSource: VI1EUR05FT062.eop-eur05.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB3PR0302MB8941 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.39 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.103.8 at phobos.denx.de X-Virus-Status: Clean spi_load_image_os performs almost the same steps as the non-falcon-boot path of spl_spi_load_image. The load address is different, and it also loads a device tree, but that's it. Refactor the boot process so that they can both use the same load function. Signed-off-by: Sean Anderson --- Changes in v5: - Rework to load header in spl_load Changes in v2: - New common/spl/spl_spi.c | 47 ++++++++++---------------------------------- 1 file changed, 10 insertions(+), 37 deletions(-) diff --git a/common/spl/spl_spi.c b/common/spl/spl_spi.c index 14391a1c96..fe4d071593 100644 --- a/common/spl/spl_spi.c +++ b/common/spl/spl_spi.c @@ -18,41 +18,6 @@ #include #include -#if CONFIG_IS_ENABLED(OS_BOOT) -/* - * Load the kernel, check for a valid header we can parse, and if found load - * the kernel and then device tree. - */ -static int spi_load_image_os(struct spl_image_info *spl_image, - struct spl_boot_device *bootdev, - struct spi_flash *flash, - struct legacy_img_hdr *header) -{ - int err; - - /* Read for a header, parse or error out. */ - spi_flash_read(flash, CFG_SYS_SPI_KERNEL_OFFS, sizeof(*header), - (void *)header); - - if (image_get_magic(header) != IH_MAGIC) - return -1; - - err = spl_parse_image_header(spl_image, bootdev, header); - if (err) - return err; - - spi_flash_read(flash, CFG_SYS_SPI_KERNEL_OFFS, - spl_image->size, (void *)spl_image->load_addr); - - /* Read device tree. */ - spi_flash_read(flash, CFG_SYS_SPI_ARGS_OFFS, - CFG_SYS_SPI_ARGS_SIZE, - (void *)CONFIG_SYS_SPL_ARGS_ADDR); - - return 0; -} -#endif - static ulong spl_spi_fit_read(struct spl_load_info *load, ulong sector, ulong count, void *buf) { @@ -120,9 +85,17 @@ static int spl_spi_load_image(struct spl_image_info *spl_image, } #if CONFIG_IS_ENABLED(OS_BOOT) - if (!spl_start_uboot() && !spi_load_image_os(spl_image, bootdev, flash, header)) - return 0; + if (spl_start_uboot()) { + int err = spl_load(spl_image, bootdev, &load, 0, CFG_SYS_SPI_KERNEL_OFFS); + + if (!err) + /* Read device tree. */ + return spi_flash_read(flash, CFG_SYS_SPI_ARGS_OFFS, + CFG_SYS_SPI_ARGS_SIZE, + (void *)CONFIG_SYS_SPL_ARGS_ADDR); + } #endif + return spl_load(spl_image, bootdev, &load, 0, payload_offs); } /* Use priorty 1 so that boards can override this */