chip drivers

Jonas Holmberg jonas.holmberg at axis.com
Wed Feb 6 08:49:42 EST 2002


> > 0x00000000 - 0x003FFFFF 4MiB CFI chip
> > 0x00400000 - 0x005FFFFF 2MiB jedec only chip
> > 0x00600000 - 0x009FFFFF 4MiB CFI chip
> 
> You'd need three maps, three probe calls. Although I suppose you could have 
> a single map driver for the first and last chips where the access calls do 
> something like:
> 	return *(volatile __u32 *) (addr + (addr>0x400000?0x200000:0));
> 
> You probably don't want that though. Register them as three separate chips 
> and then use the partition code that's been fixed to let you combine ranges 
> of separate devices into one 'partition' rather than just split devices up.

Can you explain that a bit further? I can't figure out how use
add_mtd_partitions (current CVS) when I want to make a partition that
starts in one map and ends in another. Since the map is an argument to
app_mtd_partitions I must make two calls to add_mtd_partitions, right?
But how do I make add_mtd_partitions merge the start of the device (in
the endo of the first map) with the end of the device (in the beginning
of the other map)?

/Jonas





More information about the linux-mtd mailing list