This is the mail archive of the ecos-patches@sources.redhat.com mailing list for the eCos project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Intel FLASH


> OK, I tried your patch and learned that my device (28F640W18-B) had
> only 8 blocks of 0x2000 bytes each.  This is significantly smaller
> than the 8 Mbytes I was expecting :-).  Investigating further I see
> that it determines the number of blocks and the block size using the
> CFI query command.  The structure definition in strata.h and the code
> in strata.c specifes only one set of "erase block information". 
> However, my datasheet for the W18 part contains two sets of erase
> block region information.

I defined BOOTBLOCK_FLASH so I didn't query and changed that lookup
table you see in strata.c. This way I didn't let CFI detect the blocks
since as you saw it does not assume multiple erase sizes:the parts
before W30 (J,K) were stratas but had no bootblocks like the B and C
models and the driver was originally written for those.
so if you define that yours is a bootblock it should detect the 640's
size. Hopefully.I did it so in my platform flash .inl file:
(2 variants of board)

// 28F320W30B. -> 4Mb
// 28F128W30B   -> 16Mb
#define CYGOPT_FLASH_IS_SYNCHRONOUS     (1)
#define CYGOPT_FLASH_IS_BOOTBLOCK       (1)
#define CYGNUM_FLASH_DEVICES    (1)
#define CYGNUM_FLASH_BASE               (0x50000000u)

#if 1
        #define CYGNUM_FLASH_BASE_MASK  (0xFFC00000u)
#else
        #define CYGNUM_FLASH_BASE_MASK  (0xFF000000u)
#endif

#define CYGNUM_FLASH_WIDTH              (16)
#define CYGNUM_FLASH_BLANK              (1)


> What the heck does "strata" mean anyway?  In my ignorance, I assumed
> that
It's the name of their devices which have 2X bit density than usual
ones. Although for the flash/strata driver the 28Fxxx name would be more
appropriate but it's taken :)


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]