Hi,
I have CPU - Intel PXA255, Linux-2.6.17, 4 SDRAM 2Mx16x4 (32Mb at one CS,
32MB at another). The problem is that there is a gap in 32Mb between two
SDRAMs. If I write in booting string mem=64M and work with a file bigger
then 20Mb, then Linux crash has occured. As I understand correct, the second
SDRAM is not available.
I tried in the boot command line the next strings: "mem=32M at 0xa0000000
mem=32M at 0xa4000000",
"mem=32M@0xa0000000 mem=32M@0xa4000000"
I tried also to add to mashine start routine:
static void __init fixup_my(struct machine_desc *desc,
struct tag *tags, char **cmdline, struct meminfo *mi)
{
mi->bank[0].start = 0xa0000000;
mi->bank[0].size = (32*1024*1024);
mi->bank[0].node = 0;
mi->bank[1].start = 0xa4000000;
mi->bank[1].size = (32*1024*1024);
mi->bank[1].node = 1;
mi->nr_banks=2;
}
MACHINE_START(My, MACHINE_NAME)
.phys_io = PXA_PHYS_IO_BASE,
.io_pg_offst = (PXA_IO_BASE >> 18) & 0xfffc,
.fixup = fixup_my,
.boot_params = PHYS_OFFSET+0x1000,
.map_io = my_map_io,
.init_irq = pxa_init_irq,
.timer = &pxa_timer,
.init_machine = my_init,
MACHINE_END
but did not get any successful results. My board loaded completly, correctly
recognizes 64MB memory but available only 32MB (see next strings below):
Memory: 32MB 32MB = 64MB total
Memory: 29660KB available (2248K code, 415K data, 100K init)
I have read somewhere about ARCH_DISCONTIGMEM_ENABLE flag, which must be
activated. But loading stoped at the next string (see below)
RedBoot> fis load linux
RedBoot> exec
Using base address 0xa0108000 and length 0x00180000
Uncompressing
Linux.......................................................................................
done, booting the kernel.
Linux version 2.6.17-my (root@linux) (gcc-Version 3.4.3) #1180 Fri Aug 10
09:17:33 CEST 2007
CPU: XScale-PXA255 [69052d06] revision 6 (ARMv5TE)
Machine: My Board
Warning: bad configuration page, trying to continue
Ignoring unrecognised tag 0x00000000
Memory policy: ECC disabled, Data cache writeback
Memory clock: 99.53MHz (*27)
Run Mode clock: 199.07MHz (*2)
Turbo Mode clock: 199.07MHz (*1.0, inactive)
CPU0: D VIVT undefined 5 cache
CPU0: I cache: 32768 bytes, associativity 32, 32 byte lines, 32 sets
CPU0: D cache: 32768 bytes, associativity 32, 32 byte lines, 32 sets
Built 2 zonelists
Kernel command line: init=/linuxrc root=1f02 rootfstype=jffs2 ro
console=ttyS2,38400
PID hash table entries: 512 (order: 9, 2048 bytes)
Console: colour dummy device 80x30
Dentry cache hash table entries: 8192 (order: 3, 32768 bytes)
Inode-cache hash table entries: 4096 (order: 2, 16384 bytes)
....
Could someone please help how to make the second SDRAM workable?
Thanks,
Andy
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[Index of Archives]
[Kernel Newbies]
[Netfilter]
[Bugtraq]
[Photo]
[Stuff]
[Gimp]
[Yosemite News]
[MIPS Linux]
[ARM Linux]
[Linux Security]
[Linux RAID]
[Video 4 Linux]
[Linux for the blind]
[Linux Resources]