This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

DM6446:Prolem Creating The MTD Partition Using The Kernel

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

  • This can be the result of the warning that can be seen in the kernel boot messages which is

    WARNING: both IDE and Flash are enabled, but they share AEMIF pins.             
            Disable IDE for NAND/NOR support.                  

     

    disabling AEMIF pin for the IDEand configuring it for flash i.e NAND or NOR which ever is attached  will show the partitions in the kernel boot.