[U-Boot] [PATCH 2/9] smi driver support for SPEAr SoCs
Wolfgang Denk
wd at denx.de
Sat Dec 19 08:20:38 CET 2009
Dear Vipin Kumar,
In message <83d1d72b0912182244yb303c6ai3b61d7b896020c00 at mail.gmail.com> you wrote:
>
> >> + switch (density) {
> >> + case 0x10:
> >> + info->size = 64 * 1024;
> >> + info->sector_count = 2;
> >> + break;
> >> + case 0x11:
> >> + info->size = 128 * 1024;
> >> + info->sector_count = 4;
> >> + break;
> >> + case 0x12:
> >> + info->size = 256 * 1024;
> >> + info->sector_count = 4;
> >> + break;
> >> + case 0x13:
> >> + info->size = 512 * 1024;
> >> + info->sector_count = 8;
> >> + break;
> >> + case 0x14:
> >> + info->size = 1 * 1024 * 1024;
> >> + info->sector_count = 16;
> >> + break;
> >> + case 0x15:
> >> + info->size = 2 * 1024 * 1024;
> >> + info->sector_count = 32;
> >> + break;
> >> + case 0x16:
> >> + info->size = 4 * 1024 * 1024;
> >> + info->sector_count = 64;
> >> + break;
> >> + case 0x17:
> >> + info->size = 8 * 1024 * 1024;
> >> + info->sector_count = 128;
> >> + break;
> >> + case 0x18:
> >> + info->size = 16 * 1024 * 1024;
> >> + info->sector_count = 64;
> >> + break;
> >> + default:
> >> + return 0x0;
> >> + }
> >
> > Consider using lookup tables?
>
> Currently supported flashes have consequent values of density.
> It may have random values supported in future. That's the reason
> I feel it's better to keep the code this way
That's why I did not recommend to calculate this witha simple
formula, (which would be trivially possible for "size", but not so
for "sector_count"), but using a lookup table - this is independent
of the actual values.
> >> + /* Assume that all sectors are unprotected by default */
> >> + for (i = 0; i < CONFIG_SYS_MAX_FLASH_SECT; i++)
> >> + info->protect[i] = 0;
> >
> > Um... is this assumption correct?
>
> It is intentional
Why don;t you protect sectors where the U-Bootimage and environment
are stored?
Best regards,
Wolfgang Denk
--
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
If you fail to plan, plan to fail.
More information about the U-Boot
mailing list