How to Create MicroSd Image for IMX28 (Yocto)

cancel
Showing results for 
Search instead for 
Did you mean: 

How to Create MicroSd Image for IMX28 (Yocto)

939 Views
peteewg
Contributor III

Hi,

 

We have some custom hardware which has a 4-bit wide MicroSD card instead of an 8-bit wide SD card. I can build an Imx28-EVK image (core-image-lsb-dev) and have it boot up fine on the imx28-evk hardware.

I'm using the 3.12 kernel provided by linux-fslc

 

When I change to our custom hardware I change the .dts file to reflect the 4-bit interface instead,

 

pinctrl-0 = <&mmc0_4bit_pins_a 

  &mmc0_cd_cfg &mmc0_sck_cfg>;

bus-width = <4>;

 

The hardware is connected correctly for this pinout.

 

Now when I power up the card, u-boot loads fine but it hangs at this point:

 

Waiting for root device /dev/mmcblk0p3...

 

Looking at the partitions from my Ubuntu machine, I can see that the rootfs is indeed located at /dev/mmcblk0p3, but it just doesn't seem to be loading.

 

I found this thread, but it doesn't help me  https://community.freescale.com/thread/306904

 

I'm not experienced with embedded linux systems, or yocto, or u-boot command line so if the answer is "all you need to do is modify u-boot" I'm going to need a little more guidance than that. I've attached the output of the serial console on boot if that helps?

 

Edit: I should also say that I'm not ruling out a hardware issue, it could be that everything is hunky dory (dora) and the sd card is browning out, I will investigate this in the meantime.

 

Pete

Original Attachment has been moved to: boot.txt.zip

0 Kudos
4 Replies

126 Views
MarekVasut
Senior Contributor I

This is a Linux question, it's completely unrelated to U-Boot. The problem here is that your SD card is not detected. Either it's due to pinmux change or the voltage to the card is not supplied or such.

0 Kudos

126 Views
peteewg
Contributor III

Well this is embarrassing,

Turns out the card detect line from the microSD was left unconnected, on the premise that it wasn't needed (i.e. a card would always be there otherwise it wouldn't boot).

Although U-Boot and Kernel seem to load without this, when it gets to rootfs it hangs until the line is pulled low.

Is there a way to change .dts file so it doesn't require the card detect? or will I just use my soldering iron?

Pete

0 Kudos

126 Views
YixingKong
Senior Contributor IV

Peter

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 reply with an update to this discussion.

Thanks,

Yixing

0 Kudos

126 Views
MarekVasut
Senior Contributor I

Check the 'non-removable' property in the DT, but this was added only to like 3.12 or so ...

0 Kudos