Hi all again,

OK.  So I downloaded the latest GIT tree and compiled with MTD / NOR / JFFS2 
filesystem support.  When I booted,
I noticed there's a message that says "WARNING: both IDE and NOR flash are 
enabled, but are pin-muxed. 
Disable IDE for NOR support." (see below)
So is it true that I won't be able to get MTD / NOR working if IDE (hard drive) 
is enabled?  Thanks.

Regards,
Andy



Linux version 2.6.20-omap1-ge7255f31 ([EMAIL PROTECTED]) (gcc version 3.4.3 
(MontaVista 3.4.3-25.0.30.0501131 2005-07-23)) #1 Thu Mar 8 05:39:28 PST 2007
CPU: ARM926EJ-S [41069265] revision 5 (ARMv5TEJ), cr=00053177
Machine: DaVinci EVM
Memory policy: ECC disabled, Data cache writeback
DM6443
CPU0: D VIVT write-back cache
CPU0: I cache: 16384 bytes, associativity 4, 32 byte lines, 128 sets
CPU0: D cache: 8192 bytes, associativity 4, 32 byte lines, 64 sets
Built 1 zonelists.  Total pages: 30480
PID hash table entries: 512 (order: 9, 2048 bytes)
Console: colour dummy device 80x30
Dentry cache hash table entries: 16384 (order: 4, 65536 bytes)
Inode-cache hash table entries: 8192 (order: 3, 32768 bytes)
Memory: 120MB = 120MB total
Memory: 94336KB available (2440K code, 210K data, 100K init)
Mount-cache hash table entries: 512
CPU: Testing write buffer coherency: ok
NET: Registered protocol family 16
WARNING: both IDE and NOR flash are enabled, but are pin-muxed.
         Disable IDE for NOR support.
DaVinci: 71 gpio irqs
NET: Registered protocol family 2
IP route cache hash table entries: 1024 (order: 0, 4096 bytes)
TCP established hash table entries: 4096 (order: 2, 16384 bytes)
TCP bind hash table entries: 2048 (order: 1, 8192 bytes)
TCP: Hash tables configured (established 4096 bind 2048)
TCP reno registered
checking if image is initramfs...it isn't (no cpio magic); looks like an initrd
Freeing initrd memory: 24576K
Initializing DaVinci McBSP system
JFFS2 version 2.2. (NAND) (C) 2001-2006 Red Hat, Inc.
JFFS2: default compression mode: priority
io scheduler noop registered
io scheduler anticipatory registered (default)
Serial: 8250/16550 driver $Revision: 1.90 $ 2 ports, IRQ sharing disabled
serial8250.0: ttyS0 at MMIO 0x1c20000 (irq = 40) is a 16550A
RAMDISK driver initialized: 1 RAM disks of 32768K size 1024 blocksize
TI DaVinci EMAC: MAC address is 00:0e:99:02:57:39
TI DaVinci EMAC Linux version updated 4.0
TI DaVinci EMAC: Installed 1 instances.
netconsole: not configured, aborting
i2c /dev entries driver
TLV320AIC23 I2C version 1.8 (10-Feb-2006)
Uniform Multi-Platform E-IDE driver Revision: 7.00alpha2
ide: Assuming 50MHz system bus speed for PIO modes; override with idebus=xx
hda: TOSHIBA MK4032GAX, ATA DISK drive
ide0 at 0xe10661f0-0xe10661f7,0xe10663f6 on irq 22
hda: max request size: 512KiB
hda: 78140160 sectors (40007 MB), CHS=16383/255/63
hda: cache flushes supported
 hda: hda1 hda2
    ide0: BM-DMA at 0xe1066000-0xe1066007, BIOS settings: hda:pio, hdb:pio
physmap platform flash device: 01000000 at 02000000
physmap-flash physmap-flash.0: map_probe failed


----- Original Message ----
From: Andy Ngo <[EMAIL PROTECTED]>
To: [EMAIL PROTECTED]; [EMAIL PROTECTED]; [EMAIL PROTECTED]
Cc: "davinci-linux-open-source @linux.davincidsp.com" 
<[email protected]>
Sent: Thursday, March 8, 2007 1:03:41 AM
Subject: re: ROOT file system from Flash


Hi Kishore,

