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.

Device node for mmc1 not coming with custom board based on ti8148.

Hello All,

We have a custom board based on DM8148, and used eMMC 'MTFC4GMVEA' from micron ( permanently mounted)

It's connected on mmc1 pins on the same lines as SD-card connected on ti8148 evm, with card-detect pin and write protect pin pulled-up high.

It seems, u-boot is able to communicate with this eMMC memory, as u-boot command gives correct info,

#mmcinfo 0

Manufacturer ID: fe

OEM: 14e

Name: MMC04

Tran Speed: 25000000

Rd Block Len: 512

MMC version 4.0

High Capacity: Yes

Capacity: 2199023255552

Bus Width: 4-bit

which is correct, beside the capacity, which i have already figured out in the u-boot code why!

But after starting our customized kernel-2.6.37 ( with modified config based on our board, but all options same in driver-> mmc), we don't see the device node in dev as /dev/mmcblk0. Just an info, we are nfs mounting the root file system provided with the ezsdk, with few files removed from /etc/init.d (like load-hd-firmware, pvr-init, etc)..but udev is there!

I have already checked the mux settings using 'devmem2' utility, they seem OK.

Can somebody point out, what could be wrong and further direction i can look into?

br

Vikas

 

  • Vikas,

    I think we have /dev/mmcblk0 when booting from MMC/SD card (not eMMC), as we run the ~/ti-ezsdk_dm814x-evm_5_05_02_00/bin/mksdboot.sh :

    In this example, SD card is detected on /dev/sdb.
    Run mksdboot script installed in EZ SDK as show below
    host $ sudo ${EZSDK}/bin/mksdboot.sh --device /dev/sdb --sdk ${EZSDK}

    And for eMMC, I found that we can create the partition later, when the kernel boot up.

    http://omappedia.org/wiki/E-MMC_boot

    MMC/SD card must be formatted with the correct partitions prior to flashing any device. Once the MMC/SD is configured it will contain two separate partitions that will be used to boot the device. The FAT32 partition is used for uboot, xloader, and kernel. The ext3 partitions is used for the actual file system. Once both of these are loaded onto an MMC/SD the device can boot up and run the selected file system.

    But eMMC is an Embedded device. So we have to partition and format the the eMMC using kernel utility (fdisk, mke2fs) and that available in FileSystem.

    Following are the steps need to follow after kernel boots up from MMC/SD or NAND. 
    (In your case, kernel boots up from NFS)
    1. Create a bootable Partition:
    root@omap-3630sdp
    :/sbin# fdisk /dev/mmcblk1
    a>delete the partition if exists
    b>exit
    root@omap-3630sdp# fdisk -H 255 -S 63 /dev/mmcblk1
    a> create 1st partition (n,p,1,+64M)
    b> create 2nd partition (n,p,2,default)
    c> change 1st partition type to FAT32 (t,1,c)
    d> make 1st partition ACTIVE (a,1)
    c> Check the pattition type as below(p) Disk /dev/mmcblk1: 15.9 GB, 15931539456 bytes 255 heads, 63 sectors/track,
    1936 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes
    Device Boot Start End Blocks Id System /dev/mmcblk1p1 * 1 9 72261 c Win95 FAT32 (LBA) /dev/mmcblk1p2 10 1936 15478627+ 83 Linux e> write (w)

    The above steps are valid for OMAP3630 device, but I think these can be reused for DM814x device also.

    Regards,
    Pavel