All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2 1/1] imx: rom api: fix image offset computation
@ 2020-05-13 14:02 Sébastien Szymanski
  2020-06-08 17:22 ` sbabic at denx.de
  0 siblings, 1 reply; 5+ messages in thread
From: Sébastien Szymanski @ 2020-05-13 14:02 UTC (permalink / raw)
  To: u-boot

When not booting from FlexSPI, the offset computation is:

offset = image_offset + CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR * 512 - 0x8000;

When booting from SD card or eMMC user partition, image_offset is
0x8000. It is useless to add and remove 0x8000.
When booting from other device, image_offset is 0 so this computation is wrong.

Simplfy this computation to work on all booting devices.

Signed-off-by: S?bastien Szymanski <sebastien.szymanski@armadeus.com>
---

Changes from v2:
 * Previous version was wrong.

 arch/arm/mach-imx/spl_imx_romapi.c | 7 +------
 1 file changed, 1 insertion(+), 6 deletions(-)

diff --git a/arch/arm/mach-imx/spl_imx_romapi.c b/arch/arm/mach-imx/spl_imx_romapi.c
index 5dc0f7174e..78dd005e7f 100644
--- a/arch/arm/mach-imx/spl_imx_romapi.c
+++ b/arch/arm/mach-imx/spl_imx_romapi.c
@@ -83,12 +83,7 @@ static int spl_romapi_load_image_seekable(struct spl_image_info *spl_image,
 	printf("image offset 0x%x, pagesize 0x%x, ivt offset 0x%x\n",
 	       image_offset, pagesize, offset);
 
-	if (((rom_bt_dev >> 16) & 0xff) ==  BT_DEV_TYPE_FLEXSPINOR)
-		offset = CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR * 512;
-	else
-		offset = image_offset +
-			CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR * 512 - 0x8000;
-
+	offset = CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR * 512;
 	size = ALIGN(sizeof(struct image_header), pagesize);
 	ret = g_rom_api->download_image((u8 *)header, offset, size,
 					((uintptr_t)header) ^ offset ^ size);
-- 
2.26.2

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

* [PATCH v2 1/1] imx: rom api: fix image offset computation
  2020-05-13 14:02 [PATCH v2 1/1] imx: rom api: fix image offset computation Sébastien Szymanski
@ 2020-06-08 17:22 ` sbabic at denx.de
  2020-06-09  4:03   ` [EXT] " Ye Li
  0 siblings, 1 reply; 5+ messages in thread
From: sbabic at denx.de @ 2020-06-08 17:22 UTC (permalink / raw)
  To: u-boot

> When not booting from FlexSPI, the offset computation is:
> offset = image_offset + CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR * 512 - 0x8000;
> When booting from SD card or eMMC user partition, image_offset is
> 0x8000. It is useless to add and remove 0x8000.
> When booting from other device, image_offset is 0 so this computation is wrong.
> Simplfy this computation to work on all booting devices.
> Signed-off-by: S?bastien Szymanski <sebastien.szymanski@armadeus.com>
Applied to u-boot-imx, master, thanks !

Best regards,
Stefano Babic

-- 
=====================================================================
DENX Software Engineering GmbH,      Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: +49-8142-66989-53 Fax: +49-8142-66989-80 Email: sbabic at denx.de
=====================================================================

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

* [EXT] [PATCH v2 1/1] imx: rom api: fix image offset computation
  2020-06-08 17:22 ` sbabic at denx.de
@ 2020-06-09  4:03   ` Ye Li
  2020-06-09  8:31     ` Sébastien Szymanski
  0 siblings, 1 reply; 5+ messages in thread
From: Ye Li @ 2020-06-09  4:03 UTC (permalink / raw)
  To: u-boot

Hi S?bastien,

