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.

boot stop at :Waiting for root device /dev/mmcblk0p2...

Other Parts Discussed in Thread: OMAPL138, OMAP-L138, DA8XX, PMP

Hi

My omapl138 board stop booting when it has to mount filesystem.

I have made this board much simpler than experimenter kit. I use a 4 Gb SD card which works fine on my experimenter kit and also use the same SOM

so i can hardly think of problem with SD or environment Variables. Following is a print of environment followed by debug output.

Thanks.

U-Boot > printenv
autoload=no
baudrate=115200
bootargs=console=ttyS2,115200n8 noinitrd rw mem=32M@0xc0000000 mem=64M@0xc4000000 root=/dev/mmcblk0p2 rootfstype=ext3 rootwait ip=off
bootcmd=mmc rescan 0; fatload mmc 0 0xc0700000 uImage; bootm 0xc0700000
bootdelay=4
bootfile=uImage-da850-omapl138-evm.bin
dnsip=192.168.0.2
ethact=DaVinci-EMAC
ethaddr=00:08:ee:04:91:78
fileaddr=C0700000
filesize=29E1C
ipaddr=192.168.0.112
netmask=255.255.255.0
oldbootargs=console=ttyS2,115200n8 root=/dev/mmcblk0p2 rw rootwait ip=off
serverip=192.168.0.5
stderr=serial
stdin=serial
stdout=serial
ver=U-Boot 2010.12 (Dec 23 2011 - 11:22:43)

Environment size: 644/65532 bytes
U-Boot >

Booting with TI UBL
Device OPP (300MHz, 1.2V)

U-Boot 2010.12 (Dec 23 2011 - 11:22:43)

I2C:   ready
DRAM:  128 MiB
MMC:   davinci: 0
SF: Detected M25P64 with page size 256, total 8 MiB
In:    serial
Out:   serial
Err:   serial
ARM Clock : 300000000 Hz
DDR Clock : 132000000 Hz
Net:   Ethernet PHY: GENERIC @ 0x00
DaVinci-EMAC
Hit any key to stop autoboot:  0
reading uImage

2315152 bytes read
## Booting kernel from Legacy Image at c0700000 ...
   Image Name:   Arago/2.6.37-psp03.21.00.04.sdk/
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    2315088 Bytes = 2.2 MiB
   Load Address: c0008000
   Entry Point:  c0008000
   Verifying Checksum ... OK
   Loading Kernel Image ... OK
OK

Starting kernel ...

Uncompressing Linux... done, booting the kernel.
Linux version 2.6.37 (a0876316@bangdvsdkdev01) (gcc version 4.3.3 (GCC) ) #1 PREEMPT Fri Dec 23 11:12:57 IST 2011
CPU: ARM926EJ-S [41069265] revision 5 (ARMv5TEJ), cr=00053177
CPU: VIVT data cache, VIVT instruction cache
Machine: DaVinci DA850/OMAP-L138/AM18x EVM
Memory policy: ECC disabled, Data cache writeback
DaVinci da850/omap-l138/am18x variant 0x1
Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 24320
Kernel command line: console=ttyS2,115200n8 noinitrd rw mem=32M@0xc0000000 mem=64M@0xc4000000 root=/dev/mmcblk0p2 rootfstype=ext3 rootwait ip=off
PID hash table entries: 512 (order: -1, 2048 bytes)
Dentry cache hash table entries: 16384 (order: 4, 65536 bytes)
Inode-cache hash table entries: 8192 (order: 3, 32768 bytes)
Memory: 32MB 64MB = 96MB total
Memory: 92492k/92492k available, 5812k reserved, 0K highmem
Virtual kernel memory layout:
    vector  : 0xffff0000 - 0xffff1000   (   4 kB)
    fixmap  : 0xfff00000 - 0xfffe0000   ( 896 kB)
    DMA     : 0xff000000 - 0xffe00000   (  14 MB)
    vmalloc : 0xc8800000 - 0xfea00000   ( 866 MB)
    lowmem  : 0xc0000000 - 0xc8000000   ( 128 MB)
    modules : 0xbf000000 - 0xc0000000   (  16 MB)
      .init : 0xc0008000 - 0xc0032000   ( 168 kB)
      .text : 0xc0032000 - 0xc047e000   (4400 kB)
      .data : 0xc047e000 - 0xc04a8980   ( 171 kB)
