From mboxrd@z Thu Jan 1 00:00:00 1970 Delivery-date: Mon, 13 Nov 2023 10:06:22 +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 1r2Sth-009n8c-2V for lore@lore.pengutronix.de; Mon, 13 Nov 2023 10:06:22 +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 1r2Sth-0005T4-R4 for lore@pengutronix.de; Mon, 13 Nov 2023 10:06:22 +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:Content-Transfer-Encoding: MIME-Version:Message-Id:Date:Subject:To:From:Reply-To:Cc:Content-Type: Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender: Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To:References:List-Owner; bh=6PSWcWwevDufrPA1KlCCWh7iX42tDUduKWexYNTcdp8=; b=hYNwcFposYnijtT9N8v+2UPI3E y+PYpzhUTqjBNp/vNRTXmzbTlPGhxaNXzmJArWFBLrOOzSpviZBZXcZNIYYnmz23EWJBmumuk7+Wg rv8e1AOpXYBW4ALnypAyYDnWOyEfFBPo45HxVrVQ9Dv8AnPlBVQMWQzqJy1zjfGJbWyJ6ug1sZSLf IjMYgYRDR4BdJ/cD56ABK6UKZnRy9WwYaw2roreFaE13fhi0TqP7vOv/GBpxaC4HNcc7UqfvAEtvI fWOtQLtOiHTRhvuy+4W7ohquZDyV7tIGg9xOQlBC0IhIc78NqeWx+blGZN4G8dVoQ0O9j6hqmctbl 4FE+AOiA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1r2SsC-00DWwC-1m; Mon, 13 Nov 2023 09:04:48 +0000 Received: from metis.whiteo.stw.pengutronix.de ([2a0a:edc0:2:b01:1d::104]) by bombadil.infradead.org with esmtps (Exim 4.96 #2 (Red Hat Linux)) id 1r2Ss9-00DWvb-0G for barebox@lists.infradead.org; Mon, 13 Nov 2023 09:04:47 +0000 Received: from dude02.red.stw.pengutronix.de ([2a0a:edc0:0:1101:1d::28]) by metis.whiteo.stw.pengutronix.de with esmtp (Exim 4.92) (envelope-from ) id 1r2Ss6-0005H7-Dq for barebox@lists.infradead.org; Mon, 13 Nov 2023 10:04:42 +0100 From: Marco Felsch To: barebox@lists.infradead.org Date: Mon, 13 Nov 2023 10:04:38 +0100 Message-Id: <20231113090438.1890680-1-m.felsch@pengutronix.de> X-Mailer: git-send-email 2.39.2 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20231113_010445_116914_E2E23DCA X-CRM114-Status: GOOD ( 10.59 ) 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=-4.9 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, T_SCC_BODY_TEXT_LINE autolearn=unavailable autolearn_force=no version=3.4.2 Subject: [PATCH] ARM: i.MX8M: bootrom: fix load image size 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) Without the proper aligned image size we may encounter host load errors like: | found i.MX8MP USB device [1fc9:0146] | No dcd table in this ivt | dl_command err=-1, last_trans=-1 | 4 in err=-4, last_trans=0 00 00 00 00 The reason for this is that we asked only for the required bytes while the host tries to send the complete image which may contain alignment bytes at the end. Fix this by request always 4K aligned sizes. Signed-off-by: Marco Felsch --- arch/arm/mach-imx/romapi.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/arch/arm/mach-imx/romapi.c b/arch/arm/mach-imx/romapi.c index 1b1800f1e000..b4c63e4d7274 100644 --- a/arch/arm/mach-imx/romapi.c +++ b/arch/arm/mach-imx/romapi.c @@ -6,6 +6,7 @@ #include #include #include +#include #include #include #include @@ -50,6 +51,12 @@ static int imx_bootrom_query(struct rom_api *rom_api, uint32_t type, uint32_t *_ static int imx_romapi_load_stream(struct rom_api *rom_api, void *adr, size_t size) { + /* + * The imx-image tool align the final image size to 4K so we need to + * take this into account. + */ + size = ALIGN(size, SZ_4K); + while (size) { size_t chunksize = min(size, (size_t)1024); int ret; -- 2.39.2