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


> > Now for some good, old fashioned, controversy.  :-)
> You're right, our dialog was getting boring :)
> 
> > I deliberately did not fold in your changes for
> > CYGNUM_FLASH_BASE_MASK.  My understanding of that parameter 
> is that it
> > exists to cope with oversized devices fitted with some high address
> 
> My understanding is that the mask is used to get the first 
> address of a
> chip (&ROM[0]) and that was the address clear_status, erase, lock etc
> commands were issued to, that is before the changes which directed the
> commands to specific blocks went in. So now it is still used in
> program_buf
> Other flash drivers use it for the same purpose if I'm not 
> mmistaken, so
> it is not used to tell how large the flash is but how large a 
> separately
> commanded part is.I think. So if I have 2 parts in series and I keep
> clearing the first one (if the mask spans both) that's not correct
> although it might work. I think that overfitting check uses the same
> define but it should use another which can be turned off separately.
> Otherwise on the edb7xxx where there are 2 parts in series 
> and are made
> contiguous using the MMU there's either no way of correctly commanding
> the second or it gets cut off by this check depending on whether the
> mask is set for one or both chips.
> 
Looking at this a little more closely, I see that the only other place that
CYGNUM_FLASH_BASE_MASK is used in my patched version of the driver is in
'flash_program_buf()'.  Looking at that a little more closely, I just
noticed that it is passed a 'block_mask' parameter, which is initialized to:

~(flash_info.block_size-1)

in "io/flash/current/src/flash.c".  Why don't I change 'flash_program_buf()'
to use this parameter and confine the use of this mask to the description
given in "strata.h".  If folks would prefer that I use some name other
'CYGNUM_FLASH_BASE_MASK' in order to capture the notion of fitting oversized
devices in a platform.

> I'd like to have a separate option for this. What do others 
> (Gary,Mark)
> say?
> 

> Also could you put in strata.h the nomenclature changes I sent in my
> first patch? C3 is not strata etc, those names are not what 
> intel calls
> them. Thanks
Oops, somehow in my manually applying patches, I lost that.  Is this more to
your liking?  (Did I miss another one someplace else?)
> 
> Jani
> 

Attachment: oops.diff
Description: Binary data


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