public inbox for linux-mtd@lists.infradead.org
 help / color / mirror / Atom feed
* Cfi can't probe the flash(am29lv320db)
@ 2005-07-01  7:03 red dot
  2005-07-05  9:04 ` Koen Martens
  0 siblings, 1 reply; 3+ messages in thread
From: red dot @ 2005-07-01  7:03 UTC (permalink / raw)
  To: linux-mtd

If i use "map_rom" to probe the flash, the kernel can run normally.
When i probe it with "cfi_probe", it can be found.

Following the messages:

CPU: ARM720T [41807202] revision 2 (ARMv4T)
Machine: Hynix HMS30C7202
Warning: bad configuration page, trying to continue
Memory policy: ECC disabled, Data cache writeback
Built 1 zonelists
Kernel command line: console=ttyS2,57600 mem=8M rootfstype=romfs
root=/dev/mtdblock2 ro
Trying to install chained handler for IRQ16
PID hash table entries: 64 (order: 6, 1024 bytes)
Console: colour dummy device 80x30
Dentry cache hash table entries: 2048 (order: 1, 8192 bytes)
Inode-cache hash table entries: 1024 (order: 0, 4096 bytes)
Memory: 8MB = 8MB total
Memory: 6784KB available (991K code, 237K data, 52K init)
Mount-cache hash table entries: 512 (order: 0, 4096 bytes)
CPU: Testing write buffer coherency: ok
Linux NoNET1.0 for Linux 2.6
NetWinder Floating Point Emulator V0.97 (double precision)
JFFS2 version 2.2. (C) 2001-2003 Red Hat, Inc.
Initializing Cryptographic API
h720x Framebuffer driver
h720xfb_init_fbinfo
h720xfb_set_par
var: xres=320 hslen=4 lm=0 rm=0
var: yres=240 vslen=0 um=0 bm=0
h720xfb_check_var
var->bits_per_pixel=4
RGBT length = 8:8:8:0
RGBT offset = 0:0:0:0
h7202 PS/2 port driver
Serial: 8250/16550 driver $Revision: 1.90 $ 8 ports, IRQ sharing disabled
ttyS0 at MMIO 0x0 (irq = 8) is a 16550A
ttyS1 at MMIO 0x0 (irq = 9) is a 16550A
ttyS2 at MMIO 0x0 (irq = 10) is a 16550A
ttyS3 at MMIO 0x0 (irq = 11) is a 16550A
Using anticipatory io scheduler
H720x remap virt=c1080000
H720x-MTD probing 16bit FLASH
file:drivers/mtd/chips/cfi_probe.c line:70 base=0
file:drivers/mtd/chips/cfi_probe.c line:86 
file:drivers/mtd/chips/cfi_probe.c line:88 
Unable to handle kernel paging request at virtual address c1080055
pgd = c0004000
[c1080055] *pgd=4019f031, *pte=000000a3, *ppte=00000552
Internal error: Oops: 1a00081f [#1]
Modules linked in:
CPU: 0
PC is at cfi_probe_chip+0x2c8/0x10d8
LR is at cfi_probe_chip+0x248/0x10d8
pc : [<c00ead84>]    lr : [<c00ead04>]    Not tainted
sp : c01a3eb0  ip : 00000000  fp : c01a3f34
r10: 00000000  r9 : 00000055  r8 : c01a3f3c
r7 : 00000002  r6 : c0122d38  r5 : 00000001  r4 : 00000002
r3 : c1080000  r2 : 00000098  r1 : 00000002  r0 : 00000001
Flags: nZCv  IRQs on  FIQs on  Mode SVC_32  Segment kernel
Control: 217F  Table: 4000401D  DAC: 0000001D
Process swapper (pid: 1, stack limit = 0xc01a2190)
Stack: (0xc01a3eb0 to 0xc01a4000)
3ea0:                                     0000001e c01a3f34 c01a3ec4 c0016ac0 
3ec0: c0017c38 00000000 0000000d 00000000 00000020 c0147920 00002702 00000020 
3ee0: c013c930 00000003 00000000 0000001e c01a3f34 00000002 c01a3f0c c01a3f34 
3f00: 00000098 000000ff 000000f0 00000001 00000002 00000000 c0014d38 c0122d38 
3f20: c01a3f3c c0122c9c c01a3f9c c01a3f38 c00f06c8 c00eaacc 00000763 00000000 
3f40: 00000000 00000001 00000001 00000000 00000000 00000000 00000000 00000000 
3f60: 00000000 00000000 00000000 00000000 00000000 c0122c84 c010b284 c0122d38 
3f80: c0014d38 00000000 00000000 00000000 c01a3fb8 c01a3fa0 c00ea6f8 c00f0658 
3fa0: c0122d38 c01a2000 00000000 c01a3fd4 c01a3fbc c00135dc c00ea6b0 c0014d1c 
3fc0: c01a2000 00000000 c01a3ff4 c01a3fd8 c00150e0 c001355c 00000000 00000000 
3fe0: 00000000 00000000 00000000 c01a3ff8 c002b030 c0015064 00000000 00000000 
Backtrace: 
[<c00eaabc>] (cfi_probe_chip+0x0/0x10d8) from [<c00f06c8>]
(mtd_do_chip_probe+0x80/0x304)
[<c00f0648>] (mtd_do_chip_probe+0x0/0x304) from [<c00ea6f8>]
(do_map_probe+0x58/0xa0)
[<c00ea6a0>] (do_map_probe+0x0/0xa0) from [<c00135dc>]
(h720x_mtd_init+0x90/0x164)
 r6 = 00000000  r5 = C01A2000  r4 = C0122D38 
[<c001354c>] (h720x_mtd_init+0x0/0x164) from [<c00150e0>] (init+0x8c/0x1c8)
 r6 = 00000000  r5 = C01A2000  r4 = C0014D1C 
[<c0015054>] (init+0x0/0x1c8) from [<c002b030>] (do_exit+0x0/0xae4)
 r7 = 00000000  r6 = 00000000  r5 = 00000000  r4 = 00000000
Code: 07c32009 0a000006 e3530002 0596300c (018320b9) 
 <0>Kernel panic - not syncing: Attempted to kill init!
 
The kernel is broken at cfi_send_gen_cmd(0x98, 0x55, base, map, cfi,
cfi->device_type, NULL).

Thanks

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: Cfi can't probe the flash(am29lv320db)
  2005-07-01  7:03 Cfi can't probe the flash(am29lv320db) red dot
@ 2005-07-05  9:04 ` Koen Martens
  2005-07-06  5:57   ` red dot
  0 siblings, 1 reply; 3+ messages in thread
From: Koen Martens @ 2005-07-05  9:04 UTC (permalink / raw)
  To: red dot; +Cc: linux-mtd

Hi,

I had something similar happening, with some broken chip. The problem
was that the chip reported (through CFI) that it was 2mbyte, whereas in
reality it was only 512kbytes (which was also the size of the mapping of
the chip's address space in the linux address space). If this happens,
the cfi probe routine skips certain initialisations, most notably the
base offset and the wakeup queue are not initialized properly. The chip
is registered nonetheles..

Result: as soon as I accessed the flash -> kernel panic.

Just my 2 cents..

Koen

red dot wrote:
> If i use "map_rom" to probe the flash, the kernel can run normally.
> When i probe it with "cfi_probe", it can be found.
> 
> Following the messages:
> 
> CPU: ARM720T [41807202] revision 2 (ARMv4T)
> Machine: Hynix HMS30C7202
> Warning: bad configuration page, trying to continue
> Memory policy: ECC disabled, Data cache writeback
> Built 1 zonelists
> Kernel command line: console=ttyS2,57600 mem=8M rootfstype=romfs
> root=/dev/mtdblock2 ro
> Trying to install chained handler for IRQ16
> PID hash table entries: 64 (order: 6, 1024 bytes)
> Console: colour dummy device 80x30
> Dentry cache hash table entries: 2048 (order: 1, 8192 bytes)
> Inode-cache hash table entries: 1024 (order: 0, 4096 bytes)
> Memory: 8MB = 8MB total
> Memory: 6784KB available (991K code, 237K data, 52K init)
> Mount-cache hash table entries: 512 (order: 0, 4096 bytes)
> CPU: Testing write buffer coherency: ok
> Linux NoNET1.0 for Linux 2.6
> NetWinder Floating Point Emulator V0.97 (double precision)
> JFFS2 version 2.2. (C) 2001-2003 Red Hat, Inc.
> Initializing Cryptographic API
> h720x Framebuffer driver
> h720xfb_init_fbinfo
> h720xfb_set_par
> var: xres=320 hslen=4 lm=0 rm=0
> var: yres=240 vslen=0 um=0 bm=0
> h720xfb_check_var
> var->bits_per_pixel=4
> RGBT length = 8:8:8:0
> RGBT offset = 0:0:0:0
> h7202 PS/2 port driver
> Serial: 8250/16550 driver $Revision: 1.90 $ 8 ports, IRQ sharing disabled
> ttyS0 at MMIO 0x0 (irq = 8) is a 16550A
> ttyS1 at MMIO 0x0 (irq = 9) is a 16550A
> ttyS2 at MMIO 0x0 (irq = 10) is a 16550A
> ttyS3 at MMIO 0x0 (irq = 11) is a 16550A
> Using anticipatory io scheduler
> H720x remap virt=c1080000
> H720x-MTD probing 16bit FLASH
> file:drivers/mtd/chips/cfi_probe.c line:70 base=0
> file:drivers/mtd/chips/cfi_probe.c line:86 
> file:drivers/mtd/chips/cfi_probe.c line:88 
> Unable to handle kernel paging request at virtual address c1080055
> pgd = c0004000
> [c1080055] *pgd=4019f031, *pte=000000a3, *ppte=00000552
> Internal error: Oops: 1a00081f [#1]
> Modules linked in:
> CPU: 0
> PC is at cfi_probe_chip+0x2c8/0x10d8
> LR is at cfi_probe_chip+0x248/0x10d8
> pc : [<c00ead84>]    lr : [<c00ead04>]    Not tainted
> sp : c01a3eb0  ip : 00000000  fp : c01a3f34
> r10: 00000000  r9 : 00000055  r8 : c01a3f3c
> r7 : 00000002  r6 : c0122d38  r5 : 00000001  r4 : 00000002
> r3 : c1080000  r2 : 00000098  r1 : 00000002  r0 : 00000001
> Flags: nZCv  IRQs on  FIQs on  Mode SVC_32  Segment kernel
> Control: 217F  Table: 4000401D  DAC: 0000001D
> Process swapper (pid: 1, stack limit = 0xc01a2190)
> Stack: (0xc01a3eb0 to 0xc01a4000)
> 3ea0:                                     0000001e c01a3f34 c01a3ec4 c0016ac0 
> 3ec0: c0017c38 00000000 0000000d 00000000 00000020 c0147920 00002702 00000020 
> 3ee0: c013c930 00000003 00000000 0000001e c01a3f34 00000002 c01a3f0c c01a3f34 
> 3f00: 00000098 000000ff 000000f0 00000001 00000002 00000000 c0014d38 c0122d38 
> 3f20: c01a3f3c c0122c9c c01a3f9c c01a3f38 c00f06c8 c00eaacc 00000763 00000000 
> 3f40: 00000000 00000001 00000001 00000000 00000000 00000000 00000000 00000000 
> 3f60: 00000000 00000000 00000000 00000000 00000000 c0122c84 c010b284 c0122d38 
> 3f80: c0014d38 00000000 00000000 00000000 c01a3fb8 c01a3fa0 c00ea6f8 c00f0658 
> 3fa0: c0122d38 c01a2000 00000000 c01a3fd4 c01a3fbc c00135dc c00ea6b0 c0014d1c 
> 3fc0: c01a2000 00000000 c01a3ff4 c01a3fd8 c00150e0 c001355c 00000000 00000000 
> 3fe0: 00000000 00000000 00000000 c01a3ff8 c002b030 c0015064 00000000 00000000 
> Backtrace: 
> [<c00eaabc>] (cfi_probe_chip+0x0/0x10d8) from [<c00f06c8>]
> (mtd_do_chip_probe+0x80/0x304)
> [<c00f0648>] (mtd_do_chip_probe+0x0/0x304) from [<c00ea6f8>]
> (do_map_probe+0x58/0xa0)
> [<c00ea6a0>] (do_map_probe+0x0/0xa0) from [<c00135dc>]
> (h720x_mtd_init+0x90/0x164)
>  r6 = 00000000  r5 = C01A2000  r4 = C0122D38 
> [<c001354c>] (h720x_mtd_init+0x0/0x164) from [<c00150e0>] (init+0x8c/0x1c8)
>  r6 = 00000000  r5 = C01A2000  r4 = C0014D1C 
> [<c0015054>] (init+0x0/0x1c8) from [<c002b030>] (do_exit+0x0/0xae4)
>  r7 = 00000000  r6 = 00000000  r5 = 00000000  r4 = 00000000
> Code: 07c32009 0a000006 e3530002 0596300c (018320b9) 
>  <0>Kernel panic - not syncing: Attempted to kill init!
>  
> The kernel is broken at cfi_send_gen_cmd(0x98, 0x55, base, map, cfi,
> cfi->device_type, NULL).


-- 
K.F.J. Martens, Sonologic, http://www.sonologic.nl/
Networking, hosting, embedded systems, unix, artificial intelligence.
Public PGP key: http://www.metro.cx/pubkey-gmc.asc
Wondering about the funny attachment your mail program
can't read? Visit http://www.openpgp.org/

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: Cfi can't probe the flash(am29lv320db)
  2005-07-05  9:04 ` Koen Martens
