Booting from MMC1

You should look at TRM and make sure you have remapped GPIO to support MMC1 in UBoot source code and make sure this is supported . I remember this as not being trivial and looking at a spread sheet that showed all MMC/boot combos for OMAP4. keep in mind when you deviated from a HW reference design you are left trying to solve such issues yourself or hire a consultant. Thats why many cheat and copy the HW exactly.

SW Consultants love it when the HW designer does these things and then say ohh thats easy change. Hopefully someone more current in UBoot can help you out here

— On Thu, 8/16/12, Flavio Alves flavio.alves@gmail.com wrote:


> to support for SW
> From: Flavio Alves flavio.alves@gmail.com
> Subject: [beagleboard] Booting from MMC1
> To: beagleboard@googlegroups.com
> Date: Thursday, August 16, 2012, 9:17 PM
> as well
>
> Hello everybody,
>
> I designed a new board based on BeagleBone.
>
> In my design, I am not using the EEPROM and I used MMC1 instead of MMC0.
>
> To build my BSP, I’m using meta-ti layer with yocto project.
>
> I’m having problems with the boot. I realize that the bootloader is loading from MMC1, but it stops with an error that it gets data from EEPROM.
>
> Could you give me some advice in how to properly setup u-boot to boot from MMC1 without EEPROM.
>
> Thank you very much.
>
> Best regards,
>
> Flavio
>
> – To join: http://beagleboard.org/discuss
> To unsubscribe from this group, send email to:
> beagleboard+unsubscribe@googlegroups.com
> Frequently asked questions: http://beagleboard.org/faq

|

Hello and sorry for the long delay.

I agree with you regarding the similar, but not equal, hardware designs.

But … in this our case, the MMC1 problem was probably related to hardware assembly issues. At least for now.

What I did in order to have a reliable hardware solution was to create a board with just MMC1 coming from the expansion pins in a BeagleBone. I have also removed the EEPROM from the BeagleBone, in order to have a similar equipment.

I found out that the EEPROM from the BeagleBone does not impact on the boot. And I also saw on the source code that if there is no EEPROM, assume that it is a BeagleBone A3 - which is definetly my case.

Now I have a different problem. When I try to boot my SD card (using Linux from Yocto project), I have the following message:

U-Boot SPL 2011.09-00043-gdc52533-dirty (Aug 15 2012 - 20:11:04)
Texas Instruments Revision detection unimplemented
No daughter card present
Setup BeagleBone Board
OMAP SD/MMC: 0
mmc_send_cmd: timedout waiting for cmddis!
spl: mmc init failed: err - -19

ERROR ### Please RESET the board

Which would be a nice starting point to solve this issue?

Thank you very much.

Best regards,

Flavio

2012/8/19 Mark Lazarewicz <lazarman@yahoo.com>

My first guess would be that the SPL (MLO) is looking to find u-boot.img
but you haven't configured the SPL to setup MMC1 (assuming that's where
u-boot.img is).

How exactly are you trying to boot? Do you have the SPL and u-boot.img
on your MMC1 card and no MMC0 card installed? Or SPL is on MMC0 while
u-boot.img is on MMC1? It's not clear...

-Andrew

sound like you are not talking to the MMC check all paths HW &SW as well as look at u-boot source to verify its really a timeout

Hello,

I found the problem with U-Boot.

It is using as default always mmc0 during the use of the mmc commands
from u-boot.

Actually, the U-Boot MMC1 driver is properly detected.

I add this patch to solve the problem:

