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
