[U-Boot] [PATCH] mxs: mxsboot: Add support for SD card generation for i.MX23

Otavio Salvador otavio at ossystems.com.br
Mon Feb 4 19:15:50 CET 2013


On Mon, Feb 4, 2013 at 4:12 PM, Fabio Estevam <festevam at gmail.com> wrote:
> On Thu, Jan 24, 2013 at 4:39 PM, Marek Vasut <marex at denx.de> wrote:
>
>> PATCH:
>> diff --git a/tools/mxsboot.c b/tools/mxsboot.c
>> index 6c05aa4..d92c39f 100644
>> --- a/tools/mxsboot.c
>> +++ b/tools/mxsboot.c
>> @@ -551,7 +551,7 @@ static int mx28_create_sd_image(int infd, int outfd)
>>
>>         fsize = lseek(infd, 0, SEEK_END);
>>         lseek(infd, 0, SEEK_SET);
>> -       size = fsize + 512;
>> +       size = fsize + 4 * 512;
>>
>>         buf = malloc(size);
>>         if (!buf) {
>> @@ -559,7 +559,7 @@ static int mx28_create_sd_image(int infd, int outfd)
>>                 goto err0;
>>         }
>>
>> -       ret = read(infd, (uint8_t *)buf + 512, fsize);
>> +       ret = read(infd, (uint8_t *)buf + 4 * 512, fsize);
>>         if (ret != fsize) {
>>                 ret = -1;
>>                 goto err1;
>> @@ -574,8 +574,8 @@ static int mx28_create_sd_image(int infd, int outfd)
>>         cb->drv_info[0].chip_num = 0x0;
>>         cb->drv_info[0].drive_type = 0x0;
>>         cb->drv_info[0].tag = 0x1;
>> -       cb->drv_info[0].first_sector_number = sd_sector + 1;
>> -       cb->drv_info[0].sector_count = (size - 1) / 512;
>> +       cb->drv_info[0].first_sector_number = sd_sector + 4;
>> +       cb->drv_info[0].sector_count = (size - 4) / 512;
>>
>>         wr_size = write(outfd, buf, size);
>>         if (wr_size != size) {
>
> My mx28evk does not boot with this patch applied.

As it does not work in mx28evk I'd prefer to use my previously
proposed patch as it keeps clear what is done for mx23 and mx28. What
people think?

--
Otavio Salvador                             O.S. Systems
E-mail: otavio at ossystems.com.br  http://www.ossystems.com.br
Mobile: +55 53 9981-7854              http://projetos.ossystems.com.br


More information about the U-Boot mailing list