> -----Original Message-----
> From: U-Boot <u-boot-bounces@lists.denx.de> On Behalf Of
> sbabic at denx.de
> Sent: 2020?6?9? 1:22
> To: S?bastien Szymanski <sebastien.szymanski@armadeus.com>; u-
> boot at lists.denx.de
> Subject: [EXT] [PATCH v2 1/1] imx: rom api: fix image offset computation
> 
> Caution: EXT Email
> 
> > When not booting from FlexSPI, the offset computation is:
> > offset = image_offset +
> CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR * 512
> > - 0x8000; When booting from SD card or eMMC user partition,
> > image_offset is 0x8000. It is useless to add and remove 0x8000.
> > When booting from other device, image_offset is 0 so this computation is
> wrong.
> > Simplfy this computation to work on all booting devices.
> > Signed-off-by: S?bastien Szymanski <sebastien.szymanski@armadeus.com>
> Applied to u-boot-imx, master, thanks !

I just notice this patch. Can you elaborate the problem you met? 
Because from my view, your change is wrong.
1. Removing the image_offset will break secondary (redundant) boot support for sd and emmc.
2. When booting from emmc boot partition, the image_offset is 0. But the flash.bin
generated by mkimage with imximage-8mp-lpddr4.cfg is for sd. It expects to be burn at 32KB offset.
The fit offset 0x60000 has already included the 32KB offset.  So when you burn this flash.bin
to emmc boot partition at offset 0, the fit offset should subtract the 32KB (0x60000 - 0x8000).

Best regards,
Ye Li
> 
> Best regards,
> Stefano Babic
> 
> --
> ==========================================================
> ===========
> DENX Software Engineering GmbH,      Managing Director: Wolfgang Denk
> HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
> Phone: +49-8142-66989-53 Fax: +49-8142-66989-80 Email: sbabic at denx.de
> ==========================================================
> ===========

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

* [EXT] [PATCH v2 1/1] imx: rom api: fix image offset computation
  2020-06-09  4:03   ` [EXT] " Ye Li
@ 2020-06-09  8:31     ` Sébastien Szymanski
  2020-06-09  9:19       ` Stefano Babic
  0 siblings, 1 reply; 5+ messages in thread
From: Sébastien Szymanski @ 2020-06-09  8:31 UTC (permalink / raw)
  To: u-boot

Hi,

On 6/9/20 6:03 AM, Ye Li wrote:
> Hi S?bastien,
> 
>> -----Original Message-----
>> From: U-Boot <u-boot-bounces@lists.denx.de> On Behalf Of
>> sbabic at denx.de
>> Sent: 2020?6?9? 1:22
>> To: S?bastien Szymanski <sebastien.szymanski@armadeus.com>; u-
>> boot at lists.denx.de
>> Subject: [EXT] [PATCH v2 1/1] imx: rom api: fix image offset computation
>>
>> Caution: EXT Email
>>
>>> When not booting from FlexSPI, the offset computation is:
>>> offset = image_offset +
>> CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR * 512
>>> - 0x8000; When booting from SD card or eMMC user partition,
>>> image_offset is 0x8000. It is useless to add and remove 0x8000.
>>> When booting from other device, image_offset is 0 so this computation is
>> wrong.
>>> Simplfy this computation to work on all booting devices.
>>> Signed-off-by: S?bastien Szymanski <sebastien.szymanski@armadeus.com>
>> Applied to u-boot-imx, master, thanks !
> 
> I just notice this patch. Can you elaborate the problem you met? 
> Because from my view, your change is wrong.
> 1. Removing the image_offset will break secondary (redundant) boot support for sd and emmc.
> 2. When booting from emmc boot partition, the image_offset is 0. But the flash.bin
> generated by mkimage with imximage-8mp-lpddr4.cfg is for sd. It expects to be burn at 32KB offset.
> The fit offset 0x60000 has already included the 32KB offset.  So when you burn this flash.bin
> to emmc boot partition at offset 0, the fit offset should subtract the 32KB (0x60000 - 0x8000).

You are right !
When I tried, I used a .cfg file without SECOND_LOADER and flashed
proper U-Boot "by hand" at offset 0x60000 which is wrong.

Stefano, can you drop my patch please ?

Sorry :/

Regards,

> 
> Best regards,
> Ye Li
>>
>> Best regards,
>> Stefano Babic
>>
>> --
>> ==========================================================
>> ===========
>> DENX Software Engineering GmbH,      Managing Director: Wolfgang Denk
>> HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
>> Phone: +49-8142-66989-53 Fax: +49-8142-66989-80 Email: sbabic at denx.de
>> ==========================================================
>> ===========


-- 
S?bastien Szymanski, Armadeus Systems
Software engineer

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

* [EXT] [PATCH v2 1/1] imx: rom api: fix image offset computation
  2020-06-09  8:31     ` Sébastien Szymanski
