TI中文支持网
TI专业的中文技术问题搜集分享网站

Am335x,kernel 启动后停在Waiting for root device /dev/mmcblk1p1…

sd卡使用mmc0,emmc使用mmc1。我们想使用emmc启动ext4的文件系统。

uboot能够正常使用mmc1(emmc),kernel启动文件系统的时候卡在了Waiting for root device /dev/mmcblk1p1…

其中board-arm335xevm.c关于mmc1已做修改如下:

static struct pinmux_config mmc1_emmc_pin_mux[] = {
{"gpmc_ad7.mmc1_dat7", OMAP_MUX_MODE1 | AM33XX_PIN_INPUT_PULLUP},
{"gpmc_ad6.mmc1_dat6", OMAP_MUX_MODE1 | AM33XX_PIN_INPUT_PULLUP},
{"gpmc_ad5.mmc1_dat5", OMAP_MUX_MODE1 | AM33XX_PIN_INPUT_PULLUP},
{"gpmc_ad4.mmc1_dat4", OMAP_MUX_MODE1 | AM33XX_PIN_INPUT_PULLUP},
{"gpmc_ad3.mmc1_dat3", OMAP_MUX_MODE1 | AM33XX_PIN_INPUT_PULLUP},
{"gpmc_ad2.mmc1_dat2", OMAP_MUX_MODE1 | AM33XX_PIN_INPUT_PULLUP},
{"gpmc_ad1.mmc1_dat1", OMAP_MUX_MODE1 | AM33XX_PIN_INPUT_PULLUP},
{"gpmc_ad0.mmc1_dat0", OMAP_MUX_MODE1 | AM33XX_PIN_INPUT_PULLUP},
{"gpmc_csn1.mmc1_clk", OMAP_MUX_MODE2 | AM33XX_PIN_INPUT_PULLUP},
{"gpmc_csn2.mmc1_cmd", OMAP_MUX_MODE2 | AM33XX_PIN_INPUT_PULLUP},
{NULL, 0},
};

static void mmc1_emmc_init(int evm_id, int profile)
{
int err;
setup_pin_mux(mmc1_emmc_pin_mux);

am335x_mmc[1].mmc = 2;
am335x_mmc[1].caps = MMC_CAP_4_BIT_DATA | MMC_CAP_8_BIT_DATA;
am335x_mmc[1].nonremovable = true;
am335x_mmc[1].gpio_cd = -EINVAL;
am335x_mmc[1].gpio_wp = -EINVAL;
am335x_mmc[1].ocr_mask = MMC_VDD_32_33 | MMC_VDD_33_34; /* 3V3 */

printk("————>mmc1_emmc_init completed!\n");

/* mmc will be initialized when mmc0_init is called */
return;
}

static struct evm_dev_cfg gen_purp_evm_dev_cfg[] = {
{enable_ecap0, DEV_ON_BASEBOARD, PROFILE_ALL },
{lcdc_init, DEV_ON_BASEBOARD, PROFILE_ALL },

{goodix_init, DEV_ON_BASEBOARD, PROFILE_ALL},

{WIFI_init, DEV_ON_BASEBOARD, PROFILE_ALL}, // add by nic

{tsc_init, DEV_ON_BASEBOARD, (PROFILE_0|PROFILE_1|PROFILE_2|PROFILE_7) },
{usb0_init, DEV_ON_BASEBOARD, PROFILE_ALL},
{usb1_init, DEV_ON_BASEBOARD, PROFILE_ALL},
//{evm_nand_init, DEV_ON_BASEBOARD,(PROFILE_ALL & ~PROFILE_2 & ~PROFILE_3)},/*liucheng*/
{i2c1_init, DEV_ON_BASEBOARD, PROFILE_ALL},
{mmc1_emmc_init, DEV_ON_BASEBOARD, PROFILE_ALL},/*liucheng*/
{mmc0_init, DEV_ON_BASEBOARD, (PROFILE_ALL & ~PROFILE_5)}, {mmc0_no_cd_init,DEV_ON_BASEBOARD, PROFILE_5},

{NULL, 0, 0},
};

