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.

Linux/PROCESSOR-SDK-AM335X: linux kernel hangs at Waiting for root device /dev/mmcblk0p2...

Part Number: PROCESSOR-SDK-AM335X
Other Parts Discussed in Thread: DP83848C, AM3352, TPS65910

Tool/software: Linux

Hi,

I am using TI Sitara PSP having Linux version v4.4.41. I am porting Linux on my custom board. I ported linux v3.2 successfully on it bur due to unavailability of some required drivers I have decided to use linux v4.4.41.

in that I modified uboot for custom board, It loads a linux kernel. currently I am facing one issue I am booting from sd card but linux kernel hangs at 

"Waiting for root device /dev/mmcblk0p2...". I also searched on e2e community regarding a same problem but it could'nt solved a problem.

So Please guide me where I am wrong,

following is my kernel log

U-Boot SPL 2017.03 (Apr 20 2017 - 12:01:49)

Timed out in wait_for_event: status=0000
Check if pads/pull-ups of bus are properly configured
Trying to boot from MMC1
reading uboot.env

** Unable to read "uboot.env" from mmc0:1 **
Using default environment

reading u-boot.img
reading u-boot.img


U-Boot 2017.03 (Apr 20 2017 - 12:01:49 +0530)

CPU : AM335X-GP rev 2.1
Model: TI AM335x EVM
DRAM: 256 MiB
NAND: 1024 MiB
MMC: OMAP SD/MMC: 0, OMAP SD/MMC: 1
reading uboot.env

** Unable to read "uboot.env" from mmc0:1 **
Using default environment

ERROR: No USB device found

at drivers/usb/gadget/ether.c:2709/usb_ether_init()
<ethaddr> not set. Validating first E-fuse MAC
Net: Could not get PHY for ethernet@4a100000: addr 0
eth0: ethernet@4a100000
Hit any key to stop autoboot: 0
switch to partitions #0, OK
mmc0 is current device
SD/MMC found on device 0
reading boot.scr
** Unable to read file boot.scr **
reading uEnv.txt
206 bytes read in 5 ms (40 KiB/s)
Loaded env from uEnv.txt
Importing environment from mmc0 ...
Running uenvcmd ...
reading uImage
3466928 bytes read in 378 ms (8.7 MiB/s)
reading am335x-evm.dtb
42154 bytes read in 12 ms (3.3 MiB/s)
## Booting kernel from Legacy Image at 80007fc0 ...
Image Name: Linux-4.4.41-gf9f6f0db2d
Created: 2017-07-06 13:47:04 UTC
Image Type: ARM Linux Kernel Image (uncompressed)
Data Size: 3466864 Bytes = 3.3 MiB
Load Address: 80008000
Entry Point: 80008000
Verifying Checksum ... OK
## Flattened Device Tree blob at 80f80000
Booting using the fdt blob at 0x80f80000
XIP Kernel Image ... OK
Loading Device Tree to 8df1e000, end 8df2b4a9 ... OK

Starting kernel ...