I saw your posting last August and was wondering how you get the kernel to 
recognize the NOR flash 
as different partitions. I read a few documents recommended by T Ziomek on how 
to enable MTD JFFS2 in 
the kernel and did exactly as stated.  I followed the instructions exactly and 
modified 
linux-2.6.10_mvl401/drivers/mtd/maps/physmap.c to have several MTD partitions:


struct map_info physmap_map = {
    .name = "phys_mapped_flash",
    .phys = 0x02000000,
    .size = 0x01000000,
    .bankwidth = 2,
};


static struct mtd_partition *physmap_partitions[] = {
    {
        .name =       
 "Bootloader",
        .size =        0x00050000,
        .offset =    0
    },{
        .name =        "Kernel",
        .size =        0x00200000,
        .offset =    MTDPART_OFS_APPEND
    },{
        .name =        "RootFS",
        .size =        MTDPART_SIZ_FULL,
        .offset =    MTDPART_OFS_APPEND
    }
};

I enabled the following in the kernel:













CONFIG_MTD=y
CONFIG_MTD_DEBUG=y
CONFIG_MTD_DEBUG_VERBOSE=3
CONFIG_MTD_PARTITIONS=y
CONFIG_MTD_CHAR=y
CONFIG_MTD_BLOCK=y
CONFIG_MTD_CFI=y
CONFIG_MTD_JEDECPROBE=y
CONFIG_MTD_GEN_PROBE=y
CONFIG_MTD_CFI_AMDSTD=y
CONFIG_MTD_PHYSMAP=y
CONFIG_MTD_PHYSMAP_START=0x02000000
CONFIG_MTD_PHYSMAP_LEN=0x01000000
CONFIG_MTD_PHYSMAP_BUSWIDTH=2
CONFIG_JFFS2_FS=y
CONFIG_JFFS2_FS_DEBUG=2
CONFIG_JFFS2_FS_WRITEBUFFER=y

After rebuilding the kernel and loading it, the kernel
tried to probe the NOR flash for the device ID to figure out 
what device it is but couldn't, the id is always 0000.  According
to the spec sheet, the NOR Flash is an AMD 29LV256M, so the device
ID should be 2201.  Because of this, it doesn't think there is a 
NOR flash device.  Maybe the ioremap function is not mapping the
physical address to the virtual address correctly?  It seems as
 though
the kernel can't detect the flash at all or is probing at wrong
address.

Anyways, it seems like you got pretty far along; can you please help
me?  Am I doing something wrong?  Your or anyone's else help is
appreciated.

Regards,
Andy
=================================================================================

                        ROOT file system from Flash
                        kishore sannapaneni

                        Tue, 29 Aug 2006 03:05:29 -0700

                








HI

I want to mount root file system from flash. so i build the kernel with mtd 
map driver from the list.
wehn i boot the system i got the log messege as

             Physmaped_flash: Found 1 x16 devices at 0x0 in 16-bit bank
           Amd/Fujitsu Extended Query Table at 0x0040
          Using buffer write method
          Physmaped_flash: CFI does not contain boot bank location. 
Assuming top.
          number of CFI chips: 1
          cfi_cmdset_0002: Disabling erase-suspend-program due to code 
brokenness.
          0 partition parsing origin
          in else add-partitions
          Creating 4 MTD partitions on "Physmaped_flash":
          0x00000000-0x00040000 : "bootloader"
          mtd: Giving out device 0 to bootloader
          0x00040000-0x00050000 : "params"
          mtd: Giving out device 1 to params
         0x00050000-0x00250000 : "kernel"
         mtd: Giving out device 2 to kernel
         0x00250000-0x01000000 : "filesystem"
         mtd: Giving out device 3 to filesystem

I downloaded th MTD utilities  mtd-utils-1.0.0m  from 
http://www.linux-mtd.infradead.org/index.html.
Build th mkfs.jffs2 utility as
                                                 make mkfs.jffs2
then build the root fs image as
                                                mkfs.jffs2 -d root_folder 
-o rootfs_image.jffs2 -e 0x10000
Then i copied the root fs image to flash from u-boot to address     
0x02250000.
I supplied the boot arguments to kernel as
                    bootargs=console=ttyS0,115200n8 root=/dev/mtdblock3 rw 
noinitrd ip=dhcp  rootfstype=jffs2.
    when i boot the system i got the following error.

