/
SD/eMMC/uSD interfaces

SD/eMMC/uSD interfaces

Three interfaces are available on the SD/eMMC subsystem:

Hardware name

Usage

Linux

Bootloader

Remarks

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

  1. Quick erase for complete eMMC:

# blkdiscard /dev/mmcblk1

  1. 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"

  1. Configure u-boot:

=> setenv mmcdev 1
=> setenv mmcpart 0
=> setenv mmcroot /dev/mmcblk1 rootwait rw
=> saveev
=> reset

  1. 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.