mmc0的SD卡能正常识别,但是mmc1的emmc无法识别,部分log信息如下,停在了Waiting for root device /dev/mmcblk1p1…

[ 2.962460] mmc0: new high speed SDHC card at address 1234
[ 2.968632] mmcblk0: mmc0:1234 SA04G 3.67 GiB[ 2.975088] mmcblk0: unknown partition table
[ 2.980040] mmc1: mmc_rescan_try_freq: trying to init card at 400000 Hz
[ 3.008691] <<-GTP-DEBUG->> [1497]Init external watchdog…
[ 3.015566] <<-GTP-INFO->> Config Version:0x43
[ 3.020787] <<-GTP-INFO->> COOR_X_MAX_LOWBIT:0x0
[ 3.029031] <<-GTP-INFO->> COOR_X_MAX_HIHBIT:0x4
[ 3.034448] <<-GTP-INFO->> COOR_Y_MAX_LOWBIT:0x0
[ 3.039874] <<-GTP-INFO->> COOR_Y_MAX_HIHBIT:0x4
[ 3.045369] <<-GTP-INFO->> COOR_X_RESOLUTION_LOWBIT:0x2
[ 3.051450] <<-GTP-INFO->> COOR_X_RESOLUTION_HIHBIT:0x2
[ 3.058591] <<-GTP-INFO->> COOR_Y_RESOLUTION_LOWBIT:0x2
[ 3.064105] usb 1-1.2: New USB device found, idVendor=058f, idProduct=6387
[ 3.071304] usb 1-1.2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 3.078946] usb 1-1.2: Product: Mass Storage
[ 3.083399] usb 1-1.2: Manufacturer: Generic
[ 3.087853] usb 1-1.2: SerialNumber: 733C5929
[ 3.093785] <<-GTP-INFO->> COOR_Y_RESOLUTION_HIHBIT:0x2
[ 3.099697] <<-GTP-INFO->> GTP_REG_INTERACTION reset
[ 3.104883] <<-GTP-DEBUG->> [847]Config Groups' Lengths: 186, 0, 0, 0, 0, 0
[ 3.112169] <<-GTP-DEBUG->> [875]Sensor_ID: 0
[ 3.138645] <<-GTP-DEBUG->> [936]X_MAX = 1024, Y_MAX = 600, TRIGGER = 0x00
[ 3.158942] input: Goodix Capacitive TouchScreen as /devices/virtual/input/input2
[ 3.166911] <<-GTP-DEBUG->> [1123]INT trigger type:0
[ 3.172210] <<-GTP-INFO->> GTP works in interrupt mode.
[ 3.178847] usb 1-1.3: new high-speed USB device number 4 using musb-hdrc
[ 3.186659] <<-GTP-INFO->> IC Version: 0x390x320x37_1030
[ 3.192238] <<-GTP-INFO->> Applied memory size:2562.
[ 3.197412] <<-GTP-DEBUG->> [161]I2C function: with pre and end cmd!
[ 3.204105] <<-GTP-INFO->> Create proc entry success!
[ 3.209776] omap_rtc omap_rtc: setting system clock to 2000-01-01 00:00:00 UTC (946684800)
[ 3.219004] Waiting for root device /dev/mmcblk1p1…

感谢回复

cheng liu:

没人回答吗?

Gary Wu:

回复 cheng liu:

通过SDcard启动,登录后能否操作emmc?

从log信息看,emmc未正常初始化。

Gary Wu:

回复 cheng liu:

从你的程序来看,没有问题。

请查看下pinmux是否与其他外设存在冲突?

cheng liu:

回复 Gary Wu:

sd卡启动登陆也没有emmc,因为kernel中mmc1还未初始化成功。uboot中emmc能正常使用。

Yaoming Qin:

回复 cheng liu:

你的emmc分区正确了吗?

赞(0)
未经允许不得转载:TI中文支持网 » Am335x,kernel 启动后停在Waiting for root device /dev/mmcblk1p1…
分享到: 更多 (0)