From mboxrd@z Thu Jan 1 00:00:00 1970 Delivery-date: Tue, 11 Mar 2025 13:42:21 +0100 Received: from metis.whiteo.stw.pengutronix.de ([2a0a:edc0:2:b01:1d::104]) by lore.white.stw.pengutronix.de with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1tryw9-00Cg1H-27 for lore@lore.pengutronix.de; Tue, 11 Mar 2025 13:42:21 +0100 Received: from bombadil.infradead.org ([2607:7c80:54:3::133]) by metis.whiteo.stw.pengutronix.de with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1tryw5-0006KW-VW for lore@pengutronix.de; Tue, 11 Mar 2025 13:42:20 +0100 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:List-Subscribe:List-Help :List-Post:List-Archive:List-Unsubscribe:List-Id:To:In-Reply-To:References: Message-Id:Content-Transfer-Encoding:Content-Type:MIME-Version:Subject:Date: From:Reply-To:Cc:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=iTLd3gtd3Kq4t35F2zzrz8mnj2NI1kXdDxSaVmh3V6M=; b=EoYU1lOBlH+6MTEJ360YXXKr9B CRZjzJIVWDXus0BvBcaD06AuQOj8H+n1J1LFfH3igeTWzckjDNgLO/3ArSOqCsSsqmXSe7+3y/fkn WupvpTPKPjGA8gC3NW4chZZOBFOcE3NteWeSEpUj1qT37E2U27u0lq2PCAgSVvuyA5ijWVjh2ddLq Cylr0Ab1gOFFTVO/WIouvKRwWamKMCDkdMMpZaD8Y5FodFrLrRg493x59wBGFhA/WMOKpCzsyVcXK wzeLQNKZVtdCfA0jfTmPs5bsRAghHyHiHkTt/dPiMCX3GG0EopX9eBgx1jY9T8+RlzweXqv8nRnsD HHpLuZUg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98 #2 (Red Hat Linux)) id 1tryvT-00000005gsr-213a; Tue, 11 Mar 2025 12:41:39 +0000 Received: from metis.whiteo.stw.pengutronix.de ([2a0a:edc0:2:b01:1d::104]) by bombadil.infradead.org with esmtps (Exim 4.98 #2 (Red Hat Linux)) id 1tryfd-00000005d1Z-0NeL for barebox@lists.infradead.org; Tue, 11 Mar 2025 12:25:18 +0000 Received: from drehscheibe.grey.stw.pengutronix.de ([2a0a:edc0:0:c01:1d::a2]) by metis.whiteo.stw.pengutronix.de with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1tryfb-0003B4-La; Tue, 11 Mar 2025 13:25:15 +0100 Received: from dude02.red.stw.pengutronix.de ([2a0a:edc0:0:1101:1d::28]) by drehscheibe.grey.stw.pengutronix.de with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1tryfb-005B6N-1Q; Tue, 11 Mar 2025 13:25:15 +0100 Received: from localhost ([::1] helo=dude02.red.stw.pengutronix.de) by dude02.red.stw.pengutronix.de with esmtp (Exim 4.96) (envelope-from ) id 1tryfb-000oVs-19; Tue, 11 Mar 2025 13:25:15 +0100 From: Sascha Hauer Date: Tue, 11 Mar 2025 13:25:16 +0100 MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit Message-Id: <20250311-am625-secure-v2-3-3cbbfa092346@pengutronix.de> References: <20250311-am625-secure-v2-0-3cbbfa092346@pengutronix.de> In-Reply-To: <20250311-am625-secure-v2-0-3cbbfa092346@pengutronix.de> To: "open list:BAREBOX" X-Mailer: b4 0.12.3 X-Developer-Signature: v=1; a=ed25519-sha256; t=1741695915; l=3467; i=s.hauer@pengutronix.de; s=20230412; h=from:subject:message-id; bh=IMtdm9t+mvjLRXQncuWvxYQczAhgPks/auLegIozc5s=; b=nVhQW/axVD3CpRZsm9PY/S9IolmbY95EfkkMcWwMENI7sPuzypQy6lUXK5Or4U0VspBciu8WE JabEIGGhIDqAqQ8+hpmQ8LXYm7pP/vQcUEfaNzLmnwDG5OAxybD9Sdt X-Developer-Key: i=s.hauer@pengutronix.de; a=ed25519; pk=4kuc9ocmECiBJKWxYgqyhtZOHj5AWi7+d0n/UjhkwTg= X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20250311_052517_140767_2D1F6E31 X-CRM114-Status: GOOD ( 13.60 ) X-BeenThere: barebox@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "barebox" X-SA-Exim-Connect-IP: 2607:7c80:54:3::133 X-SA-Exim-Mail-From: barebox-bounces+lore=pengutronix.de@lists.infradead.org X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on metis.whiteo.stw.pengutronix.de X-Spam-Level: X-Spam-Status: No, score=-5.2 required=4.0 tests=AWL,BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,SPF_HELO_NONE,SPF_NONE autolearn=unavailable autolearn_force=no version=3.4.2 Subject: [PATCH v2 03/14] ARM: k3: r5: drop loading of separate binaries X-SA-Exim-Version: 4.2.1 (built Wed, 08 May 2019 21:11:16 +0000) X-SA-Exim-Scanned: Yes (on metis.whiteo.stw.pengutronix.de) For starting the A52 cores we need TFA, OP-TEE, barebox and ti-dm binaries. These can be loaded as separate files from SD/eMMC/DFU or alternatively combined into a single FIP image. FIP images are convenient to handle, they can easily be generated on the command line and fiptool also has support for replacing blobs in images. This makes handling of separate binaries rather unnecessary and support for it only makes the loading code more complex. Drop it and make FIP images the only option which also faciliates integrating of secure boot. Signed-off-by: Sascha Hauer --- arch/arm/mach-k3/r5.c | 70 +-------------------------------------------------- 1 file changed, 1 insertion(+), 69 deletions(-) diff --git a/arch/arm/mach-k3/r5.c b/arch/arm/mach-k3/r5.c index ced1eb2856..2418e9ae73 100644 --- a/arch/arm/mach-k3/r5.c +++ b/arch/arm/mach-k3/r5.c @@ -288,50 +288,15 @@ static void do_dfu(void) struct usbgadget_funcs funcs = {}; int ret; struct stat s; - ssize_t size; funcs.flags |= USBGADGET_DFU; - funcs.dfu_opts = "/optee.bin(optee)c," - "/bl31.bin(tfa)c," - "/ti-dm.bin(ti-dm)c," - "/barebox.bin(barebox)cs," - "/fip.img(fip)cs"; + funcs.dfu_opts = "/fip.img(fip)cs"; ret = usbgadget_prepare_register(&funcs); if (ret) goto err; while (1) { - if (!have_bl32) { - size = read_file_into_buf("/optee.bin", BL32_ADDRESS, SZ_32M); - if (size > 0) { - printf("Downloaded OP-TEE\n"); - have_bl32 = true; - } - } - - if (!have_bl31) { - size = read_file_into_buf("/bl31.bin", BL31_ADDRESS, SZ_32M); - if (size > 0) { - printf("Downloaded TF-A\n"); - have_bl31 = true; - } - } - - if (!k3_ti_dm) { - ret = read_file_2("/ti-dm.bin", &size, &k3_ti_dm, FILESIZE_MAX); - if (!ret) { - printf("Downloaded TI-DM\n"); - } - } - - size = read_file_into_buf("/barebox.bin", BAREBOX_ADDRESS, SZ_32M); - if (size > 0) { - have_bl33 = true; - printf("Downloaded barebox image, DFU done\n"); - break; - } - ret = stat("/fip.img", &s); if (!ret) { printf("Downloaded FIP image, DFU done\n"); @@ -352,45 +317,12 @@ static void do_dfu(void) static int load_images(void) { - ssize_t size; int err; err = load_fip("/boot/k3.fip", 0); if (!err) return 0; - size = read_file_into_buf("/boot/optee.bin", BL32_ADDRESS, SZ_32M); - if (size < 0) { - if (size != -ENOENT) { - pr_err("Cannot load optee.bin: %pe\n", ERR_PTR(size)); - return size; - } - pr_info("optee.bin not found, continue without\n"); - } else { - pr_debug("Loaded optee.bin (size %u) to 0x%p\n", size, BL32_ADDRESS); - } - - size = read_file_into_buf("/boot/barebox.bin", BAREBOX_ADDRESS, SZ_32M); - if (size < 0) { - pr_err("Cannot load barebox.bin: %pe\n", ERR_PTR(size)); - return size; - } - pr_debug("Loaded barebox.bin (size %u) to 0x%p\n", size, BAREBOX_ADDRESS); - - size = read_file_into_buf("/boot/bl31.bin", BL31_ADDRESS, SZ_32M); - if (size < 0) { - pr_err("Cannot load bl31.bin: %pe\n", ERR_PTR(size)); - return size; - } - pr_debug("Loaded bl31.bin (size %u) to 0x%p\n", size, BL31_ADDRESS); - - err = read_file_2("/boot/ti-dm.bin", &size, &k3_ti_dm, FILESIZE_MAX); - if (err) { - pr_err("Cannot load ti-dm.bin: %pe\n", ERR_PTR(err)); - return err; - } - pr_debug("Loaded ti-dm.bin (size %u)\n", size); - return 0; } -- 2.39.5