porting flash
Hi all
I am porting mtd mapping driver to MXLADS board from motorola. It
embedded two 16bit 8MB AMD CFI flash to interleave 32 bit bus. I have set the geometry function on 2-chip interleave.
I have no idea on this oops, Do anybody have ideas on this?
Thanks for helping
elevator: using deadline as default io scheduler
NOR flash:(size->0x800000 mem->0x10000000)
NOR flash: try bankwidth 32bit, probing...
NOR Flash: Found 2 x16 devices at 0x0 in 32-bit bank
Amd/Fujitsu Extended Query Table at 0x0040
NOR Flash: CFI does not contain boot bank location. Assuming top. number of CFI chips: 1cfi_cmdset_0002: Disabling erase-suspend-program due to code brokenness. RedBoot partition parsing not available
NOR flash driver: Use static partition allocation
Creating 5 MTD partitions on "NOR Flash 1":
0x00000000-0x00100000 : "bootloader"
0x00100000-0x00300000 : "kernel"
0x00300000-0x00500000 : "System RFS"
0x00500000-0x00700000 : "User Application" 0x00700000-0x00800000 : "User Data"
Bluetooth: HCI UART driver ver 2.1
Bluetooth: HCI H4 protocol initialized
Bluetooth: HCI BCSP protocol initialized
NET: Registered protocol family 2
IP: routing cache hash table of 512 buckets, 4Kbytes
TCP: Hash tables configured (established 4096 bind 8192)
NET: Registered protocol family 1
Bluetooth: L2CAP ver 2.6
Bluetooth: L2CAP socket layer initialized
Bluetooth: RFCOMM ver 1.3
Bluetooth: RFCOMM socket layer initialized
Bluetooth: RFCOMM TTY layer initialized
Unable to handle kernel NULL pointer dereference at virtual address 00000000 pgd = c0004000 [00000000] *pgd=00000000 Internal error: Oops: 5 [#1] Modules linked in: CPU: 0 PC is at __wake_up_common+0x28/0x7c LR is at 0x0 pc : [<c00318e0>] lr : [<00000000>] Not tainted
sp : c035be4c ip : c035be78 fp : c035be74
r10: 00000003 r9 : 00000000 r8 : 00000000
r7 : c0198494 r6 : c035a000 r5 : c027dcf4 r4 : 00000001 r3 : 00000000 r2 : 00000001 r1 : 00000003 r0 : c027dcf4
Flags: nzcv IRQs off FIQs on Mode SVC_32 Segment kernel
Control: C000717F Table: 08004000 DAC: 0000001D Process mtdblockd (pid: 10, stack limit = 0xc035a190)
Stack: (0xc035be4c to 0xc035c000)
be40: c035a000 60000013 c035a000 c0198494c027dcd8
be60: c027dcd8 00000000 c035be90 c035be78 c0031974 c00318c8 00000000 00000000
be80: c027dca0 c035beb8 c035be94 c00fe5f4 c0031944 c027dca0 00000000 c027dca0
bea0: c035a000 00000200 c0198494 c035bf0c c035bebc c00fe848 c00fe4cc 00000000
bec0: 00000000 c027dca0 00300000 00300000 00000000 00000200 c027dca0 00000200
bee0: 00000000 00000000 00000200 00000000 00000200 c035bf54 00000000 c038c000
bf00: c035bf44 c035bf10 c00f7dec c00fe614 c035bf54 c038c000 00000001 c035bf44
bf20: 00000200 00000000 00000200 c0363de0 c038c000 00020000 c035bf80 c035bf48
bf40: c00fa818 c00f7d64 c035bf54 c038c000 c0347200 00000000 00000008 00000000
bf60: c038c000 c0198334 c035ef60 00000000 c0349304 c035bfa4 c035bf84 c00fabf4
bf80: c00fa750 c035ef70 c035a000 c035ef60 c035068c c0198334 c035bff4 c035bfa8
bfa0: c00fae58 c00fab94 00000000 c02cd560 c00318a0 00000000 00000000 00000000
bfc0: c02cd560 c00318a0 00000000 00000000 00000000 00000000 00000000 00000000
bfe0: 00000000 00000000 00000000 c035bff8 c0037c50 c00fac88 00000000 00000000
Backtrace: [<c00318b8>] (__wake_up_common+0x0/0x7c) from [<c0031974>] (__wake_up+0x40/0x64) [<c0031934>] (__wake_up+0x0/0x64) from [<c00fe5f4>] (put_chip+0x138/0x148) r5 = C027DCA0 r4 = 00000000 [<c00fe4bc>] (put_chip+0x0/0x148) from [<c00fe848>] (cfi_amdstd_read+0x244/0x2bc) r8 = C0198494 r7 = 00000200 r6 = C035A000 r5 = C027DCA0 r4 = 00000000 [<c00fe604>] (cfi_amdstd_read+0x0/0x2bc) from [<c00f7dec>] (part_read+0x98/0xcc) [<c00f7d54>] (part_read+0x0/0xcc) from [<c00fa818>] (do_cached_read+0xd8/0x10c) [<c00fa740>] (do_cached_read+0x0/0x10c) from [<c00fabf4>] (do_blktrans_request+0x70/0xf4) [<c00fab84>] (do_blktrans_request+0x0/0xf4) from [<c00fae58>] (mtd_blktrans_thread+0x1e0/0x278) r8 = C0198334 r7 = C035068C r6 = C035EF60 r5 = C035A000 r4 = C035EF70 [<c00fac78>] (mtd_blktrans_thread+0x0/0x278) from [<c0037c50>] (do_exit+0x0/0x534) Code: e1a0a001 e1a04002 e1a08003 e59b9004 (e59e7000) <0>Kernel panic - not syncing: Aiee, killing interrupt handler!
Dear all
I have added a line to cfi_cmdset_0002.c to solve the problem below.
Actually, i can not find any init wait queue in cmdset_0002, when i add it back , the problem solved. I get mess because there is no problem when i port another amdflash. Please correct me if i am wrong.
I am using unpatched linux-2.6.10
struct mtd_info *cfi_cmdset_0002(struct map_info *map, int primary)
............
for (i=0; i< cfi->numchips; i++) {
cfi->chips[i].word_write_time = 1<<cfi->cfiq->WordWriteTimeoutTyp;
cfi->chips[i].buffer_write_time = 1<<cfi->cfiq->BufWriteTimeoutTyp;
cfi->chips[i].erase_time = 1<<cfi->cfiq->BlockEraseTimeoutTyp;
init_waitqueue_head(&cfi->chips[i].wq); //line added by
mike,11/mar/2005
} best regard
Mike,Lee
Quoted 111 lines · mike lee
Hi all
I am porting mtd mapping driver to MXLADS board from motorola. It
embedded two 16bit 8MB AMD CFI flash to interleave 32 bit bus. I have set the geometry function on 2-chip interleave.
I have no idea on this oops, Do anybody have ideas on this?
Thanks for helpingelevator: using deadline as default io scheduler
NOR flash:(size->0x800000 mem->0x10000000)
NOR flash: try bankwidth 32bit, probing...
NOR Flash: Found 2 x16 devices at0x0in 32-bit bank Amd/Fujitsu Extended Query Table at0x0040
NOR Flash: CFI does not contain boot bank location. Assuming top. number of CFI chips: 1cfi_cmdset_0002: Disabling erase-suspend-program due to code brokenness. RedBoot partition parsing not available
NOR flash driver: Use static partition allocation
Creating 5 MTD partitions on "NOR Flash 1":
0x00000000-0x00100000 : "bootloader"
0x00100000-0x00300000 : "kernel"
0x00300000-0x00500000 : "System RFS"
0x00500000-0x00700000 : "User Application" 0x00700000-0x00800000 : "User Data"
Bluetooth: HCI UART driver ver 2.1
Bluetooth: HCI H4 protocol initialized
Bluetooth: HCI BCSP protocol initialized
NET: Registered protocol family 2
IP: routing cache hash table of 512 buckets, 4Kbytes
TCP: Hash tables configured (established 4096 bind 8192)
NET: Registered protocol family 1
Bluetooth: L2CAP ver 2.6
Bluetooth: L2CAP socket layer initialized
Bluetooth: RFCOMM ver 1.3
Bluetooth: RFCOMM socket layer initialized
Bluetooth: RFCOMM TTY layer initializedUnable to handle kernel NULL pointer dereference at virtual address 00000000 pgd = c0004000 [00000000] *pgd=00000000 Internal error: Oops: 5 [#1] Modules linked in: CPU: 0 PC is at __wake_up_common+0x28/0x7c LR is at 0x0 pc : [<c00318e0>] lr : [<00000000>] Not taintedsp :
c035be4cip :c035be78fp :c035be74
r10: 00000003 r9 : 00000000 r8 : 00000000
r7 :c0198494r6 :c035a000r5 :c027dcf4r4 : 00000001 r3 : 00000000 r2 : 00000001 r1 : 00000003 r0 :c027dcf4
Flags: nzcv IRQs off FIQs on ModeSVC_32Segment kernel
Control: C000717F Table: 08004000 DAC: 0000001D Process mtdblockd (pid: 10, stack limit =0xc035a190)Stack: (0xc035be4c to 0xc035c000)be40:
c035a00060000013c035a000c0198494c027dcd8
be60:c027dcd800000000c035be90c035be78c0031974c00318c800000000 00000000
be80:c027dca0c035beb8c035be94c00fe5f4c0031944c027dca000000000c027dca0
bea0:c035a00000000200c0198494c035bf0cc035bebcc00fe848c00fe4cc00000000
bec0: 00000000c027dca000300000 00300000 00000000 00000200c027dca000000200
bee0: 00000000 00000000 00000200 00000000 00000200c035bf5400000000c038c000
bf00:c035bf44c035bf10c00f7decc00fe614c035bf54c038c00000000001c035bf44
bf20: 00000200 00000000 00000200c0363de0c038c00000020000c035bf80c035bf48
bf40:c00fa818c00f7d64c035bf54c038c000c034720000000000 00000008 00000000
bf60:c038c000c0198334c035ef6000000000c0349304c035bfa4c035bf84c00fabf4
bf80:c00fa750c035ef70c035a000c035ef60c035068cc0198334c035bff4c035bfa8
bfa0:c00fae58c00fab9400000000c02cd560c00318a000000000 00000000 00000000
bfc0:c02cd560c00318a000000000 00000000 00000000 00000000 00000000 00000000
bfe0: 00000000 00000000 00000000c035bff8c0037c50c00fac8800000000 00000000Backtrace: [<c00318b8>] (__wake_up_common+0x0/0x7c) from [<c0031974>] (__wake_up+0x40/0x64) [<c0031934>] (__wake_up+0x0/0x64) from [<c00fe5f4>] (put_chip+0x138/0x148)r5 = C027DCA0 r4 = 00000000
[<c00fe4bc>] (put_chip+0x0/0x148) from [<c00fe848>] (cfi_amdstd_read+0x244/0x2bc)
r8 = C0198494 r7 = 00000200 r6 = C035A000 r5 = C027DCA0 r4 = 00000000
[<c00fe604>] (cfi_amdstd_read+0x0/0x2bc) from [<c00f7dec>] (part_read+0x98/0xcc)
[<c00f7d54>] (part_read+0x0/0xcc) from [<c00fa818>] (do_cached_read+0xd8/0x10c)
[<c00fa740>] (do_cached_read+0x0/0x10c) from [<c00fabf4>] (do_blktrans_request+0x70/0xf4)
[<c00fab84>] (do_blktrans_request+0x0/0xf4) from [<c00fae58>] (mtd_blktrans_thread+0x1e0/0x278)
r8 = C0198334 r7 = C035068C r6 = C035EF60 r5 = C035A000 r4 = C035EF70
[<c00fac78>] (mtd_blktrans_thread+0x0/0x278) from [<c0037c50>] (do_exit+0x0/0x534)Code: e1a0a001 e1a04002 e1a08003 e59b9004 (e59e7000)<0>Kernel panic - not syncing: Aiee, killing interrupt handler!
______________________________________________________
Linux MTD discussion mailing list
http://lists.infradead.org/mailman/listinfo/linux-mtd/