SD/eMMC/uSD interfaces
Three interfaces are available on the SD/eMMC subsystem:
Hardware name | Usage | Linux | Bootloader | Remarks |
---|---|---|---|---|
usdhc2: mmc@2194000 | onboard uSD-slot | /dev/mmcblk0 | mmc dev 0 | high speed mode activated |
usdhc3: mmc@2198000 | onboard emmc | /dev/mmcblk1 | mmc dev 1 | emmc, non-removable |
usdhc4: mmc@219c000 | Q7 SD-interface | /dev/mmcblk2 | mmc dev 2 | only low speed modes |
Onboard uSD-slot
On hardware revision E.x modules this interface is capable of 1.8V modes, e.g.:
sd-uhs-ddr50
sd-uhs-sdr25
sd-uhs-sdr50
They are enabled by default.
Onboard eMMC
The kernel handles the eMMC as normal block device like a SATA disk. It is accessible via /dev/mmcblk1
Boot from eMMC
Quick erase for complete eMMC:
# blkdiscard /dev/mmcblk1
Transfer rootfs to eMMC, for example via an USB pen drive:
boot conga-QMX6 from onboard micro-SD card or via netboot
copy BSP (e.g. core-image-minimal-cgtqmx6.tar.bz2 as file) to an USB-drive
attach this drive to conga-QMX6 USB slot
write the image to eMMC, e.g: "
dd if=<BSP-IMAGE> of=/dev/mmcblk1 bs=1M status=progress && sync
"
In case the BSP is a bzip2 compressed image, use the following command:"bzcat <BSP-IMAGE>.bz2 | sudo dd of=/dev/mmcblk1 bs=1M status=progress && sync"
Configure u-boot:
=> setenv mmcdev 1
=>
setenv mmcpart 0
=> setenv mmcroot /dev/mmcblk1 rootwait rw
=> saveev
=> reset
Check rootfs. It should show /dev/mmcblk1 as rootfs:
# mount | grep " / "
Q7 SD interface
External SD-card interface is limited to low speed modes due to missing voltage switch circuit.