Tool/software:
I'm having some trouble with the device tree enabling the eMMC on a custom board using the TI SDK 9.01. uBoot manages to find the eMMC memory, and the old OS based on Open Embedded works and detects the eMMC. Below is the logs and device tree. If any person has an idea what I can check further please let me know.
uBoot:
=> mmc list OMAP SD/MMC: 0 (SD) OMAP SD/MMC: 1 => mmc dev 1 switch to partitions #0, OK mmc1(part 0) is current device => mmc list OMAP SD/MMC: 0 (SD) OMAP SD/MMC: 1 (eMMC) => mmc info Device: OMAP SD/MMC Manufacturer ID: 13 OEM: 4e Name: Q2J54A Bus Speed: 48000000 Mode: MMC High Speed (52MHz) Rd Block Len: 512 MMC version 5.0 High Capacity: Yes Capacity: 3.6 GiB Bus Width: 8-bit Erase Group Size: 512 KiB User Capacity: 3.6 GiB WRREL Boot Capacity: 2 MiB ENH RPMB Capacity: 512 KiB ENH Boot area 0 is not write protected Boot area 1 is not write protected
Linux:
root@am335x-evm:~# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS mmcblk0 179:0 0 14.9G 0 disk |-mmcblk0p1 179:1 0 64M 0 part /run/media/mmcblk0p1 `-mmcblk0p2 179:2 0 7.3G 0 part /
[ 2.364780] sdhci-omap 481d8000.mmc: supply pbias not found, using dummy regulator [ 2.372638] sdhci-omap 48060000.mmc: Got CD GPIO [ 2.377412] sdhci-omap 48060000.mmc: supply pbias not found, using dummy regulator [ 2.390178] sdhci-omap 481d8000.mmc: supply vqmmc not found, using dummy regulator [ 2.410668] sdhci-omap 48060000.mmc: supply vqmmc not found, using dummy regulator [ 2.455557] mmc1: SDHCI controller on 481d8000.mmc [481d8000.mmc] using External DMA [ 2.465720] mmc0: SDHCI controller on 48060000.mmc [48060000.mmc] using External DMA [ 2.514518] mmc0: new high speed SDHC card at address 0001 [ 2.520983] mmcblk0: mmc0:0001 USD 14.9 GiB [ 2.528064] mmcblk0: p1 p2 [ 2.666781] EXT4-fs (mmcblk0p2): warning: mounting fs with errors, running e2fsck is recommended [ 2.679385] EXT4-fs (mmcblk0p2): recovery complete [ 2.685520] EXT4-fs (mmcblk0p2): mounted filesystem with ordered data mode. Quota mode: disabled. [ 6.299876] EXT4-fs (mmcblk0p2): re-mounted. Quota mode: disabled.
Device Tree:
emmc_pins_default: emmc-default-pins {
pinctrl-single,pins = <
AM33XX_IOPAD(0x880, PIN_INPUT | MUX_MODE2) /* (U9) gpmc_csn1.mmc1_clk */
AM33XX_IOPAD(0x884, PIN_INPUT | MUX_MODE2) /* (V9) gpmc_csn2.mmc1_cmd */
AM33XX_IOPAD(0x800, PIN_INPUT | MUX_MODE1) /* (U7) gpmc_ad0.mmc1_dat0 */
AM33XX_IOPAD(0x804, PIN_INPUT | MUX_MODE1) /* (V7) gpmc_ad1.mmc1_dat1 */
AM33XX_IOPAD(0x808, PIN_INPUT | MUX_MODE1) /* (R8) gpmc_ad2.mmc1_dat2 */
AM33XX_IOPAD(0x80c, PIN_INPUT | MUX_MODE1) /* (T8) gpmc_ad3.mmc1_dat3 */
AM33XX_IOPAD(0x810, PIN_INPUT | MUX_MODE1) /* (U8) gpmc_ad4.mmc1_dat4 */
AM33XX_IOPAD(0x814, PIN_INPUT | MUX_MODE1) /* (V8) gpmc_ad5.mmc1_dat5 */
AM33XX_IOPAD(0x818, PIN_INPUT | MUX_MODE1) /* (R9) gpmc_ad6.mmc1_dat6 */
AM33XX_IOPAD(0x81c, PIN_INPUT | MUX_MODE1) /* (T9) gpmc_ad7.mmc1_dat7 */
>;
};
&mmc2 {
vmmc-supply = <&vmmc_reg>;
pinctrl-names = "default";
pinctrl-0 = <&emmc_pins_default>;
bus-width = <8>;
non-removable;
status = "okay";
};