@ 2005-07-06  5:57   ` red dot
  0 siblings, 0 replies; 3+ messages in thread
From: red dot @ 2005-07-06  5:57 UTC (permalink / raw)
  To: Koen Martens; +Cc: linux-mtd

hi,
I have found the point which was caused by the 'cfi->device_type'. I
am using the 16bit flash, but the 8bit  device type is default. I
changed the 'cfi->device_type' value and it has work well.

Thank again.

2005/7/5, Koen Martens <gmc@sonologic.nl>:
> Hi,
> 
> I had something similar happening, with some broken chip. The problem
> was that the chip reported (through CFI) that it was 2mbyte, whereas in
> reality it was only 512kbytes (which was also the size of the mapping of
> the chip's address space in the linux address space). If this happens,
> the cfi probe routine skips certain initialisations, most notably the
> base offset and the wakeup queue are not initialized properly. The chip
> is registered nonetheles..
> 
> Result: as soon as I accessed the flash -> kernel panic.
> 
> Just my 2 cents..
> 
> Koen
> 
> red dot wrote:
> > If i use "map_rom" to probe the flash, the kernel can run normally.
> > When i probe it with "cfi_probe", it can be found.
> >
> > Following the messages:
> >
> > CPU: ARM720T [41807202] revision 2 (ARMv4T)
> > Machine: Hynix HMS30C7202
> > Warning: bad configuration page, trying to continue
> > Memory policy: ECC disabled, Data cache writeback
> > Built 1 zonelists
> > Kernel command line: console=ttyS2,57600 mem=8M rootfstype=romfs
> > root=/dev/mtdblock2 ro
> > Trying to install chained handler for IRQ16
> > PID hash table entries: 64 (order: 6, 1024 bytes)
> > Console: colour dummy device 80x30
> > Dentry cache hash table entries: 2048 (order: 1, 8192 bytes)
> > Inode-cache hash table entries: 1024 (order: 0, 4096 bytes)
> > Memory: 8MB = 8MB total
> > Memory: 6784KB available (991K code, 237K data, 52K init)
> > Mount-cache hash table entries: 512 (order: 0, 4096 bytes)
> > CPU: Testing write buffer coherency: ok
> > Linux NoNET1.0 for Linux 2.6
> > NetWinder Floating Point Emulator V0.97 (double precision)
> > JFFS2 version 2.2. (C) 2001-2003 Red Hat, Inc.
> > Initializing Cryptographic API
> > h720x Framebuffer driver
> > h720xfb_init_fbinfo
> > h720xfb_set_par
> > var: xres=320 hslen=4 lm=0 rm=0
> > var: yres=240 vslen=0 um=0 bm=0
> > h720xfb_check_var
> > var->bits_per_pixel=4
> > RGBT length = 8:8:8:0
> > RGBT offset = 0:0:0:0
> > h7202 PS/2 port driver
> > Serial: 8250/16550 driver $Revision: 1.90 $ 8 ports, IRQ sharing disabled
> > ttyS0 at MMIO 0x0 (irq = 8) is a 16550A
> > ttyS1 at MMIO 0x0 (irq = 9) is a 16550A
> > ttyS2 at MMIO 0x0 (irq = 10) is a 16550A
> > ttyS3 at MMIO 0x0 (irq = 11) is a 16550A
> > Using anticipatory io scheduler
> > H720x remap virt=c1080000
> > H720x-MTD probing 16bit FLASH
> > file:drivers/mtd/chips/cfi_probe.c line:70 base=0
> > file:drivers/mtd/chips/cfi_probe.c line:86
> > file:drivers/mtd/chips/cfi_probe.c line:88
> > Unable to handle kernel paging request at virtual address c1080055
> > pgd = c0004000
> > [c1080055] *pgd=4019f031, *pte=000000a3, *ppte=00000552
> > Internal error: Oops: 1a00081f [#1]
> > Modules linked in:
> > CPU: 0
> > PC is at cfi_probe_chip+0x2c8/0x10d8
> > LR is at cfi_probe_chip+0x248/0x10d8
> > pc : [<c00ead84>]    lr : [<c00ead04>]    Not tainted
> > sp : c01a3eb0  ip : 00000000  fp : c01a3f34
> > r10: 00000000  r9 : 00000055  r8 : c01a3f3c
> > r7 : 00000002  r6 : c0122d38  r5 : 00000001  r4 : 00000002
> > r3 : c1080000  r2 : 00000098  r1 : 00000002  r0 : 00000001
> > Flags: nZCv  IRQs on  FIQs on  Mode SVC_32  Segment kernel
> > Control: 217F  Table: 4000401D  DAC: 0000001D
> > Process swapper (pid: 1, stack limit = 0xc01a2190)
> > Stack: (0xc01a3eb0 to 0xc01a4000)
> > 3ea0:                                     0000001e c01a3f34 c01a3ec4 c0016ac0
> > 3ec0: c0017c38 00000000 0000000d 00000000 00000020 c0147920 00002702 00000020
> > 3ee0: c013c930 00000003 00000000 0000001e c01a3f34 00000002 c01a3f0c c01a3f34
> > 3f00: 00000098 000000ff 000000f0 00000001 00000002 00000000 c0014d38 c0122d38
> > 3f20: c01a3f3c c0122c9c c01a3f9c c01a3f38 c00f06c8 c00eaacc 00000763 00000000
> > 3f40: 00000000 00000001 00000001 00000000 00000000 00000000 00000000 00000000
> > 3f60: 00000000 00000000 00000000 00000000 00000000 c0122c84 c010b284 c0122d38
> > 3f80: c0014d38 00000000 00000000 00000000 c01a3fb8 c01a3fa0 c00ea6f8 c00f0658
> > 3fa0: c0122d38 c01a2000 00000000 c01a3fd4 c01a3fbc c00135dc c00ea6b0 c0014d1c
> > 3fc0: c01a2000 00000000 c01a3ff4 c01a3fd8 c00150e0 c001355c 00000000 00000000
> > 3fe0: 00000000 00000000 00000000 c01a3ff8 c002b030 c0015064 00000000 00000000
> > Backtrace:
> > [<c00eaabc>] (cfi_probe_chip+0x0/0x10d8) from [<c00f06c8>]
> > (mtd_do_chip_probe+0x80/0x304)
> > [<c00f0648>] (mtd_do_chip_probe+0x0/0x304) from [<c00ea6f8>]
> > (do_map_probe+0x58/0xa0)
> > [<c00ea6a0>] (do_map_probe+0x0/0xa0) from [<c00135dc>]
> > (h720x_mtd_init+0x90/0x164)
> >  r6 = 00000000  r5 = C01A2000  r4 = C0122D38
> > [<c001354c>] (h720x_mtd_init+0x0/0x164) from [<c00150e0>] (init+0x8c/0x1c8)
> >  r6 = 00000000  r5 = C01A2000  r4 = C0014D1C
> > [<c0015054>] (init+0x0/0x1c8) from [<c002b030>] (do_exit+0x0/0xae4)
> >  r7 = 00000000  r6 = 00000000  r5 = 00000000  r4 = 00000000
> > Code: 07c32009 0a000006 e3530002 0596300c (018320b9)
> >  <0>Kernel panic - not syncing: Attempted to kill init!
> >
> > The kernel is broken at cfi_send_gen_cmd(0x98, 0x55, base, map, cfi,
> > cfi->device_type, NULL).
> 
> --
> K.F.J. Martens, Sonologic, http://www.sonologic.nl/
> Networking, hosting, embedded systems, unix, artificial intelligence.
> Public PGP key: http://www.metro.cx/pubkey-gmc.asc
> Wondering about the funny attachment your mail program
> can't read? Visit http://www.openpgp.org/
>

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2005-07-06  5:57 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2005-07-01  7:03 Cfi can't probe the flash(am29lv320db) red dot
2005-07-05  9:04 ` Koen Martens
2005-07-06  5:57   ` red dot

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox