This is the mail archive of the ecos-discuss@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: Flash detection


On Mon, 2003-11-10 at 11:00, Jay Foster wrote:
> You might want to check your configuration.  You state that you are using 2
> (16-bit?) devices in parallel to form a 32-bit wide device.
> 
> You should probably define
> 	#define CYGNUM_FLASH_INTERLEAVE (2)    // 2 devices in parallel
> 	#define CYGNUM_FLASH_SERIES     (1)    // Only one series
> 	#define CYGNUM_FLASH_WIDTH      (16)   // Each device is 16-bits
> wide
> 
> I'm not sure if CYGNUM_FLASH_DEVICES needs to be 2 or 1 in your case, as the
> driver does some automatic arithmetic when the CYGNUM_FLASH_INTERLEAVE is 2.


This setup is correct for 2 16-bit devices in parallel, behaving like
one 32-bit device.  Indeed, the extra stuff done by the driver is just
what's needed to make both devices work in parallel.

> Jay
> 
> -----Original Message-----
> From: M.Eugenia G.Valdecasas [mailto:valdecasas@isar-tec.com]
> Sent: Monday, November 10, 2003 9:01 AM
> To: Gary Thomas
> Cc: ecos-discuss@sources.redhat.com
> Subject: Re: [ECOS] Flash detection
> 
> 
> > The driver could not get your device to go into "identify" mode.
> > This can happen for many reasons:
> >   * FLASH is write protected (the "write" signal is not allowed)
> 
> The write signal is allowed, actually the flash enters the query mode 
> and read ID mode succesfully. We have traced it with a logic state 
> analyzer. we can see all this data string : 0x00890089, 0x00180018, 
> 0x00510051 and blah blah blah....
> I can't understand why all the information is in the bus (apparently 
> succesfull read query and ID process) but the driver is still saying 
> that can't not recognise the device...
> 
> 
> >   * You've configured the driver incorrectly.  You say that you have
> >     2x16 FLASH - what does that mean [to you]?  Show us your
> >     configuration lines from the driver include files.
> > 
> 
> Sorry, I didn't express it correctly... what I meant is that we have 
> two devices in parallel to form a 32 bit path 
> 
> The configuration lines are:
> 
> in altair_strataflash.inl->
> 
> #define CYGNUM_FLASH_DEVICES     (2)
> #define CYGNUM_FLASH_BASE        (0x00000000u)
> #define CYGNUM_FLASH_BASE_MASK   (0xFE000000u) // 2 * 16Mb devices
> #define CYGNUM_FLASH_WIDTH       (16)
> #define CYGNUM_FLASH_BLANK       (1)
> 
> #define FLASH_P2V(x) ((volatile flash_t *)(((unsigned)(x) < 0x1000) ? \
>                              ((unsigned)(x) | 0xa0000000) : \
>                              (unsigned)(x)))
> 
> 
> 
> 
> 
> 
> > Note: the iPAQ flash is 2 devices organized in parallel to form a
> > 32 bit path.  It might be a good place to look for assistance.
> > 
> > --
> > Gary Thomas <gary@mlbassoc.com>
> > MLB Associates
> 
> 
> 
> On 2003.11.10 16:20, Gary Thomas wrote:
> > On Mon, 2003-11-10 at 07:29, M.Eugenia G.Valdecasas wrote:
> > > Hi, I recompiled redboot to use in our board. It has a PXA255
> > processor
> > > with 2x16 Intel 28F128J3 Flash. I use the strata flash drivers from
> > > intel.
> > > I upload redboot to the board with the JTAG tools but on starting
> > comes
> > > an error message:
> > >
> > >
> > > +Can't identify FLASH, sorry, man e, dev 1e, id [<Not a string:
> > > 0xA000CAFC>] stat 0
> > > A000CAEC: 0E 1E B0 AB 0E 1E C0 AB  0E 1E D0 AB 0E 1E E0 AB
> > > |................|
> > > A000CAFC: 0E 1E F0 AB 00 00 00 00  00 00 00 00 00 00 00 00
> > > |................|
> > > A000CB0C: 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00
> > > |................|
> > > A000CB1C: 00 00 00 00
> > > |....            |
> > > FLASH: driver init failed: Unknown error
> > >
> > > I tried the possible solutions named on the mailing list, like in
> > > strata.c change the line  "if ( (qp->manuf_code ==
> > FLASH_Intel_code)"
> > > for "if(1 ", to define CYGHWR_IO_FLASH_DEVICE_NOT_IN_RAM and to
> > change
> > > the CNT into a higher value. But I still get the same error and it
> > does
> > > not go on.
> > >
> > > Have anybody any ideas what is it happening?. I would really
> > appreciate
> > > any help. Thank you in advance,
> > 
> > 
> > 
> 
> -- 
> Before posting, please read the FAQ: http://sources.redhat.com/fom/ecos
> and search the list archive: http://sources.redhat.com/ml/ecos-discuss
-- 
Gary Thomas <gary@mlbassoc.com>
MLB Associates


-- 
Before posting, please read the FAQ: http://sources.redhat.com/fom/ecos
and search the list archive: http://sources.redhat.com/ml/ecos-discuss


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