From 8562a1c6a4572550f752d4deca95d9efdd9b5265 Mon Sep 17 00:00:00 2001
From: =?utf8?q?Pali=20Roh=C3=A1r?= <pali@kernel.org>
Date: Sun, 8 Jan 2023 13:20:20 +0100
Subject: [PATCH] tools: kwboot: Fix parsing SDIO kwbimage
MIME-Version: 1.0
Content-Type: text/plain; charset=utf8
Content-Transfer-Encoding: 8bit

Despite the official specification, Marvell BootROM does not interpret
srcaddr from SDIO image as offset in number of sectors (like for SATA
image), but as offset in bytes (like for all other images except SATA).

To parse SDIO kwbimage in the same way as Marvell BootROM, it is needed to
interpret srcaddr in bytes. This change fixes loading of SDIO images via
kwboot over UART.

Fixes: 792e42355083 ("tools: kwboot: Patch source address in image header")
Signed-off-by: Pali Rohár <pali@kernel.org>
---
 tools/kwboot.c | 4 ----
 1 file changed, 4 deletions(-)

diff --git a/tools/kwboot.c b/tools/kwboot.c
index da4fe32da2..188f944263 100644
--- a/tools/kwboot.c
+++ b/tools/kwboot.c
@@ -1894,10 +1894,6 @@ kwboot_img_patch(void *img, size_t *size, int baudrate)
 		hdr->srcaddr = cpu_to_le32((srcaddr - 1) * 512);
 		break;
 
-	case IBR_HDR_SDIO_ID:
-		hdr->srcaddr = cpu_to_le32(srcaddr * 512);
-		break;
-
 	case IBR_HDR_PEX_ID:
 		if (srcaddr == 0xFFFFFFFF)
 			hdr->srcaddr = cpu_to_le32(hdrsz);
-- 
2.39.5