hi all
We have made our own custom board.I am done with the UBL,U-boot,kernel and the filesystem.
Initially
i made initial ram disk image as filesystem .And able to get the
prompt.I have enabled the MTD partion in the make maenuconfig option
our NAND is 2Gbit (256MB) Micron SLC
I have made the following changes to the source code in arch/arm/mach-davinci/board-dm644x-evm.c
And changed the struct mtd_partition davinci_evm_nandflash_partition
#define NAND_BLOCK_SIZE SZ_128K
struct mtd_partition davinci_evm_nandflash_partition[] = {
{
/* UBL (a few copies) plus U-Boot */
.name = "bootloader",
.offset
= 0,
.size = 15 * NAND_BLOCK_SIZE,
.mask_flags = MTD_WRITEABLE, /* force read-only */
}, {
/* U-Boot environment */
.name = "params",
.offset = MTDPART_OFS_APPEND,
.size = 1 * NAND_BLOCK_SIZE,
.mask_flags = 0,
}, {
.name = "kernel",
.offset =
MTDPART_OFS_APPEND,
.size = SZ_4M,
.mask_flags = 0,
}, {
.name = "filesystem",
.offset = MTDPART_OFS_APPEND,
.size = MTDPART_SIZ_FULL,
.mask_flags = 0,
},
};
here is my make menuconfig
devices-->Memory Texhnology Device (MTD) support
--- Memory Technology Device (MTD) support
[ ]
Debugging
<*> MTD concatenating support
[*] MTD partitioning support
< > MTD tests
support
< > RedBoot partition table parsing
[*] Command line partition table parsing
< > ARM Firmware Suite partition parsing
< > TI
AR7 partitioning support
*** User Modules And Translation Layers ***
<*> Direct char device access to MTD devices
-*- Common interface to block layer for MTD 'translation layers
<*> Caching block device access to MTD devices
< > FTL (Flash Translation Layer) support
< > NFTL (NAND Flash Translation Layer)
support
< > INFTL (Inverse NAND Flash Translation Layer) support
< > Resident Flash Disk (Flash Translation Layer) support
< > NAND SSFDC (SmartMedia) read only translation layer
< > Log panic/oops to an MTD buffer
RAM/ROM/Flash chip drivers
--->
Mapping drivers for chip access --->
Self-contained MTD device drivers --->
<*> NAND Device Support --->(includes support for generic platform NAND driver)
<*> OneNAND Device Support
--->
LPDDR flash memory drivers --->
but when i boot kernel using the filesystem in the ram.do cat proc/mtd in the prompt
it
shows
System initialization...
Hostname : OMAP3EVM
Filesystem :
v1.0.0
Kernel release : Linux 2.6.31-rc5-davinci1
Kernel version : #3 PREEMPT Wed Oct 14 11:03:04 PKT 2009
Mounting /proc : [SUCCESS]
Mounting /sys :
[SUCCESS]
Mounting /dev : [SUCCESS]
Mounting /dev/pts : [SUCCESS]
Enabling
hot-plug : [SUCCESS]
Populating /dev : [SUCCESS]
Mounting other filesystems : [SUCCESS]
Starting
syslogd : [SUCCESS]
Starting telnetd : [SUCCESS]
System initialization complete.
Please press Enter to activate this console.
# cat
proc/mtd
dev: size erasesize name
#
I
guess my NAND driver is not getting configured when the kernel boots
up.Anyone know how to resolve this issue. I want to burn my filesystem
in the NAND flash.
With regard's
Rohan
Tabish