Hi,
I have a i.MX28 custom board and I'm trying to boot the linux kernel on an eMMC card connected to the ssp0 interface of the i.MX287.
I set in ltib the "mfg firmware profile" and I set the kernel command line as follow:
console=ttyAM0,115200 rdinit=/linuxrc rw gpmi
I have copied the updater_ivt.sb in the profile directory of MFGTool and I have started to program my board.
MFGTool crashes and the console displays the message:
mmcblk0: unable to set block size to 512: -110
mmcblk: probe of mmc0:0001 failed with error -22
ln: /etc/mtab: File exists
disable turn off display
uuc 0.4 [built Jul 6 2012 14:40:37]
UTP: Waiting for device to appear
utp_mk_devnode: creating node '/dev/utp' with 10+222
cpu_id is 28
g_file_storage gadget: high speed config #1
UTP: received command 'mknod bloutp_exec: exit with status -22
ck,mmcblk0,/dev/mmcblk0,block'
class = 'block'
item = 'mmcblk0'
node = /dev/mmcblk0
type = block
UTP: running utp_mk_devnode(block,mmcblk0,/dev/mmcblk0,0x6000)
UTP: sending Non-success
Do you have any suggestions?? (I attach the complete console message).
Thanks,
Matteo.
Original Attachment has been moved to: iMX28_Boot.TXT.txt.zip
Hi,
I post also the log of MFGTool:
1 - Panel A Finished <CMD/> type="find" body="Updater" file="" timeout="180" onError="" text="" SUCCESS code=0x0.
Panel A Start <CMD/> type="push" body="mknod block,mmcblk0,/dev/mmcblk0,block" file="" timeout="10" onError="" text="".
1 - Panel A Finished <CMD/> type="push" body="mknod block,mmcblk0,/dev/mmcblk0,block" file="" timeout="10" onError="" text="" FAIL code=0xffffffea.
Panel A: Command is not supported by device.,failed to run command: type="push" body="mknod block,mmcblk0,/dev/mmcblk0,block" file="" timeout="10" onError="" text=""
2 - Panel A Finished processing SD(with uboot) <LIST/> : FAIL code=-22.
Thanks.
Hi Mateo.
Have you tried using the default firmware? I have not done the MFGtool & i.MX28 but in theory you do not have to touch anything on the profile/xxxxx folder. Also, did you change something on the XML file?
Leo
Hi Leonardo,
I hvae tried to use default firmware but it is not running. I think that it not running because I have not connected any voltage on the battery pin of the i.MX28 and I have to modify the power_prep.c boot file on my firmware to run the kernel.
I think that my problem is due to eMMC card. In the EVK board I load the kernel on a SD card end I boot from the this SD card. The problem is that the SD card have 4 data line instead my eMMC have 8 data line.
Is it possible that I have to load on ltib a specific driver for eMMC with 8 data line? In my opinion the SD/eMMC driver should identify whether the card have 4 or 8 data line.
Do you have any suggestion?
Thanks,
Matteo
Matteo
This discussion is closed since no activity. If you still need help, please feel free to reply with an update to this discussion, or create another discussion.
Thanks,
Yixing
Matteo
Had your issue got resolved? If yes, we are going to close the discussion in 3 days. If you still need help please feel free to contact Freescale.
Thanks,
Yixing
Hi Mateo.
In arch/arm/mach-mx28/device.c, mmc0 is only set with value MMC_CAP_4_BIT_DATA, mmc1 is set with value
MMC_CAP_4_BIT_DATA | MMC_CAP_8_BIT_DATA. You can modify mmc0_data
.caps = MMC_CAP_4_BIT_DATA | MMC_CAP_8_BIT_DATA to try.
static struct mxs_mmc_platform_data mmc0_data = {
.hw_init = mxs_mmc_hw_init_ssp0,
.hw_release = mxs_mmc_hw_release_ssp0,
.get_wp = mxs_mmc_get_wp_ssp0,
.cmd_pullup = mxs_mmc_cmd_pullup_ssp0,
.setclock = mxs_mmc_setclock_ssp0,
.caps = MMC_CAP_4_BIT_DATA,
.min_clk = 400000,
.max_clk = 48000000,
.read_uA = 50000,
.write_uA = 70000,
.clock_mmc = "ssp.0",
.power_mmc = NULL,
.fastpath_sz = 1024,
};
static struct mxs_mmc_platform_data mmc1_data = {
.hw_init = mxs_mmc_hw_init_ssp1,
.hw_release = mxs_mmc_hw_release_ssp1,
.get_wp = mxs_mmc_get_wp_ssp1,
.cmd_pullup = mxs_mmc_cmd_pullup_ssp1,
.setclock = mxs_mmc_setclock_ssp1,
.caps = MMC_CAP_4_BIT_DATA | MMC_CAP_8_BIT_DATA
| MMC_CAP_DATA_DDR,
.min_clk = 400000,
.max_clk = 48000000,
.read_uA = 50000,
.write_uA = 70000,
.clock_mmc = "ssp.1",
.power_mmc = NULL,
.fastpath_sz = 1024,
};
Grace