1 .. SPDX-License-Identifier: GPL-2.0+:
12 mmc read addr blk# cnt
13 mmc write addr blk# cnt
20 mmc bootbus <dev> <boot_bus_width> <reset_boot_bus_width> <boot_mode>
21 mmc bootpart-resize <dev> <dev part size MB> <RPMB part size MB>
22 mmc partconf <dev> [boot_ack boot_partition partition_access]
23 mmc rst-function <dev> <value>
28 The mmc command is used to control MMC(eMMC/SD) device.
30 The 'mmc info' command displays information (Manufacturer ID, OEM, Name, Bus Speed, Mode, ...) of MMC device.
32 The 'mmc read' command reads raw data to memory address from MMC device with block offset and count.
34 The 'mmc write' command writes raw data to MMC device from memory address with block offset and count.
43 The 'mmc erase' command erases MMC device from block offset until count.
50 The 'mmc rescan' command scans the available MMC device.
52 The 'mmc part' command displays the list available partition on current mmc device.
54 The 'mmc dev' command shows or set current mmc device.
57 device number to change
59 partition number to change
61 The 'mmc list' command displays the list available devices.
63 The 'mmc wp' command enables "power on write protect" function for boot partitions.
65 The 'mmc bootbus' command sets the BOOT_BUS_WIDTH field. (*Refer to eMMC specification*)
69 x1 (sdr) or x4(ddr) buswidth in boot operation mode (default)
71 x4 (sdr/ddr) buswidth in boot operation mode
73 x8 (sdr/ddr) buswidth in boot operation mode
79 Reset buswidth to x1, Single data reate and backward compatible timing after boot operation (default)
81 Retain BOOT_BUS_WIDTH and BOOT_MODE value after boot operation. This is relevant to Push-pull mode operation only
85 Use single data rate + backward compatible timing in boot operation (default)
87 Use single data rate + High Speed timing in boot operation mode
89 Use dual data rate in boot operation
93 The 'mmc partconf' command shows or changes PARTITION_CONFIG field.
96 boot acknowledge value
98 boot partition to enable for boot
100 Device not boot enabled(default)
102 Boot partition1 enabled for boot
104 Boot partition2 enabled for boot
106 User area enabled for boot
112 The 'mmc bootpart-resize' command changes sizes of boot and RPMB partitions.
116 target size of boot partition
118 target size of RPMB partition
120 The 'mmc rst-function' command changes the RST_n_FUNCTION field.
121 **WARNING** : This is a write-once field. (*Refer to eMMC specification*)
125 RST_n signal is temporarily disabled (default)
127 RST_n signal is permanently enabled
129 RST_n signal is permanently disabled
137 The 'mmc info' command displays device's capabilities:
146 Mode: MMC DDR52 (52MHz)
152 Erase Group Size: 512 KiB
153 HC WP Group Size: 8 MiB
154 User Capacity: 14.7 GiB WRREL
155 Boot Capacity: 4 MiB ENH
156 RPMB Capacity: 4 MiB ENH
157 Boot area 0 is not write protected
158 Boot area 1 is not write protected
160 The raw data can be read/written via 'mmc read/write' command:
163 => mmc read 0x40000000 0x5000 0x100
164 MMC read: dev # 0, block # 20480, count 256 ... 256 blocks read: OK
166 => mmc write 0x40000000 0x5000 0x10
167 MMC write: dev # 0, block # 20480, count 256 ... 256 blocks written: OK
169 The partition list can be shown via 'mmc part' command:
173 Partition Map for MMC device 0 -- Partition Type: DOS
175 Part Start Sector Num Sectors UUID Type
176 1 8192 131072 dff8751a-01 0e Boot
177 2 139264 6291456 dff8751a-02 83
178 3 6430720 1048576 dff8751a-03 83
179 4 7479296 23298048 dff8751a-04 05 Extd
180 5 7481344 307200 dff8751a-05 83
181 6 7790592 65536 dff8751a-06 83
182 7 7858176 16384 dff8751a-07 83
183 8 7876608 22900736 dff8751a-08 83
185 The current device can be shown or set via 'mmc dev' command:
189 switch to partitions #0, OK
190 mmc0(part0) is current device
192 switch to partitions #0, OK
193 mmc2 is current device
195 The list of available devices can be shown via 'mmc list' command:
200 EXYNOS DWMMC: 0 (eMMC)
206 The mmc command is only available if CONFIG_CMD_MMC=y.
207 Some commands need to enable more configuration.
211 bootbus, bootpart-resize, partconf, rst-function
212 CONFIG_SUPPORT_EMMC_BOOT=y