--- u-boot-am33x.orig/common/cmd_mmc.c 2012-09-23 11:15:04.940022584 -0300
+++ u-boot-am33x/common/cmd_mmc.c 2012-09-23 12:01:07.579930537 -0300
@@ -157,7 +157,8 @@

  if (curr_device < 0) {
  if (get_mmc_num() > 0)
- curr_device = 0;
+ /* Default mmc must be 1 instead of 0 */
+ curr_device = 1;
  else {
  puts("No MMC device available\n");
  return 1;

Now I have another issue: Linux kernel is not detecting MMC1 at boot time.

What should I do in order to enable MMC1 at boot time?

Thank you very much.

Best regards,

Flavio

what was causing the earlier message?
mmc_send_cmd: timedout waiting for cmddis

Hardware issue. Something with the assembly. :frowning:

Good deal. I know little about kernel besides building it. so hopefully someone can help you. check the source is the driver in place and loaded
Good Luck

Now I'm stuck at the following point:

U-Boot SPL 2011.09-00043-gdc52533-dirty (Sep 23 2012 - 12:08:08)
Texas Instruments Revision detection unimplemented
No daughter card present
No AC power, disabling frequency switch
OMAP SD/MMC: 0
reading u-boot.img
reading u-boot.img

U-Boot 2011.09-00043-gdc52533-dirty (Sep 23 2012 - 12:08:08)

I2C: ready
DRAM: 256 MiB
WARNING: Caches not enabled
No daughter card present
NAND: HW ECC Hamming Code selected
No NAND device found!!!
0 MiB
MMC: OMAP SD/MMC: 0, OMAP SD/MMC: 1
*** Warning - readenv() failed, using default environment

Net: cpsw
Hit any key to stop autoboot: 0
SD/MMC found on device 1
reading uEnv.txt

** Unable to read "uEnv.txt" from mmc 1:1 **
Loading file "/boot/uImage" from mmc device 1:2 xxb2
3295784 bytes read
## Booting kernel from Legacy Image at 80007fc0 ...
   Image Name: Linux-3.2.23
   Image Type: ARM Linux Kernel Image (uncompressed)
   Data Size: 3295720 Bytes = 3.1 MiB
   Load Address: 80008000
   Entry Point: 80008000
   Verifying Checksum ... OK
   XIP Kernel Image ... OK
OK

Starting kernel ...

Uncompressing Linux... done, booting the kernel.
[ 0.000000] Initializing cgroup subsys cpuset
[ 0.000000] Initializing cgroup subsys cpu
[ 0.000000] Linux version 3.2.23 (flavio@Phi01) (gcc version 4.6.4
20120303 (prerelease) (GCC) ) #11 Mon Sep 24 17:33:01 BRT 2012
[ 0.000000] CPU: ARMv7 Processor [413fc082] revision 2 (ARMv7), cr=50c53c7d
[ 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] AM335X ES1.0 (sgx neon )
[ 0.000000] Built 1 zonelists in Zone order, mobility grouping on.
Total pages: 65024
[ 0.000000] Kernel command line: console=ttyO0,115200n8
root=/dev/mmcblk0p2 ro rootfstype=ext4 rootwait ip=none
[ 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] allocated 1048576 bytes of page_cgroup
[ 0.000000] please try 'cgroup_disable=memory' option if you don't
want memory cgroups
[ 0.000000] Memory: 256MB = 256MB total
[ 0.000000] Memory: 253280k/253280k available, 8864k 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 : 0xd0800000 - 0xff000000 ( 744 MB)
[ 0.000000] lowmem : 0xc0000000 - 0xd0000000 ( 256 MB)
[ 0.000000] modules : 0xbf800000 - 0xc0000000 ( 8 MB)
[ 0.000000] .text : 0xc0008000 - 0xc0475520 (4534 kB)
[ 0.000000] .init : 0xc0476000 - 0xc04ae000 ( 224 kB)
[ 0.000000] .data : 0xc04ae000 - 0xc0500028 ( 329 kB)
[ 0.000000] .bss : 0xc050004c - 0xc056b754 ( 430 kB)
[ 0.000000] NR_IRQS:410 nr_irqs:410 410
[ 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.000183] Calibrating delay loop... 331.77 BogoMIPS (lpj=1658880)
[ 0.057556] pid_max: default: 32768 minimum: 301
[ 0.057708] Security Framework initialized
[ 0.057800] Mount-cache hash table entries: 512
[ 0.058227] Initializing cgroup subsys cpuacct
[ 0.058288] Initializing cgroup subsys memory
[ 0.058319] Initializing cgroup subsys devices
[ 0.058349] Initializing cgroup subsys freezer
[ 0.058349] Initializing cgroup subsys blkio
[ 0.058380] Initializing cgroup subsys perf_event
[ 0.058471] CPU: Testing write buffer coherency: ok
[ 0.059753] devtmpfs: initialized
[ 0.080322] omap_hwmod: gfx: failed to hardreset
[ 0.097045] omap_hwmod: pruss: failed to hardreset
[ 0.097656] print_constraints: dummy:
[ 0.097961] NET: Registered protocol family 16
[ 0.099212] OMAP GPIO hardware version 0.1
[ 0.100494] omap_mux_init: Add partition: #1: core, flags: 0
[ 0.102081] omap_i2c.1: alias fck already exists
[ 0.102508] hw-breakpoint: debug architecture 0x4 unsupported.
[ 0.102691] omap2_mcspi.1: alias fck already exists
[ 0.102813] omap2_mcspi.2: alias fck already exists
[ 0.102996] edma.0: alias fck already exists
[ 0.103027] edma.0: alias fck already exists
[ 0.103057] edma.0: alias fck already exists
[ 0.103149] cape: pcm register
[ 0.113708] bio: create slab <bio-0> at 0
[ 0.115020] SCSI subsystem initialized
[ 0.115997] usbcore: registered new interface driver usbfs
[ 0.116149] usbcore: registered new interface driver hub
[ 0.116333] usbcore: registered new device driver usb
[ 0.116485] musb-ti81xx musb-ti81xx: musb0, board_mode=0x13, plat_mode=0x3
[ 0.116638] musb-ti81xx musb-ti81xx: musb1, board_mode=0x13, plat_mode=0x1
[ 0.117218] omap_i2c omap_i2c.1: bus 1 rev2.4.0 at 100 kHz
[ 0.118530] Advanced Linux Sound Architecture Driver Version 1.0.24.
[ 0.119171] Switching to clocksource gp timer
[ 0.147491] musb-hdrc: version 6.0, ?dma?, otg (peripheral+host)
[ 0.147735] musb-hdrc musb-hdrc.0: dma type: pio
[ 0.147918] MUSB0 controller's USBSS revision = 4ea20800
[ 0.148437] musb-hdrc musb-hdrc.0: USB OTG mode controller at
d081c000 using PIO, IRQ 18
[ 0.148773] musb-hdrc musb-hdrc.1: dma type: pio
[ 0.148956] MUSB1 controller's USBSS revision = 4ea20800
[ 0.149078] musb-hdrc musb-hdrc.1: MUSB HDRC host driver
[ 0.149200] musb-hdrc musb-hdrc.1: new USB bus registered, assigned
bus number 1
[ 0.149414] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002
[ 0.149444] usb usb1: New USB device strings: Mfr=3, Product=2,
SerialNumber=1
[ 0.149444] usb usb1: Product: MUSB HDRC host driver
[ 0.149475] usb usb1: Manufacturer: Linux 3.2.23 musb-hcd
[ 0.149475] usb usb1: SerialNumber: musb-hdrc.1
[ 0.150268] hub 1-0:1.0: USB hub found
[ 0.150299] hub 1-0:1.0: 1 port detected
[ 0.150848] musb-hdrc musb-hdrc.1: USB Host mode controller at
d081e800 using PIO, IRQ 19
[ 0.151306] NET: Registered protocol family 2
[ 0.151519] IP route cache hash table entries: 2048 (order: 1, 8192 bytes)
[ 0.152008] TCP established hash table entries: 8192 (order: 4, 65536 bytes)
[ 0.152221] TCP bind hash table entries: 8192 (order: 3, 32768 bytes)
[ 0.152374] TCP: Hash tables configured (established 8192 bind 8192)
[ 0.152374] TCP reno registered
[ 0.152404] UDP hash table entries: 256 (order: 0, 4096 bytes)
[ 0.152435] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
[ 0.152740] NET: Registered protocol family 1
[ 0.153137] RPC: Registered named UNIX socket transport module.
[ 0.153137] RPC: Registered udp transport module.
[ 0.153167] RPC: Registered tcp transport module.
[ 0.153167] RPC: Registered tcp NFSv4.1 backchannel transport module.
[ 0.155120] audit: initializing netlink socket (disabled)
[ 0.155181] type=2000 audit(0.150:1): initialized
[ 0.166381] VFS: Disk quotas dquot_6.5.2
[ 0.166473] Dquot-cache hash table entries: 1024 (order 0, 4096 bytes)
[ 0.167785] msgmni has been set to 494
[ 0.168975] Block layer SCSI generic (bsg) driver version 0.4
loaded (major 252)
[ 0.169097] io scheduler noop registered
[ 0.169097] io scheduler deadline registered
[ 0.169189] io scheduler cfq registered (default)
[ 0.170318] Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
[ 0.171936] omap_uart.0: ttyO0 at MMIO 0x44e09000 (irq = 72) is a OMAP UART0
[ 0.796661] console [ttyO0] enabled
[ 0.800964] omap_uart.1: ttyO1 at MMIO 0x48022000 (irq = 73) is a OMAP UART1
[ 0.808837] omap_uart.2: ttyO2 at MMIO 0x48024000 (irq = 74) is a OMAP UART2
[ 0.816711] omap_uart.3: ttyO3 at MMIO 0x481a6000 (irq = 44) is a OMAP UART3
[ 0.824554] omap_uart.4: ttyO4 at MMIO 0x481a8000 (irq = 45) is a OMAP UART4
[ 0.832427] omap_uart.5: ttyO5 at MMIO 0x481aa000 (irq = 46) is a OMAP UART5
[ 0.841674] brd: module loaded
[ 0.849670] loop: module loaded
[ 0.853118] at24 1-0051: 32768 byte 24c256 EEPROM, writable, 64 bytes/write
[ 0.919799] No daughter card found
[ 0.923400] at24 1-0050: 32768 byte 24c256 EEPROM, writable, 64 bytes/write
[ 0.938659] Board name: A335BONE
[ 0.942077] Board version: 00A3
[ 0.945373] The board is a AM335x Beaglebone.
[ 0.950653] tps65217 1-0024: TPS65217 ID 0x7 version 1.0
[ 0.958129] print_constraints: DCDC1: 900 <--> 1800 mV at 1800 mV
[ 0.966613] print_constraints: DCDC2: 900 <--> 3300 mV at 1275 mV
[ 0.975036] print_constraints: DCDC3: 900 <--> 1500 mV at 1100 mV
[ 0.983459] print_constraints: LDO1: 1000 <--> 3300 mV at 1800 mV
[ 0.991882] print_constraints: LDO2: 900 <--> 3300 mV at 3300 mV
[ 1.000183] print_constraints: LDO3: 1800 <--> 3300 mV at 3300 mV
[ 1.008605] print_constraints: LDO4: 1800 <--> 3300 mV at 3300 mV
[ 1.015655] Maximum current provided by the USB port is 500mA which
is not sufficient when operating @OPP120 and OPPTURBO. The current
requirement for some use-cases using OPP100 might also exceed the
maximum current that the USB port can provide. Unless you are fully
confident that the current requirements for OPP100 use-case don't
exceed the USB limits, switching to AC power is recommended.
[ 1.052703] omap_i2c.3: alias fck already exists
[ 1.057922] omap_i2c omap_i2c.3: bus 3 rev2.4.0 at 100 kHz
[ 1.064514] Flavio Alves: mmc1_init
[ 1.068450] omap_hsmmc.0: alias fck already exists
[ 1.073791] omap_hsmmc.1: alias fck already exists
[ 1.082641] at24 3-0054: 32768 byte 24c256 EEPROM, writable, 64 bytes/write
[ 1.149810] BeagleBone cape EEPROM: could not read eeprom at address 0x54
[ 1.156982] at24 3-0055: 32768 byte 24c256 EEPROM, writable, 64 bytes/write
[ 1.219818] BeagleBone cape EEPROM: could not read eeprom at address 0x55
[ 1.226989] at24 3-0056: 32768 byte 24c256 EEPROM, writable, 64 bytes/write
[ 1.289825] BeagleBone cape EEPROM: could not read eeprom at address 0x56
[ 1.296997] at24 3-0057: 32768 byte 24c256 EEPROM, writable, 64 bytes/write
[ 1.359832] BeagleBone cape EEPROM: could not read eeprom at address 0x57
[ 1.366943] BeagleBone cape: exporting ADC pins to sysfs
[ 1.372863] Beaglebone: initializing onboard LEDs
[ 1.377838] BeagleBone cape: exporting SPI pins as spidev
[ 1.384033] BeagleBone cape: initializing w1-gpio
[ 1.389129] w1-gpio connected to P8_6
[ 1.393676] SCSI Media Changer driver v0.25
[ 1.398529] CAN device driver interface
[ 1.402587] CAN bus driver for Bosch D_CAN controller 1.0
[ 1.449859] davinci_mdio davinci_mdio.0: davinci mdio revision 1.6
[ 1.456359] davinci_mdio davinci_mdio.0: detected phy mask fffffffe
[ 1.463958] davinci_mdio.0: probed
[ 1.467559] davinci_mdio davinci_mdio.0: phy[0]: device 0:00,
driver SMSC LAN8710/LAN8720
[ 1.476379] usbcore: registered new interface driver cdc_acm
[ 1.482360] cdc_acm: USB Abstract Control Model driver for USB
modems and ISDN adapters
[ 1.490875] usbcore: registered new interface driver usblp
[ 1.496704] usbcore: registered new interface driver cdc_wdm
[ 1.502746] usbcore: registered new interface driver uas
[ 1.508300] Initializing USB Mass Storage driver...
[ 1.513580] usbcore: registered new interface driver usb-storage
[ 1.519897] USB Mass Storage support registered.
[ 1.524871] usbcore: registered new interface driver libusual
[ 1.531402] mousedev: PS/2 mouse device common for all mice
[ 1.537872] dev addr = cfa08408
[ 1.541229] pdev addr = cfa08400
[ 1.545410] omap_rtc omap_rtc: rtc core: registered omap_rtc as rtc0
[ 1.552154] omap_rtc: already running
[ 1.556152] i2c /dev entries driver
[ 1.560333] Linux media interface: v0.10
[ 1.564544] Linux video capture interface: v2.00
[ 1.569702] Driver for 1-wire Dallas network protocol.
[ 1.576507] OMAP Watchdog Timer Rev 0x01: initial timeout 60 sec
[ 1.584411] cpuidle: using governor ladder
[ 1.588897] cpuidle: using governor menu
[ 1.597381] usbcore: registered new interface driver usbhid
[ 1.603302] usbhid: USB HID core driver
[ 1.608306] usbcore: registered new interface driver snd-usb-audio
[ 1.615875] ALSA device list:
[ 1.619018] No soundcards found.
[ 1.623016] TCP cubic registered
[ 1.626403] Initializing XFRM netlink socket
[ 1.630950] NET: Registered protocol family 17
[ 1.635650] NET: Registered protocol family 15
[ 1.640350] can: controller area network core (rev 20090105 abi 8)
[ 1.646942] NET: Registered protocol family 29
[ 1.651641] can: raw protocol (rev 20090105)
[ 1.656158] Registering the dns_resolver key type
[ 1.661193] VFP support v0.3: implementor 41 architecture 3 part 30
variant c rev 3
[ 1.669250] ThumbEE CPU extension supported.
[ 1.673797] mux: Failed to setup hwmod io irq -22
[ 1.679565] Power Management for AM33XX family
[ 1.684448] Trying to load am335x-pm-firmware.bin (60 secs timeout)
[ 1.691192] Copied the M3 firmware to UMEM
[ 1.700714] registered taskstats version 1
[ 1.705352] Detected MACID=40:5f:c2:76:b7:19
[ 1.710998] omap_rtc omap_rtc: setting system clock to 2012-09-20
02:32:11 UTC (1348108331)
[ 1.720611] Waiting for root device /dev/mmcblk0p2...
[ 12.377655] mmc1: new high speed SD card at address 0002
[ 12.383972] mmcblk0: mmc1:0002 00000 1.86 GiB (ro)

Does anybody have any clue about how to fix it?

Best regards,

Flavio

Hi Flavio

Maybe someone can tell you how/where the kerenel looks to mount
/dev/mmcblk0p2 by default(MMC0 probally) and what needs to be in place software wise in the kernel and what the sequence is. I dont know but the driver if it existed would look just like MMC0 SD driver except using different MUX/GPIO and Tx/Rx pins and may need to be configured in config maybe?or at least support searching for another driver besides MMC0. I mostly use RTOS and firmware and have LIMITED kerenl driver.

If u-boot saw the SD and booted this would suggest MMC1 was set up right

It looks it sees the SD but if it cant write to it not so good
I know someone else wanted to do what you but are trying to ie use SD on MMC1 but I moved on before this was resolved if it was

Have you dug through the drivers in the kernel source to get an idea whats in the MMC drivers?

Let me know when you solve this its got me curious now (-: Debugging an issue like this by email is tough. provide as much info as possible on here and hope a kerenel driver type feels generous (-:

Good Luck.

Mark

HI
Please check the bootargs for the kernel in u-boot
by typing printenv in u-boot
If there is a mismatch usually it causes the this waiting for filesystem
I had faced similar issue
by setting
setenv bootargs i could fix it

Thanks
Kavitha

In U-boot try this
setenv bootargs ‘console=ttyO0,115200n8
root=/dev/mmcblk1p2 ro rootfstype=ext4 rootwait ip=none’

Now I'm stuck at the following point:

[..]

[ 1.720611] Waiting for root device /dev/mmcblk0p2...
[ 12.377655] mmc1: new high speed SD card at address 0002
[ 12.383972] mmcblk0: mmc1:0002 00000 1.86 GiB (ro)

Does anybody have any clue about how to fix it?

Can you describe what you mean by stuck? Do you see any processes in a
D state (ps aux|grep D). I am concerned that the MMC host controller
is waiting for a response to a command that the MMC card didn't get.

I faced a similar problem when enabling MMC1 on beaglebone hardware.
Did you enable pinmuxing correctly? Can you post the changes you made
to the kernel to get MMC1 working?

Refer to this patch that gets MMC1 working with AM33XX:
https://github.com/joelagnel/linux-kernel/commit/eb2de2da79861c191bcfff6c133a80b2dcbfe97b

Regards,
Joel

Hello,

I tried this and it didn't work.

Hello Joel,

Now I'm stuck at the following point:

[..]

[ 1.720611] Waiting for root device /dev/mmcblk0p2...
[ 12.377655] mmc1: new high speed SD card at address 0002
[ 12.383972] mmcblk0: mmc1:0002 00000 1.86 GiB (ro)

Does anybody have any clue about how to fix it?

Can you describe what you mean by stuck? Do you see any processes in a
D state (ps aux|grep D). I am concerned that the MMC host controller
is waiting for a response to a command that the MMC card didn't get.

My system cannot boot with MMC1.

After these last messages, the filesystem doesn't execute.

At first, I thought that the mmcblk driver shoud be 1 instead of 0.
But I saw that mmcblk0 is not a problem with mmc1.

I have the same feeling as you have (communication issue). But, as
until now it is working, I believe the hardware is fine.

I faced a similar problem when enabling MMC1 on beaglebone hardware.
Did you enable pinmuxing correctly? Can you post the changes you made
to the kernel to get MMC1 working?

On next email :slight_smile:

Refer to this patch that gets MMC1 working with AM33XX:
https://github.com/joelagnel/linux-kernel/commit/eb2de2da79861c191bcfff6c133a80b2dcbfe97b

In my changes, I use the mmc1 configuration already present in the
kernel code, but I used a PULLUP configuration, instead of your
PULLDOWN configuration. Maybe it helps ...

Regards,
Joel

--

Best regards,

Flavio

Hello Joel,

Now I'm stuck at the following point:

[..]

[ 1.720611] Waiting for root device /dev/mmcblk0p2...
[ 12.377655] mmc1: new high speed SD card at address 0002
[ 12.383972] mmcblk0: mmc1:0002 00000 1.86 GiB (ro)

Does anybody have any clue about how to fix it?

Can you describe what you mean by stuck? Do you see any processes in a
D state (ps aux|grep D). I am concerned that the MMC host controller
is waiting for a response to a command that the MMC card didn't get.

My system cannot boot with MMC1.

After these last messages, the filesystem doesn't execute.

At first, I thought that the mmcblk driver shoud be 1 instead of 0.
But I saw that mmcblk0 is not a problem with mmc1.

I have the same feeling as you have (communication issue). But, as
until now it is working, I believe the hardware is fine.

I faced a similar problem when enabling MMC1 on beaglebone hardware.
Did you enable pinmuxing correctly? Can you post the changes you made
to the kernel to get MMC1 working?

On next email :slight_smile:

Refer to this patch that gets MMC1 working with AM33XX:
https://github.com/joelagnel/linux-kernel/commit/eb2de2da79861c191bcfff6c133a80b2dcbfe97b

In my changes, I use the mmc1 configuration already present in the
kernel code, but I used a PULLUP configuration, instead of your
PULLDOWN configuration. Maybe it helps ...

It doesn't work either.

Regards,
Joel

--

Best regards,

Flavio

--
Flavio de Castro Alves Filho

flavio.alves@gmail.com
www.linuxembarcado.com
Twitter: http://twitter.com/#!/fraviofii
LinkedIn profile: www.linkedin.com/in/flaviocastroalves

I enabled the debug functionality in order to see the kernel behavior.
Below it is the boot messages.

Uncompressing Linux... done, booting the kernel.
[ 0.000000] Initializing cgroup subsys cpuset
[ 0.000000] Initializing cgroup subsys cpu
[ 0.000000] Linux version 3.2.23 (flavio@Phi01) (gcc version 4.6.4
20120303 (prerelease) (GCC) ) #14 Thu Sep 27 15:50:15 BRT 2012
[ 0.000000] CPU: ARMv7 Processor [413fc082] revision 2 (ARMv7), cr=50c53c7d
[ 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: 65536
[ 0.000000] free_area_init_node: node 0, pgdat c0501f1c,
node_mem_map c0570000
[ 0.000000] Normal zone: 512 pages used for memmap
[ 0.000000] Normal zone: 0 pages reserved
[ 0.000000] Normal zone: 65024 pages, LIFO batch:15
[ 0.000000] AM335X ES1.0 (sgx 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: 65024
[ 0.000000] Kernel command line: console=ttyO0,115200n8
root=/dev/mmcblk0p2 ro rootfstype=ext4 rootwait ip=none debug
[ 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] allocated 1048576 bytes of page_cgroup
[ 0.000000] please try 'cgroup_disable=memory' option if you don't
want memory cgroups
[ 0.000000] Memory: 256MB = 256MB total
[ 0.000000] Memory: 253264k/253264k available, 8880k 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 : 0xd0800000 - 0xff000000 ( 744 MB)
[ 0.000000] lowmem : 0xc0000000 - 0xd0000000 ( 256 MB)
[ 0.000000] modules : 0xbf800000 - 0xc0000000 ( 8 MB)
[ 0.000000] .text : 0xc0008000 - 0xc04785b8 (4546 kB)
[ 0.000000] .init : 0xc0479000 - 0xc04b1000 ( 224 kB)
[ 0.000000] .data : 0xc04b2000 - 0xc05040a8 ( 329 kB)
[ 0.000000] .bss : 0xc05040cc - 0xc056f7d4 ( 430 kB)
[ 0.000000] NR_IRQS:410 nr_irqs:410 410
[ 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.000122] Calibrating delay loop... 479.23 BogoMIPS (lpj=2396160)
[ 0.058135] pid_max: default: 32768 minimum: 301
[ 0.058258] Security Framework initialized
[ 0.058319] Mount-cache hash table entries: 512
[ 0.058654] Initializing cgroup subsys cpuacct
[ 0.058685] Initializing cgroup subsys memory
[ 0.058715] Initializing cgroup subsys devices
[ 0.058746] Initializing cgroup subsys freezer
[ 0.058746] Initializing cgroup subsys blkio
[ 0.058776] Initializing cgroup subsys perf_event
[ 0.058837] CPU: Testing write buffer coherency: ok
[ 0.059875] devtmpfs: initialized
[ 0.061309] ttyO0 used as console in debug mode uart0 clocks will
not be gated
[ 0.078918] omap_hwmod: gfx: failed to hardreset
[ 0.094787] omap_hwmod: pruss: failed to hardreset
[ 0.095245] print_constraints: dummy:
[ 0.095458] NET: Registered protocol family 16
[ 0.096405] OMAP GPIO hardware version 0.1
[ 0.097351] omap_mux_init: Add partition: #1: core, flags: 0
[ 0.098602] omap_i2c.1: alias fck already exists
[ 0.098907] hw-breakpoint: debug architecture 0x4 unsupported.
[ 0.099060] omap2_mcspi.1: alias fck already exists
[ 0.099151] omap2_mcspi.2: alias fck already exists
[ 0.099273] edma.0: alias fck already exists
[ 0.099304] edma.0: alias fck already exists
[ 0.099334] edma.0: alias fck already exists
[ 0.099395] cape: pcm register
[ 0.106933] bio: create slab <bio-0> at 0
[ 0.107940] SCSI subsystem initialized
[ 0.108734] usbcore: registered new interface driver usbfs
[ 0.108825] usbcore: registered new interface driver hub
[ 0.108978] usbcore: registered new device driver usb
[ 0.109100] musb-ti81xx musb-ti81xx: musb0, board_mode=0x13, plat_mode=0x3
[ 0.109222] musb-ti81xx musb-ti81xx: musb1, board_mode=0x13, plat_mode=0x1
[ 0.128173] omap_i2c omap_i2c.1: bus 1 rev2.4.0 at 100 kHz
[ 0.129119] Advanced Linux Sound Architecture Driver Version 1.0.24.
[ 0.129608] Switching to clocksource gp timer
[ 0.150756] musb-hdrc: version 6.0, ?dma?, otg (peripheral+host)
[ 0.150939] musb-hdrc musb-hdrc.0: dma type: pio
[ 0.151062] MUSB0 controller's USBSS revision = 4ea20800
[ 0.151092] musb-hdrc: ConfigData=0xde (UTMI-8, dyn FIFOs, bulk
combine, bulk split, HB-ISO Rx, HB-ISO Tx, SoftConn)
[ 0.151123] musb-hdrc: MHDRC RTL version 2.0
[ 0.151123] musb-hdrc: setup fifo_mode 4
[ 0.151153] musb-hdrc: 28/31 max ep, 16384/16384 memory
[ 0.151458] musb-hdrc musb-hdrc.0: USB OTG mode controller at
d081c000 using PIO, IRQ 18
[ 0.151733] musb-hdrc musb-hdrc.1: dma type: pio
[ 0.151855] MUSB1 controller's USBSS revision = 4ea20800
[ 0.151885] musb-hdrc: ConfigData=0xde (UTMI-8, dyn FIFOs, bulk
combine, bulk split, HB-ISO Rx, HB-ISO Tx, SoftConn)
[ 0.151885] musb-hdrc: MHDRC RTL version 2.0
[ 0.151885] musb-hdrc: setup fifo_mode 4
[ 0.151916] musb-hdrc: 28/31 max ep, 16384/16384 memory
[ 0.151947] musb-hdrc musb-hdrc.1: MUSB HDRC host driver
[ 0.152038] musb-hdrc musb-hdrc.1: new USB bus registered, assigned
bus number 1
[ 0.152160] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002
[ 0.152160] usb usb1: New USB device strings: Mfr=3, Product=2,
SerialNumber=1
[ 0.152191] usb usb1: Product: MUSB HDRC host driver
[ 0.152191] usb usb1: Manufacturer: Linux 3.2.23 musb-hcd
[ 0.152191] usb usb1: SerialNumber: musb-hdrc.1
[ 0.152770] hub 1-0:1.0: USB hub found
[ 0.152801] hub 1-0:1.0: 1 port detected
[ 0.153198] musb-hdrc musb-hdrc.1: USB Host mode controller at
d081e800 using PIO, IRQ 19
[ 0.153564] NET: Registered protocol family 2
[ 0.153747] IP route cache hash table entries: 2048 (order: 1, 8192 bytes)
[ 0.154144] TCP established hash table entries: 8192 (order: 4, 65536 bytes)
[ 0.154296] TCP bind hash table entries: 8192 (order: 3, 32768 bytes)
[ 0.154388] TCP: Hash tables configured (established 8192 bind 8192)
[ 0.154388] TCP reno registered
[ 0.154418] UDP hash table entries: 256 (order: 0, 4096 bytes)
[ 0.154418] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
[ 0.154663] NET: Registered protocol family 1
[ 0.154968] RPC: Registered named UNIX socket transport module.
[ 0.154968] RPC: Registered udp transport module.
[ 0.154968] RPC: Registered tcp transport module.
[ 0.154998] RPC: Registered tcp NFSv4.1 backchannel transport module.
[ 0.156494] audit: initializing netlink socket (disabled)
[ 0.156555] type=2000 audit(0.150:1): initialized
[ 0.166656] VFS: Disk quotas dquot_6.5.2
[ 0.166717] Dquot-cache hash table entries: 1024 (order 0, 4096 bytes)
[ 0.167724] msgmni has been set to 494
[ 0.168609] Block layer SCSI generic (bsg) driver version 0.4
loaded (major 252)
[ 0.168701] io scheduler noop registered
[ 0.168731] io scheduler deadline registered
[ 0.168762] io scheduler cfq registered (default)
[ 0.169586] Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
[ 0.170867] omap_uart.0: ttyO0 at MMIO 0x44e09000 (irq = 72) is a OMAP UART0
[ 0.884521] console [ttyO0] enabled
[ 0.888671] omap_uart.1: ttyO1 at MMIO 0x48022000 (irq = 73) is a OMAP UART1
[ 0.896392] omap_uart.2: ttyO2 at MMIO 0x48024000 (irq = 74) is a OMAP UART2
[ 0.904083] omap_uart.3: ttyO3 at MMIO 0x481a6000 (irq = 44) is a OMAP UART3
[ 0.911773] omap_uart.4: ttyO4 at MMIO 0x481a8000 (irq = 45) is a OMAP UART4
[ 0.919433] omap_uart.5: ttyO5 at MMIO 0x481aa000 (irq = 46) is a OMAP UART5
[ 0.928161] brd: module loaded
[ 0.934844] loop: module loaded
[ 0.938171] at24 1-0051: 32768 byte 24c256 EEPROM, writable, 64 bytes/write
[ 1.000274] No daughter card found
[ 1.003845] at24 1-0050: 32768 byte 24c256 EEPROM, writable, 64 bytes/write
[ 1.019012] Board name: A335BONE
[ 1.022399] Board version: 00A3
[ 1.025665] The board is a AM335x Beaglebone.
[ 1.030853] tps65217 1-0024: TPS65217 ID 0x7 version 1.0
[ 1.038146] print_constraints: DCDC1: 900 <--> 1800 mV at 1800 mV
[ 1.046417] print_constraints: DCDC2: 900 <--> 3300 mV at 1275 mV
[ 1.054687] print_constraints: DCDC3: 900 <--> 1500 mV at 1100 mV
[ 1.062896] print_constraints: LDO1: 1000 <--> 3300 mV at 1800 mV
[ 1.071105] print_constraints: LDO2: 900 <--> 3300 mV at 3300 mV
[ 1.079223] print_constraints: LDO3: 1800 <--> 3300 mV at 3300 mV
[ 1.087463] print_constraints: LDO4: 1800 <--> 3300 mV at 3300 mV
[ 1.094726] omap_i2c.3: alias fck already exists
[ 1.110321] omap_i2c omap_i2c.3: bus 3 rev2.4.0 at 100 kHz
[ 1.116607] Flavio Alves: mmc1_init
[ 1.120452] omap_hsmmc.0: alias fck already exists
[ 1.125701] omap_hsmmc.1: alias fck already exists
[ 1.133483] at24 3-0054: 32768 byte 24c256 EEPROM, writable, 64 bytes/write
[ 1.200256] BeagleBone cape EEPROM: could not read eeprom at address 0x54
[ 1.207366] at24 3-0055: 32768 byte 24c256 EEPROM, writable, 64 bytes/write
[ 1.270233] BeagleBone cape EEPROM: could not read eeprom at address 0x55
[ 1.277343] at24 3-0056: 32768 byte 24c256 EEPROM, writable, 64 bytes/write
[ 1.340270] BeagleBone cape EEPROM: could not read eeprom at address 0x56
[ 1.347381] at24 3-0057: 32768 byte 24c256 EEPROM, writable, 64 bytes/write
[ 1.410247] BeagleBone cape EEPROM: could not read eeprom at address 0x57
[ 1.417327] BeagleBone cape: exporting ADC pins to sysfs
[ 1.423126] Beaglebone: initializing onboard LEDs
[ 1.428009] BeagleBone cape: exporting SPI pins as spidev
[ 1.434112] BeagleBone cape: initializing w1-gpio
[ 1.439117] w1-gpio connected to P8_6
[ 1.443511] SCSI Media Changer driver v0.25
[ 1.448211] CAN device driver interface
[ 1.452239] CAN bus driver for Bosch D_CAN controller 1.0
[ 1.500274] davinci_mdio davinci_mdio.0: davinci mdio revision 1.6
[ 1.506713] davinci_mdio davinci_mdio.0: detected phy mask fffffffe
[ 1.514129] davinci_mdio.0: probed
[ 1.517669] davinci_mdio davinci_mdio.0: phy[0]: device 0:00,
driver SMSC LAN8710/LAN8720
[ 1.526397] usbcore: registered new interface driver cdc_acm
[ 1.532318] cdc_acm: USB Abstract Control Model driver for USB
modems and ISDN adapters
[ 1.540740] usbcore: registered new interface driver usblp
[ 1.546508] usbcore: registered new interface driver cdc_wdm
[ 1.552490] usbcore: registered new interface driver uas
[ 1.558013] Initializing USB Mass Storage driver...
[ 1.563201] usbcore: registered new interface driver usb-storage
[ 1.569458] USB Mass Storage support registered.
[ 1.574371] usbcore: registered new interface driver libusual
[ 1.580749] mousedev: PS/2 mouse device common for all mice
[ 1.587036] dev addr = cfa08408
[ 1.590332] pdev addr = cfa08400
[ 1.594329] omap_rtc omap_rtc: rtc core: registered omap_rtc as rtc0
[ 1.600982] omap_rtc: already running
[ 1.604919] i2c /dev entries driver
[ 1.608917] Linux media interface: v0.10
[ 1.613098] Linux video capture interface: v2.00
[ 1.618133] Driver for 1-wire Dallas network protocol.
[ 1.624633] OMAP Watchdog Timer Rev 0x01: initial timeout 60 sec
[ 1.632293] cpuidle: using governor ladder
[ 1.636718] cpuidle: using governor menu
[ 1.641174] omap_hsmmc omap_hsmmc.0: context was not lost
[ 1.646820] omap_hsmmc omap_hsmmc.0: enabled
[ 1.651550] mmc0: clock 0Hz busmode 1 powermode 0 cs 0 Vdd 0 width 0 timing 0
[ 1.658966] omap_hsmmc omap_hsmmc.0: Set clock to 0Hz
[ 1.665374] omap_hsmmc omap_hsmmc.0: disabled
[ 1.670013] omap_hsmmc omap_hsmmc.1: context was not lost
[ 1.675659] omap_hsmmc omap_hsmmc.1: enabled
[ 1.680297] mmc1: clock 0Hz busmode 1 powermode 0 cs 0 Vdd 0 width 0 timing 0
[ 1.687744] omap_hsmmc omap_hsmmc.1: Set clock to 0Hz
[ 1.694061] omap_hsmmc omap_hsmmc.1: disabled
[ 1.698822] Registered led device: beaglebone::usr0
[ 1.704040] Registered led device: beaglebone::usr1
[ 1.709197] Registered led device: beaglebone::usr2
[ 1.714385] Registered led device: beaglebone::usr3
[ 1.719848] usbcore: registered new interface driver usbhid
[ 1.725677] usbhid: USB HID core driver
[ 1.730438] usbcore: registered new interface driver snd-usb-audio
[ 1.737670] ALSA device list:
[ 1.740814] No soundcards found.
[ 1.744659] TCP cubic registered
[ 1.748046] Initializing XFRM netlink socket
[ 1.752532] NET: Registered protocol family 17
[ 1.757202] NET: Registered protocol family 15
[ 1.761871] can: controller area network core (rev 20090105 abi 8)
[ 1.768371] NET: Registered protocol family 29
[ 1.773040] can: raw protocol (rev 20090105)
[ 1.777526] Registering the dns_resolver key type
[ 1.782470] VFP support v0.3: implementor 41 architecture 3 part 30
variant c rev 3
[ 1.790466] ThumbEE CPU extension supported.
[ 1.794982] mux: Failed to setup hwmod io irq -22
[ 1.800537] Power Management for AM33XX family
[ 1.805358] Trying to load am335x-pm-firmware.bin (60 secs timeout)
[ 1.812011] Copied the M3 firmware to UMEM
[ 1.820495] registered taskstats version 1
[ 1.825042] Detected MACID=40:5f:c2:76:b7:19
[ 1.830413] omap_rtc omap_rtc: setting system clock to 2000-01-01
01:44:34 UTC (946691074)
[ 1.839691] Waiting for root device /dev/mmcblk0p2...
[ 6.790954] omap_hsmmc omap_hsmmc.1: context was not lost
[ 6.796600] omap_hsmmc omap_hsmmc.1: enabled
[ 6.801055] mmc1: mmc_rescan_try_freq: trying to init card at 400000 Hz
[ 6.807952] mmc1: clock 0Hz busmode 2 powermode 1 cs 0 Vdd 21 width
0 timing 0
[ 6.815490] omap_hsmmc omap_hsmmc.1: Set clock to 0Hz
[ 6.830871] mmc1: clock 400000Hz busmode 2 powermode 2 cs 0 Vdd 21
width 0 timing 0
[ 6.838836] omap_hsmmc omap_hsmmc.1: Set clock to 400000Hz
[ 6.860870] mmc1: starting CMD52 arg 00000c00 flags 00000195
[ 6.866790] omap_hsmmc omap_hsmmc.1: mmc1: CMD52, argument 0x00000c00
[ 6.873809] omap_hsmmc omap_hsmmc.1: IRQ Status is 18000
[ 6.879364] omap_hsmmc omap_hsmmc.1: MMC IRQ 0x18000 : ERRI CTO
[ 6.885559] mmc1: req done (CMD52): -110: 00000000 00000000 00000000 00000000
[ 6.893005] mmc1: starting CMD52 arg 80000c08 flags 00000195
[ 6.898895] omap_hsmmc omap_hsmmc.1: mmc1: CMD52, argument 0x80000c08
[ 6.905944] omap_hsmmc omap_hsmmc.1: IRQ Status is 18000
[ 6.911499] omap_hsmmc omap_hsmmc.1: MMC IRQ 0x18000 : ERRI CTO
[ 6.917694] mmc1: req done (CMD52): -110: 00000000 00000000 00000000 00000000
[ 6.925170] mmc1: clock 400000Hz busmode 2 powermode 2 cs 1 Vdd 21
width 0 timing 0
[ 6.933166] omap_hsmmc omap_hsmmc.1: Set clock to 400000Hz
[ 6.939880] mmc1: starting CMD0 arg 00000000 flags 000000c0
[ 6.945709] omap_hsmmc omap_hsmmc.1: mmc1: CMD0, argument 0x00000000
[ 6.952484] omap_hsmmc omap_hsmmc.1: IRQ Status is 1
[ 6.957641] mmc1: req done (CMD0): 0: 00000000 00000000 00000000 00000000
[ 6.965728] mmc1: clock 400000Hz busmode 2 powermode 2 cs 0 Vdd 21
width 0 timing 0
[ 6.973724] omap_hsmmc omap_hsmmc.1: Set clock to 400000Hz
[ 6.980438] mmc1: starting CMD8 arg 000001aa flags 000002f5
[ 6.986267] omap_hsmmc omap_hsmmc.1: mmc1: CMD8, argument 0x000001aa
[ 6.993194] omap_hsmmc omap_hsmmc.1: IRQ Status is 1
[ 6.998352] mmc1: req done (CMD8): 0: 000001aa 00000000 00000000 00000000
[ 7.005462] mmc1: starting CMD5 arg 00000000 flags 000002e1
[ 7.011291] omap_hsmmc omap_hsmmc.1: mmc1: CMD5, argument 0x00000000
[ 7.018218] omap_hsmmc omap_hsmmc.1: IRQ Status is 18000
[ 7.023742] omap_hsmmc omap_hsmmc.1: MMC IRQ 0x18000 : ERRI CTO
[ 7.029968] mmc1: req failed (CMD5): -110, retrying...
[ 7.035339] omap_hsmmc omap_hsmmc.1: mmc1: CMD5, argument 0x00000000
[ 7.042297] omap_hsmmc omap_hsmmc.1: IRQ Status is 18000
[ 7.047821] omap_hsmmc omap_hsmmc.1: MMC IRQ 0x18000 : ERRI CTO
[ 7.054046] mmc1: req failed (CMD5): -110, retrying...
[ 7.059387] omap_hsmmc omap_hsmmc.1: mmc1: CMD5, argument 0x00000000
[ 7.066345] omap_hsmmc omap_hsmmc.1: IRQ Status is 18000
[ 7.071899] omap_hsmmc omap_hsmmc.1: MMC IRQ 0x18000 : ERRI CTO
[ 7.078094] mmc1: req failed (CMD5): -110, retrying...
[ 7.083465] omap_hsmmc omap_hsmmc.1: mmc1: CMD5, argument 0x00000000
[ 7.090423] omap_hsmmc omap_hsmmc.1: IRQ Status is 18000
[ 7.095947] omap_hsmmc omap_hsmmc.1: MMC IRQ 0x18000 : ERRI CTO
[ 7.102142] mmc1: req done (CMD5): -110: 00000000 00000000 00000000 00000000
[ 7.109497] mmc1: starting CMD55 arg 00000000 flags 000000f5
[ 7.115417] omap_hsmmc omap_hsmmc.1: mmc1: CMD55, argument 0x00000000
[ 7.122436] omap_hsmmc omap_hsmmc.1: IRQ Status is 1
[ 7.127593] mmc1: req done (CMD55): 0: 00000120 00000000 00000000 00000000
[ 7.134796] mmc1: starting CMD41 arg 00000000 flags 000000e1
[ 7.140686] omap_hsmmc omap_hsmmc.1: mmc1: CMD41, argument 0x00000000
[ 7.147705] omap_hsmmc omap_hsmmc.1: IRQ Status is 1
[ 7.152862] mmc1: req done (CMD41): 0: 00ff8000 00000000 00000000 00000000
[ 7.160064] mmc1: clock 400000Hz busmode 2 powermode 2 cs 0 Vdd 20
width 0 timing 0
[ 7.168060] omap_hsmmc omap_hsmmc.1: Set clock to 400000Hz
[ 7.173797] mmc1: clock 400000Hz busmode 2 powermode 2 cs 1 Vdd 20
width 0 timing 0
[ 7.181823] omap_hsmmc omap_hsmmc.1: Set clock to 400000Hz
[ 7.188537] mmc1: starting CMD0 arg 00000000 flags 000000c0
[ 7.194366] omap_hsmmc omap_hsmmc.1: mmc1: CMD0, argument 0x00000000
[ 7.201141] omap_hsmmc omap_hsmmc.1: IRQ Status is 1
[ 7.206329] mmc1: req done (CMD0): 0: 00000000 00000000 00000000 00000000
[ 7.214416] mmc1: clock 400000Hz busmode 2 powermode 2 cs 0 Vdd 20
width 0 timing 0
[ 7.222412] omap_hsmmc omap_hsmmc.1: Set clock to 400000Hz
[ 7.229125] mmc1: starting CMD8 arg 000001aa flags 000002f5
[ 7.234954] omap_hsmmc omap_hsmmc.1: mmc1: CMD8, argument 0x000001aa
[ 7.241882] omap_hsmmc omap_hsmmc.1: IRQ Status is 1
[ 7.247039] mmc1: req done (CMD8): 0: 000001aa 00000000 00000000 00000000
[ 7.254119] mmc1: starting CMD55 arg 00000000 flags 000000f5
[ 7.260040] omap_hsmmc omap_hsmmc.1: mmc1: CMD55, argument 0x00000000
[ 7.267059] omap_hsmmc omap_hsmmc.1: IRQ Status is 1
[ 7.272216] mmc1: req done (CMD55): 0: 00000120 00000000 00000000 00000000
[ 7.279388] mmc1: starting CMD41 arg 40300000 flags 000000e1
[ 7.285308] omap_hsmmc omap_hsmmc.1: mmc1: CMD41, argument 0x40300000
[ 7.292327] omap_hsmmc omap_hsmmc.1: IRQ Status is 1
[ 7.297485] mmc1: req done (CMD41): 0: 00ff8000 00000000 00000000 00000000
[ 7.320861] mmc1: starting CMD55 arg 00000000 flags 000000f5
[ 7.326782] omap_hsmmc omap_hsmmc.1: mmc1: CMD55, argument 0x00000000
[ 7.333770] omap_hsmmc omap_hsmmc.1: IRQ Status is 1
[ 7.338958] mmc1: req done (CMD55): 0: 00000120 00000000 00000000 00000000
[ 7.346130] mmc1: starting CMD41 arg 40300000 flags 000000e1
[ 7.352050] omap_hsmmc omap_hsmmc.1: mmc1: CMD41, argument 0x40300000
[ 7.359039] omap_hsmmc omap_hsmmc.1: IRQ Status is 1
[ 7.364227] mmc1: req done (CMD41): 0: 80ff8000 00000000 00000000 00000000
[ 7.371429] mmc1: starting CMD2 arg 00000000 flags 00000067
[ 7.377227] omap_hsmmc omap_hsmmc.1: mmc1: CMD2, argument 0x00000000
[ 7.384368] omap_hsmmc omap_hsmmc.1: IRQ Status is 1
[ 7.389556] mmc1: req done (CMD2): 0: 1b534d30 30303030 10050082 0600b189
[ 7.396667] mmc1: starting CMD3 arg 00000000 flags 00000075
[ 7.402465] omap_hsmmc omap_hsmmc.1: mmc1: CMD3, argument 0x00000000
[ 7.409393] omap_hsmmc omap_hsmmc.1: IRQ Status is 1
[ 7.414581] mmc1: req done (CMD3): 0: 00020520 00000000 00000000 00000000
[ 7.421661] mmc1: starting CMD9 arg 00020000 flags 00000007
[ 7.427459] omap_hsmmc omap_hsmmc.1: mmc1: CMD9, argument 0x00020000
[ 7.434631] omap_hsmmc omap_hsmmc.1: IRQ Status is 1
[ 7.439788] mmc1: req done (CMD9): 0: 007fff32 5b5a83ba f6dbdfff 0e8000b5
[ 7.446899] mmc1: starting CMD7 arg 00020000 flags 00000015
[ 7.452728] omap_hsmmc omap_hsmmc.1: mmc1: CMD7, argument 0x00020000
[ 7.459625] omap_hsmmc omap_hsmmc.1: IRQ Status is 1
[ 7.464813] mmc1: req done (CMD7): 0: 00000700 00000000 00000000 00000000
[ 7.471893] mmc1: starting CMD55 arg 00020000 flags 00000095
[ 7.477783] omap_hsmmc omap_hsmmc.1: mmc1: CMD55, argument 0x00020000
[ 7.484802] omap_hsmmc omap_hsmmc.1: IRQ Status is 1
[ 7.489990] mmc1: req done (CMD55): 0: 00000920 00000000 00000000 00000000
[ 7.497161] mmc1: starting CMD51 arg 00000000 flags 000000b5
[ 7.503082] mmc1: blksz 8 blocks 1 flags 00000200 tsac 100 ms nsac 0
[ 7.510101] omap_hsmmc omap_hsmmc.1: mmc1: CMD51, argument 0x00000000
[ 7.517120] omap_hsmmc omap_hsmmc.1: IRQ Status is 1
[ 7.522308] omap_hsmmc omap_hsmmc.1: IRQ Status is 2
[ 7.527496] mmc1: req done (CMD51): 0: 00000920 00000000 00000000 00000000
[ 7.534637] mmc1: 8 bytes transferred: 0
[ 7.539123] mmc1: starting CMD55 arg 00020000 flags 00000095
[ 7.545043] omap_hsmmc omap_hsmmc.1: mmc1: CMD55, argument 0x00020000
[ 7.552062] omap_hsmmc omap_hsmmc.1: IRQ Status is 1
[ 7.557220] mmc1: req done (CMD55): 0: 00000920 00000000 00000000 00000000
[ 7.564392] mmc1: starting CMD13 arg 00000000 flags 000001b5
[ 7.570312] mmc1: blksz 64 blocks 1 flags 00000200 tsac 100 ms nsac 0
[ 7.577423] omap_hsmmc omap_hsmmc.1: mmc1: CMD13, argument 0x00000000
[ 7.584442] omap_hsmmc omap_hsmmc.1: IRQ Status is 1
[ 7.589599] omap_hsmmc omap_hsmmc.1: IRQ Status is 2
[ 7.594787] mmc1: req done (CMD13): 0: 00000920 00000000 00000000 00000000
[ 7.601959] mmc1: 64 bytes transferred: 0
[ 7.606536] mmc1: starting CMD6 arg 00fffff1 flags 000000b5
[ 7.612335] mmc1: blksz 64 blocks 1 flags 00000200 tsac 100 ms nsac 0
[ 7.619445] omap_hsmmc omap_hsmmc.1: mmc1: CMD6, argument 0x00fffff1
[ 7.626373] omap_hsmmc omap_hsmmc.1: IRQ Status is 1
[ 7.631530] omap_hsmmc omap_hsmmc.1: IRQ Status is 2
[ 7.636718] mmc1: req done (CMD6): 0: 00000900 00000000 00000000 00000000
[ 7.643798] mmc1: 64 bytes transferred: 0
[ 7.648345] mmc1: starting CMD6 arg 00fff1ff flags 000000b5
[ 7.654174] mmc1: blksz 64 blocks 1 flags 00000200 tsac 100 ms nsac 0
[ 7.661285] omap_hsmmc omap_hsmmc.1: mmc1: CMD6, argument 0x00fff1ff
[ 7.668212] omap_hsmmc omap_hsmmc.1: IRQ Status is 1
[ 7.673370] omap_hsmmc omap_hsmmc.1: IRQ Status is 2
[ 7.678558] mmc1: req done (CMD6): 0: 00000900 00000000 00000000 00000000
[ 7.685638] mmc1: 64 bytes transferred: 0
[ 7.690185] mmc1: starting CMD6 arg 00ff1fff flags 000000b5
[ 7.696014] mmc1: blksz 64 blocks 1 flags 00000200 tsac 100 ms nsac 0
[ 7.703094] omap_hsmmc omap_hsmmc.1: mmc1: CMD6, argument 0x00ff1fff
[ 7.710021] omap_hsmmc omap_hsmmc.1: IRQ Status is 1
[ 7.715209] omap_hsmmc omap_hsmmc.1: IRQ Status is 2
[ 7.720397] mmc1: req done (CMD6): 0: 00000900 00000000 00000000 00000000
[ 7.727447] mmc1: 64 bytes transferred: 0
[ 7.732055] mmc1: starting CMD6 arg 80fffff1 flags 000000b5
[ 7.737854] mmc1: blksz 64 blocks 1 flags 00000200 tsac 100 ms nsac 0
[ 7.744964] omap_hsmmc omap_hsmmc.1: mmc1: CMD6, argument 0x80fffff1
[ 7.751892] omap_hsmmc omap_hsmmc.1: IRQ Status is 1
[ 7.757049] omap_hsmmc omap_hsmmc.1: IRQ Status is 2
[ 7.762237] mmc1: req done (CMD6): 0: 00000900 00000000 00000000 00000000
[ 7.769317] mmc1: 64 bytes transferred: 0
[ 7.773864] mmc1: clock 400000Hz busmode 2 powermode 2 cs 0 Vdd 20
width 0 timing 2
[ 7.781860] omap_hsmmc omap_hsmmc.1: Set clock to 400000Hz
[ 7.787597] mmc1: clock 50000000Hz busmode 2 powermode 2 cs 0 Vdd
20 width 0 timing 2
[ 7.795776] omap_hsmmc omap_hsmmc.1: Set clock to 50000000Hz
[ 7.801666] mmc1: starting CMD55 arg 00020000 flags 00000095
[ 7.807586] omap_hsmmc omap_hsmmc.1: mmc1: CMD55, argument 0x00020000
[ 7.814300] omap_hsmmc omap_hsmmc.1: IRQ Status is 1
[ 7.819458] mmc1: req done (CMD55): 0: 00000920 00000000 00000000 00000000
[ 7.826660] mmc1: starting CMD6 arg 00000002 flags 00000015
[ 7.832489] omap_hsmmc omap_hsmmc.1: mmc1: CMD6, argument 0x00000002
[ 7.839111] omap_hsmmc omap_hsmmc.1: IRQ Status is 1
[ 7.844268] mmc1: req done (CMD6): 0: 00000920 00000000 00000000 00000000
[ 7.851379] mmc1: clock 50000000Hz busmode 2 powermode 2 cs 0 Vdd
20 width 2 timing 2
[ 7.859558] omap_hsmmc omap_hsmmc.1: Set clock to 50000000Hz
[ 7.865478] mmc1: new high speed SD card at address 0002
[ 7.871551] mmc1: starting CMD16 arg 00000200 flags 00000095
[ 7.877441] omap_hsmmc omap_hsmmc.1: mmc1: CMD16, argument 0x00000200
[ 7.884185] omap_hsmmc omap_hsmmc.1: IRQ Status is 1
[ 7.889373] mmc1: req done (CMD16): 0: 00000900 00000000 00000000 00000000
[ 7.896575] mmcblk0: mmc1:0002 00000 1.86 GiB (ro)
[ 7.902313] mmc1: starting CMD18 arg 00000000 flags 000000b5
[ 7.908203] mmc1: blksz 512 blocks 8 flags 00000200 tsac 100 ms nsac 0
[ 7.915405] mmc1: CMD12 arg 00000000 flags 0000049d
[ 7.920898] omap_hsmmc omap_hsmmc.1: mmc1: CMD18, argument 0x00000000
[ 7.927612] omap_hsmmc omap_hsmmc.1: IRQ Status is 1
[ 7.932800] omap_hsmmc omap_hsmmc.1: IRQ Status is 408002
[ 7.938415] omap_hsmmc omap_hsmmc.1: MMC IRQ 0x408002 : TC ERRI DEB
[ 7.944946] omap_hsmmc omap_hsmmc.1: mmc1: CMD12, argument 0x00000000
[ 7.951660] omap_hsmmc omap_hsmmc.1: IRQ Status is 3
[ 240.160888] INFO: task kworker/u:1:37 blocked for more than 120 seconds.
[ 240.167877] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs"
disables this message.
[ 240.176055] kworker/u:1 D c02b0d7d 0 37 2 0x00000000
[ 240.182708] INFO: task mmcqd/1:43 blocked for more than 120 seconds.
[ 240.189331] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs"
disables this message.
[ 240.197509] mmcqd/1 D c02b0d7d 0 43 2 0x00000000
[ 360.200897] INFO: task kworker/u:1:37 blocked for more than 120 seconds.
[ 360.207855] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs"
disables this message.
[ 360.216033] kworker/u:1 D c02b0d7d 0 37 2 0x00000000
[ 360.222686] INFO: task mmcqd/1:43 blocked for more than 120 seconds.
[ 360.229309] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs"
disables this message.
[ 360.237487] mmcqd/1 D c02b0d7d 0 43 2 0x00000000
[ 480.240875] INFO: task kworker/u:1:37 blocked for more than 120 seconds.
[ 480.247833] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs"
disables this message.
[ 480.256011] kworker/u:1 D c02b0d7d 0 37 2 0x00000000
[ 480.262664] INFO: task mmcqd/1:43 blocked for more than 120 seconds.
[ 480.269287] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs"
disables this message.
[ 480.277435] mmcqd/1 D c02b0d7d 0 43 2 0x00000000

Does anybody have any clue about why CMD12 is not correctly responding?

I didn't change the driver implementation and the MMC1 configuration
is the same as MMC0, which works for the same card.

Best regards,

Flavio

Yes, search the mailinglist archive, it was discussed 2-3 weeks ago: Don't initialize SPI before MMC, mimic what the angstrom kernel does for the emmc and wifi capes.

Does your forked 3.2 kernel on Github do that, Koen? Or is that a 3.6 issue?

Hello Koen,

Do I find this implementation at meta-ti layer?

Best regards,

Flavio

I am new in this field of embedding. I am doing Computer Eng. Tell me some basic idea because it will help in my final project.I am having beagle board introduction pdf. I need help about which type of Linux OS i have to install on that and from where i will get that image.
Tell me the steps to load that image.