This problem has prevented working releases for Linaro 2011.07 and 08 so
it would be great to have this fixed for 09.

I believe the problem here is that the mmc driver is not getting
initialized.  If I understand things correctly, there are two possible
ways for this driver to get probed.  It either needs to be a platform
driver CONFIG_MMC_SDHCI_PLTFM or an OpenFirmware driver
CONFIG_MMC_SDHCI_OF_ESDHC.

If I enable CONFIG_MMC_SDHCI_PLTFM I get a build error:
  LD      .tmp_vmlinux1
drivers/built-in.o:(.rodata+0xfa74): undefined reference to 
`sdhci_tegra_dt_pdata'
make[2]: *** [.tmp_vmlinux1] Error 1
make[1]: *** [sub-make] Error 2

Which when I poke around seems to be caused by the fact that the platform case 
really only works for tegra at the moment.  Here is a snippet from 
drivers/mmc/host/sdhci-pltfm.c:
#if defined(CONFIG_OF)
#include <linux/of_device.h>
static const struct of_device_id sdhci_dt_ids[] = {
        { .compatible = "nvidia,tegra20-sdhci", .data = &sdhci_tegra_dt_pdata },
        { }
};
MODULE_DEVICE_TABLE(platform, sdhci_dt_ids);

static const struct of_device_id *sdhci_get_of_device_id(struct platform_device 
*pdev)
{
        return of_match_device(sdhci_dt_ids, &pdev->dev);
}
#else
#define sdhci_dt_ids NULL
static inline struct of_device_id *sdhci_get_of_device_id(struct 
platform_device *pdev)
{
        return NULL;
}
#endif

For the OpenFirmware case case to work the device needs a node in the
device tree.  However the device tree for imx51 is pretty much empty:

/*
 * Copyright 2011 Linaro Ltd.
 *
 * The code contained herein is licensed under the GNU General Public
 * License. You may obtain a copy of the GNU General Public License
 * Version 2 or later at the following locations:
 *
 * http://www.opensource.org/licenses/gpl-license.html
 * http://www.gnu.org/copyleft/gpl.html
 */

/dts-v1/;
/include/ "skeleton.dtsi"

/ {
        model = "Freescale i.MX51 Babbage";
        compatible = "fsl,mx51-babbage", "fsl,mx51";

        memory {
                reg = <0x90000000 0x20000000>;
        };
};

** Also affects: linaro-landing-team-freescale
   Importance: Undecided
       Status: New

-- 
You received this bug notification because you are a member of Linaro
Release Team, which is subscribed to the bug report.
https://bugs.launchpad.net/bugs/839541

Title:
  mx51evk can't find rootfs by UUID, LABEL or device node, then drop to
  initramfs

Status in Linaro Freescale Landing Team Project:
  New
Status in “linux-linaro-mx51” package in Ubuntu:
  Confirmed

Bug description:
  Use an old uboot to bootup, find UUID, LABEL, device node rootfs can't
  be found.

  Environment:
  11.08 release

  Log:

  Begin: Running /scripts/init-premount ... done.
  Begin: Mounting root file system ... [    1.637092] hub 1-1:1.0: USB hub found
  [    1.699904] hub 1-1:1.0: 7 ports detected
  Begin: Running /scripts/local-top ... done.
  [    4.935483] usb 1-1.6: new high speed USB device number 3 using mxc-ehci
  Gave up waiting for root device.  Common problems:
   - Boot args (cat /proc/cmdline)
     - Check rootdelay= (did the system wait long enough?)
     - Check root= (did the system wait for the right device?)
   - Missing modules (cat /proc/modules; ls /dev)
  ALERT!  /dev/disk/by-uuid/1146c852-2afa-443a-93cf-015a33ec3b10 does not 
exist.  Dropping to a shell!

  
  BusyBox v1.17.1 (Ubuntu 1:1.17.1-10ubuntu1) built-in shell (ash)
  Enter 'help' for a list of built-in commands.

  (initramfs)

To manage notifications about this bug go to:
https://bugs.launchpad.net/linaro-landing-team-freescale/+bug/839541/+subscriptions

_______________________________________________
Mailing list: https://launchpad.net/~linaro-release
Post to     : [email protected]
Unsubscribe : https://launchpad.net/~linaro-release
More help   : https://help.launchpad.net/ListHelp

Reply via email to