Open main menu

DAVE Developer's Wiki β

DESK-MX6UL-L/Peripherals/SD

< DESK-MX6UL-L
Revision as of 10:53, 16 March 2022 by U0007 (talk | contribs)

History
Version Issue Date Notes

1.0.0

Apr 2021 First DESK release
2.0.0 Feb 2022 DESK 3.0.0 release


Contents

Peripheral SDEdit

Device tree configurationEdit

Here below an example of device tree configuration used on standard DAVE's kit for the AXEL ULite SOM:

From imx6ul-axelulite.dtsi:

&usdhc1 {
        pinctrl-names = "default";
        pinctrl-0 = <&pinctrl_usdhc1>;
        cd-gpios = <&gpio1 19 GPIO_ACTIVE_LOW>;
        bus-width = <4>;
        no-1-8-v;
        keep-power-in-suspend;
        enable-sdio-wakeup;
        status = "okay";
};
...
...
&iomuxc {
...
...
        pinctrl_usdhc1: usdhc1grp {
            fsl,pins = <
                MX6UL_PAD_SD1_CMD__USDHC1_CMD       0x17059
                MX6UL_PAD_SD1_CLK__USDHC1_CLK       0x10071
                MX6UL_PAD_SD1_DATA0__USDHC1_DATA0   0x17059
                MX6UL_PAD_SD1_DATA1__USDHC1_DATA1   0x17059
                MX6UL_PAD_SD1_DATA2__USDHC1_DATA2   0x17059
                MX6UL_PAD_SD1_DATA3__USDHC1_DATA3   0x17059
                MX6UL_PAD_UART1_RTS_B__GPIO1_IO19   0x17059     /* SD1 CD */
            >;
        };
...
...
};

The USDHC interface is re-configured on carrier device tree because of the Card Detect pin (which is related to the real board hardware implementation).

Accessing the peripheralEdit

Once initialized, the SD device is mapped to the standard /dev/mmcblk0pX block device, depending on how many partition are created on the SD card.

Linux messages at boot timeEdit

If the microSd card is inserted at boot time, the kernel - once the USDHC interface has been initialized - prints the device information and the partition detected like p1, p2, etc.:

...
...
[    3.236168] mmc0: SDHCI controller on 2190000.mmc [2190000.mmc] using ADMA
[    3.308821] mmc0: host does not support reading read-only switch, assuming write-enable
[    3.328089] mmc0: new high speed SDHC card at address aaaa
[    3.346316] mmcblk0: mmc0:aaaa SL32G 29.7 GiB 
[    3.362682]  mmcblk0: p1 p2
[    4.482459] EXT4-fs (mmcblk0p2): recovery complete
[    4.498197] EXT4-fs (mmcblk0p2): mounted filesystem with ordered data mode. Opts: (null)
[    8.414331] EXT4-fs (mmcblk0p2): re-mounted. Opts: (null)
...
...

Additional informationEdit

If the root file system configuration does not automatically mount the partition, it is possible to mount the device using the following command:

root@desk-mx6ul-axelulite:~# mkdir -p /mnt/boot
root@desk-mx6ul-axelulite:~# mount /dev/mmcblk0p1 /mnt/boot/
root@desk-mx6ul-axelulite:~# ls /mnt/boot/
boot.scr  imx6ul-axelulite-cb003a.dtb  imx6ul-axelulite-cb006c.dtb  splash_image.bmp  uImage

and then the mounted partition is available on the /mnt/boot root file system directory.