Quantcast
Channel: Processors forum - Recent Threads
Viewing all articles
Browse latest Browse all 17527

Linux/AM4378: eMMC boot issue

$
0
0

Hi there,

I am trying to bring up a custom board based on the AM437x-gp-evm platform processor SDK. I am able to build both the kernel, u-boot and the root file-system along with custom software for our application. This is then all written to an SD-card which boots perfectly fine. The SD-card is on the physical device mmc0 which translates to mmc1 in the device tree while the eMMC is physical device mmc1 which translates to mmc2 in the device tree and is wired exactly as suggested in the TRM with lines gpmc_ad8 through gpmc_ad11 for the data lines to be able to boot.

The problem is with the eMMC specifically. Initially, after booting from the SD-card the eMMC did not show up as a device in Linux, and after some tinkering, for some reason, when the bus-width of the device is set to 1 instead of 4, it is detected as a device in linux and usable. This is even though there are four physical data-lines as described in the TRM. After then copying the exact same partitions of the SD-card which boots to the eMMC through linux, it is expected that the eMMC will be used according to what the SYSBOOT pins are configured as.

The real trouble starts from here on out. The system is powered down after the copying of the files from the SD-card to the eMMC, and the SD-card then removed. If the system is powered up again, the u-boot which is stored on the eMMC boot-partition is loaded and the following is shown:

Trying to boot from MMC2
spl: could not find mmc device 1. error: -19
SPL: failed to boot from all boot devices
### ERROR ### Please RESET the board ###

Which is weird, since this u-boot is loaded from the same device which it could now not find. So I assume it is a problem with u-boot.

The next step I performed is to re-insert the SD-card, and stop at the u-boot prompt. I then issue the command 'mmc list', which returns two devices as follows:

OMAP SD/MMC: 0 (SD)
OMAP SD/MMC: 1

when I then try to select the emmc with 'mmc dev 1', I get the following error message:

Card did not respond to voltage select!

So again I assume it could possible be an issue with u-boot, and perhaps an incorrect configuration of some kind. Not entirely sure. I believe I might just be missing something really simple.

Finally, I would also like to find out if anyone knows why it happens that the kernel is not able to boot if the bus-width is set to 4, which corresponds to the physical lines of the hardware, but boots without problems if the bus-width is set to 1.

Thank you in advance for your assistance!


Viewing all articles
Browse latest Browse all 17527

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>