[ 0.000000] Booting Linux on physical CPU 0x0
[ 0.000000] Initializing cgroup subsys cpu
[ 0.000000] Initializing cgroup subsys cpuacct
[ 0.000000] Linux version 4.4.41-gf9f6f0db2d (root@linuxadmin-admin) (gcc version 4.9.2 20140904 (prerelease) (crosstool-NG linaro-1.13.1-4.9-2014.09 - Linaro GCC 4.9-2014.09) ) #1 PREEMPT Thu Jul 6 19:16:33 IST 2017
[ 0.000000] CPU: ARMv7 Processor [413fc082] revision 2 (ARMv7), cr=10c5387d
[ 0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
[ 0.000000] Machine model: TI AM335x EVM
[ 0.000000] cma: Reserved 48 MiB at 0x8a800000
[ 0.000000] Memory policy: Data cache writeback
[ 0.000000] CPU: All CPU(s) started in SVC mode.
[ 0.000000] AM335X ES2.1 (sgx neon )
[ 0.000000] Built 1 zonelists in Zone order, mobility grouping on. Total pages: 64960
[ 0.000000] Kernel command line: console=ttyO0,115200n8 root=/dev/mmcblk0p2 mem=256M rootwait
[ 0.000000] PID hash table entries: 1024 (order: 0, 4096 bytes)
[ 0.000000] Dentry cache hash table entries: 32768 (order: 5, 131072 bytes)
[ 0.000000] Inode-cache hash table entries: 16384 (order: 4, 65536 bytes)
[ 0.000000] Memory: 200348K/262144K available (6595K kernel code, 317K rwdata, 2344K rodata, 264K init, 265K bss, 12644K reserved, 49152K cma-reserved, 0K highmem)
[ 0.000000] Virtual kernel memory layout:
[ 0.000000] vector : 0xffff0000 - 0xffff1000 ( 4 kB)
[ 0.000000] fixmap : 0xffc00000 - 0xfff00000 (3072 kB)
[ 0.000000] vmalloc : 0xd0800000 - 0xff800000 ( 752 MB)
[ 0.000000] lowmem : 0xc0000000 - 0xd0000000 ( 256 MB)
[ 0.000000] pkmap : 0xbfe00000 - 0xc0000000 ( 2 MB)
[ 0.000000] modules : 0xbf000000 - 0xbfe00000 ( 14 MB)
[ 0.000000] .text : 0xc0008000 - 0xc08c3034 (8941 kB)
[ 0.000000] .init : 0xc08c4000 - 0xc0906000 ( 264 kB)
[ 0.000000] .data : 0xc0906000 - 0xc09554a0 ( 318 kB)
[ 0.000000] .bss : 0xc09554a0 - 0xc0997c70 ( 266 kB)
[ 0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
[ 0.000000] Preemptible hierarchical RCU implementation.
[ 0.000000] Build-time adjustment of leaf fanout to 32.
[ 0.000000] NR_IRQS:16 nr_irqs:16 16
[ 0.000000] IRQ: Found an INTC at 0xfa200000 (revision 5.0) with 128 interrupts
[ 0.000000] OMAP clockevent source: timer2 at 24000000 Hz
[ 0.000025] sched_clock: 32 bits at 24MHz, resolution 41ns, wraps every 89478484971ns
[ 0.000066] clocksource: timer1: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 79635851949 ns
[ 0.000086] OMAP clocksource: timer1 at 24000000 Hz
[ 0.000432] clocksource_probe: no matching clocksources found
[ 0.000748] Console: colour dummy device 80x30
[ 0.000793] WARNING: Your 'console=ttyO0' has been replaced by 'ttyS0'
[ 0.000805] This ensures that you still see kernel messages. Please
[ 0.000815] update your kernel commandline.
[ 0.000846] Calibrating delay loop... 398.13 BogoMIPS (lpj=1990656)
[ 0.048188] pid_max: default: 32768 minimum: 301
[ 0.048412] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes)
[ 0.048433] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes)
[ 0.049662] Initializing cgroup subsys io
[ 0.049717] Initializing cgroup subsys memory
[ 0.049781] Initializing cgroup subsys devices
[ 0.049809] Initializing cgroup subsys freezer
[ 0.049837] Initializing cgroup subsys perf_event
[ 0.049859] Initializing cgroup subsys pids
[ 0.049912] CPU: Testing write buffer coherency: ok
[ 0.050571] Setting up static identity map for 0x80008200 - 0x80008260
[ 0.054632] devtmpfs: initialized
[ 0.080308] VFP support v0.3: implementor 41 architecture 3 part 30 variant c rev 3
[ 0.106931] omap_hwmod: debugss: _wait_target_disable failed
[ 0.167034] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
[ 0.173916] pinctrl core: initialized pinctrl subsystem
[ 0.176299] NET: Registered protocol family 16
[ 0.180693] DMA: preallocated 256 KiB pool for atomic coherent allocations
[ 0.208193] cpuidle: using governor ladder
[ 0.238178] cpuidle: using governor menu
[ 0.246716] OMAP GPIO hardware version 0.1
[ 0.258732] platform 44e3e000.rtc: Cannot lookup hwmod 'rtc'
[ 0.263344] omap-gpmc 50000000.gpmc: could not find pctldev for node /ocp/l4_wkup@44c00000/scm@210000/pinmux@800/nandflash_pins_s0, deferring probe
[ 0.269026] hw-breakpoint: debug architecture 0x4 unsupported.
[ 0.324500] edma 49000000.edma: TI EDMA DMA engine driver
[ 0.333165] omap_i2c 44e0b000.i2c: could not find pctldev for node /ocp/l4_wkup@44c00000/scm@210000/pinmux@800/pinmux_i2c0_pins, deferring probe
[ 0.333270] omap_i2c 4802a000.i2c: could not find pctldev for node /ocp/l4_wkup@44c00000/scm@210000/pinmux@800/pinmux_i2c1_pins, deferring probe
[ 0.333541] media: Linux media interface: v0.10
[ 0.333667] Linux video capture interface: v2.00
[ 0.333759] pps_core: LinuxPPS API ver. 1 registered
[ 0.333773] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
[ 0.333844] PTP clock support registered
[ 0.333956] EDAC MC: Ver: 3.0.0
[ 0.336134] omap-mailbox 480c8000.mailbox: omap mailbox rev 0x400
[ 0.336794] Advanced Linux Sound Architecture Driver Initialized.
[ 0.339107] clocksource: Switched to clocksource timer1
[ 0.360313] NET: Registered protocol family 2
[ 0.361737] TCP established hash table entries: 2048 (order: 1, 8192 bytes)
[ 0.361813] TCP bind hash table entries: 2048 (order: 1, 8192 bytes)
[ 0.361867] TCP: Hash tables configured (established 2048 bind 2048)
[ 0.362015] UDP hash table entries: 256 (order: 0, 4096 bytes)
[ 0.362054] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
[ 0.362335] NET: Registered protocol family 1
[ 0.363021] RPC: Registered named UNIX socket transport module.
[ 0.363048] RPC: Registered udp transport module.
[ 0.363060] RPC: Registered tcp transport module.
[ 0.363071] RPC: Registered tcp NFSv4.1 backchannel transport module.
[ 0.364677] hw perfevents: enabled with armv7_cortex_a8 PMU driver, 5 counters available
[ 0.368470] futex hash table entries: 256 (order: -1, 3072 bytes)
[ 0.384706] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[ 0.386266] NFS: Registering the id_resolver key type
[ 0.386380] Key type id_resolver registered
[ 0.386393] Key type id_legacy registered
[ 0.386525] ntfs: driver 2.1.32 [Flags: R/O].
[ 0.393314] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 247)
[ 0.393362] io scheduler noop registered
[ 0.393387] io scheduler deadline registered
[ 0.393722] io scheduler cfq registered (default)
[ 0.396429] pinctrl-single 44e10800.pinmux: 142 pins at pa f9e10800 size 568
[ 0.402569] backlight supply power not found, using dummy regulator
[ 0.524722] Serial: 8250/16550 driver, 10 ports, IRQ sharing disabled
[ 0.532409] 44e09000.serial: ttyS0 at MMIO 0x44e09000 (irq = 158, base_baud = 3000000) is a 8250
[ 1.168881] console [ttyS0] enabled
[ 1.174654] 48022000.serial: ttyS1 at MMIO 0x48022000 (irq = 159, base_baud = 3000000) is a 8250
[ 1.185794] [drm] Initialized drm 1.1.0 20060810
[ 1.192760] panel panel: found backlight
[ 1.199430] [drm] Supports vblank timestamp caching Rev 2 (21.10.2013).
[ 1.206104] [drm] No driver support for vblank timestamp query.
[ 1.241440] tilcdc 4830e000.lcdc: tilcdc_crtc_irq(0x00000020): FIFO underfow
[ 1.251150] Console: switching to colour frame buffer device 100x30
[ 1.255752] tilcdc 4830e000.lcdc: tilcdc_crtc_irq(0x00000004): Sync lost
[ 1.256697] tilcdc 4830e000.lcdc: tilcdc_crtc_irq(0x00000004): Sync lost
[ 1.275826] tilcdc 4830e000.lcdc: tilcdc_crtc_irq(0x00000004): Sync lost
[ 1.289350] tilcdc 4830e000.lcdc: tilcdc_crtc_irq(0x00000104): Sync lost
[ 1.302926] tilcdc 4830e000.lcdc: fb0: frame buffer device
[ 1.308554] tilcdc 4830e000.lcdc: tilcdc_crtc_irq(0x00000104): Sync lost
[ 1.319972] tilcdc 4830e000.lcdc: tilcdc_crtc_irq(0x00000004): Sync lost
[ 1.326729] tilcdc 4830e000.lcdc: tilcdc_crtc_irq(0x00000004): Sync lost
[ 1.336126] tilcdc 4830e000.lcdc: tilcdc_crtc_irq(0x00000004): Sync lost
[ 1.342904] tilcdc 4830e000.lcdc: tilcdc_crtc_irq(0x00000004): Sync lost
[ 1.350031] [drm] Initialized tilcdc 1.0.0 20121205 on minor 0
[ 1.355943] tilcdc 4830e000.lcdc: tilcdc_crtc_irq(0x00000104): Sync lost
[ 1.376162] loop: module loaded
[ 1.384378] libphy: Fixed MDIO Bus: probed
[ 1.449162] davinci_mdio 4a101000.mdio: davinci mdio revision 1.6
[ 1.455373] davinci_mdio 4a101000.mdio: detected phy mask fdfffff7
[ 1.463702] libphy: 4a101000.mdio: probed
[ 1.467865] davinci_mdio 4a101000.mdio: phy[3]: device 4a101000.mdio:03, driver NS DP83848C 10/100 Mbps PHY
[ 1.477807] davinci_mdio 4a101000.mdio: phy[25]: device 4a101000.mdio:19, driver unknown
[ 1.487374] cpsw 4a100000.ethernet: Detected MACID = 1c:ba:8c:e6:4c:b8
[ 1.494505] cpsw 4a100000.ethernet: cpts: overflow check period 850
[ 1.504358] mousedev: PS/2 mouse device common for all mice
[ 1.511283] i2c /dev entries driver
[ 1.517074] cpuidle: enable-method property 'ti,am3352' found operations
[ 1.525496] omap_hsmmc 48060000.mmc: Got CD GPIO
[ 1.659283] tilcdc 4830e000.lcdc: tilcdc_crtc_irq(0x00000004): Sync lost flood detected, disabling the interrupt
[ 1.700449] ledtrig-cpu: registered to indicate activity on CPUs
[ 1.724364] NET: Registered protocol family 10
[ 1.741422] sit: IPv6 over IPv4 tunneling driver
[ 1.747627] NET: Registered protocol family 17
[ 1.769757] Key type dns_resolver registered
[ 1.774562] omap_voltage_late_init: Voltage driver support not added
[ 1.799831] omap-gpmc 50000000.gpmc: GPMC revision 6.0
[ 1.805425] gpmc_mem_init: disabling cs 0 mapped at 0x0-0x1000000
[ 1.822007] nand: Could not find valid ONFI parameter page; aborting
[ 1.828414] nand: device found, Manufacturer ID: 0x01, Chip ID: 0xd3
[ 1.849118] nand: AMD/Spansion NAND 1GiB 3,3V 8-bit
[ 1.859126] nand: 1024 MiB, SLC, erase size: 128 KiB, page size: 2048, OOB size: 64
[ 1.866886] nand: using OMAP_ECC_BCH8_CODE_HW ECC scheme
[ 1.885620] 10 ofpart partitions found on MTD device 8000000.nand
[ 1.899119] Creating 10 MTD partitions on "8000000.nand":
[ 1.909145] 0x000000000000-0x000000020000 : "NAND.SPL"
[ 1.930433] 0x000000020000-0x000000040000 : "NAND.SPL.backup1"
[ 1.938545] 0x000000040000-0x000000060000 : "NAND.SPL.backup2"
[ 1.960331] 0x000000060000-0x000000080000 : "NAND.SPL.backup3"
[ 1.968323] 0x000000080000-0x0000000c0000 : "NAND.u-boot-spl-os"
[ 1.984552] 0x0000000c0000-0x0000001c0000 : "NAND.u-boot"
[ 2.000858] 0x0000001c0000-0x0000001e0000 : "NAND.u-boot-env"
[ 2.016464] 0x0000001e0000-0x000000200000 : "NAND.u-boot-env.backup1"
[ 2.040291] 0x000000200000-0x000000a00000 : "NAND.kernel"
[ 2.048177] 0x000000a00000-0x000010000000 : "NAND.file-system"
[ 2.109399] tps65910 0-002d: No interrupt support, no core IRQ
[ 2.128001] tps65910 0-002d: Error in configuring external control EN1
[ 2.139128] tps65910 0-002d: Failed to initialise ext control config
[ 2.159643] vrtc: failed to enable
[ 2.163351] tps65910 0-002d: failed to register tps65910-pmic regulator
[ 2.176322] tps65910-pmic: probe of tps65910-pmic failed with error -121
[ 2.189878] omap_i2c 44e0b000.i2c: bus 0 rev0.11 at 400 kHz
[ 2.211812] omap_i2c 4802a000.i2c: bus 1 rev0.11 at 100 kHz
[ 2.218656] omap_hsmmc 48060000.mmc: Got CD GPIO
[ 2.261961] input: volume_keys@0 as /devices/platform/volume_keys@0/input/input0
[ 2.280991] omap_hsmmc 48060000.mmc: Got CD GPIO
[ 2.286664] hctosys: unable to open rtc device (rtc0)
[ 2.310513] vbat: disabling
[ 2.313378] lis3_reg: disabling
[ 2.316722] ALSA device list:
[ 2.329130] No soundcards found.
[ 2.349441] Waiting for root device /dev/mmcblk0p2...

