All of lore.kernel.org
 help / color / mirror / Atom feed
* [U-Boot] [PATCH] rockchip: Fix rkimage format for SPL boot over USB
@ 2018-10-04 13:32 Daniel Gröber
  2018-10-04 20:00 ` Philipp Tomsich
  2018-10-05  8:28 ` [U-Boot] " Philipp Tomsich
  0 siblings, 2 replies; 3+ messages in thread
From: Daniel Gröber @ 2018-10-04 13:32 UTC (permalink / raw)
  To: u-boot

The 'rkimage' format used for booting rockchip boards over USB seems to
have been broken since commit 7bf274b9caab ("rockchip: mkimage: use
imagename to select spl hdr & spl size"). That commit adds an offset of
RK_SPL_HDR_START(=2048) to the location the 'RKxx' header is written
at. However the bootrom expects this header to be the first four bytes of
the image, not at offset 2048. This appears to have been a copy paste
error since the 'rksd' and 'rkspi' image types do require this offset.

Furthermore commit 111bcc4fb6cb ("rockchip: mkimage: pad the header to
8-bytes (using a 'nop') for RK3399"), commit 3d54eabcafec9 ("rockchip:
spl: RK3399: use boot0 hook to create space for SPL magic") and
commit 308277569229 ("rockchip: mkimage: update rkimage to support
pre-padded payloads") changed the way the space for the 'RKxx' header is
allocated and written to the image without adjusting 'rkimage'.

This commit fixes those mistakes and makes it possible to load u-boot SPL
over USB once more.

(Tested on RK3399)

Signed-off-by: Daniel Gröber <daniel@dps.uibk.ac.at>
---

 tools/rkimage.c | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/tools/rkimage.c b/tools/rkimage.c
index a0a3185370..ae50de55c9 100644
--- a/tools/rkimage.c
+++ b/tools/rkimage.c
@@ -15,8 +15,7 @@ static uint32_t header;
 static void rkimage_set_header(void *buf, struct stat *sbuf, int ifd,
 			       struct image_tool_params *params)
 {
-	memcpy(buf + RK_SPL_HDR_START, rkcommon_get_spl_hdr(params),
-	       RK_SPL_HDR_SIZE);
+	memcpy(buf, rkcommon_get_spl_hdr(params), RK_SPL_HDR_SIZE);
 
 	if (rkcommon_need_rc4_spl(params))
 		rkcommon_rc4_encode_spl(buf, 4, params->file_size);
@@ -36,7 +35,7 @@ static int rkimage_check_image_type(uint8_t type)
 U_BOOT_IMAGE_TYPE(
 	rkimage,
 	"Rockchip Boot Image support",
-	4,
+	0,
 	&header,
 	rkcommon_check_params,
 	NULL,
-- 
2.11.0

^ permalink raw reply related	[flat|nested] 3+ messages in thread

* [U-Boot] [PATCH] rockchip: Fix rkimage format for SPL boot over USB
  2018-10-04 13:32 [U-Boot] [PATCH] rockchip: Fix rkimage format for SPL boot over USB Daniel Gröber
@ 2018-10-04 20:00 ` Philipp Tomsich
  2018-10-05  8:28 ` [U-Boot] " Philipp Tomsich
  1 sibling, 0 replies; 3+ messages in thread
From: Philipp Tomsich @ 2018-10-04 20:00 UTC (permalink / raw)
  To: u-boot



> On 04.10.2018, at 15:32, Daniel Gröber <daniel@dps.uibk.ac.at> wrote:
> 
> The 'rkimage' format used for booting rockchip boards over USB seems to
> have been broken since commit 7bf274b9caab ("rockchip: mkimage: use
> imagename to select spl hdr & spl size"). That commit adds an offset of
> RK_SPL_HDR_START(=2048) to the location the 'RKxx' header is written
> at. However the bootrom expects this header to be the first four bytes of
> the image, not at offset 2048. This appears to have been a copy paste
> error since the 'rksd' and 'rkspi' image types do require this offset.
> 
> Furthermore commit 111bcc4fb6cb ("rockchip: mkimage: pad the header to
> 8-bytes (using a 'nop') for RK3399"), commit 3d54eabcafec9 ("rockchip:
> spl: RK3399: use boot0 hook to create space for SPL magic") and
> commit 308277569229 ("rockchip: mkimage: update rkimage to support
> pre-padded payloads") changed the way the space for the 'RKxx' header is
> allocated and written to the image without adjusting 'rkimage'.
> 
> This commit fixes those mistakes and makes it possible to load u-boot SPL
> over USB once more.
> 
> (Tested on RK3399)
> 
> Signed-off-by: Daniel Gröber <daniel@dps.uibk.ac.at>

Reviewed-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>

I’ll try to include this into rc2.

Thanks,
Philipp.

^ permalink raw reply	[flat|nested] 3+ messages in thread

* [U-Boot] rockchip: Fix rkimage format for SPL boot over USB
  2018-10-04 13:32 [U-Boot] [PATCH] rockchip: Fix rkimage format for SPL boot over USB Daniel Gröber
  2018-10-04 20:00 ` Philipp Tomsich
@ 2018-10-05  8:28 ` Philipp Tomsich
  1 sibling, 0 replies; 3+ messages in thread
From: Philipp Tomsich @ 2018-10-05  8:28 UTC (permalink / raw)
  To: u-boot

> The 'rkimage' format used for booting rockchip boards over USB seems to
> have been broken since commit 7bf274b9caab ("rockchip: mkimage: use
> imagename to select spl hdr & spl size"). That commit adds an offset of
> RK_SPL_HDR_START(=2048) to the location the 'RKxx' header is written
> at. However the bootrom expects this header to be the first four bytes of
> the image, not at offset 2048. This appears to have been a copy paste
> error since the 'rksd' and 'rkspi' image types do require this offset.
> 
> Furthermore commit 111bcc4fb6cb ("rockchip: mkimage: pad the header to
> 8-bytes (using a 'nop') for RK3399"), commit 3d54eabcafec9 ("rockchip:
> spl: RK3399: use boot0 hook to create space for SPL magic") and
> commit 308277569229 ("rockchip: mkimage: update rkimage to support
> pre-padded payloads") changed the way the space for the 'RKxx' header is
> allocated and written to the image without adjusting 'rkimage'.
> 
> This commit fixes those mistakes and makes it possible to load u-boot SPL
> over USB once more.
> 
> (Tested on RK3399)
> 
> Signed-off-by: Daniel Gröber <daniel@dps.uibk.ac.at>
> Reviewed-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
> ---
> 
>  tools/rkimage.c | 5 ++---
>  1 file changed, 2 insertions(+), 3 deletions(-)
> 

Applied to u-boot-rockchip, thanks!

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2018-10-05  8:28 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-10-04 13:32 [U-Boot] [PATCH] rockchip: Fix rkimage format for SPL boot over USB Daniel Gröber
2018-10-04 20:00 ` Philipp Tomsich
2018-10-05  8:28 ` [U-Boot] " Philipp Tomsich

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.