mmc2 at Zippy2 and RootFS

Hi folks!

I experiment with MMC2 slot enabled at Zippy2 with the latest Dev-branch of OE.

So I found the following:

  1. Wrong kernel message about MMC2 registering
    when the kernel starts it prints:

[ 0.000000] Beagle expansionboard: registering i2c2 bus for zippy/zippy2
[ 0.000000] Beagle expansionboard: initializing ks_8851
[ 0.000000] Beagle expansionboard: assigning GPIO 141 and 162 to MMC1

MMC1 is mentioned while MMC1 is really the slot at Beagleboard. This is wrong but the reason for it is only a string in “arch/arm/mach-omap2/board-omap3beagle.c”:
printk(KERN_INFO “Beagle expansionboard: assigning GPIO 141 and 162 to MMC1\n”);

  1. MMC2 is functional really
    Next I want to boot rootfs from MMC2, not MMC1 as usually.

So here what do:
a) prepare 2 SD-cards with the same content from OE-dev
b) insert both cards in MMC1 nad MMC2
c) power up and stop u-boot
d) then in u-boot:

OMAP3 beagleboard.org # setenv buddy zippy2
OMAP3 beagleboard.org # setenv mmcdev 2
OMAP3 beagleboard.org # setenv mmcroot /dev/mmcblk1p2 rw
e) remove MMC1 as unnecessary any more
f) start Linux
OMAP3 beagleboard.org # boot
mmc2 is available
The user button is currently pressed.
reading user.scr

** Unable to read “user.scr” from mmc 2:1 **
reading uImage

3192808 bytes read
reading ramdisk.gz

** Unable to read “ramdisk.gz” from mmc 2:1 **
Booting from mmc …

Booting kernel from Legacy Image at 80200000 …

the problems begin here:

[ 74.943115] regulator_init_complete: incomplete constraints, leaving VDAC on
[ 74.950805] omap_vout omap_vout: probed for an unknown device
[ 74.957092] Waiting for root device /dev/mmcblk1p2…

and the kernel stops and waiting for something, it can stand here forever. I have MMC2 inserted and it contains all necessary partitions because both cards are tested in MMC1 slot.
I experiment and remove MMC2 and insert back:

[ 121.792572] mmc1: new high speed SD card at address b368
[ 121.798492] mmcblk0: mmc1:b368 SDC 1.85 GiB
[ 121.803405] mmcblk0: p1 p2
[ 124.769409] mmc1: card b368 removed
[ 125.011291] mmc1: new high speed SD card at address b368
[ 125.017120] mmcblk0: mmc1:b368 SDC 1.85 GiB
[ 125.021972] mmcblk0: p1 p2

Again the kernel stops and is awaiting. Can anybody tell why the kernel reports “mmcblk0: p1 p2” for MMC2??

So, now I insert a card into MMC1:

[ 264.707183] mmc0: new high speed SD card at address b368
[ 264.713073] mmcblk1: mmc0:b368 USD 1.85 GiB
[ 264.718048] mmcblk1: p1 p2
[ 266.316864] EXT3-fs (mmcblk1p2): warning: maximal mount count reached, running e2fsck is recommended
[ 266.326171] kjournald starting. Commit interval 5 seconds
[ 266.335815] EXT3-fs (mmcblk1p2): using internal journal
[ 266.341125] EXT3-fs (mmcblk1p2): recovery complete
[ 266.536224] EXT3-fs (mmcblk1p2): mounted filesystem with writeback data mode
[ 266.543426] VFS: Mounted root (ext3 filesystem) on device 179:10.
[ 266.552124] devtmpfs: mounted
[ 266.555175] Freeing init memory: 204K
INIT: version 2.86 booting
Please wait: booting…
Starting udev
[ 271.676605] FAT: bogus number of reserved sectors
[ 271.681365] VFS: Can’t find a valid FAT filesystem on dev mmcblk0.
[ 272.417785] EXT3-fs (mmcblk0p2): warning: maximal mount count reached, running e2fsck is recommended
[ 272.428863] kjournald starting. Commit interval 5 seconds
[ 272.440673]
[ 272.450531] EXT3-fs (mmcblk0p2): using internal journal
[ 272.463470] EXT3-fs (mmcblk0p2): mounted filesystem with writeback data mode
Remounting root file system…

Can anybody clarify what is going on here? I’m totally lost

