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"