MTD on a Motorola MPCN765 ? (32 bit linux and 64 bit flash)
Jan.Rovins at radisys.com
Tue May 22 15:59:40 EDT 2001
Have been thinking about your suggestion about treating flash as
two entirely separate chip mappings. (Trying to understand all the
I guess that would mean:
setting up 2 map_info structs,
doing a cfi_probe on each one,
doing a add_mtd_device() on each one.
I was using partitions before, mostly to isolate & protect the boot image.
Can I have a setup that uses separately mapped devices and multiple
at the same time? (I am having trouble visualizing this)
Separate chip mappings also would imply that I would have to alter the
write() copy_to/from() functions to skip over the bytes that would show up
in the other mapping, since my address lines are wired up to treat the four
chips as one range.
is this what you had in mind by your suggestion?
From: David Woodhouse [mailto:dwmw2 at infradead.org]
Sent: Monday, May 21, 2001 9:16 PM
To: Jan Rovins
Cc: linux-mtd at lists.infradead.org; Steve Ferri
Subject: Re: MTD on a Motorola MPCN765 ? (32 bit linux and 64 bit flash)
Jan.Rovins at radisys.com said:
> But the recommendations I was given assume I am running Linux in 64
> bit mode, which I am not. My longs are still 32 bit,
> and I can now read the flash through MTD, but can't yet form commands
> to write and erase the upper two 16 bit flash devices. (To access
> those upper two devices I would have to add 0x04 to the unlock1,&2
> addresses) When using interleaved chips, are the commands always given
> to the whole bank simultaneously? Could I fake a 64 bit write by doing
> two 32 bit writes? Basically I will be reading & writing flash as a 32
> bit machine would, but faking up 64 bit commands. Would this work?
That should work.
But if you're doing that, why not just pretend that you have two entirely
separate chip mappings, with two entirely independent pairs of 16-bit chips
in them? Then you don't need to muck about with the 64-bit flash command
stuff. You just need to be aware that your bootloader will probably then be
split between the first erase block of each device. But that's easy enough
to deal with.
More information about the linux-mtd