waiting for your reply.

Best Regards,

Vishvajeet.

  • Hi Vishvajeet,

    Vishvajeet Godse said:
    I am using TI Sitara PSP having Linux version v4.4.41. I am porting Linux on my custom board. I ported linux v3.2 successfully on it bur due to unavailability of some required drivers I have decided to use linux v4.4.41.

    Do you use AM335x processor-sdk-linux-03.03.00? Note that we have newer version 4, which comes with kernel v4.9.28

    Vishvajeet Godse said:

    in that I modified uboot for custom board, It loads a linux kernel. currently I am facing one issue I am booting from sd card but linux kernel hangs at 

    "Waiting for root device /dev/mmcblk0p2...

    Do you create your SD card with the create-sdcard.sh script? From this log it seems to me that something is wrong with your rootfs ext3 partition of your SD card.

    Regards,
    Pavel

  • Hello Pavel,
    Thanks for reply,Actually I downloaded latest SDK from TI Link and its version is linux-4.4.41 also I have checked this kernel with EVM board its booting an d working well but on custom board it hangs at above mentioned point. also I am using create-sd-card.sh to create bootable sd card.

    Actually I am porting linux on my custom board which is closely related to AM335x EVM Board. so same kernel is used by making some modifications in card detect(EVM and cutom board cd is diff) so I made a change for that gpio only. but according to log it shows "Got CD GPIO"
    remaining pinout is same as EVM. Please guide me where I am wrong

    Regards,
    Vishvajeet
  • Vishvajeet,

    Vishvajeet Godse said:
    Thanks for reply,Actually I downloaded latest SDK from TI Link and its version is linux-4.4.41

    This is latest SDK with kernel v4.9.28 

    Vishvajeet Godse said:
    also I have checked this kernel with EVM board its booting an d working well but on custom board it hangs at above mentioned point

    In both cases you are using SD boot with the same SD card, is that correct? Do you have any differences in MMC/SD, UART console or rootfs between EVM and your custom board?

    Vishvajeet Godse said:
    Actually I am porting linux on my custom board which is closely related to AM335x EVM Board. so same kernel is used by making some modifications in card detect(EVM and cutom board cd is diff) so I made a change for that gpio only. but according to log it shows "Got CD GPIO"
    remaining pinout is same as EVM. Please guide me where I am wrong

    CD (card detect) is different between EVM and custom board? Please provide more info on that point.

  • Hello Pavel,
    Thanks for reply,As per your request I will use latest sdk and will tell you what happens.their is no difference in between rootfs, uart and sd card except card detect pin. In EVM cd pin is assigned to gpio0_6 instead of it in our custom board we used gpio1_28. this is the only change.
    I made a change for this gpio in am335x-evm.dts file

    &mmc1 {
    status = "okay";
    vmmc-supply = <&vmmc_reg>;
    bus-width = <4>;
    pinctrl-names = "default";
    pinctrl-0 = <&mmc1_pins>;
    /* cd-gpios = <&gpio0 6 GPIO_ACTIVE_LOW>;*/ /* Original for evm brd*/
    cd-gpios = <&gpio1 28 GPIO_ACTIVE_LOW>; /* GPIO1_28 CD FOR Custom board*/
    };

    mmc1_pins: pinmux_mmc1_pins {
    pinctrl-single,pins = <
    /*0x160 (PIN_INPUT | MUX_MODE7) */ /* spi0_cs1.gpio0_6 */
    0x78 (PIN_INPUT | MUX_MODE7) /* gpmc_ben1.gpio1_28 */
    >;
    };
    mmc3_pins: pinmux_mmc3_pins {
    pinctrl-single,pins = <
    0x44 (PIN_INPUT_PULLUP | MUX_MODE3) /* gpmc_a1.mmc2_dat0, INPUT_PULLUP | MODE3 */
    0x48 (PIN_INPUT_PULLUP | MUX_MODE3) /* gpmc_a2.mmc2_dat1, INPUT_PULLUP | MODE3 */
    0x4C (PIN_INPUT_PULLUP | MUX_MODE3) /* gpmc_a3.mmc2_dat2, INPUT_PULLUP | MODE3 */
    /*0x78 (PIN_INPUT_PULLUP | MUX_MODE3)*/ /* gpmc_ben1.mmc2_dat3, INPUT_PULLUP | MODE3 */
    0x88 (PIN_INPUT_PULLUP | MUX_MODE3) /* gpmc_csn3.mmc2_cmd, INPUT_PULLUP | MODE3 */
    0x8C (PIN_INPUT_PULLUP | MUX_MODE3) /* gpmc_clk.mmc2_clk, INPUT_PULLUP | MODE3 */
    >;
    };

    in evm gpio1_28 was previously used for mmc3_pins_data3 so I commented it and used it in mmc1 as a gpio.
    these changes are made in dts file.
    Please tell me if I am wrong.

    Best Regards,
    Vishvajeet
  • Vishvajeet,

    AM335x TI EVM is using MMC0 (mmc1 in Linux/DTS) for SD card on base board, MMC1 (mmc2 in Linux/DTS) for SD card on daughter board and MMC3 (mmc2 in Linux/DTS) for WLAN.

    MMC0 (mmc1 in Linux/DTS) base address is 0x48060000
    MMC1 (mmc2 in Linux/DTS) base address is 0x481D8000
    MMC2 (mmc3 in Linux/DTS) base address is 0x47810000

    Which MMC exactly you are using on your custom board (MMC0, MMC1 or MMC2)?

    Can you also share the successful boot log you have on the AM335x TI EVM? I have some doubts that in custom board your MMC/SD card is not initialized and NAND is used instead (looking into the log).

    Regards,
    Pavel
  • Hello Pavel,
    Thanks for reply,Even I have doubt of sd card not initialized. I am using MMC0 in custom board. I am sharing successful boot log of evm board. please check it.

    Following is the log of MMC boot for EVM Board.

    U-Boot 2017.03 (Jun 29 2017 - 17:14:32 +0530)

    CPU : AM335X-GP rev 2.1
    Model: TI AM335x EVM
    DRAM: 1 GiB
    NAND: 256 MiB
    MMC: OMAP SD/MMC: 0, OMAP SD/MMC: 1
    reading uboot.env

    ** Unable to read "uboot.env" from mmc0:1 **
    Using default environment

    ERROR: No USB device found

    at drivers/usb/gadget/ether.c:2709/usb_ether_init()
    <ethaddr> not set. Validating first E-fuse MAC
    Net: eth0: ethernet@4a100000
    Hit any key to stop autoboot: 0
    switch to partitions #0, OK
    mmc0 is current device
    SD/MMC found on device 0
    reading boot.scr
    ** Unable to read file boot.scr **
    reading uEnv.txt
    206 bytes read in 3 ms (66.4 KiB/s)
    Loaded env from uEnv.txt
    Importing environment from mmc0 ...
    Running uenvcmd ...
    reading uImage
    3466928 bytes read in 246 ms (13.4 MiB/s)
    reading am335x-evm.dtb
    42154 bytes read in 8 ms (5 MiB/s)
    ## Booting kernel from Legacy Image at 80007fc0 ...
    Image Name: Linux-4.4.41-gf9f6f0db2d
    Created: 2017-07-06 13:47:04 UTC
    Image Type: ARM Linux Kernel Image (uncompressed)
    Data Size: 3466864 Bytes = 3.3 MiB
    Load Address: 80008000
    Entry Point: 80008000
    Verifying Checksum ... OK
    ## Flattened Device Tree blob at 80f80000
    Booting using the fdt blob at 0x80f80000
    XIP Kernel Image ... OK
    Loading Device Tree to 8fff2000, end 8ffff4a9 ... OK

    Starting kernel ...

    [ 0.000000] Booting Linux on physical CPU 0x0
    [ 0.000000] Initializing cgroup subsys cpu
    [ 0.000000] Initializing cgroup subsys cpuacct
    [ 0.000000] Linux version 4.4.41-gf9f6f0db2d (root@linuxadmin-admin) (gcc version 4.9.2 20140904 (prerelease) (crosstool-NG linaro-1.13.1-4.9-2014.09 - Linaro GCC 4.9-2014.09) ) #1 PREEMPT Thu Jul 6 19:16:33 IST 2017
    [ 0.000000] CPU: ARMv7 Processor [413fc082] revision 2 (ARMv7), cr=10c5387d
    [ 0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
    [ 0.000000] Machine model: TI AM335x EVM
    [ 0.000000] cma: Reserved 48 MiB at 0x8c800000
    [ 0.000000] Memory policy: Data cache writeback
    [ 0.000000] CPU: All CPU(s) started in SVC mode.
    [ 0.000000] AM335X ES2.1 (sgx neon )
    [ 0.000000] Built 1 zonelists in Zone order, mobility grouping on. Total pages: 64960
    [ 0.000000] Kernel command line: console=ttyO0,115200n8 root=/dev/mmcblk0p2 mem=256M rootwait
    [ 0.000000] PID hash table entries: 1024 (order: 0, 4096 bytes)
    [ 0.000000] Dentry cache hash table entries: 32768 (order: 5, 131072 bytes)
    [ 0.000000] Inode-cache hash table entries: 16384 (order: 4, 65536 bytes)
    [ 0.000000] Memory: 200348K/262144K available (6595K kernel code, 317K rwdata, 2344K rodata, 264K init, 265K bss, 12644K reserved, 49152K cma-reserved, 0K highmem)
    [ 0.000000] Virtual kernel memory layout:
    [ 0.000000] vector : 0xffff0000 - 0xffff1000 ( 4 kB)
    [ 0.000000] fixmap : 0xffc00000 - 0xfff00000 (3072 kB)
    [ 0.000000] vmalloc : 0xd0800000 - 0xff800000 ( 752 MB)
    [ 0.000000] lowmem : 0xc0000000 - 0xd0000000 ( 256 MB)
    [ 0.000000] pkmap : 0xbfe00000 - 0xc0000000 ( 2 MB)
    [ 0.000000] modules : 0xbf000000 - 0xbfe00000 ( 14 MB)
    [ 0.000000] .text : 0xc0008000 - 0xc08c3034 (8941 kB)
    [ 0.000000] .init : 0xc08c4000 - 0xc0906000 ( 264 kB)
    [ 0.000000] .data : 0xc0906000 - 0xc09554a0 ( 318 kB)
    [ 0.000000] .bss : 0xc09554a0 - 0xc0997c70 ( 266 kB)
    [ 0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
    [ 0.000000] Preemptible hierarchical RCU implementation.
    [ 0.000000] Build-time adjustment of leaf fanout to 32.
    [ 0.000000] NR_IRQS:16 nr_irqs:16 16
    [ 0.000000] IRQ: Found an INTC at 0xfa200000 (revision 5.0) with 128 interrupts
    [ 0.000000] OMAP clockevent source: timer2 at 24000000 Hz
    [ 0.000013] sched_clock: 32 bits at 24MHz, resolution 41ns, wraps every 89478484971ns
    [ 0.000034] clocksource: timer1: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 79635851949 ns
    [ 0.000044] OMAP clocksource: timer1 at 24000000 Hz
    [ 0.000198] clocksource_probe: no matching clocksources found
    [ 0.000370] Console: colour dummy device 80x30
    [ 0.000394] WARNING: Your 'console=ttyO0' has been replaced by 'ttyS0'
    [ 0.000400] This ensures that you still see kernel messages. Please
    [ 0.000404] update your kernel commandline.
    [ 0.000422] Calibrating delay loop... 996.14 BogoMIPS (lpj=4980736)
    [ 0.089215] pid_max: default: 32768 minimum: 301
    [ 0.089332] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes)
    [ 0.089342] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes)
    [ 0.089985] Initializing cgroup subsys io
    [ 0.090020] Initializing cgroup subsys memory
    [ 0.090055] Initializing cgroup subsys devices
    [ 0.090069] Initializing cgroup subsys freezer
    [ 0.090083] Initializing cgroup subsys perf_event
    [ 0.090093] Initializing cgroup subsys pids
    [ 0.090121] CPU: Testing write buffer coherency: ok
    [ 0.090511] Setting up static identity map for 0x80008200 - 0x80008260
    [ 0.092373] devtmpfs: initialized
    [ 0.103575] VFP support v0.3: implementor 41 architecture 3 part 30 variant c rev 3
    [ 0.116509] omap_hwmod: debugss: _wait_target_disable failed
    [ 0.170991] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
    [ 0.174708] pinctrl core: initialized pinctrl subsystem
    [ 0.175974] NET: Registered protocol family 16
    [ 0.177980] DMA: preallocated 256 KiB pool for atomic coherent allocations
    [ 0.199207] cpuidle: using governor ladder
    [ 0.229197] cpuidle: using governor menu
    [ 0.233132] OMAP GPIO hardware version 0.1
    [ 0.238433] platform 44e3e000.rtc: Cannot lookup hwmod 'rtc'
    [ 0.240753] omap-gpmc 50000000.gpmc: could not find pctldev for node /ocp/l4_wkup@44c00000/scm@210000/pinmux@800/nandflash_pins_s0, deferring probe
    [ 0.243246] hw-breakpoint: debug architecture 0x4 unsupported.
    [ 0.276516] edma 49000000.edma: TI EDMA DMA engine driver
    [ 0.280725] omap_i2c 44e0b000.i2c: could not find pctldev for node /ocp/l4_wkup@44c00000/scm@210000/pinmux@800/pinmux_i2c0_pins, deferring probe
    [ 0.280783] omap_i2c 4802a000.i2c: could not find pctldev for node /ocp/l4_wkup@44c00000/scm@210000/pinmux@800/pinmux_i2c1_pins, deferring probe
    [ 0.280908] media: Linux media interface: v0.10
    [ 0.280965] Linux video capture interface: v2.00
    [ 0.281007] pps_core: LinuxPPS API ver. 1 registered
    [ 0.281014] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
    [ 0.281047] PTP clock support registered
    [ 0.281098] EDAC MC: Ver: 3.0.0
    [ 0.282182] omap-mailbox 480c8000.mailbox: omap mailbox rev 0x400
    [ 0.282522] Advanced Linux Sound Architecture Driver Initialized.
    [ 0.283610] clocksource: Switched to clocksource timer1
    [ 0.293074] NET: Registered protocol family 2
    [ 0.293889] TCP established hash table entries: 2048 (order: 1, 8192 bytes)
    [ 0.293922] TCP bind hash table entries: 2048 (order: 1, 8192 bytes)
    [ 0.293946] TCP: Hash tables configured (established 2048 bind 2048)
    [ 0.294036] UDP hash table entries: 256 (order: 0, 4096 bytes)
    [ 0.294053] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
    [ 0.294197] NET: Registered protocol family 1
    [ 0.294594] RPC: Registered named UNIX socket transport module.
    [ 0.294608] RPC: Registered udp transport module.
    [ 0.294613] RPC: Registered tcp transport module.
    [ 0.294618] RPC: Registered tcp NFSv4.1 backchannel transport module.
    [ 0.295519] hw perfevents: enabled with armv7_cortex_a8 PMU driver, 5 counters available
    [ 0.297337] futex hash table entries: 256 (order: -1, 3072 bytes)
    [ 0.304463] squashfs: version 4.0 (2009/01/31) Phillip Lougher
    [ 0.305189] NFS: Registering the id_resolver key type
    [ 0.305258] Key type id_resolver registered
    [ 0.305264] Key type id_legacy registered
    [ 0.305325] ntfs: driver 2.1.32 [Flags: R/O].
    [ 0.308726] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 247)
    [ 0.308750] io scheduler noop registered
    [ 0.308762] io scheduler deadline registered
    [ 0.308907] io scheduler cfq registered (default)
    [ 0.310211] pinctrl-single 44e10800.pinmux: 142 pins at pa f9e10800 size 568
    [ 0.313133] backlight supply power not found, using dummy regulator
    [ 0.365961] Serial: 8250/16550 driver, 10 ports, IRQ sharing disabled
    [ 0.369674] 44e09000.serial: ttyS0 at MMIO 0x44e09000 (irq = 158, base_baud = 3000000) is a 8250
    [ 1.004671] console [ttyS0] enabled
    [ 1.009388] 48022000.serial: ttyS1 at MMIO 0x48022000 (irq = 159, base_baud = 3000000) is a 8250
    [ 1.019345] [drm] Initialized drm 1.1.0 20060810
    [ 1.025100] panel panel: found backlight
    [ 1.030368] [drm] Supports vblank timestamp caching Rev 2 (21.10.2013).
    [ 1.037137] [drm] No driver support for vblank timestamp query.
    [ 1.069785] Console: switching to colour frame buffer device 100x30
    [ 1.080645] tilcdc 4830e000.lcdc: fb0: frame buffer device
    [ 1.113781] [drm] Initialized tilcdc 1.0.0 20121205 on minor 0
    [ 1.126108] loop: module loaded
    [ 1.131740] libphy: Fixed MDIO Bus: probed
    [ 1.193647] davinci_mdio 4a101000.mdio: davinci mdio revision 1.6
    [ 1.199810] davinci_mdio 4a101000.mdio: detected phy mask fffffffe
    [ 1.206883] libphy: 4a101000.mdio: probed
    [ 1.210966] davinci_mdio 4a101000.mdio: phy[0]: device 4a101000.mdio:00, driver Atheros 8031 ethernet
    [ 1.221006] cpsw 4a100000.ethernet: Detected MACID = d0:39:72:29:f2:7a
    [ 1.227845] cpsw 4a100000.ethernet: cpts: overflow check period 850
    [ 1.235965] mousedev: PS/2 mouse device common for all mice
    [ 1.242160] i2c /dev entries driver
    [ 1.246883] cpuidle: enable-method property 'ti,am3352' found operations
    [ 1.254502] omap_hsmmc 48060000.mmc: Got CD GPIO
    [ 1.407758] ledtrig-cpu: registered to indicate activity on CPUs
    [ 1.418171] NET: Registered protocol family 10
    [ 1.425252] sit: IPv6 over IPv4 tunneling driver
    [ 1.430664] NET: Registered protocol family 17
    [ 1.435595] Key type dns_resolver registered
    [ 1.440180] omap_voltage_late_init: Voltage driver support not added
    [ 1.449997] omap-gpmc 50000000.gpmc: GPMC revision 6.0
    [ 1.455386] gpmc_mem_init: disabling cs 0 mapped at 0x0-0x1000000
    [ 1.462853] nand: device found, Manufacturer ID: 0x2c, Chip ID: 0xda
    [ 1.469385] nand: Micron MT29F2G08ABAEAWP
    [ 1.473415] nand: 256 MiB, SLC, erase size: 128 KiB, page size: 2048, OOB size: 64
    [ 1.481085] nand: using OMAP_ECC_BCH8_CODE_HW ECC scheme
    [ 1.486550] 10 ofpart partitions found on MTD device 8000000.nand
    [ 1.492670] Creating 10 MTD partitions on "8000000.nand":
    [ 1.498117] 0x000000000000-0x000000020000 : "NAND.SPL"
    [ 1.504635] 0x000000020000-0x000000040000 : "NAND.SPL.backup1"
    [ 1.511542] 0x000000040000-0x000000060000 : "NAND.SPL.backup2"
    [ 1.518475] 0x000000060000-0x000000080000 : "NAND.SPL.backup3"
    [ 1.525466] 0x000000080000-0x0000000c0000 : "NAND.u-boot-spl-os"
    [ 1.532560] 0x0000000c0000-0x0000001c0000 : "NAND.u-boot"
    [ 1.539460] 0x0000001c0000-0x0000001e0000 : "NAND.u-boot-env"
    [ 1.546334] 0x0000001e0000-0x000000200000 : "NAND.u-boot-env.backup1"
    [ 1.553912] 0x000000200000-0x000000a00000 : "NAND.kernel"
    [ 1.563051] 0x000000a00000-0x000010000000 : "NAND.file-system"
    [ 1.673859] tps65910 0-002d: No interrupt support, no core IRQ
    [ 1.702374] omap_i2c 44e0b000.i2c: bus 0 rev0.11 at 400 kHz
    [ 1.709753] omap_i2c 4802a000.i2c: bus 1 rev0.11 at 100 kHz
    [ 1.716201] omap_hsmmc 48060000.mmc: Got CD GPIO
    [ 1.721260] vmmc: supplied by vbat
    [ 1.764303] vdd_mpu: supplied by vbat
    [ 1.773388] input: volume_keys@0 as /devices/platform/volume_keys@0/input/input0
    [ 1.781821] hctosys: unable to open rtc device (rtc0)
    [ 1.794110] lis3_reg: disabling
    [ 1.797295] wlan-en-regulator: disabling
    [ 1.801563] ALSA device list:
    [ 1.804629] No soundcards found.
    [ 1.809372] Waiting for root device /dev/mmcblk0p2...
    [ 1.832739] mmc1: host does not support reading read-only switch, assuming write-enable
    [ 1.843807] mmc1: new high speed SDHC card at address aaaa
    [ 1.850033] mmcblk0: mmc1:aaaa SU04G 3.69 GiB
    [ 1.856095] mmcblk0: p1 p2
    [ 1.924676] EXT4-fs (mmcblk0p2): mounting ext3 file system using the ext4 subsystem
    [ 1.944731] EXT4-fs (mmcblk0p2): mounted filesystem with ordered data mode. Opts: (null)
    [ 1.952948] VFS: Mounted root (ext3 filesystem) readonly on device 179:2.
    [ 1.966140] devtmpfs: mounted
    [ 1.969498] Freeing unused kernel memory: 264K (c08c4000 - c0906000)
    [ 1.976123] This architecture does not have kernel memory protection.

    Please press Enter to activate this console.
    / #
    / # ls
    bin etc lib proc sys
    dev home linuxrc sbin usr
    / # cd home/
    /home # ls
    TestLED.out

    Best Regards,
    Vishvajeet.
  • Vishvajeet Godse said:
    I am sharing successful boot log of evm board. please check it.

    Vishvajeet Godse said:
    [ 1.721260] vmmc: supplied by vbat

    I do not see the above message in your custom board boot log. Do you have any difference in the MMC power supply between EVM and your custom board? If not, this might be hardware malfunction of your custom board power supply.

    Regards,
    Pavel

  • Hello Pavel,
    There is difference in power supply between EVM board and custom board. for custom board we have provided direct power supply using dc-dc voltage regulator. I checked in EVM it is provided through PMIC circuit.I put prints in code it gives error in omap_hsmmc_reg_get(); which is located at drivers/mmc/host/omap_hsmmc.c file. in this devm_regulator_get_optional() always return error. I checked that function it checks power supply So i want to know what this function does.in custom board it return always error. So I want to know how to overcome through it.I checked vmmc supply of my board it is same as evm(3.3v).
    So please guide me.

    Regards,
    Vishvajeet
  • Vishvajeet,

    On AM335x EVM, the PMIC (TPS65910) is providing VMMC power supply to AM335x device. And this is described in DTS file, see below files:

    linux-kernel/Documentation/devicetree/bindings/mmc/ti-omap-hsmmc.txt
    linux-kernel/arch/arm/boot/dts/am335x-evm.dts

    &mmc1 {
    vmmc-supply = <&vmmc_reg>;
    }

    &tps {
    regulators {
    vmmc_reg: regulator@12 {
    regulator-min-microvolt = <1800000>;
    regulator-max-microvolt = <3300000>;
    regulator-always-on;
    };

    devm_regulator_get_optional() is trying to access TPS65910 PMIC, and as you do not have such, it return error. Check the below files:

    linux-kernel/drivers/regulator/devres.c
    linux-kernel/drivers/regulator/core.c

    I would suggest you to enable debug mode (dev_dbg) and compare the messages between AM335x TI EVM and you custom board. You should also adjust your DTS file according to your custom board.

    Regards,
    Pavel
  • Hello Pavel,
    Thanks for reply,I just want to know if I am not using PMIC circuit on my board(I have provided power supply to mmc card through fixed voltage regulator) So Please tell me how to enable/power up mmc driver without the use of PMIC driver. does I need to change any vmmc regulator settings i.e. vmmc-supply in am335x-evm.dts file.

    Best Regards,
    Vishvajeet
  • Vishvajeet,

    You can refer to the BeagleBoneBlack board schematics and DTS file (/arch/arm/boot/dts/am335x-boneblack.dts, am335x-bone-common.dtsi)

    In BBB MMC is supplied from fixed 3.3V LDO regulator, not from PMIC.

    &mmc1 {
    vmmc-supply = <&vmmcsd_fixed>;
    };

    vmmcsd_fixed: fixedregulator@0 {
    compatible = "regulator-fixed";
    regulator-name = "vmmcsd_fixed";
    regulator-min-microvolt = <3300000>;
    regulator-max-microvolt = <3300000>;
    };
  • Hello Pavel,
    it is working with above solution,Thanks for your support.


    Best Regards,
    Vishvajeet