MTD on MBX860

Anton Todorov a.todorov at emness.com
Tue Jul 10 13:22:51 EDT 2001


Hi,

I am using linuxppc_2_4 (2.4.6) with current mtd support from cvs tree.
The board is with JEDEC AMD 29F016 x4 flash chips (8M Flash space).
Map file which I use for this board is attached (I use rpxlite.c and 
tqm8xxl.c (for partitioning) as reference).
The problem I found is that mtd says:

"mtd: Failed. Cannot handle unsymetric banking"

I enabled some debug info in jedec.c (uncommenting some printks and add some) 
and found that it is looking for banked and find bank[0] is 8M bank[1] is 0M  
- realy unsymetric :)
but I think it is linear flash.
I worarounded it commentig one condition:

--- jedec.c.orig        Tue Jul 10 10:06:41 2001
+++ jedec.c     Tue Jul 10 10:07:41 2001
@@ -159,7 +159,7 @@
       are empty banks. Note, the last bank does not count here, only the
       first banks are important. Holes on non-bank boundaries can not exist
       due to the way the detection algorithm works. */
-   if (priv.size < my_bank_size)
+/*   if (priv.size < my_bank_size) */
       my_bank_size = priv.size;
    priv.is_banked = 0;
    //printk("priv.size is %x, my_bank_size is %x\n",priv.size,my_bank_size);

but I think it is not the right action ...

now flash and partitioning(I think ) is working:
fromm booting kernel:
<>
Motorola MBX flash device: 800000 at fe000000
        MTD Part: MBX flash 4*[AMD Am29F016]
MTD->erasesize is 40000
MTD->size is 800000
mtd: Giving out device 0 to MBX flash
Creating 3 MTD partitions on "MBX flash":
0x00000000-0x00080000 : "MBX flash BOOT partition"
mtd: Giving out device 1 to MBX flash BOOT partition
0x00080000-0x00600000 : "MBX flash DATA partition"
mtd: Giving out device 2 to MBX flash DATA partition
0x00600000-0x00800000 : "MBX flash APPLICATION partition"
mtd: Giving out device 3 to MBX flash APPLICATION partition
<>
sh-2.03# ./mtd_debug info /dev/mtd0
mtd.type = MTD_NORFLASH
mtd.flags = MTD_CAP_NORFLASH
mtd.size = 8388608 (8M)
mtd.erasesize = 262144 (256K)
mtd.oobblock = 0
mtd.oobsize = 0
mtd.ecctype = MTD_ECC_NONE
regions = 0
 
sh-2.03# ./mtd_debug info /dev/mtd1
mtd.type = MTD_NORFLASH
mtd.flags = MTD_CAP_NORFLASH
mtd.size = 524288 (512K)
mtd.erasesize = 262144 (256K)
mtd.oobblock = 0
mtd.oobsize = 0
mtd.ecctype = MTD_ECC_NONE
regions = 0
 
sh-2.03# ./mtd_debug info /dev/mtd2
mtd.type = MTD_NORFLASH
mtd.flags = MTD_CAP_NORFLASH
mtd.size = 5767168 (5M)
mtd.erasesize = 262144 (256K)
mtd.oobblock = 0
mtd.oobsize = 0
mtd.ecctype = MTD_ECC_NONE
regions = 0
 
sh-2.03# ./mtd_debug info /dev/mtd3
mtd.type = MTD_NORFLASH
mtd.flags = MTD_CAP_NORFLASH
mtd.size = 2097152 (2M)
mtd.erasesize = 262144 (256K)
mtd.oobblock = 0
mtd.oobsize = 0
mtd.ecctype = MTD_ECC_NONE
regions = 0

I managed to mount /dev/mtdblock3 as jffs and can create and delete files 
there.

My question is why jedec driver find it as banked?
maybe it is my fault in mbx860.c map file?
My patch is not the right solution curently I will add some ifdefs
to comment patched line when I am using MBX board.
also I found that the einfo utility is not working on this board
it says:
<>
sh-2.03# ./einfo /dev/mtd0
Device /dev/mtd0 has 0 erase regions
<>
but mtd_debug util is working ass seen above.
I have RPX Classic board with CFI AMD flash and same binary is working.

comments?

Best Regards,
Anton Todorov
Emness Technology
-------------- next part --------------
A non-text attachment was scrubbed...
Name: mbx860.c
Type: text/x-c
Size: 3241 bytes
Desc: not available
Url : http://lists.infradead.org/pipermail/linux-mtd/attachments/20010710/cf9486b9/attachment.bin 


More information about the linux-mtd mailing list