SLUB: Genslabs=13, HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
Preemptable hierarchical RCU implementation.
        RCU-based detection of stalled CPUs is disabled.
        Verbose stalled-CPUs detection is disabled.
NR_IRQS:245
Console: colour dummy device 80x30
Calibrating delay loop... 149.50 BogoMIPS (lpj=747520)
pid_max: default: 32768 minimum: 301
Security Framework initialized
Mount-cache hash table entries: 512
CPU: Testing write buffer coherency: ok
DaVinci: 144 gpio irqs
regulator: core version 0.5
regulator: dummy:
NET: Registered protocol family 16
WARNING: both McASP and McBSP are enabled, but they share pins.
        Only McASP will work. If you want McBSP support, disable McASP.
WARNING: both McASP and UART1_AFE are enabled, but they share pins.
        Disable one of them.
da850_evm_init: eHRPWM module 0 cannot be used since it is being used by MII interface
da850_evm_init: eHRPWM module1 outputA cannot be used since it is being used by LCD
da850_evm_init: eHRPWM module1 outputB cannot be used since it is being used by spi1
bio: create slab <bio-0> at 0
SCSI subsystem initialized
usbcore: registered new interface driver usbfs
usbcore: registered new interface driver hub
usbcore: registered new device driver usb
pca953x 1-0020: failed reading register
pca953x 1-0021: failed reading register
regulator: VDCDC1: 3200 <--> 3300 mV at 3300 mV
regulator: VDCDC2: 1750 <--> 3300 mV at 3300 mV
regulator: VDCDC3: 950 <--> 1350 mV at 1200 mV
regulator: LDO1: 1800 mV
regulator: LDO2: 1150 <--> 1300 mV at 1200 mV
i2c-gpio i2c-gpio.1: using pins 20 (SDA) and 21 (SCL)
Advanced Linux Sound Architecture Driver Version 1.0.23.
Bluetooth: Core ver 2.15
NET: Registered protocol family 31
Bluetooth: HCI device and connection manager initialized
Bluetooth: HCI socket layer initialized
Switching to clocksource timer0_1
musb-hdrc: version 6.0, host, debug=0
musb-hdrc musb-hdrc: dma type: dma-cppi41
Waiting for USB PHY clock good...
musb-hdrc musb-hdrc: MUSB HDRC host driver
musb-hdrc musb-hdrc: new USB bus registered, assigned bus number 1
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 1 port detected
musb-hdrc musb-hdrc: USB Host mode controller at fee00000 using DMA, IRQ 58
NET: Registered protocol family 2
IP route cache hash table entries: 1024 (order: 0, 4096 bytes)
TCP established hash table entries: 4096 (order: 3, 32768 bytes)
TCP bind hash table entries: 4096 (order: 2, 16384 bytes)
TCP: Hash tables configured (established 4096 bind 4096)
TCP reno registered
UDP hash table entries: 256 (order: 0, 4096 bytes)
UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
NET: Registered protocol family 1
RPC: Registered udp transport module.
RPC: Registered tcp transport module.
RPC: Registered tcp NFSv4.1 backchannel transport module.
EMAC: MII PHY configured, RMII PHY will not be functional
McBSP:Probed McBSP1
JFFS2 version 2.2. (NAND) © 2001-2006 Red Hat, Inc.
msgmni has been set to 180
io scheduler noop registered (default)
da8xx_lcdc da8xx_lcdc.0: GLCD: Found Sharp_LK043T1DG01 panel
Console: switching to colour frame buffer device 60x34
Serial: 8250/16550 driver, 3 ports, IRQ sharing disabled
serial8250.0: ttyS0 at MMIO 0x1c42000 (irq = 25) is a AR7
serial8250.0: ttyS1 at MMIO 0x1d0c000 (irq = 53) is a AR7
serial8250.0: ttyS2 at MMIO 0x1d0d000 (irq = 61) is a AR7
console [ttyS2] enabled
brd: module loaded
at24 1-0050: 32768 byte 24c256 EEPROM (writable)
ahci ahci: forcing PORTS_IMPL to 0x1
ahci ahci: AHCI 0001.0100 32 slots 1 ports 3 Gbps 0x1 impl platform mode
ahci ahci: flags: ncq sntf pm led clo only pmp pio slum part ccc
scsi0 : ahci_platform
ata1: SATA max UDMA/133 mmio [mem 0x01e18000-0x01e19fff] port 0x100 irq 67
spi_davinci spi_davinci.1: DMA: supported
spi_davinci spi_davinci.1: DMA: RX channel: 18, TX channel: 19, event queue: 0
m25p80 spi1.0: m25p64 (8192 Kbytes)
Creating 6 MTD partitions on "m25p80":
0x000000000000-0x000000010000 : "UBL"
0x000000010000-0x000000090000 : "U-Boot"
0x000000090000-0x0000000a0000 : "U-Boot-Env"
0x0000000a0000-0x000000320000 : "Kernel"
0x000000320000-0x000000720000 : "Filesystem"
0x0000007f0000-0x000000800000 : "MAC-Address"
Read MAC addr from SPI Flash: 00:08:ee:04:91:78
spi_davinci spi_davinci.1: Controller at 0xfef0e000
davinci_mdio davinci_mdio.0: davinci mdio revision 1.5
davinci_mdio davinci_mdio.0: detected phy mask fffffffe
davinci_mdio.0: probed
davinci_mdio davinci_mdio.0: phy[0]: device 0:00, driver SMSC LAN8710/LAN8720
console [netcon0] enabled
netconsole: network logging started
ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
ohci ohci.0: DA8xx OHCI
ohci ohci.0: new USB bus registered, assigned bus number 2
Waiting for USB PHY clock good...
ohci ohci.0: irq 59, io mem 0x01e25000
hub 2-0:1.0: USB hub found
hub 2-0:1.0: 1 port detected
Initializing USB Mass Storage driver...
usbcore: registered new interface driver usb-storage
USB Mass Storage support registered.
input: TPS6507x Touchscreen as /devices/platform/i2c-gpio.1/i2c-1/1-0048/input/input0
omap_rtc omap_rtc: rtc core: registered omap_rtc as rtc0
omap_rtc: RTC power up reset detected
i2c /dev entries driver
watchdog watchdog: heartbeat 60 sec
Bluetooth: HCI UART driver ver 2.2
ata1: SATA link down (SStatus 0 SControl 300)
Bluetooth: HCI H4 protocol initialized
Bluetooth: HCILL protocol initialized
cpuidle: using governor ladder
cpuidle: using governor menu
davinci_mmc davinci_mmc.0: Using DMA, 4-bit mode
davinci_mmc davinci_mmc.1: Using DMA, 4-bit mode
usbcore: registered new interface driver usbhid
usbhid: USB HID core driver
1-0018 supply IOVDD not found, using dummy regulator
1-0018 supply DVDD not found, using dummy regulator
1-0018 supply AVDD not found, using dummy regulator
1-0018 supply DRVDD not found, using dummy regulator
asoc: tlv320aic3x-hifi <-> davinci-mcasp.0 mapping ok
ALSA device list:
  #0: DA850/OMAP-L138 EVM
