Question regarding eMMC on iMX6...

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Question regarding eMMC on iMX6...

Jump to solution
9,426 Views
EdSutter
Senior Contributor II

I'm on new hardware trying to connect the kernel to eMMC.  At u-boot I am able to work with

the device without a problem so I know the hardware is good.  When I boot the kernel, I get

the following errors at startup:


sdhci: Secure Digital Host Controller Interface driver

sdhci: Copyright(c) Pierre Ossman

sdhci-pltfm: SDHCI platform and OF driver helper

mmc0: no vqmmc regulator found

mmc0: no vmmc regulator found

mmc0: SDHCI controller on 2194000.usdhc [2194000.usdhc] using ADMA

mmc1: no vqmmc regulator found

mmc1: no vmmc regulator found

mmc1: SDHCI controller on 2198000.usdhc [2198000.usdhc] using ADMA

mmc2: no vqmmc regulator found

mmc2: no vmmc regulator found

mmc2: SDHCI controller on 219c000.usdhc [219c000.usdhc] using ADMA

Is this a warning I can ignore (since the device is working with u-boot)?  Or is there something I

need to deal with here?  The code in drivers/mmc/host/sdhci.c where this originates prints this

with "pr_info" and just continues, so I'm assuming that it should still work right?

I should see something in /proc/partitions if this is working right?

Ed

Labels (2)
0 Kudos
1 Solution
2,522 Views
EdSutter
Senior Contributor II

Ok, this is resolved.  Turns out, as a result of me working with a new kernel, the EXT3 FS support was not turned on in the kernel.

This is working now.

Strangely though, I got no error when doing mkfs.ext3...  I guess that is limited to busybox???

View solution in original post

0 Kudos
12 Replies
2,522 Views
alisonchaiken_m
Contributor III

Your dmesg output says "using ADMA".  Does that mean that ERR004536 "uSDHC: ADMA Length Mismatch Error occurs if the AHB read access is slow, when reading data from the card" is not affecting you?

0 Kudos
2,522 Views
EdSutter
Senior Contributor II

Hi, I have not seen this error.  Note that I'm using eMMC, not an SD card.

0 Kudos
2,522 Views
hiteshviradiya
Contributor III

Dear Ed,

We are designing IMX6Q based product and we have put eMMC on SD4 of IMX6.

You mentioned that "You were able to put kernel and ramdisk images from u-boot and booted fine"

It will be great if you share your steps (which you were supposed to put) here. It will help us in our board bring up process.

Below are the few kind request from me if you can provide:

  1. Steps you used write kernel & ramdisk to  eMMC from U-Boot
  2. Steps you used to flash U-Boot in your bare board which comes after manufacturing
  3. I am confused, because many experts on community said, you need to flash u-boot.bin in eMMC and not the u-boot.img (which we used in SD card along with SPL). So what you used & How you managed to boot U-Boot from eMMC.

Thanks in advanced, if you get some time from your busy schedule and post my requested points.

--

Thanks,

Hitesh

0 Kudos
2,522 Views
madhuwesly
Contributor I

Hi, 

We are working with iMX6Q and we have the same doubts that you posted here. Could you please post the answers, if they are resolved. As, they would be of great help to us

0 Kudos
2,522 Views
EdSutter
Senior Contributor II

Madhu,  Not sure what "doubts" you're referring to...

Our iMX6 platform is running well.

0 Kudos
2,522 Views
EdSutter
Senior Contributor II

One more point...

Our board did not boot from eMMC, we boot from SPI flash.

So uboot is in that memory, not eMMC.

0 Kudos
2,522 Views
hiteshviradiya
Contributor III

Thanks Ed.

0 Kudos
2,522 Views
EdSutter
Senior Contributor II

There's some good steps for getting uboot onto a board via usb here:

https://boundarydevices.com/unbricking-nitrogen6x-sabre-lite-i-mx6-board/

Get through that and we can talk more about the next steps.

0 Kudos
2,522 Views
fabio_estevam
NXP Employee
NXP Employee

Ed,

These warnings are not harmful.

You can silence them if you add dummy regulators.

For an example, take a look at how usdhc2 node provides the regulator in:

https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/arch/arm/boot/dts/imx6dl-hummin...

Regards,

Fabio Estevam

2,522 Views
EdSutter
Senior Contributor II

Fabio,

Ok my NFS-mounting issue is resolved, so as I mentioned, my current goal is to create a rootfs on my eMMC.

Here is my current state:

u-boot:

eMMC (using SD3_XXX pins on iMX6) works fine.  I am able to put kernel and ramdisk images there and boot from them.

linux:

I am able to successfully set up a partition using "fdisk /dev/mmcblk0".  I start the partition at blk#49152 (16K*3) to give me space for other stuff at the base of the device.  Output from "fdisk -l" shows:

# fdisk -l

Disk /dev/mmcblk0: 7801 MB, 7801405440 bytes

4 heads, 16 sectors/track, 238080 cylinders

Units = cylinders of 64 * 512 = 32768 bytes

        Device Boot      Start        End      Blocks  Id System

/dev/mmcblk0p1            769      238080    7593984  83 Linux

So, as far as I can tell, this is good.  The partition is set.

Then I do mkfs.ext3 /dev/mmcblk0p1, and that succeeds.

Then things go south...

The next step should be to mount /dev/mmcblk0p1 so that I can then copy rootfs to it (right?); however this fails...

# mkdir /tmp/mountpoint

# mount -t ext3 /dev/mmcblk0p1 /tmp/mountpoint

mount: mounting /dev/mmcblk0p1 on /tmp/mountpoint failed: No such device

Obviously the /dev/mmcblk0p1 device does exist (refer to output of fdisk -l above).

Any idea why this would be failing?  I'm currently digging into busybox's mount.c, but not making much progress.

Ed

0 Kudos
2,523 Views
EdSutter
Senior Contributor II

Ok, this is resolved.  Turns out, as a result of me working with a new kernel, the EXT3 FS support was not turned on in the kernel.

This is working now.

Strangely though, I got no error when doing mkfs.ext3...  I guess that is limited to busybox???

0 Kudos
2,522 Views
EdSutter
Senior Contributor II

Thanks Fabio,

I'll ignore for now.  I wanna get my eMMC formatted with rootfs installed.

I wasn't seeing anything in /proc/partitions earlier 'cause I had accidentally disabled Block Devices (in menuconfig).

With that fix, I see a /proc/partitions file...

# cat /proc/partitions

major minor  #blocks  name

179        0    7618560 mmcblk0

179        1    7593979 mmcblk0p1

179       24        128 mmcblk0rpmb

179       16      16384 mmcblk0boot1

179        8      16384 mmcblk0boot0

So far so good (note that my eMMC is on SD3_XXX lines of the iMX6).

My goal is to follow the steps as they are outlined in the LTIB Linux User's Guide, section 7.4 titled:

"Using i.MX6... as Host Server to Create rootfs" to install my rootfs directly on my eMMC.

Once all this works, I'll post the steps here.  First I have to figure out why my NFS-mounted rootfs

has changed to "read-only" (new discussion).



   

0 Kudos