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.

eMMC testing

Other Parts Discussed in Thread: TPS65910

Hi,

I want to test eMMC read and write memory segments. Following is my setup.

1.  Have  custom board with AM335x , TI SDK 7.0.

2. Have eMMC and the file system booted from the network through TFTP boot.

Questions:

Can we test the eMMC like partitioning, read/write the memory segment from user application with linux kernel running. 

~Mdn

  • Hi Madan,

    Yes, you can. Here are example steps to partition the eMMC and flash kernel and u-boot:

    1. Assuming the eMMC is /dev/mmcblk1. Format it this way:
      1.01. fdisk /dev/mmcblk1
      1.02. o - this clears the existing partitions
      1.03. p - this lists all partition tables on the card (there should be none)
      1.04. n - create a new partition
      1.05. p - primary partition
      1.06. 1 - partition number
      1.07. 2048 - default value for the first sector
      1.08. +16M - last sector / partition size
      1.09. t - change the partition type (select partition 1)
      1.10. e - change tha partition type to "W95 FAT16 (LBA)"
      1.11. a - set the bootable flag for the selected partition (select partition 1)
      1.12. n - create a new partition
      1.13. p - primary partition
      1.14. 2 - partition number
      1.15. hit Enter to choose the default (next available) value for the first sector
      1.16. hit Enter to choose the default (last) value for the last sector
      1.17. p - this lists all partition tables on the card (there should be two)
      1.18. w - write all the above changes to disk
      1.19. umount /dev/mmcblk1p1 - if mounted
      1.20. mkfs.vfat -F 16 /dev/mmcblk1p1 - format the first partition
      1.21. umount /dev/mmcblk1p2 - if mounted
      1.22. mkfs.ext4 /dev/mmcblk1p2 - format the second partition
    2. Copy the {MLO,u-boot.img,uImage} files to the first partition:
      2.1. mkdir boot
      2.2. mount /dev/mmcblk1p1 boot
      2.3. cp /media/mmcblk0p1/{MLO,u-boot.img,uImage} boot
      2.4. sync
      2.5. umount boot

    3. Extract the root file system to the second partition:
      3.1. mkdir root
      3.2. mount /dev/mmcblk1p2 root
      3.3. tar -xf /tisdk-rootfs-image-am335x-evm.tar.gz -C root
      3.4. sync
      3.5. umount root

  • Hi Biser,

    Thanks for the inputs. I dont want to run Uboot and kernel from eMMC. Just want to access raw eMMC and perform some read/write cycle tests.

    Can we access the eMMC by writing the application layer?

    ~Madan

  • Yes, you can partition, format, read and write just like you do to an SD card.

  • Hi Biser,

    I follow your procedure to format the eMMC but I'm running into some problems.

    Here the dump of my partition table:

    [root@wfxb /root]# fdisk /dev/mmcblk0

    Command (m for help): p

    Disk /dev/mmcblk0: 3867 MB, 3867148288 bytes
    4 heads, 16 sectors/track, 118016 cylinders, total 7553024 sectors
    Units = sectors of 1 * 512 = 512 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    Disk identifier: 0xdbf06a20

            Device Boot      Start         End      Blocks   Id  System
    /dev/mmcblk0p1   *        2048       34815       16384    e  W95 FAT16 (LBA)
    /dev/mmcblk0p2           34816     7553023     3759104   83  Linux

    Command (m for help):

    Everything seems ok, but if I check the partition table with sfdisk I get this errors:

    [root@wfxb /root]# sfdisk -V /dev/mmcblk0
    start of partition 1 has impossible value for head: 42 (should be in 0-3)
    start of partition 1 has impossible value for sector: 33 (should be in 1-16)
    [root@wfxb /root]#

    Should I use a particular disk geometry? heads, sectors/track, cylinders?

    All suggestions are welcomed,

    Thanks!

    Marco.

  • I found this guide:
    processors.wiki.ti.com/.../MMC_format_for_OMAP3_boot

    Should I set up the suggested geometry?
  • Here's my new partition setup:

    [root@wfxb /root]# fdisk -l /dev/mmcblk0

    Disk /dev/mmcblk0: 3867 MB, 3867148288 bytes
    255 heads, 63 sectors/track, 470 cylinders, total 7553024 sectors
    Units = sectors of 1 * 512 = 512 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    Disk identifier: 0x00000000

            Device Boot      Start         End      Blocks   Id  System
    /dev/mmcblk0p1   *          63      144584       72261    c  W95 FAT32 (LBA)
    /dev/mmcblk0p2          144585      674729      265072+  83  Linux
    /dev/mmcblk0p3          674730     1204874      265072+  83  Linux
    /dev/mmcblk0p4         1204875     7550549     3172837+  83  Linux
    [root@wfxb /root]#

    I still experiencing the same problems:

    [root@wfxb /root]# sfdisk -V /dev/mmcblk0
    Warning: partition 1 does not end at a cylinder boundary
    Warning: partition 2 does not start at a cylinder boundary
    Warning: partition 2 does not end at a cylinder boundary
    Warning: partition 3 does not start at a cylinder boundary
    Warning: partition 3 does not end at a cylinder boundary
    Warning: partition 4 does not start at a cylinder boundary
    Warning: partition 4 does not end at a cylinder boundary
    partition 1: start: (c,h,s) expected (0,3,16) found (0,1,1)
    end of partition 1 has impossible value for head: 254 (should be in 0-3)
    end of partition 1 has impossible value for sector: 63 (should be in 1-16)
    [root@wfxb /root]#

    Does anyone knows how to proper setup the partition table?

    Marco.

  • Hi Marco,

    The description above applies for blank unformatted eMMC only. Have you tried to remove all partitions and start from the beginning? Also don't forget that fdisk changes are not applied until you explicitly write them to the eMMC (fdisk "w" subcommand).

  • Hi Biser,

    Yes, I'm using blank eMMC.
    I made several tries with fdisk and sfdisk, right now I'm using the following script to make the process repeatable:

    partition_mmc() {

        # wipe MBR
        dd if=/dev/zero of=$MMC_DEV bs=512 count=1

        # partition the mmc device
        local SIZE=`fdisk -l $MMC_DEV | awk '/Disk/ {print $5; exit}'`
        local CYLINDERS=`awk "BEGIN {print int( $SIZE/255/63/512 )}"`

        sfdisk -D -H 255 -S 63 -C $CYLINDERS --force -uM $MMC_DEV <<EOF
    ,64,0x0C,*
    ,256,,
    ,256,,
    ,,,-
    EOF
    }



    if I read back the partition table with fdisk and sfdik I got different result, that's really weird to me.

    [root@wfxb /root]# fdisk /dev/mmcblk0

    Command (m for help): p

    Disk /dev/mmcblk0: 3867 MB, 3867148288 bytes
    255 heads, 63 sectors/track, 470 cylinders, total 7553024 sectors
    Units = sectors of 1 * 512 = 512 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    Disk identifier: 0x00000000

            Device Boot      Start         End      Blocks   Id  System
    /dev/mmcblk0p1   *          63      144584       72261    c  W95 FAT32 (LBA)
    /dev/mmcblk0p2          144585      674729      265072+  83  Linux
    /dev/mmcblk0p3          674730     1204874      265072+  83  Linux
    /dev/mmcblk0p4         1204875     7550549     3172837+  83  Linux

    Command (m for help): q

    [root@wfxb /root]#

    [root@wfxb /root]# sfdisk -l /dev/mmcblk0

    Disk /dev/mmcblk0: 118016 cylinders, 4 heads, 16 sectors/track
    Warning: The partition table looks like it was made
      for C/H/S=*/255/63 (instead of 118016/4/16).
    For this listing I'll assume that geometry.
    Units = cylinders of 8225280 bytes, blocks of 1024 bytes, counting from 0

       Device Boot Start     End   #cyls    #blocks   Id  System
    /dev/mmcblk0p1   *      0+      8       9-     72261    c  W95 FAT32 (LBA)
    /dev/mmcblk0p2          9      41      33     265072+  83  Linux
    /dev/mmcblk0p3         42      74      33     265072+  83  Linux
    /dev/mmcblk0p4         75     469     395    3172837+  83  Linux
    [root@wfxb /root]#



    Could you try my script?
    Wich heads, sectors/track, cylinders configuration do you suggest?

    Best regards,
    Marco.

  • I forgot to mention the util-linux version,
    I'm using 2.20.1

    Best regards,
    Marco.
  • Hi Marco,

    With fdisk command you divide the eMMC of several partition and you specify the partition type as W95 FAT32, Linux,.... After that you can format all partitions with proper commands for example:
    - for W95 FAT32 commands is: mkfs.vfat -F 32 -n "name" ${DRIVE}1
    - for Linux command is: mke2fs -j -L "name" ${DRIVE}2

    where ${DRIVE}1 and ${DRIVE}2 are devices where located these partitions (usual /dev/sdb1, /dev/sdb2,...)

    After formatted partitions to work with eMMC you have to mount it. This you can make with command mount - for example:
    mount /dev/sdb1 /tmp - this is common way

    - for W95:
    mount -t vfat /dev/block/mmcblk1p1 /tmp
    - for Linux
    mount -t ext3 /dev/block/mmcblk1p2 /tmp
    After mounting you can work with them as every other directory.

    BR
    Ivan
  • Hi Ivan,

    my concerns are not related to the format and use of the eMMC, I'm asking which is your suggested partition setup.

    I follow this TI guide to set up the eMMC geometry:

    http://processors.wiki.ti.com/index.php/SD/MMC_format_for_OMAP3_boot

    But if I check the partition table I got a bunch of warnings:

    [root@wfxb /root]# sfdisk -V /dev/mmcblk0
    Warning: partition 1 does not end at a cylinder boundary
    Warning: partition 2 does not start at a cylinder boundary
    Warning: partition 2 does not end at a cylinder boundary
    Warning: partition 3 does not start at a cylinder boundary
    Warning: partition 3 does not end at a cylinder boundary
    Warning: partition 4 does not start at a cylinder boundary
    Warning: partition 4 does not end at a cylinder boundary
    partition 1: start: (c,h,s) expected (0,3,16) found (0,1,1)
    end of partition 1 has impossible value for head: 254 (should be in 0-3)
    end of partition 1 has impossible value for sector: 63 (should be in 1-16)
    [root@wfxb /root]#

    wich partition setup would you recommend?

    have you ever experienced this kind of warnings?

    Best regards,

    Marco.

  • Hi Marco,

    Are you sure that the /dev/mmcblk0 is eMMC. Usually the /dev/mmcblk0 is sd-card.

    BR
    Ivan
  • Hi Ivan,

    I'm sure, on my board /dev/mmcblk0 is eMMC
    I have no other storage media on my board.

    Best regards,
    Marco.
  • Can you post the boot messages from the kernel? I'd like to see all of them.
    Steve K.
  • Hi Steve,

    here's the boot messages:

    [    0.000000] Linux version 3.2.0-0003 (marco@xeon) (gcc version 4.6.1 (Sourcery CodeBench Lite 2011.09-70) ) #1 Tue Sep 30 11:45:33 CEST 2014
    [    0.000000] CPU: ARMv7 Processor [413fc082] revision 2 (ARMv7), cr=10c53c7d
    [    0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
    [    0.000000] Machine: am335xevm
    [    0.000000] Memory policy: ECC disabled, Data cache writeback
    [    0.000000] On node 0 totalpages: 32768
    [    0.000000] free_area_init_node: node 0, pgdat c0689220, node_mem_map c06ba000
    [    0.000000]   Normal zone: 256 pages used for memmap
    [    0.000000]   Normal zone: 0 pages reserved
    [    0.000000]   Normal zone: 32512 pages, LIFO batch:7
    [    0.000000] AM335X ES2.0 (neon )
    [    0.000000] pcpu-alloc: s0 r0 d32768 u32768 alloc=1*32768
    [    0.000000] pcpu-alloc: [0] 0
    [    0.000000] Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 32512
    [    0.000000] Kernel command line: console=ttyO0,115200n8 root=/dev/nfs nfsroot=192.168.200.1:/export/rootfs,nolock rw ip=192.168.200.2:192.168.200.1::255.255.255.0::eth0:off
    [    0.000000] PID hash table entries: 512 (order: -1, 2048 bytes)
    [    0.000000] Dentry cache hash table entries: 16384 (order: 4, 65536 bytes)
    [    0.000000] Inode-cache hash table entries: 8192 (order: 3, 32768 bytes)
    [    0.000000] Memory: 128MB = 128MB total
    [    0.000000] Memory: 123020k/123020k available, 8052k reserved, 0K highmem
    [    0.000000] Virtual kernel memory layout:
    [    0.000000]     vector  : 0xffff0000 - 0xffff1000   (   4 kB)
    [    0.000000]     fixmap  : 0xfff00000 - 0xfffe0000   ( 896 kB)
    [    0.000000]     vmalloc : 0xc8800000 - 0xff000000   ( 872 MB)
    [    0.000000]     lowmem  : 0xc0000000 - 0xc8000000   ( 128 MB)
    [    0.000000]     modules : 0xbf000000 - 0xc0000000   (  16 MB)
    [    0.000000]       .text : 0xc0008000 - 0xc05ee000   (6040 kB)
    [    0.000000]       .init : 0xc05ee000 - 0xc0629000   ( 236 kB)
    [    0.000000]       .data : 0xc062a000 - 0xc0692688   ( 418 kB)
    [    0.000000]        .bss : 0xc06926ac - 0xc06b9654   ( 156 kB)
    [    0.000000] NR_IRQS:396
    [    0.000000] IRQ: Found an INTC at 0xfa200000 (revision 5.0) with 128 interrupts
    [    0.000000] Total of 128 interrupts on 1 active controller
    [    0.000000] OMAP clockevent source: GPTIMER2 at 24000000 Hz
    [    0.000000] OMAP clocksource: GPTIMER1 at 32768 Hz
    [    0.000000] sched_clock: 32 bits at 32kHz, resolution 30517ns, wraps every 131071999ms
    [    0.000000] Console: colour dummy device 80x30
    [    0.000152] Calibrating delay loop... 718.02 BogoMIPS (lpj=3590144)
    [    0.058959] pid_max: default: 32768 minimum: 301
    [    0.059082] Security Framework initialized
    [    0.059173] Mount-cache hash table entries: 512
    [    0.059570] CPU: Testing write buffer coherency: ok
    [    0.060272] devtmpfs: initialized
    [    0.080139] omap_hwmod: gfx: failed to hardreset
    [    0.096405] omap_hwmod: pruss: failed to hardreset
    [    0.097503] print_constraints: dummy:
    [    0.097839] NET: Registered protocol family 16
    [    0.100067] OMAP GPIO hardware version 0.1
    [    0.102661] omap_mux_init: Add partition: #1: core, flags: 0
    [    0.104553]  omap_i2c.1: alias fck already exists
    [    0.105438]  omap2_mcspi.1: alias fck already exists
    [    0.105651]  omap2_mcspi.2: alias fck already exists
    [    0.105926]  edma.0: alias fck already exists
    [    0.105926]  edma.0: alias fck already exists
    [    0.105957]  edma.0: alias fck already exists
    [    0.130950] bio: create slab <bio-0> at 0
    [    0.133117] SCSI subsystem initialized
    [    0.134735] usbcore: registered new interface driver usbfs
    [    0.135040] usbcore: registered new interface driver hub
    [    0.135223] usbcore: registered new device driver usb
    [    0.135375] musb-ti81xx musb-ti81xx: musb0, board_mode=0x1, plat_mode=0x1
    [    0.135650] musb-ti81xx musb-ti81xx: musb1, board_mode=0x1, plat_mode=0x0
    [    0.136749] omap_i2c omap_i2c.1: bus 1 rev2.4.0 at 100 kHz
    [    0.138580] tps65910 1-002d: JTAGREVNUM 0x0
    [    0.140991] print_constraints: VRTC:
    [    0.142425] print_constraints: VIO: at 1500 mV
    [    0.144744] print_constraints: VDD1: 600 <--> 1500 mV at 1262 mV normal
    [    0.147033] print_constraints: VDD2: 600 <--> 1500 mV at 1137 mV normal
    [    0.148040] print_constraints: VDD3: 5000 mV
    [    0.149475] print_constraints: VDIG1: at 1800 mV
    [    0.150878] print_constraints: VDIG2: at 1800 mV
    [    0.152313] print_constraints: VPLL: at 1800 mV
    [    0.153717] print_constraints: VDAC: at 1800 mV
    [    0.155120] print_constraints: VAUX1: at 1800 mV
    [    0.156555] print_constraints: VAUX2: at 3300 mV
    [    0.157958] print_constraints: VAUX33: at 3300 mV
    [    0.159423] print_constraints: VMMC: at 3300 mV
    [    0.159912] tps65910 1-002d: No interrupt support, no core IRQ
    [    0.161254] Advanced Linux Sound Architecture Driver Version 1.0.24.
    [    0.162506] Switching to clocksource gp timer
    [    0.180511] musb-hdrc: version 6.0, ?dma?, otg (peripheral+host)
    [    0.180694] musb-hdrc musb-hdrc.0: dma type: pio
    [    0.180999] MUSB0 controller's USBSS revision = 4ea20800
    [    0.181030] musb0: Enabled SW babble control
    [    0.181060] musb-hdrc: ConfigData=0xde (UTMI-8, dyn FIFOs, bulk combine, bulk split, HB-ISO Rx, HB-ISO Tx, SoftConn)
    [    0.181060] musb-hdrc: MHDRC RTL version 2.0
    [    0.181091] musb-hdrc: setup fifo_mode 4
    [    0.181121] musb-hdrc: 28/31 max ep, 16384/16384 memory
    [    0.181121] musb-hdrc.0: bulk split disabled
    [    0.181121] musb-hdrc.0: bulk combine disabled
    [    0.181213] musb-hdrc musb-hdrc.0: MUSB HDRC host driver
    [    0.181304] musb-hdrc musb-hdrc.0: new USB bus registered, assigned bus number 1
    [    0.181427] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002
    [    0.181427] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
    [    0.181457] usb usb1: Product: MUSB HDRC host driver
    [    0.181457] usb usb1: Manufacturer: Linux 3.2.0-0003 musb-hcd
    [    0.181457] usb usb1: SerialNumber: musb-hdrc.0
    [    0.182373] hub 1-0:1.0: USB hub found
    [    0.182403] hub 1-0:1.0: 1 port detected
    [    0.183044] musb-hdrc musb-hdrc.0: USB Host mode controller at c883c000 using PIO, IRQ 18
    [    0.183227] musb-hdrc musb-hdrc.1: dma type: pio
    [    0.183532] MUSB1 controller's USBSS revision = 4ea20800
    [    0.183563] musb1: Enabled SW babble control
    [    0.183563] musb-hdrc: ConfigData=0xde (UTMI-8, dyn FIFOs, bulk combine, bulk split, HB-ISO Rx, HB-ISO Tx, SoftConn)
    [    0.183593] musb-hdrc: MHDRC RTL version 2.0
    [    0.183593] musb-hdrc: setup fifo_mode 4
    [    0.183624] musb-hdrc: 28/31 max ep, 16384/16384 memory
    [    0.183654] musb-hdrc.1: bulk split disabled
    [    0.183654] musb-hdrc.1: bulk combine disabled
    [    0.183715] musb-hdrc musb-hdrc.1: MUSB HDRC host driver
    [    0.183746] musb-hdrc musb-hdrc.1: new USB bus registered, assigned bus number 2
    [    0.183837] usb usb2: New USB device found, idVendor=1d6b, idProduct=0002
    [    0.183868] usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1
    [    0.183868] usb usb2: Product: MUSB HDRC host driver
    [    0.183898] usb usb2: Manufacturer: Linux 3.2.0-0003 musb-hcd
    [    0.183898] usb usb2: SerialNumber: musb-hdrc.1
    [    0.184722] hub 2-0:1.0: USB hub found
    [    0.184753] hub 2-0:1.0: 1 port detected
    [    0.185333] musb-hdrc musb-hdrc.1: USB OTG mode controller at c883e800 using PIO, IRQ 19
    [    0.185791] NET: Registered protocol family 2
    [    0.186004] IP route cache hash table entries: 1024 (order: 0, 4096 bytes)
    [    0.186279] TCP established hash table entries: 4096 (order: 3, 32768 bytes)
    [    0.186370] TCP bind hash table entries: 4096 (order: 2, 16384 bytes)
    [    0.186431] TCP: Hash tables configured (established 4096 bind 4096)
    [    0.186431] TCP reno registered
    [    0.186462] UDP hash table entries: 256 (order: 0, 4096 bytes)
    [    0.186462] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
    [    0.186676] NET: Registered protocol family 1
    [    0.186950] RPC: Registered named UNIX socket transport module.
    [    0.186950] RPC: Registered udp transport module.
    [    0.186950] RPC: Registered tcp transport module.
    [    0.186981] RPC: Registered tcp NFSv4.1 backchannel transport module.
    [    0.187194] NetWinder Floating Point Emulator V0.97 (double precision)
    [    0.194488] VFS: Disk quotas dquot_6.5.2
    [    0.194580] Dquot-cache hash table entries: 1024 (order 0, 4096 bytes)
    [    0.195007] JFFS2 version 2.2. (NAND) \xffffffc2\xffffffa9 2001-2006 Red Hat, Inc.
    [    0.195281] msgmni has been set to 240
    [    0.198760] alg: No test for stdrng (krng)
    [    0.198852] io scheduler noop registered
    [    0.198852] io scheduler deadline registered
    [    0.198974] io scheduler cfq registered (default)
    [    0.200256] Could not set LED4 to fully on
    [    0.202117] omap_uart.0: ttyO0 at MMIO 0x44e09000 (irq = 72) is a OMAP UART0
    [    0.893157] console [ttyO0] enabled
    [    0.897460] omap_uart.1: ttyO1 at MMIO 0x48022000 (irq = 73) is a OMAP UART1
    [    0.905242] omap_uart.2: ttyO2 at MMIO 0x48024000 (irq = 74) is a OMAP UART2
    [    0.912963] omap_uart.3: ttyO3 at MMIO 0x481a6000 (irq = 44) is a OMAP UART3
    [    0.920684] omap_uart.4: ttyO4 at MMIO 0x481a8000 (irq = 45) is a OMAP UART4
    [    0.928405] omap_uart.5: ttyO5 at MMIO 0x481aa000 (irq = 46) is a OMAP UART5
    [    0.946228] brd: module loaded
    [    0.954650] loop: module loaded
    [    0.958038] i2c-core: driver [tsl2550] using legacy suspend method
    [    0.964447] i2c-core: driver [tsl2550] using legacy resume method
    [    0.970794] at24 1-0051: 32768 byte 24c256 EEPROM, writable, 64 bytes/write
    [    1.033111] No daughter card found
    [    1.036651] at24 1-0050: 32768 byte 24c256 EEPROM, writable, 64 bytes/write
    [    1.043823] The board is a AM335x Starter Kit.
    [    1.053039]  omap_hsmmc.0: alias fck already exists
    [    1.058471]  omap_hsmmc.1: alias fck already exists
    [    1.075317] Configure Bluetooth Enable pin...
    [    1.086791]  d_can.0: alias fck already exists
    [    1.102325] mtdoops: mtd device (mtddev=name/number) must be supplied
    [    1.109283] m25p80 spi1.0: sst25vf080b (1024 Kbytes)
    [    1.114624] Creating 1 MTD partitions on "spi_flash":
    [    1.119842] 0x000000000000-0x000000100000 : "bootblock"
    [    1.127166] omap2-nand driver initializing
    [    1.131530] OneNAND driver initializing
    [    1.136840] CAN device driver interface
    [    1.140808] CAN bus driver for Bosch D_CAN controller 1.0
    [    1.147216] d_can d_can.0: device registered (irq=52, irq_obj=53)
    [    1.203155] davinci_mdio davinci_mdio.0: davinci mdio revision 1.6
    [    1.209533] davinci_mdio davinci_mdio.0: detected phy mask fffffffe
    [    1.216644] davinci_mdio.0: probed
    [    1.220153] davinci_mdio davinci_mdio.0: phy[0]: device 0:00, driver SMSC LAN8710/LAN8720
    [    1.228942] usbcore: registered new interface driver zd1201
    [    1.234893] usbcore: registered new interface driver cdc_ether
    [    1.241027] usbcore: registered new interface driver cdc_eem
    [    1.247009] usbcore: registered new interface driver dm9601
    [    1.252807] cdc_ncm: 04-Aug-2011
    [    1.256286] usbcore: registered new interface driver cdc_ncm
    [    1.262115] Initializing USB Mass Storage driver...
    [    1.267395] usbcore: registered new interface driver usb-storage
    [    1.273590] USB Mass Storage support registered.
    [    1.278930] mousedev: PS/2 mouse device common for all mice
    [    1.286071] omap_rtc am33xx-rtc: rtc core: registered am33xx-rtc as rtc0
    [    1.292999] am33xx-rtc: already running
    [    1.297180] i2c /dev entries driver
    [    1.301177] Linux video capture interface: v2.00
    [    1.306274] usbcore: registered new interface driver uvcvideo
    [    1.312194] USB Video Class driver (1.1.1)
    [    1.318572] OMAP Watchdog Timer Rev 0x01: initial timeout 60 sec
    [    1.329498] cpuidle: using governor ladder
    [    1.334197] cpuidle: using governor menu
    [    1.413635] usbcore: registered new interface driver usbhid
    [    1.419372] usbhid: USB HID core driver
    [    1.424163] usbcore: registered new interface driver snd-usb-audio
    [    1.431976] ALSA device list:
    [    1.435058]   No soundcards found.
    [    1.438568] oprofile: hardware counters not available
    [    1.443756] oprofile: using timer interrupt.
    [    1.448181] nf_conntrack version 0.5.0 (1922 buckets, 7688 max)
    [    1.454742] ip_tables: (C) 2000-2006 Netfilter Core Team
    [    1.460449] TCP cubic registered
    [    1.463806] NET: Registered protocol family 17
    [    1.468475] Bridge firewalling registered
    [    1.472595] can: controller area network core (rev 20090105 abi 8)
    [    1.479064] NET: Registered protocol family 29
    [    1.483642] can: raw protocol (rev 20090105)
    [    1.488037] can: broadcast manager protocol (rev 20090105 t)
    [    1.493896] 8021q: 802.1Q VLAN Support v1.8
    [    1.498229] Registering the dns_resolver key type
    [    1.503112] VFP support v0.3: implementor 41 architecture 3 part 30 variant c rev 3
    [    1.510986] ThumbEE CPU extension supported.
    [    1.515441] mux: Failed to setup hwmod io irq -22
    [    1.520904] Power Management for AM33XX family
    [    1.525695] Trying to load am335x-pm-firmware.bin (60 secs timeout)
    [    1.532257] Copied the M3 firmware to UMEM
    [    1.536560] Cortex M3 Firmware Version = 0x18
    [    1.544219] clock: disabling unused clocks to save power
    [    1.551422] Detected MACID=d0:ff:50:3:cf:6
    [    1.556640] cpsw: Detected MACID = d0:ff:50:03:cf:08
    [    1.562713] omap_rtc am33xx-rtc: setting system clock to 2000-01-01 00:07:00 UTC (946685220)
    [    1.575836] net eth0: CPSW phy found : id is : 0x7c0f1
    [    1.589996] mmc0: card claims to support voltages below the defined range. These will be ignored.
    [    1.609863] mmc0: queuing unknown CIS tuple 0x91 (3 bytes)
    [    1.616058] mmc0: new high speed SDIO card at address 0001
    [    1.711578] mmc1: new high speed MMC card at address 0001
    [    1.717620] mmcblk0: mmc1:0001 MMC04G 3.52 GiB
    [    1.722381] mmcblk0boot0: mmc1:0001 MMC04G partition 1 16.0 MiB
    [    1.728668] mmcblk0boot1: mmc1:0001 MMC04G partition 2 16.0 MiB
    [    1.736907]  mmcblk0: p1 p2 p3 p4
    [    1.743316]  mmcblk0boot1: unknown partition table
    [    1.750152]  mmcblk0boot0: unknown partition table
    [    4.574310] PHY: 0:00 - Link is Up - 100/Full
    [    4.603912] IP-Config: Complete:
    [    4.607238]      device=eth0, addr=192.168.200.2, mask=255.255.255.0, gw=255.255.255.255,
    [    4.615417]      host=192.168.200.2, domain=, nis-domain=(none),
    [    4.621582]      bootserver=192.168.200.1, rootserver=192.168.200.1, rootpath=
    [    4.635620] VFS: Mounted root (nfs filesystem) on device 0:15.
    [    4.641998] devtmpfs: mounted
    [    4.645385] Freeing init memory: 236K
    [    5.493408] udevd[691]: starting version 182
    [    5.759277] Disabling lock debugging due to kernel taint
    [    5.766204] compat-drivers backport release: ol_r8.a8.04_32
    [    5.771942] Backport based on wl18xx.git ol_r8.a8.10_32
    [    5.777343] compat.git: wl18xx.git
    [    6.059020] cfg80211: Calling CRDA to update world regulatory domain
    [    6.587829] d_can d_can.0: can0: setting CAN BT = 0x2701
    [    6.818054] wlcore: wl18xx driver version: ol_r8.a8.04_32
    [    7.184570] wlcore: wl18xx HW: 183x or 180x, PG 2.2 (ROM 0x11)
    [    7.201965] wlcore: loaded
    [    7.204895] wlcore: driver version: ol_r8.a8.04_32
    [    7.209808] wlcore: compilation time: Thu Feb  6 08:33:05 2014

    Thanks,

    Marco.

  • Hi Marko,

    see the line:
    [ 0.000000] Kernel command line: console=ttyO0,115200n8 root=/dev/nfs nfsroot=192.168.200.1:/export
    The root=/dev/nfs nfsroot=192.168.200.1:/export means that kernel will look for file systems on nfs not in a sd-card. To boot from sd-card this parameter have to be: root=/dev/mmcblk0p2 rw rootfstype=ext4 ...

    BR
    Ivan
  • Hi Ivan,

    the filesystem is mounted over NFS because I'm testing the eMMC, I can switch to a fs mounted on MMC but my problem remains.

    As already said while following the TI guide to set the partition for the eMMC I get several warnings, I just would like to know which configuration of heads, sectors/tracks, cylinders do you recommends.

    Thanks,
    Marco.
  • Hi Marco,

    I'm using the same configuration as Biser explain. Would you try Linux command dd from a konsole to see eMMC is working. From your log I see that really the eMMC is a mmcblk0. You have to type:
    dd if=/dev/mmcblk0 of=somefile
    where somefile is good to be about 3.5 GB because I see that eMMC is about this size.

    BR
    Ivan
  • Hi Marco,

    To add. Next it's good to read from eMMC with same command, but you can change if and of and have to add size of dd comand. The line will:
    dd if=somefile1 of=/dev/mmcblk0 size=sizeof(somefile)
    After finished this command you can compare somefile1 and somefile.

    BR
    Ivan
  • Hi Ivan,

    the eMMC is working, below my test. Mind /root is mounted over NFS while the eMMC is mounted on /media

    [root@wfxb /root]# dd if=/dev/urandom of=/media/test.file bs=1M count=1024
    1024+0 records in
    1024+0 records out
    [root@wfxb /root]#
    [root@wfxb /root]# cp /media/test.file /root/
    [root@wfxb /root]#
    [root@wfxb /root]# md5sum /media/test.file /root/test.file
    82f5081687fca38a1ecc4127550f9812  /media/test.file
    82f5081687fca38a1ecc4127550f9812  /root/test.file
    [root@wfxb /root]#


    Best regards,
    Marco.