From patchwork Thu Dec 29 16:52:59 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sean Anderson X-Patchwork-Id: 1720125 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=fLO3PwvF; 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) server-digest SHA384) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4NjZGZ3rbdz23dV for ; Fri, 30 Dec 2022 03:53:42 +1100 (AEDT) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 70E4B85485; Thu, 29 Dec 2022 17:53:26 +0100 (CET) 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="fLO3PwvF"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id D6E2785516; Thu, 29 Dec 2022 17:53:20 +0100 (CET) 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,RCVD_IN_MSPIKE_H2,SPF_HELO_PASS, SPF_PASS autolearn=ham autolearn_force=no version=3.4.2 Received: from EUR05-DB8-obe.outbound.protection.outlook.com (mail-db8eur05on2048.outbound.protection.outlook.com [40.107.20.48]) (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 704B985499 for ; Thu, 29 Dec 2022 17:53:18 +0100 (CET) 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 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=dZRSx2Fm039S5dqFlrEJ2i5yawjVaxwbC9Pa2KRGkm6cZdGloaYM7OKPjy9/Rv6L0EjSFtB6zMmkXUBYatGFduDvOd4MvVCWWKt8yp34+yjKelG1j8F/DNWjTP90LVphIEce6TKsay4uyRSLT+gxNWYBwFk0eSKjPUBX9rlhLXK642zcM0/+BI9jqx7oIDN8tTK6iEaxVAJaRKed0TN5SfNf15iO8ZqHeGomOoHVvIUT/PJspIubJ+tyA/ISqV8YElKxQLBbCqqYPF/XIsnqpDB6rvbpMC2dRkXThLunSib3W6OxJdRWT4jcxU/RhVRn2PMzenvcTKfTNv+CpM3n0w== 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=/zuwzupkHYlg0oKHwPnY1dVEajwNPH7dA7pABFl9lYc=; b=cT0E+yHMVkUEjdbH1/315HOEj7TDl4VffVhxncRnqX8W/A+nN6j6uAttvmySrbFVVQ+upN8li7fVoNe51ML1qOh4066b7lDdSfW8H1Lrla9qopMyeTLcW+dx2TgOt81WPQ5oQw+27B0P6lgT+j4TsWOT/hPR1GkPMXslOataNB9lTIEW5aTiknzDQHcUioSgxoC0gbEGCKMYRdLF3MCOcqLDBFxC70D5t9sVIBIw46ut/EWuRYiq/Fa5sLqpqILA5YJEXo/gvgBFh5FaNOiidU6FhxyeoKIaelRG6LD2/FjE+861eXPwwgO2zztSJ+aAzv95A42CLHJHLHppnC1vfQ== 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=/zuwzupkHYlg0oKHwPnY1dVEajwNPH7dA7pABFl9lYc=; b=fLO3PwvF46R29/bFbTguUtE7xIA/bEirz1s1UWerPqrI6OJbU6y6kCkqq6V+M5CZadKAVUDP5lIeaPNWol7dwYnL0PodOxIzniB8eidKvjMRH546cF1bedQtH5hSHQQhf7m50MgY8V7vBkHO+V8PUmNFY0wyS9QfyUw1uc8Tk7GXHN6X7Wx5doB7JUNJay/UU46QNcSiIVUPmV3me6zTXrucZujsrl0sSRTuTouCL4HYglfkKOS0d6R/ylhD5cGD56tJeULy3F/xKwz091UyOrZiPvw9xhvy8P1dJxPCxrfa3YxaL9IA9LTE4/wnZGA5JTPEqAgkgKID/4v3sxw/0g== Authentication-Results: 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 VI1PR03MB9966.eurprd03.prod.outlook.com (2603:10a6:800:1ca::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5944.16; Thu, 29 Dec 2022 16:53:17 +0000 Received: from DB9PR03MB8847.eurprd03.prod.outlook.com ([fe80::2b95:1fe4:5d8f:22fb]) by DB9PR03MB8847.eurprd03.prod.outlook.com ([fe80::2b95:1fe4:5d8f:22fb%8]) with mapi id 15.20.5944.016; Thu, 29 Dec 2022 16:53:17 +0000 From: Sean Anderson To: u-boot@lists.denx.de, Joe Hershberger , Ramon Fried Cc: York Sun , Priyanka Jain , Sean Anderson , Simon Glass , Michal Simek , Patrick Delaunay Subject: [PATCH v3 1/3] misc: fs_loader: Add function to get the chosen loader Date: Thu, 29 Dec 2022 11:52:59 -0500 Message-Id: <20221229165301.2621563-2-sean.anderson@seco.com> X-Mailer: git-send-email 2.35.1.1320.gc452695387.dirty In-Reply-To: <20221229165301.2621563-1-sean.anderson@seco.com> References: <20221229165301.2621563-1-sean.anderson@seco.com> X-ClientProxiedBy: BL0PR0102CA0018.prod.exchangelabs.com (2603:10b6:207:18::31) To DB9PR03MB8847.eurprd03.prod.outlook.com (2603:10a6:10:3dd::13) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DB9PR03MB8847:EE_|VI1PR03MB9966:EE_ X-MS-Office365-Filtering-Correlation-Id: 7d7d4ca3-e200-4b80-6ee8-08dae9bd2ec0 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: WJ/it3updJwySdfrAV9jfYIF7t++a0K4DlONEpNEQygHipuuthrsFBiF4wO++J7AYeFbuSMZn5FyxCHtYrDbjo3moAghXMs9uAM4i1qdVL8UmuEaoE0DQQtT3136kWfKRsAwJPwHtgRUHDiZ9enyaDwAGEEzMaJVwresCEHtqrV/LcRTrUwh+QFtOd9yEF44V963zMbNpU38+7rWdsWIHZxpIgUsMUigm3BXqQ7m7i1JR7/JQ44Ce1hP2n0LQhBtvoY5stUWJPdUYMiUVRS2wxuqjM3WNrSUjMWVxOA8uH1eCZdSCkoPMJ88Jik662ml1BDQVGwb3rWgd4QOyuMMFhB7j/TXaUk7khJ1ngY/02ukv243GANlf0ClmlwE/grTjN+ZA+B+6CWl8ppWL5pVHPOkN3LNbpoUe0hSilabWISkweEbcC7fCnb6+B8ZJfK3DXwPCWbESv7BRndKQeMxwxt9Yu53Mdy7Jxv5+y6X9gdKoBMB+DQjpt0eRYuYRP+suXE/2CuHpFa/kcmIpnqGCFFtWsYjIt67vvb74mSCIa6Mb0EX+5/rZ16VzkoUofP7b9r/8Zj3L8OmnoDkG2utkQd9mOoIao08RLZD1xKXxhNxFaTdH8L736xO8AcyIBFAkW/NfItn6Cqs/k1/yrLSGS4QpXfFNnsIjyOs/erK+mixVRZ+fB4pjkSoK8ra4NryRusTOji8uvBumN79bT59fI29jYv+MfXOFZxXKoYf/RE= X-Forefront-Antispam-Report: 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:(13230022)(396003)(376002)(136003)(346002)(366004)(39840400004)(451199015)(41300700001)(8936002)(38350700002)(4326008)(8676002)(5660300002)(44832011)(2906002)(316002)(66476007)(110136005)(66946007)(66556008)(54906003)(86362001)(83380400001)(38100700002)(186003)(1076003)(6512007)(26005)(2616005)(52116002)(6666004)(36756003)(6506007)(6486002)(478600001)(15583001); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: 70ejZx4XU6gVvPo+mvvTjqjms1TmLE0Mjd3BqiuO004Z3Jy98fsmBYMx9qqd+joPlFp5T+BiV8L6+V41mjl1JBwIu1vO9rSUiuPWKjoolTc9k5lDy/htTG+4+1q+6F1c0amIfNG1pduQQNBOp8DidQEyGFzG0DqpZyliYQ8GfsGcxZaRSiOsisECtmdvxegw9kMPgBTfgR1KZI1qUaRYnjbsk1vDPlwIn6VKixH37Uhro9dsbLBVCayTgXyiIYoHpwrlmb4rLVsQnjZ/n+T1adh9t/6mMlyeFH8GZ203GxgJtGQ1flzxxyxIO1NvGmI1dO+sppfSFZDCU6E9f7nRvBb3QOQmMCv3gyJPEtwrh3+bekvcvjNF71S9v37Rh7knBSN7qDdqxzap44Q1JmbN7fwvBMurYvZCIyIS6R5EuzKnUe9SS0SKIr/rs8MREHGUvV8iUXBUYY7/ZV7J6q+I2Kgu9I+/Z8T2MVm5wOzAbYdhdFovHyVUNRAbmMl1S4AIkIeYwKAtjYBWDK+igm3jEI7USnkDAMzfBeFyiR04vqGc99/fdh3EO45Kz5OSoH/o+wHsR/PY/vu2JyTHTwHColxB8E0/gE4C88Ak5QtS6BMTit7RSZNd8kvHX2i0M2c258d58mOOWIXxjCBMl7kYhs19Uvw6RyVi+Hrh3HB5rWCNRo6Y578xqWQ4pDkrO5wnX1yY0FopDYUfKDB34+7ymVi1gri7VBv714/I31M+BsDYfWbwglq2IchK/PgPFDXnXgYdO2UtwkXYpYcNiN7AkGmpVPQazQb2nQFCkmBZClk13zbNrIYnQPz2k6Pv3hL33YdSMY9WwuG8jX78n1UbChXkXNQOBZ2BfVn67CxTXnklED0XlwjEUEwOp1lK0S8EJeo0c+0QMm9xSh3UzATjdLsu2jmDQfi6500k6bkR0chNOcIYLzybYzjKqcS7df0JEyreEuKoT4PPiBEpOaAUlMQpTN2mv0AFNCEgARa+3b4v2k060toWRvVm3gDODoSd4aHl3lIMfKYpKjNRJE+WCHOQ3cinTv2YleIQ1jCYCSqtSrSXQLefJ5COlgbmklN5IBQvlb6RVSAfoltRK8hzaMPFzL4opKeoHWua8TYv+qGOG6oPA2/bUhnSjo1+l2O3xLk2KYs0Bs5pY8aUsFrj7djdaJRc9JIXFBSSyQekXm7Bg75vLZs//siS79q4rjbuA6MZv7WwCpp9sTlrkSqbIz77AKP/6SGw7Il7TxY3v8wpLkrZtGXvorXrUh4BVhxm2dZqD2DwOadQqwclvtyNe6NKC0PGDaNqLEuT44v5Bdl36TzNMzxsK+uf/RiyhMdDSBcHLz/JddZ/43OY0VxuI9OcVEsTpujO2fEB9yVIkWNyseohnJ4GO0ApdoZu2I2oLIwB4Am+Mg69lD7lS7jHnNtpanSaHWU9axbHt1nl6fRR6NCUY17aMRlnnOBpfX/y8iToEthweUV/Z9CTEVzuMPXnja+nSJLqLxgLG7yj5vyHas2r/jrZGhasHOSntwXDdMlP+eIZK58oc+Tzilk1xpeM4CsGgfy9NaPna+OJfOhttyPRoHFwCdvkhpCpaFLhw+fegF5V73lBU5r0T2hOeA== X-OriginatorOrg: seco.com X-MS-Exchange-CrossTenant-Network-Message-Id: 7d7d4ca3-e200-4b80-6ee8-08dae9bd2ec0 X-MS-Exchange-CrossTenant-AuthSource: DB9PR03MB8847.eurprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Dec 2022 16:53:16.9894 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: bebe97c3-6438-442e-ade3-ff17aa50e733 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: y3odGJJ8TvkzqYRFMTB4yS9+Xn1j4SSQ9IpkyJY6BL+nsESjYQUS+w6XmtCJMhh/6eG9oL3uDnyeOGP7xr6y/A== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR03MB9966 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.6 at phobos.denx.de X-Virus-Status: Clean The fs_loader device is used to pull in settings via the chosen node. However, there was no library function for this, so arria10 was doing it explicitly. This function subsumes that, and uses ofnode_get_chosen_node instead of navigating the device tree directly. Because fs_loader pulls its config from the environment by default, it's fine to create a device with nothing backing it at all. Doing this allows enabling CONFIG_FS_LOADER without needing to modify the device tree. Signed-off-by: Sean Anderson Reviewed-by: Simon Glass Reviewed-by: Ramon Fried --- (no changes since v1) arch/arm/mach-k3/common.c | 2 +- arch/arm/mach-omap2/boot-common.c | 2 +- drivers/fpga/socfpga_arria10.c | 24 ++---------------------- drivers/misc/fs_loader.c | 27 +++++++++++++++++++++++++++ include/fs_loader.h | 12 ++++++++++++ 5 files changed, 43 insertions(+), 24 deletions(-) diff --git a/arch/arm/mach-k3/common.c b/arch/arm/mach-k3/common.c index d5e1f8e2e7..a2adb791f6 100644 --- a/arch/arm/mach-k3/common.c +++ b/arch/arm/mach-k3/common.c @@ -181,7 +181,7 @@ int load_firmware(char *name_fw, char *name_loadaddr, u32 *loadaddr) if (!*loadaddr) return 0; - if (!uclass_get_device(UCLASS_FS_FIRMWARE_LOADER, 0, &fsdev)) { + if (!get_fs_loader(&fsdev)) { size = request_firmware_into_buf(fsdev, name, (void *)*loadaddr, 0, 0); } diff --git a/arch/arm/mach-omap2/boot-common.c b/arch/arm/mach-omap2/boot-common.c index d104f23b3e..9a342a1bf9 100644 --- a/arch/arm/mach-omap2/boot-common.c +++ b/arch/arm/mach-omap2/boot-common.c @@ -214,7 +214,7 @@ int load_firmware(char *name_fw, u32 *loadaddr) if (!*loadaddr) return 0; - if (!uclass_get_device(UCLASS_FS_FIRMWARE_LOADER, 0, &fsdev)) { + if (!get_fs_loader(&fsdev)) { size = request_firmware_into_buf(fsdev, name_fw, (void *)*loadaddr, 0, 0); } diff --git a/drivers/fpga/socfpga_arria10.c b/drivers/fpga/socfpga_arria10.c index 3b785e67d0..b69107aa33 100644 --- a/drivers/fpga/socfpga_arria10.c +++ b/drivers/fpga/socfpga_arria10.c @@ -787,32 +787,12 @@ int socfpga_loadfs(fpga_fs_info *fpga_fsinfo, const void *buf, size_t bsize, u32 phandle; node = get_fpga_mgr_ofnode(ofnode_null()); - - if (ofnode_valid(node)) { - phandle_p = ofnode_get_property(node, "firmware-loader", &size); - if (!phandle_p) { - node = ofnode_path("/chosen"); - if (!ofnode_valid(node)) { - debug("FPGA: /chosen node was not found.\n"); - return -ENOENT; - } - - phandle_p = ofnode_get_property(node, "firmware-loader", - &size); - if (!phandle_p) { - debug("FPGA: firmware-loader property was not"); - debug(" found.\n"); - return -ENOENT; - } - } - } else { + if (!ofnode_valid(node)) { debug("FPGA: FPGA manager node was not found.\n"); return -ENOENT; } - phandle = fdt32_to_cpu(*phandle_p); - ret = uclass_get_device_by_phandle_id(UCLASS_FS_FIRMWARE_LOADER, - phandle, &dev); + ret = get_fs_loader(&dev); if (ret) return ret; diff --git a/drivers/misc/fs_loader.c b/drivers/misc/fs_loader.c index 5b4d03639c..ccf5c7a803 100644 --- a/drivers/misc/fs_loader.c +++ b/drivers/misc/fs_loader.c @@ -15,6 +15,8 @@ #include #include #include +#include +#include #include #include #include @@ -297,6 +299,31 @@ U_BOOT_DRIVER(fs_loader) = { .priv_auto = sizeof(struct firmware), }; +static struct device_plat default_plat = { 0 }; + +int get_fs_loader(struct udevice **dev) +{ + int ret; + ofnode node = ofnode_get_chosen_node("firmware-loader"); + + if (ofnode_valid(node)) + return uclass_get_device_by_ofnode(UCLASS_FS_FIRMWARE_LOADER, + node, dev); + + /* Try the first device if none was chosen */ + ret = uclass_first_device_err(UCLASS_FS_FIRMWARE_LOADER, dev); + if (ret != -ENODEV) + return ret; + + /* Just create a new device */ + ret = device_bind(dm_root(), DM_DRIVER_GET(fs_loader), "default-loader", + &default_plat, ofnode_null(), dev); + if (ret) + return ret; + + return device_probe(*dev); +} + UCLASS_DRIVER(fs_loader) = { .id = UCLASS_FS_FIRMWARE_LOADER, .name = "fs-loader", diff --git a/include/fs_loader.h b/include/fs_loader.h index 8de7cb18dc..5eb5b7ab4a 100644 --- a/include/fs_loader.h +++ b/include/fs_loader.h @@ -52,4 +52,16 @@ struct device_plat { int request_firmware_into_buf(struct udevice *dev, const char *name, void *buf, size_t size, u32 offset); + +/** + * get_fs_loader() - Get the chosen filesystem loader + * @dev: Where to store the device + * + * This gets a filesystem loader device based on the value of + * /chosen/firmware-loader. If no such property exists, it returns a + * firmware loader which is configured by environmental variables. + * + * Return: 0 on success, negative value on error + */ +int get_fs_loader(struct udevice **dev); #endif From patchwork Thu Dec 29 16:53:00 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sean Anderson X-Patchwork-Id: 1720126 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=mKKDbakK; 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 4NjZGl59J1z23dV for ; Fri, 30 Dec 2022 03:53:51 +1100 (AEDT) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 3029985528; Thu, 29 Dec 2022 17:53:28 +0100 (CET) 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="mKKDbakK"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 950DB85519; Thu, 29 Dec 2022 17:53:22 +0100 (CET) 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,RCVD_IN_MSPIKE_H2,SPF_HELO_PASS, SPF_PASS autolearn=ham autolearn_force=no version=3.4.2 Received: from EUR05-DB8-obe.outbound.protection.outlook.com (mail-db8eur05on2045.outbound.protection.outlook.com [40.107.20.45]) (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 2CDD5854EC for ; Thu, 29 Dec 2022 17:53:19 +0100 (CET) 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 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=ANvMx86u78hdAYaeaDgjn5fwnP2F5P5g2QoxVy45aKOWTe80ksPGlJDWUq0AEMQpEF90k8B6ns9Lt0g2klKqj4xbPxrke6iFxsIymAW66crghU2/KclsV0U5wcqqXqesSykvSdEIRfAy5NHyDXXslm26eD3sJgyjbXtAhxTdG/RPczbwyy39bCaLbcQ7FN+I/8Q8n7xotsRAUq6nxnLr+JClry0YJqKhA1aAODb788l0U83/POWKBcxv1UTD/u+4z2pSMgDeBahKg3UQ55mu/wgybRhReZehB76M0sfsOwhlMYqjwbeLBQVBc8xR1TZvXeNSVyHtwIdcWDSx1TTlBQ== 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=sbUGuDBMUv99xAVEcjgBSSS2bA3Z9ha+dScawd3jAm0=; b=S29DrXQ9vDZ9dyf1fm1XdTgqHsIrtbHrIL6BNWD+uETBbEt1xBGHpgMjIpfz67k+kJIdZH4z5crHSUknKr/v+79pKLawxms/bJf9qYUxx8KHFtYOf2ASVGcL/iLMKIvjG5r2OsY1j84ERHrtLRr8l66cLq7G5L/N9SaxFwk4G44s5alNe+RXL2jhhpepExfBbnBKgshfc/K6/yjmCHK+zwC5z6hQlof2EcQh4eWFC5OE1ly3ssrQMMlUJeAqN9HsCW/vUUM49EeBg3B5HQygW/XPM+j7zp3IHsoGw2foIru40Ybu2cGomiwGb5inOjAaYnGL1E56U8JJKgruTPUFTQ== 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=sbUGuDBMUv99xAVEcjgBSSS2bA3Z9ha+dScawd3jAm0=; b=mKKDbakKjxeyneoq3KMSArXouJnpMNH5dScwmP1M4/NkeNuVuv+rAXhHQMt8T8Ix82FtxH46iZedKErskMtaJa2CZMXrwvxJZ9pRuqWQyDhvNZvTjYzFp71zo8A0G+dZabR24ereff882b7pEklyy4DtKT6kDscBmC5ANXbGQFo269XmOxjG/A/LPVNxHftCdnpH13GKwU+UyHyd2DqENun4+RSqGJefbivFDTRlL7wauS/4/MBVOm+knBFP0r4Sb8888NSzmf5/smIR3jMtTAlufoJGONZKGrQVqyPd51b1UnPReSdyNlH/FsD67Il5JxZSal+f77wlBmvZad39uQ== Authentication-Results: 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 VI1PR03MB9966.eurprd03.prod.outlook.com (2603:10a6:800:1ca::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5944.16; Thu, 29 Dec 2022 16:53:18 +0000 Received: from DB9PR03MB8847.eurprd03.prod.outlook.com ([fe80::2b95:1fe4:5d8f:22fb]) by DB9PR03MB8847.eurprd03.prod.outlook.com ([fe80::2b95:1fe4:5d8f:22fb%8]) with mapi id 15.20.5944.016; Thu, 29 Dec 2022 16:53:18 +0000 From: Sean Anderson To: u-boot@lists.denx.de, Joe Hershberger , Ramon Fried Cc: York Sun , Priyanka Jain , Sean Anderson Subject: [PATCH v3 2/3] net: fm: Add firmware name parameter Date: Thu, 29 Dec 2022 11:53:00 -0500 Message-Id: <20221229165301.2621563-3-sean.anderson@seco.com> X-Mailer: git-send-email 2.35.1.1320.gc452695387.dirty In-Reply-To: <20221229165301.2621563-1-sean.anderson@seco.com> References: <20221229165301.2621563-1-sean.anderson@seco.com> X-ClientProxiedBy: BL0PR0102CA0018.prod.exchangelabs.com (2603:10b6:207:18::31) To DB9PR03MB8847.eurprd03.prod.outlook.com (2603:10a6:10:3dd::13) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DB9PR03MB8847:EE_|VI1PR03MB9966:EE_ X-MS-Office365-Filtering-Correlation-Id: 6d0119e7-b176-42e2-c222-08dae9bd2f5d X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: n2Vk2RHM3XRFdRh5acQ5R70fZnSFJbSQAkVMxAz7BCraHt3Hv+Y//kM3hOwBi2WoY6Yu7nVQVT2RqnT6eh+W+D9UU5vRMHoUlgigVGAyUdhRWDczqxnJRmWO5EeL0WnMuPxCpMb1OlRepC5uCLmadX9e+XGo1D/Tz5OXZ9M/4RQpivYnG+C9Nu7T7PBDM+YwUKwa+stFhqJ5KmQxmvberhPSE1ObSKJ2MbGpXmcf8gFcxqr0aqBUfROuAVizorshJ+fH469Hahs6kzbG2+/v5Fx4qOsIDlHGgfyMeUt3Fm3A5PB/K3HvRx9dCS/cKkEvwlZbtnzhTWPYm0ajXIiO/oJwlQbWNDMhXYV+e9HXXLERFPx21KG4IaqtfR/ksi3tfQmgjxhEPIrU3hefgHBb6+DcxIW3Ve+fwrD0+VfnfOYMHwC/YqXjx6qVcoD/9QkFztaaFT66+p9nc0aqsEnEn8lw7h0A+H6fueEtly3HCvmLGUWPVDey8ufYSHcdYEOFASyFaX76cUGGcNu7ZyeSJsrD1POgm2aQGE7IoZExO2b0HXbrOj1Pd9R3s22tjN50d3P5fW0jwyvJv6xzWzCEbDwNGhTaBRMaiwgaiwSyw99Bgx67OcLL6h3PdIui7bhIuE1mM7pJLEpvYqyFRsTdMdVvGDgT8bXI1S5/X7d27hEA9ELpd7Apj9Qo7b6lP0ygmLxOk+06SzQy/pMGioS/ZA== X-Forefront-Antispam-Report: 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:(13230022)(396003)(376002)(136003)(346002)(366004)(39840400004)(451199015)(41300700001)(8936002)(38350700002)(4326008)(8676002)(5660300002)(44832011)(2906002)(316002)(66476007)(110136005)(66946007)(66556008)(54906003)(86362001)(83380400001)(38100700002)(186003)(1076003)(6512007)(26005)(2616005)(52116002)(6666004)(36756003)(107886003)(6506007)(6486002)(478600001); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: u8M5SG1ECpH9zRyPFMQ/hsB4yvKg3eHOXHrLN5uk+V7kRlXc+vRH9NCVl0n3WPWEUUQR5u4JizCtv8Ck0VCZ//gkAjkp5cXdcASB8XPIjNr10JoVz73+EDpt14C6anevYgscprCC9UwzdsOQlS+TW+cJF8xi84x8/+mBLTkkkwaqWNkZWJZ7DmbVGEhExFNjNulFEysMArnaAppjQfSq+cR2Sm/IocWben/NxMStlFwuCPCsTnWXjxXByl3fcJsp1zHQDZVzi7xMcUqig+EVSvHHBRdze+biuI5cjLLsa3s96mNLtVoUm6RrgYdAu8jSXQlT8FlSEr2ryB0VjT8HpasL1XGef8cxTzuYW5jJxn9T6RN4gzL5DjISn4qrQv72RsCz1C/IMkOcs9KMcmJGy39CseKyUbuZK0ISypO7/MbeCJQftl5dmX1v91o+SdDkb3BsMGjoR2jLC2z6Yib55UOpF2II6/keUqTqQEADTihG9BbEFoYighif8+xWb6XCHodxxpbP0/4r2hQ8M8KW1JFuVY8CWTlDNbRq+yCPyKe6FvOBFPhBrU096AobYL7h8P4WA20BpKjAMiwr/biN9PzNyluMaoFFU4lQaCneyAg2r1dZDR1zaaZmd1URef9tED3NXGjjmSknUmXU0LG6X5FdvzY/eD2g1vxg9wjVs2GMr5l6Odpnz7WIVvAqkgIDm9CXVH0Oou0zLc3by9ZbFPGTDgDbDRmJFIr8NE/XW4o8mBOI2XYPtkla504HbBn1ZHZ1Abq7U0TUzyk91mTHzfBY5af468il61WOP5ySfF/UgCtK0lYMUbaGlDVO6oAJMpPnnIbE3zvjFBbEGaX0gIkiP5ZlGDV0VvbmA5SEt29pPX1gYOS7+7qr3+uy5HZ9Fa7joiyBgI7nak6BXZy0lWK6cnqIqSfTahwdWbyd+1FE20EonmwfuiR3nxlEeW6QdNLSunmtsjM9WgOdzJWppSZWrnDIL2bFYv1vav57TMXJb/mla20/NImQwb0KVwXAjBhCWI8qbiIGw77XZbS5miX1TxenDd1i7YHak9xzB+VaWh2Ffv4ckcDyg8Ef16kCiTMTHc/OjyWeqqJeoq+SP26s7H4uVPmyrkNPHLiCeRD/DEobW63P8QrxZSaXCUmIntGpVqYa+ylMurzl565XX/Lz/ikPSdcCuddrbzs7yE5fRyfTeAoUuIhTGl1wMvA4SjYNLTjcsMOUarPVXBuOIxneaakUJwzgPEVSW6Jq+Gr0hUR0C9b+cN9vZffGzbtWKW1yb7K0YbSm6qlRdkRD0CvfI6Oo/E/+8PU6LdnEVO3vwBf/5LLezO8lbHXMTUtM8AyYnRtUpNVVi6mW4YH2MwSBMrQKxhvmUnfjdxH0AjGBNZzugBDS69gT7inoTJ6V31AjqL0PWsNrzU9e1GsZnENrMigd59h7ZEr2iEhZkiiMOlglFyeVr008XW2sR3sZLsp9rFsxhoGHfqqgEfZGXd8jvqxi86f7k3xNaIL2wBUfHiXgJYhI/uYvg5N+sSFK1b7fxfrHHQZ3vFb0VCwBu0o3H+WptSJU4Adj6XF63/Vei+jhCWvVOALe5jcYicYOoxZpm5raKXM7eMV0Ab6vOg== X-OriginatorOrg: seco.com X-MS-Exchange-CrossTenant-Network-Message-Id: 6d0119e7-b176-42e2-c222-08dae9bd2f5d X-MS-Exchange-CrossTenant-AuthSource: DB9PR03MB8847.eurprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Dec 2022 16:53:17.9892 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: bebe97c3-6438-442e-ade3-ff17aa50e733 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: wv9cQerOrzxVajNPjR/6tsDzKYFAkJ/UkikZqYvhUiwcSY3TOnHbP1iaHfvmiLtztgI8tGmJDhTvnPJ5LbQaNA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR03MB9966 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.6 at phobos.denx.de X-Virus-Status: Clean In order to read the firmware from the filesystem, we need a file name. Read the firmware name from the device tree, using the firmware-name property. This property is commonly used in Linux to determine the correct name to use (and can be seen in several device trees in U-Boot). Signed-off-by: Sean Anderson Reviewed-by: Ramon Fried --- (no changes since v1) drivers/net/fm/fm.c | 15 ++++++++++++--- drivers/net/fm/fm.h | 2 +- 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/drivers/net/fm/fm.c b/drivers/net/fm/fm.c index 055dd61fbe..457200e766 100644 --- a/drivers/net/fm/fm.c +++ b/drivers/net/fm/fm.c @@ -8,6 +8,7 @@ #include #include #include +#include #include #include #include @@ -353,7 +354,7 @@ static void fm_init_qmi(struct fm_qmi_common *qmi) /* Init common part of FM, index is fm num# like fm as above */ #ifdef CONFIG_TFABOOT -int fm_init_common(int index, struct ccsr_fman *reg) +int fm_init_common(int index, struct ccsr_fman *reg, const char *firmware_name) { int rc; void *addr = NULL; @@ -448,7 +449,7 @@ int fm_init_common(int index, struct ccsr_fman *reg) return fm_init_bmi(index, ®->fm_bmi_common); } #else -int fm_init_common(int index, struct ccsr_fman *reg) +int fm_init_common(int index, struct ccsr_fman *reg, const char *firmware_name) { int rc; #if defined(CONFIG_SYS_QE_FMAN_FW_IN_NOR) @@ -561,6 +562,8 @@ static const struct udevice_id fman_ids[] = { static int fman_probe(struct udevice *dev) { + const char *firmware_name = NULL; + int ret; struct fman_priv *priv = dev_get_priv(dev); priv->reg = (struct ccsr_fman *)(uintptr_t)dev_read_addr(dev); @@ -570,7 +573,13 @@ static int fman_probe(struct udevice *dev) return -EINVAL; } - return fm_init_common(priv->fman_id, priv->reg); + ret = dev_read_string_index(dev, "firmware-name", 0, &firmware_name); + if (ret && ret != -EINVAL) { + dev_dbg(dev, "Could not read firmware-name\n"); + return ret; + } + + return fm_init_common(priv->fman_id, priv->reg, firmware_name); } static int fman_remove(struct udevice *dev) diff --git a/drivers/net/fm/fm.h b/drivers/net/fm/fm.h index ba858cc24b..a2d5b03429 100644 --- a/drivers/net/fm/fm.h +++ b/drivers/net/fm/fm.h @@ -106,7 +106,7 @@ struct fm_port_global_pram { void *fm_muram_alloc(int fm_idx, size_t size, ulong align); void *fm_muram_base(int fm_idx); -int fm_init_common(int index, struct ccsr_fman *reg); +int fm_init_common(int index, struct ccsr_fman *reg, const char *firmware_name); int fm_eth_initialize(struct ccsr_fman *reg, struct fm_eth_info *info); phy_interface_t fman_port_enet_if(enum fm_port port); void fman_disable_port(enum fm_port port); From patchwork Thu Dec 29 16:53:01 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sean Anderson X-Patchwork-Id: 1720127 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=1kFXFWmu; 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 4NjZH25W7lz23dV for ; Fri, 30 Dec 2022 03:54:06 +1100 (AEDT) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id B558485533; Thu, 29 Dec 2022 17:53:29 +0100 (CET) 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="1kFXFWmu"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id D1CFE854EC; Thu, 29 Dec 2022 17:53:22 +0100 (CET) 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,RCVD_IN_MSPIKE_H2,SPF_HELO_PASS, SPF_PASS autolearn=ham autolearn_force=no version=3.4.2 Received: from EUR05-DB8-obe.outbound.protection.outlook.com (mail-db8eur05on2059.outbound.protection.outlook.com [40.107.20.59]) (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 4A4FB8546E for ; Thu, 29 Dec 2022 17:53:20 +0100 (CET) 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 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=TH8tCW4TenI/aa7deIfcj97m3ajLP0cqylFE32SljMFhbusUQVIjkabWsB/zf2F8RNkUADZry0JHPNaXI3WTVgEUJj+/MsnbmdxUc3kk+ihl3JNOvCRkzEudwObPjt8lSMwZC0+r47rx4E7Iq+V2znfckr4z3D172Q1bJsnnZXgGVmsbSuBoA//zwj3JqDT1dCN3KqeJvg9xuiVzB2mdOEd9NLPAwYNQ0w4QPouM3WYySAxfJWLUQ4f/cq0RUDZVql2AG6mB4KNYibaJqcc2ZorTRQW0raAQqWZeYAkZ6g+Nivwg3KUy8f8mU/aeIzBXujgD8qANAyICMuhN2XiWuQ== 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=AL0/IbcOjF1HCzVRMgYuMbWEoMQp23Ux4RRhAZVTWLc=; b=DWDeV9wa/Vq6OIk8wNdCCniF5wEn6H0xEKaWJi80r8hmH1BJpXCrKtnJIxqI3LlA4Wn8zp6jWBGYmkmmScEffYfOugCUJCqxXyfQ6XzT3Bym0SiblG+2HcNN/4obrURxGh6sXsPESCc+A4eBy+R1CXBSJcZf7X2ay7/hS02Uw83ArWKpUx8Y9J/s9xENOQYkuyfwdlZQbUndwzPEsFYWjxQE85/rJkRfyQ/u6N+yy4S9hlHy79tDAGyYq+bpno5U1kckz2h4OLxa0botp+OsFZncHvE0kpzGPFlrbjE5lDXLNl39opX28f1Ebel+gObKdHZ7Yg7GxCKgxZb74NGP/g== 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=AL0/IbcOjF1HCzVRMgYuMbWEoMQp23Ux4RRhAZVTWLc=; b=1kFXFWmupgKBXopbohfjw9s9eR/tTYgkf4WYGqAYH1RoT9BBHzKkiu2vI4x7h4VrRxnt0ySEFIPL7A0u2+bp01OFPI50/0WTc7V+Rc7aq6yzZXxviZAtPKmSXBWUf17rcGzBSelHp9mdix/hGf3JPaIIWOFaAgz1j0Pj/60LmjnyRDusvzayLDu9sj2szED8Mf59yVKrNBd8Zh0B9X2t9JiXdd9bSWAJ8h3KIi5n/D9MM8UAGGvpZspHcbsA/yIwmUxco7Z760NDi5QLoB4aKwt2x4SA21aARc0WM7FQpakmy9ARcaoSoBih6I0O3psFVh1gFtQhUTKmqxCpAETlvw== Authentication-Results: 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 VI1PR03MB9966.eurprd03.prod.outlook.com (2603:10a6:800:1ca::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5944.16; Thu, 29 Dec 2022 16:53:19 +0000 Received: from DB9PR03MB8847.eurprd03.prod.outlook.com ([fe80::2b95:1fe4:5d8f:22fb]) by DB9PR03MB8847.eurprd03.prod.outlook.com ([fe80::2b95:1fe4:5d8f:22fb%8]) with mapi id 15.20.5944.016; Thu, 29 Dec 2022 16:53:19 +0000 From: Sean Anderson To: u-boot@lists.denx.de, Joe Hershberger , Ramon Fried Cc: York Sun , Priyanka Jain , Sean Anderson Subject: [PATCH v3 3/3] net: fm: Support loading firmware from a filesystem Date: Thu, 29 Dec 2022 11:53:01 -0500 Message-Id: <20221229165301.2621563-4-sean.anderson@seco.com> X-Mailer: git-send-email 2.35.1.1320.gc452695387.dirty In-Reply-To: <20221229165301.2621563-1-sean.anderson@seco.com> References: <20221229165301.2621563-1-sean.anderson@seco.com> X-ClientProxiedBy: BL0PR0102CA0018.prod.exchangelabs.com (2603:10b6:207:18::31) To DB9PR03MB8847.eurprd03.prod.outlook.com (2603:10a6:10:3dd::13) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DB9PR03MB8847:EE_|VI1PR03MB9966:EE_ X-MS-Office365-Filtering-Correlation-Id: 5aeb4774-5e29-4ecf-ed0c-08dae9bd2ffa X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: pIQj1JxwB+QX84679HiUX8tojMbM9Tl+fJM+GBLLS9sn1CLHB9iMHaPAILriH45nBHc5Ps8I2MpAY24+g4AMNBEt6yPmylUO2NkvENhs4xuZ/9EqsN3ug4GUkLw/MtwE5BBHoFjMHPEG5j7ft1y6cBuXn+m7iSuBKpvg6Wli5yji6mBNvCprkYHjo1LOfofSAPsbIMOzXbDtvFmDFqMMfNAhcOmxJ+Q2HSzG+n7wVTmO9YyzrFg5KtX+P0lmf6TCavpgDPoMLGgVS9p17kVUHXhDchTsbT85hqUtg351Z/SQmIS71MtNAkdkGr/FoX3EAqzfV0YjYggF13mFM/U8XJ/PjUqspfa4HjfuW+BwZdUa2qZYeHGhh7EoeYr2cgDtcj1mwgNtYnSZUVTwxdK6EOm6R1dl+iusR8nmU/KdMdz/8x8W3a+XE0gYbw0aWokNwlujr76XT4ehDCW8xsuls8WEn18BKDvOhCsZMPPNeElo8FAObL5tU5gEkCvkPSPVXwnA7TCb94FEmd+H/Ozh5/XlvJP1Z4SF206HwS5gRthx5wPqJBAwOvDw3mGhjbN3qu180Evi6kVBi0NLF8bxVk3GIoWGpX/FWxnBknnxtUEcFMQ7ifkH9DLWhXBTNrarsDT2K8QwiUn9nKCeTxsvPjFzvVTv0IxpycZsB60/8EqafcRUjuSqAr3CnyN07KRnm3ONRYQXeLS6JGPWIAVyMw== X-Forefront-Antispam-Report: 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:(13230022)(396003)(376002)(136003)(346002)(366004)(39840400004)(451199015)(41300700001)(8936002)(38350700002)(4326008)(8676002)(5660300002)(44832011)(2906002)(316002)(66476007)(110136005)(66946007)(66556008)(54906003)(86362001)(83380400001)(38100700002)(186003)(1076003)(6512007)(26005)(2616005)(52116002)(6666004)(36756003)(107886003)(6506007)(6486002)(478600001); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: nXoLlx9Dsy27IQ0EqFYmkeaFeFtPIvuec8XzSkZNVMPDYOn3m7qzKNQeeL4nJRNBhX1jW9deF+9PoHn6VLFR0+byLtzqg0VzP2OPrC1KUKJW46Caso/N/yhTOuFYa3W+iQAKY1aPxU2TKQCXOhc/Ii5OwTzL7ElPq66k2Mlseok10kbKhFDx9l8Kzmo1iNAk/mowv8e084at1rTrb8MMr9GSG0rQGe/6QlUZEuASYfUl0EtKetKiZgKjk7CP73qSa/H5QAo+MrufNC4UyQeN45nN0VJzobF6/IVYNuuGREQcrRaGWWGtz6BYuOsoZwR4I71v4gdCbUMp9Ea1YSRGoKiAx7Pl+8tB9xfM0yTcxyTj2ziUXIJWr+C74MSmErUlcy8BmeDT/C9pkmnplVrWEY5eDLS4V7RQoK2ZR04tI1v64/W+L4Rx83bIdSl1T199kYOyzyxO+X/BXtkUbWIbc5GodkLdz4Ch1hqySTBHyLPzWuiH6IFJmDiIHk9ZLIGVB2/Ysao4uoskI/V8MLA5144G5EAUmRmPaaz1UbGGfMijRvx3pSM3nySyb3Y3KxoKZuvrm05tSPvVB+nKQq1CzMwNUM8LIDiZFwrECCZJpw/UQD10BaA/iTcCgO/4Eb6k0N/bk+VBp8HGImllWcYWF6NFjblMIoAyUsykILM9Nt3tSxkW55YSsLJC/SDiDRq/kNI178LkRt3l9/demwPUlURZAnAFJ5rChjla5yOKnf0C2Zp2k+biRnoGmhTtRGR/GhorJvODVT7+n4a7VfUOG35zD+gnj0CueziBuZT/1X7JErD4gGVxpzzWjyIefttqEy7fPYbwEyRYXDX7mQ+79tZXexQbg0Rz8fzIXvPWmM0Uvlmwt+4UrGt20wYtNlXPUeCp1WPV0jpNeYYeyIJbftXAnqOYE/441WnHOUVDkGEecQ2oo3fQN11Je16vkR6o0+fcGNc+mAA5w7xFHxZnrfWGFKX28ONzIgIAkzVRm5UUxxLMRlAnX1ZWmm9Js/3R1GkmPogw/3Hg+bMZqjNAZdeAQrpzOyDZvXgGyXyG/h0u7qXbUFUPFX92OpjnxQHWeg5g3N8BfYKLd7HEI++QeKp/0OhSybTUklcNW/NpphJjzhf0oYYsmpKANt/qqDJHhgQePmiygQ6BE5BikkIZxFkERgG5jo3iR2Vrs3djKjuz8nXuk7cV8ZSMuPi1LVZWffM6za2nFiU6g9HszQZWntweN/yr68Z1z3FvEytLwtCpVqMlhk9Jny2qpNNZXESbmQQ+hAQCdg8N003cWgqNCBVbYjZgDPty1Z844MVnZXpSxoEf18n+z/+hvX1p0x1jdIxyoW+0DakRhzN4vcg3pE5UZJ4YCUk0kllyNXfV8lOTFHSMwAzfeVyzA/AhVF9qO6UuH+HUM0Ru7U3uOp3t26pes+9h1mVCSHO0I722R2nWApOUvQ44SKstuOFXXz5gxfoILuniqswMllJlCjCuo+jinrn5SLVAJiW60hcWbwBSLP0IyjQZRBi9HLcSyndxLVTcy8c2f7DP2a9bjn7hc3LaEXV17bpN4DCD74qDI4pb3yhJQWtgG4K3PJa0aAdMS7Qog1dVWRmfxuAjWKLdmw== X-OriginatorOrg: seco.com X-MS-Exchange-CrossTenant-Network-Message-Id: 5aeb4774-5e29-4ecf-ed0c-08dae9bd2ffa X-MS-Exchange-CrossTenant-AuthSource: DB9PR03MB8847.eurprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Dec 2022 16:53:19.0505 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: bebe97c3-6438-442e-ade3-ff17aa50e733 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: LpdI174DNOHdX//dsukD6Zfxs8eoyPzeHJYxRdTibWowuQF7o9Hp7G2lOgGOn8QW0g355dgjjQW463xS4s2iUg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR03MB9966 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.6 at phobos.denx.de X-Virus-Status: Clean This adds a new method to load Fman firmware from a filesystem. This allows users to use regular files instead of hard-coded offsets for the firmware. Signed-off-by: Sean Anderson Reviewed-by: Ramon Fried --- (no changes since v1) drivers/net/fm/fm.c | 25 ++++++++++++++++++++++++- drivers/qe/Kconfig | 4 ++++ 2 files changed, 28 insertions(+), 1 deletion(-) diff --git a/drivers/net/fm/fm.c b/drivers/net/fm/fm.c index 457200e766..e1fba24471 100644 --- a/drivers/net/fm/fm.c +++ b/drivers/net/fm/fm.c @@ -5,6 +5,7 @@ */ #include #include +#include #include #include #include @@ -452,7 +453,29 @@ int fm_init_common(int index, struct ccsr_fman *reg, const char *firmware_name) int fm_init_common(int index, struct ccsr_fman *reg, const char *firmware_name) { int rc; -#if defined(CONFIG_SYS_QE_FMAN_FW_IN_NOR) +#if defined(CONFIG_SYS_QE_FMAN_FW_IN_FS) + struct udevice *fs_loader; + void *addr = malloc(CONFIG_SYS_QE_FMAN_FW_LENGTH); + + if (!addr) + return -ENOMEM; + + rc = get_fs_loader(&fs_loader); + if (rc) { + debug("could not get fs loader: %d\n", rc); + return rc; + } + + if (!firmware_name) + firmware_name = "fman.itb"; + + rc = request_firmware_into_buf(fs_loader, firmware_name, addr, + CONFIG_SYS_QE_FMAN_FW_LENGTH, 0); + if (rc < 0) { + debug("could not request %s: %d\n", firmware_name, rc); + return rc; + } +#elif defined(CONFIG_SYS_QE_FMAN_FW_IN_NOR) void *addr = (void *)CONFIG_SYS_FMAN_FW_ADDR; #elif defined(CONFIG_SYS_QE_FMAN_FW_IN_NAND) size_t fw_length = CONFIG_SYS_QE_FMAN_FW_LENGTH; diff --git a/drivers/qe/Kconfig b/drivers/qe/Kconfig index c44a81f69a..89a75c175b 100644 --- a/drivers/qe/Kconfig +++ b/drivers/qe/Kconfig @@ -27,6 +27,10 @@ choice depends on FMAN_ENET || QE default SYS_QE_FMAN_FW_IN_ROM +config SYS_QE_FMAN_FW_IN_FS + depends on FS_LOADER && FMAN_ENET + bool "Filesystem" + config SYS_QE_FMAN_FW_IN_NOR bool "NOR flash"