Re: [EXT] [PATCH v2 1/1] imx: rom api: fix image offset computation

2020-06-09 Thread Stefano Babic
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  On Behalf Of
>>> sba...@denx.de
>>> Sent: 2020年6月9日 1:22
>>> To: Sébastien Szymanski ; u-
>>> b...@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 
>>> 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 0x6 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 
>> (0x6 - 0x8000).
> 
> You are right !
> When I tried, I used a .cfg file without SECOND_LOADER and flashed
> proper U-Boot "by hand" at offset 0x6 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: sba...@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: sba...@denx.de
=


Re: [EXT] [PATCH v2 1/1] imx: rom api: fix image offset computation

2020-06-09 Thread Sébastien Szymanski
Hi,

On 6/9/20 6:03 AM, Ye Li wrote:
> Hi Sébastien,
> 
>> -Original Message-
>> From: U-Boot  On Behalf Of
>> sba...@denx.de
>> Sent: 2020年6月9日 1:22
>> To: Sébastien Szymanski ; u-
>> b...@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 
>> 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 0x6 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 
> (0x6 - 0x8000).

You are right !
When I tried, I used a .cfg file without SECOND_LOADER and flashed
proper U-Boot "by hand" at offset 0x6 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: sba...@denx.de
>> ==
>> ===


-- 
Sébastien Szymanski, Armadeus Systems
Software engineer


RE: [EXT] [PATCH v2 1/1] imx: rom api: fix image offset computation

2020-06-08 Thread Ye Li
Hi Sébastien,

> -Original Message-
> From: U-Boot  On Behalf Of
> sba...@denx.de
> Sent: 2020年6月9日 1:22
> To: Sébastien Szymanski ; u-
> b...@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 
> 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 0x6 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 
(0x6 - 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: sba...@denx.de
> ==
> ===


[PATCH v2 1/1] imx: rom api: fix image offset computation

2020-06-08 Thread sbabic
> 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 
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: sba...@denx.de
=


[PATCH v2 1/1] imx: rom api: fix image offset computation

2020-05-13 Thread Sébastien Szymanski
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 
---

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