nf_conntrack version 0.5.0 (1445 buckets, 5780 max)
ip_tables: (C) 2000-2006 Netfilter Core Team
TCP cubic registered
NET: Registered protocol family 17
Bluetooth: L2CAP ver 2.15
Bluetooth: L2CAP socket layer initialized
Bluetooth: SCO (Voice Link) ver 0.6
Bluetooth: SCO socket layer initialized
Bluetooth: RFCOMM TTY layer initialized
Bluetooth: RFCOMM socket layer initialized
Bluetooth: RFCOMM ver 1.11
Bluetooth: BNEP (Ethernet Emulation) ver 1.3
Bluetooth: BNEP filters: protocol multicast
Bluetooth: HIDP (Human Interface Emulation) ver 1.2
regulator_init_complete: incomplete constraints, leaving LDO2 on
regulator_init_complete: incomplete constraints, leaving LDO1 on
regulator_init_complete: incomplete constraints, leaving VDCDC3 on
regulator_init_complete: incomplete constraints, leaving VDCDC2 on
regulator_init_complete: incomplete constraints, leaving VDCDC1 on
omap_rtc omap_rtc: setting system clock to 2000-01-01 00:00:00 UTC (946684800)
Waiting for root device /dev/mmcblk0p2...

  • I assume that this is a custom board. U-boot appears to successfully read uImage from the SD-Card. The bootlog should say something about detecting the card and size. Perhaps your kernel is using the wrong GPIO for card detect. Or maybe pinmux hasn't been changed to reflect your custom board.

  • Hi Norman. Yes it is a custom board but only include LAN, SD, and LCD with exactly the same design as experimenter kit.

    I will double check card detect. But regarding pinmux configuration  how one can change it!? I was thinking that every driver set its own peripheral.

    Thanks

  • On the OMAP-L138, the pinmux is not usually set by the device driver. On that processor, the peripheral can be muxed to more than one pin. The choice of which pin is board dependent. For the OMAP-L138, see kernel source here:

    arch/arm/mach-davinci/board-da850-evm.c

    you'll' see many calls to davinci_cfg_reg_list() and davinci_cfg_reg(). The mux details of each pin are in da850.c. The EVM has CD on GPIO 4-0 and WP on GPIO 4-1. All SD pins are defined in da850_mmcsd0_pins config data.

    Although your custom board may have the same SD design as the EVM, you may had added a peripheral that uses the same pins are the SD. The add peripheral may configure the pinmux after the SD. This will overwrite the SD's pinmux configuration. The board code does try to check for conflicts. In your bootlog, these lines are from the checks:

    WARNING: both McASP and McBSP are enabled, but they share pins.
            Only McASP will work. If you want McBSP support, disable McASP.
    WARNING: both McASP and UART1_AFE are enabled, but they share pins.
            Disable one of them.
    da850_evm_init: eHRPWM module 0 cannot be used since it is being used by MII interface
    da850_evm_init: eHRPWM module1 outputA cannot be used since it is being used by LCD
    da850_evm_init: eHRPWM module1 outputB cannot be used since it is being used by spi1

    You should review and change your kernel config to remove these conflicts.

  • Norman,

    I have used many pins on my program developed for  dsp core  which use many peripherals , so I  have been  exhaustively involved  with pin multiplexing there and checked every pin functions several times.

    But in this case as i earlier mentioned only SD ,LCD and UART2 has been used with exactly the same design of  EVM. I have not implemented any  other part of EVM baseboard including switches and sofware reset cuicuitry which i dont know can be the cause of problem!?

    The warning you have mentioned can be seen in boot debug on experimenter kit too which is working fine . The difference is that on experimenter kit audio codec exist but on my custom board not.

    Thank you for your kind attention.

  • Yeah, it could be something else entirely unrelated to the pinmux or even the MMC driver. Usually the MMC driver is quite vocal about errors, eg timeouts, voltage incompatibilties. Perhaps some other driver or code is hung up. Compare the EVM bootlog with your custom bootlog. What's the next driver that prints out after "Waiting". Note that drivers do not come up in a sequential fashion. Look in the general area before or after "Waiting".

  • I finally find it. It was a loose connection on SOM's card insert input!

    Thank you very much, your information was very helpfull