IP-Config: Complete:
     device=eth0, addr=10.1.11.166, mask=255.255.255.0, gw=10.1.11.76,
    host=10.1.11.166, domain=, nis-domain=(none),
    bootserver=10.1.11.76, rootserver=10.1.11.76, rootpath=
mtdblock_open
ok
mtdblock: read on "filesystem" at 0x400, size 0x200
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 : [<c0037248>]    lr : [<00000000>]    Not tainted
sp : c6e6be70  ip : c6e6be9c  fp : c6e6be98
r10: 00000006  r9 : 00000000  r8 : 00000000
r7 : c6e6a000  r6 : c0615a94  r5 : 60000013  r4 : 00000001
r3 : 00000000  r2 : 00000001  r1 : 00000006  r0 : c0615a94
Flags: nzcv  IRQs off  FIQs on  Mode SVC_32  Segment kernel
Control:
 5317F  Table: 80004000  DAC: 00000017
Process mtdblockd (pid: 704, stack limit = 0xc6e6a198)
Stack: (0xc6e6be70 to 0xc6e6c000)
be60:                                     c6e6a000 60000013 c061fe28 
c6e6a000
be80: c0615a78 00000000 00000200 c6e6beb4 c6e6be9c c00372dc c0037230 
00000000
bea0: 00250400 c0615a40 c6e6bedc c6e6beb8 c01af500 c00372ac c0615a40 
00250400
bec0: c0615a40 00000000 c6e6a000 c061fe28 c6e6bf28 c6e6bee0 c01af91c 
c01af3ac
bee0: c0615a40 00250400 00250400 00000000 c0615a78 c0615a40 00000200 
60000013
bf00: c0619800 00000400 00000000 c6e6bf6c c6fa3400 00000400 00010000 
c6e6bf5c
bf20: c6e6bf2c c01a6f10 c01af6cc c6e6bf6c c6fa3400 c6e6bf40 c003bd78 
00000200
bf40: 00000400 c71ae3e0 c6fa3400 c0619000 c6e6bf98 c6e6bf60 c01ab1f8 
c01a6e74
bf60: c6e6bf6c c6fa3400 00000200 00000000 00000002 00000002 c6e6a000 
c6fa3400
bf80: c6e6122c c6e6f120 c02b253c c6e6bff4 c6e6bf9c c01ab93c c01ab114 
c6e6f130
bfa0: c061c8e0 00000000 c05eb300 c0037200 00000000 00000000 00000000 
c05eb300
bfc0: c0037200 00000000 00000000 00000000 00000000 00000000 00000000 
00000000
bfe0: 00000000 00000000 00000000 c6e6bff8 c003d63c c01ab700 1c002217 
40054e74
Backtrace:
[<c0037220>] (__wake_up_common+0x0/0x7c) from [<c00372dc>] 
(__wake_up+0x40/0x64)
[<c003729c>] (__wake_up+0x0/0x64) from [<c01af500>] (put_chip+0x164/0x16c)
[<c01af39c>] (put_chip+0x0/0x16c) from [<c01af91c>] 
(cfi_amdstd_read+0x260/0x2d0)
[<c01af6bc>] (cfi_amdstd_read+0x0/0x2d0) from [<c01a6f10>] 
(part_read+0xac/0xe0)
[<c01a6e64>] (part_read+0x0/0xe0) from [<c01ab1f8>] 
(mtdblock_readsect+0xf4/0x138)
[<c01ab104>] (mtdblock_readsect+0x0/0x138) from [<c01ab93c>] 
(mtd_blktrans_thread+0x24c/0x354)
[<c01ab6f0>] (mtd_blktrans_thread+0x0/0x354) from [<c003d63c>] 
(do_exit+0x0/0xdc0)
Code: e1a0a001 e1a04002 e1a08003 e59b9004 (e59e7000)
<6>note: mtdblockd[704] exited with preempt_count 2
BUG: scheduling while atomic: mtdblockd/0x00000002/704
caller is do_exit+0xd5c/0xdc0


i can't find the reason.
has any one done this. If so is this the correct way.

Thanking you.


_______________________________________________
Davinci-linux-open-source mailing list
[email protected]
http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source




_______________________________________________
Davinci-linux-open-source mailing list
[email protected]
http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source

Reply via email to