I need still help with XIP, kernel boots now :)
Konstantin Kletschke
lists at ku-gbr.de
Tue Feb 1 10:39:46 EST 2005
Hi people!
Now I need definately have XIP to get running :/
I use 2.6.11-rc2-mm2 and put the "xipu" patches into it, which make the
"make xipuImage" available and the XIP Kernel boots now. heureka.
Due to the fakt I have no hardware partiotionable Flash devices I need
to utlize the mtd software support to cexist with an XIP Kernel
(CONFIG_MTD_XIP=y). I changed the xip.h to
#if defined(CONFIG_ARCH_SA1100) || defined(CONFIG_ARCH_PXA) || defined(CONFIG_ARCH_IMX)
#include <asm/hardware.h>
#ifdef CONFIG_ARCH_PXA
#include <asm/arch/pxa-regs.h>
#endif
#ifdef CONFIG_ARCH_IMX
#include <asm/arch/imx-regs.h>
#endif /* CONFIG_ARCH_IMX */
#endif /* CONFIG_ARCH_ */
#if defined(CONFIG_ARCH_PXA)
#define xip_irqpending() (ICIP & ICMR)
/* we sample OSCR and convert desired delta to usec (1/4 ~= 1000000/3686400) */
#define xip_currtime() (OSCR)
#define xip_elapsed_since(x) (signed)((OSCR - (x)) / 4)
#elif defined (CONFIG_ARCH_IMX)
#define xip_irqpending() (( IMX_INTENABLEH & IMX_NIPNDH ) || ( IMX_INTENABLEL & IMX_NIPNDL ))
/* we hopefully too :p */
#define xip_currtime() (IMX_TCN(1))
#define xip_elapsed_since(x) (signed)((IMX_TCN(1) - (x)) / 4)
#elif
So, when I read datasheet correct, pxa's ICIP corresponds to i.MX's NIPNDx
and pxa's ICMR to i.MX's INTENABLEx.
When I boot the xipuImage with / mounted ro it boots most often to the
loginprompt, I can login and do stuff. But when / is mounted rw the
system brakes. this happens after
Probing scb9328_flash at physical address 0x10000000 (16-bit buswidth)
scb9328_flash: Found 1 x16 devices at 0x0 in 16-bit bank
Intel/Sharp Extended Query Table at 0x0031
cfi_cmdset_0001: write suspend disabled
Using buffer write method
cfi_cmdset_0001: Erase suspend on write enabled
5 cmdlinepart partitions found on MTD device scb9328_flash
Creating 5 MTD partitions on "scb9328_flash":
0x00000000-0x00020000 : "U-boot"
0x00020000-0x00040000 : "U-boot_env"
0x00040000-0x00140000 : "kernel"
0x00140000-0x00540000 : "root"
0x00540000-0x00940000 : "fs"
NET: Registered protocol family 2
IP: routing cache hash table of 512 buckets, 4Kbytes
TCP established hash table entries: 1024 (order: 1, 8192 bytes)
TCP bind hash table entries: 1024 (order: 0, 4096 bytes)
TCP: Hash tables configured (established 1024 bind 1024)
Its also possible to mount / ro and mount rw a fourth partition after
logging in, kernel freezes then.
So I have an error in my setup. Is xip.h the only place, which should be
adapted from pxa/sa1100 to i.MX?
When compiling the cmopiler warns:
CC drivers/mtd/chips/cfi_probe.o
/tmp/ccnLmXio.s: Assembler messages:
/tmp/ccnLmXio.s:3: Warning: ignoring changed section attributes for .data
CC drivers/mtd/chips/cfi_util.o
/tmp/ccjtGCIO.s: Assembler messages:
/tmp/ccjtGCIO.s:13: Warning: ignoring changed section attributes for .data
CC drivers/mtd/chips/cfi_cmdset_0001.o
Is this fatal and needs to be adjusted in platform stuff or arch stuff?
Regards, Konsti
--
GPG KeyID EF62FCEF
Fingerprint: 13C9 B16B 9844 EC15 CC2E A080 1E69 3FDA EF62 FCEF
More information about the linux-mtd
mailing list