Hi folks!
I experiment with MMC2 slot enabled at Zippy2 with the latest Dev-branch of
OE.
So I found the following:
1) Wrong kernel message about MMC2 registering
when the kernel starts it prints:
[ 0.000000] Beagle expansionboard: registering i2c2 bus for zippy/zippy2
[ 0.000000] Beagle expansionboard: initializing ks_8851
[ 0.000000] Beagle expansionboard: assigning GPIO 141 and 162 to MMC1
MMC1 is mentioned while MMC1 is really the slot at Beagleboard. This is
wrong but the reason for it is only a string in
"arch/arm/mach-omap2/board-omap3beagle.c":
printk(KERN_INFO "Beagle expansionboard: assigning GPIO 141 and 162 to
MMC1\n");
2) MMC2 is functional really
Next I want to boot rootfs from MMC2, not MMC1 as usually.
So here what do:
a) prepare 2 SD-cards with the same content from OE-dev
b) insert both cards in MMC1 nad MMC2
c) power up and stop u-boot
d) then in u-boot:
OMAP3 beagleboard.org # setenv buddy zippy2
OMAP3 beagleboard.org # setenv mmcdev 2
OMAP3 beagleboard.org # setenv mmcroot /dev/mmcblk1p2 rw
e) remove MMC1 as unnecessary any more
f) start Linux
OMAP3 beagleboard.org # boot
mmc2 is available
The user button is currently pressed.
reading user.scr
** Unable to read "user.scr" from mmc 2:1 **
reading uImage
3192808 bytes read
reading ramdisk.gz
** Unable to read "ramdisk.gz" from mmc 2:1 **
Booting from mmc ...
## Booting kernel from Legacy Image at 80200000 ...
the problems begin here:
.....
[ 74.943115] regulator_init_complete: incomplete constraints, leaving VDAC
on
[ 74.950805] omap_vout omap_vout: probed for an unknown device
[ 74.957092] Waiting for root device /dev/mmcblk1p2...
and the kernel stops and waiting for something, it can stand here forever. I
have MMC2 inserted and it contains all necessary partitions because both
cards are tested in MMC1 slot.
I experiment and remove MMC2 and insert back:
[ 121.792572] mmc1: new high speed SD card at address b368
[ 121.798492] mmcblk0: mmc1:b368 SDC 1.85 GiB
[ 121.803405] mmcblk0: p1 p2
[ 124.769409] mmc1: card b368 removed
[ 125.011291] mmc1: new high speed SD card at address b368
[ 125.017120] mmcblk0: mmc1:b368 SDC 1.85 GiB
[ 125.021972] mmcblk0: p1 p2
Again the kernel stops and is awaiting. Can anybody tell why the kernel
reports "mmcblk0: p1 p2" for MMC2??

It's still the first (and your case only) mmcblk device, there for
it's mmcblk0...

Dear Robert,

Thank you very much!

OMAP3 beagleboard.org # setenv mmcdev 2
OMAP3 beagleboard.org # setenv buddy zippy2
OMAP3 beagleboard.org # boot
mmc2 is available

voila and I have rootfs up and running! :slight_smile:

regards,
Max

2010/6/13 Robert Nelson <robertcnelson@gmail.com>

Hi folks!

I experiment with MMC2 slot enabled at Zippy2 with the latest Dev-branch of OE.

So I found the following:
1) Wrong kernel message about MMC2 registering
when the kernel starts it prints:
[ 0.000000] Beagle expansionboard: registering i2c2 bus for zippy/zippy2
[ 0.000000] Beagle expansionboard: initializing ks_8851
[ 0.000000] Beagle expansionboard: assigning GPIO 141 and 162 to MMC1

MMC1 is mentioned while MMC1 is really the slot at Beagleboard. This is wrong but the reason for it is only a string in "arch/arm/mach-omap2/board-omap3beagle.c":
printk(KERN_INFO "Beagle expansionboard: assigning GPIO 141 and 162 to MMC1\n");

uboot starts with '1' and linux starts with '0' when counting mmc slots, so while confusing, it is correct.

2) MMC2 is functional really
Next I want to boot rootfs from MMC2, not MMC1 as usually.

So here what do:
a) prepare 2 SD-cards with the same content from OE-dev
b) insert both cards in MMC1 nad MMC2
c) power up and stop u-boot
d) then in u-boot:
OMAP3 beagleboard.org # setenv buddy zippy2

didn't uboot already set that for you?

regards,

Koen

Koen,

thank you for clarifications.

OMAP3 beagleboard.org # setenv buddy zippy2
didn’t uboot already set that for you?

well, it could do it if I used real Zippy2 board, but I have a hardware clone without EEPROM provided. But MMC2 works fine :slight_smile:

regards,
Max

2010/6/13 Koen Kooi <koen@beagleboard.org>

by the way, I would not use confusing MMC0/1/2 numbering because OMAP3 interfaces are marked as 1/2/3. So this is really confusing me to see numbering 0-2 in Linux. I guess no matter how Linux enumerate devices, as they are used dynamically, the numbers for real slots or whatever must be solid. I mean numbering for capital MMC must refer to physical slots numbers (as they are implied for)

2010/6/13 Maxim Podbereznyy <lisarden@gmail.com>

Maxim,

I think "second MMC slot" would be best :slight_smile:

regards,

Koen