@ 2020-06-09  9:19       ` Stefano Babic
  0 siblings, 0 replies; 5+ messages in thread
From: Stefano Babic @ 2020-06-09  9:19 UTC (permalink / raw)
  To: u-boot

On 09.06.20 10:31, S?bastien Szymanski wrote:
> Hi,
> 
> On 6/9/20 6:03 AM, Ye Li wrote:
>> Hi S?bastien,
>>
>>> -----Original Message-----
>>> From: U-Boot <u-boot-bounces@lists.denx.de> On Behalf Of
>>> sbabic at denx.de
>>> Sent: 2020?6?9? 1:22
>>> To: S?bastien Szymanski <sebastien.szymanski@armadeus.com>; u-
>>> boot at lists.denx.de
>>> Subject: [EXT] [PATCH v2 1/1] imx: rom api: fix image offset computation
>>>
>>> Caution: EXT Email
>>>
>>>> When not booting from FlexSPI, the offset computation is:
>>>> offset = image_offset +
>>> CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR * 512
>>>> - 0x8000; When booting from SD card or eMMC user partition,
>>>> image_offset is 0x8000. It is useless to add and remove 0x8000.
>>>> When booting from other device, image_offset is 0 so this computation is
>>> wrong.
>>>> Simplfy this computation to work on all booting devices.
>>>> Signed-off-by: S?bastien Szymanski <sebastien.szymanski@armadeus.com>
>>> Applied to u-boot-imx, master, thanks !
>>
>> I just notice this patch. Can you elaborate the problem you met? 
>> Because from my view, your change is wrong.
>> 1. Removing the image_offset will break secondary (redundant) boot support for sd and emmc.
>> 2. When booting from emmc boot partition, the image_offset is 0. But the flash.bin
>> generated by mkimage with imximage-8mp-lpddr4.cfg is for sd. It expects to be burn at 32KB offset.
>> The fit offset 0x60000 has already included the 32KB offset.  So when you burn this flash.bin
>> to emmc boot partition at offset 0, the fit offset should subtract the 32KB (0x60000 - 0x8000).
> 
> You are right !
> When I tried, I used a .cfg file without SECOND_LOADER and flashed
> proper U-Boot "by hand" at offset 0x60000 which is wrong.
> 
> Stefano, can you drop my patch please ?

I revert it immediately - thanks Ye to have checked this before I send
my PR.

Stefano

> 
> Sorry :/
> 
> Regards,
> 
>>
>> Best regards,
>> Ye Li
>>>
>>> Best regards,
>>> Stefano Babic
>>>
>>> --
>>> ==========================================================
>>> ===========
>>> DENX Software Engineering GmbH,      Managing Director: Wolfgang Denk
>>> HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
>>> Phone: +49-8142-66989-53 Fax: +49-8142-66989-80 Email: sbabic at denx.de
>>> ==========================================================
>>> ===========
> 
> 


-- 
=====================================================================
DENX Software Engineering GmbH,      Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: +49-8142-66989-53 Fax: +49-8142-66989-80 Email: sbabic at denx.de
=====================================================================

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

end of thread, other threads:[~2020-06-09  9:19 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-05-13 14:02 [PATCH v2 1/1] imx: rom api: fix image offset computation Sébastien Szymanski
2020-06-08 17:22 ` sbabic at denx.de
2020-06-09  4:03   ` [EXT] " Ye Li
2020-06-09  8:31     ` Sébastien Szymanski
2020-06-09  9:19       ` Stefano Babic

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.