Skip to contentSkip to conversation

XIP Kernel freeze

DISCUSSION Darius 2 participants 3 messages Jul 23, 2008 – Jul 29, 2008 Memory technology devices (MTD)

lore
Share & tools
lore

Darius

author
#0 lore raw

Hi All,

I'm using XIP kernel on i.MXL board MXLADS V2.0
This board has two 16bit NOR Flahs devices configured as one 32bit memory. Overall 32Mbytes Flash. Memory chips are Spansion S29PL127.

kernel freezes when booting on this line from cfi_probe.c:

cfi_send_gen_cmd(0xF0, 0, base, map, cfi, cfi->device_type, NULL); cfi_send_gen_cmd(0xFF, 0, base, map, cfi, cfi->device_type, NULL); --->>> cfi_send_gen_cmd(0x98, 0x55, base, map, cfi, cfi->device_type, NULL);

First two commands are sent successful, but after last one kernel freezes.
This happens almost everytime when booting kernel, but not allways.
Sometimes, very rare, kernel is booting normaly.
When kernel is booted successful, everything works ok - i can write and erase to and from flash memory.

Where can be a problem? Is it possible that it is caused by hardware?

author
#1 lore raw
Quoted 12 lines · Darius

Hi All,

I'm using XIP kernel on i.MXL board MXLADS V2.0
This board has two 16bit NOR Flahs devices configured as one 32bit memory. Overall 32Mbytes Flash. Memory chips are Spansion S29PL127.

kernel freezes when booting on this line from cfi_probe.c:

cfi_send_gen_cmd(0xF0, 0, base, map, cfi, cfi->device_type, NULL); cfi_send_gen_cmd(0xFF, 0, base, map, cfi, cfi->device_type, NULL); --->>> cfi_send_gen_cmd(0x98, 0x55, base, map, cfi, cfi->device_type, NULL);

Quoted 7 lines

First two commands are sent successful, but after last one kernel freezes.
This happens almost everytime when booting kernel, but not allways.
Sometimes, very rare, kernel is booting normaly.
When kernel is booted successful, everything works ok - i can write and erase to and from flash memory.

Where can be a problem? Is it possible that it is caused by hardware?

kernel is 2.6.26-git7
when compiling, I'm getting such warnings:

CC drivers/mtd/chips/cfi_probe.o
/tmp/cc4TCFuE.s: Assembler messages:
/tmp/cc4TCFuE.s:56: Warning: ignoring changed section attributes for .data
CC drivers/mtd/chips/cfi_util.o
/tmp/ccisjcki.s: Assembler messages:
/tmp/ccisjcki.s:295: Warning: ignoring changed section attributes for .data
CC drivers/mtd/chips/cfi_cmdset_0002.o
/tmp/cc9DRNfF.s: Assembler messages:
/tmp/cc9DRNfF.s:1974: Warning: ignoring changed section attributes for .data
CC drivers/mtd/chips/gen_probe.o

#2 lore raw
In reply to Darius

You can turn on MTD_XIP "XIP aware MTD support"

Quoted 6 lines

kernel freezes when booting on this line from cfi_probe.c:

cfi_send_gen_cmd(0xF0, 0, base, map, cfi, cfi->device_type, NULL); cfi_send_gen_cmd(0xFF, 0, base, map, cfi, cfi->device_type, NULL); --->>> cfi_send_gen_cmd(0x98, 0x55, base, map, cfi, cfi->device_type, NULL);

When you issue that last command it will trigger the Flash to output status instead of data.

Quoted 2 lines

This board has two 16bit NOR Flahs devices configured as one 32bit memory. Overall 32Mbytes Flash. Memory chips are Spansion S29PL127.

If the flash has multiple hardware partitions you might be able to simply move the kernel to the end of the chip instead of the beginning.