[ECOS] Strata flash driver status ?

thierry langlais thierry.langlais@efixo.com
Wed Apr 5 07:58:00 GMT 2006


Hi Andrew,

I have to manage two strataflash on an ixpd425 board.
The range i have to address is 0x50000000 to 0x51FFFFFF.

What could you advice me to start ?
- on the flash_v2 branch
- on the currrent code
- another way

Thanks,

Thierry

Le jeudi 30 mars 2006 à 21:51 +0200, Andrew Lunn a écrit :
> On Thu, Mar 30, 2006 at 08:46:44PM +0200, Shmuel Vagner wrote:
> > Thierry (and list)
> > I had a similar problem with our custom IXP425 based board.
> > 
> > To test the second flash I did the following:
> > I compiled different ROM and RAM images:
> > In the ROM image:
> > 1 - I enabled CS1 with the same defaults as CS0:
> > In: cyg/hal/<your_platform_name>.h
> > #define IXP425_EXP_CS1_INIT \
> >  (EXP_ADDR_T(3) | EXP_SETUP_T(3) | EXP_STROBE_T(15) | EXP_HOLD_T(3) | \
> >   EXP_RECOVERY_T(15) | EXP_SZ_16M | EXP_WR_EN | EXP_BYTE_RD16 |
> > EXP_CS_EN)
> > 
> > 2 - I added the new flash range to the MMU:
> > In : hal_platform_setup.h
> > 	IXP_MAP_EXP 1, IXDP_FLASH_SIZE,       0, 0, 0, 0   // Flash1
> > (same as main flash)
> > 
> > Now the board can talk to the flash in CS1 but the flash driver does not
> > know about it.
> > 
> > In the RAM image:
> > 1 - I changed the flash base in two places:
> > In: <your_platform_name>.h
> > #define IXDP_FLASH_BASE                    0x51000000
> > In: your_platform_name_strataflash.inl
> > #define CYGNUM_FLASH_BASE 	(0x51000000u)
> > 
> > Then I burned the ROM image to flash and loaded the RAM image from net.
> > The result was that the ram image worked on the second flash (but was
> > blind to the first one).
> > 
> > The above procedure does not enable working on both flashes
> > simultaneously but allows checking that the second flash is OK.
> > 
> > I noticed some old mail from Andrew that explains that it is not
> > possible to work with two flashes on different CS simultaneously because
> > the flash region is not contiguous and that a new flash driver (called
> > flash_v2) that supports it is on the way. 
> > Does anybody know if this new flash driver is operational?
> 
> flash_v2 is not usable. However only three flash drivers have been
> modified to use it, Strata, AMD and ST. If you have one of these
> families on your board it should be straigh forward to use the
> flash_v2 branch. If you have a different flash chip you will need to
> work on the driver to make is support the flash_v2 API.
> 
> You also have another alternative. Since you have an MMU, you can use
> it to map the virtual address of the second flash so that it is
> contiguous with the first one. The existing flash code should then be
> able both devices.
> 
>         Andrew


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



More information about the Ecos-discuss mailing list