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);