[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: Etrax 100Lx MCM8+2 + 2 external flashes



Hi,

ETRAX 100LX has two flash chip selects:

cse0: 0x00000000
cse1: 0x04000000

You can use two flashes on cse1 by adding external logic that
activates the first flash at 0x04000000 and the second at
0x04200000. So CE for the first flash is !(!CSE1 & !A21) and 
!(!CSE & A21) for the second. DeMorgan's theorem is useful 
to transform them into CSE1 |A21 and CSE1 |!A21.

There is one ETRAX customer who uses 4*8 MB on CSE1 :-)

/Mikael

-----Original Message-----
From: owner-dev-etrax@xxxxxxx.com">mailto:owner-dev-etrax@xxxxxxx.com] On
Behalf Of Johann Dantant
Sent: Wednesday, March 03, 2004 5:07 PM
To: dev-etrax
Subject: Etrax 100Lx MCM8+2 + 2 external flashes


Hi,

Our device is dedicated to long time event logging. Basically we use the
MCM
2+8 with an external flash. The kernel + romfs + jffs2 fits in the
internal
2MB flash, and an external 2MB flash is available as device /dev/cflash4
.

Here's the related ptablespec :
rescue 0x010000 ro          rescue    rescue.img
flash1 0x110000 ro          kernel    flash1.img
flash2 0x0e0000 rw          jffs2     flash2.img
logdev1 0x200000 rw          raw       param.img <-- empty file, not
actually written into the target flash device

Everything runs fine, the network boot loader sees both internal and
external flash (the external is CFI), the MTD driver discovers both
devices,
and /dev/cflash4 is available for reading and writing.

Now we want to add a second external 2MB flash, and have it discovered
as
/dev/cflash5 , adding for instance this line to ptablespec :
logdev2 0x200000 rw          raw       param.img

In the 2.4.22 kernel, the axisflashmap.c says that the flash_probe
function
will probe each chip select individually for flash chips (*chips*, not
chip), and that the only known restriction to how you can mount your
chips
is that each chip select must hold similar flash chips. But you need
external hardware to do that anyway [...].

So, my question is, how am I suppose to add the second external chip to
my
design ? Is there somewhere a reference design or an explanation of the
recommended hardware needed to do this ?

Best regards,

Johann DANTANT
PRO-ACTIVE SARL France