This is the mail archive of the
ecos-discuss@sourceware.org
mailing list for the eCos project.
Strata flash driver status ?
- From: thierry langlais <thierry dot langlais at efixo dot com>
- To: Andrew Lunn <andrew at lunn dot ch>
- Cc: Shmuel Vagner <Shmuel dot Vagner at celeno dot com>, eCos Disuss <ecos-discuss at ecos dot sourceware dot org>
- Date: Wed, 05 Apr 2006 09:58:42 +0200
- Subject: [ECOS] Strata flash driver status ?
- References: <371110DD79C65F4D8AD5C5DF65CF25E60CB31E@mainserver.Wivision-Tech .com> <20060330195101.GC2676@lunn.ch>
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