[PATCH] doc: mmc man-page

Jaehoon Chung jh80.chung at samsung.com
Tue Mar 30 23:59:08 CEST 2021


Hi Heinrich,

Thanks for review.

On 3/30/21 7:39 PM, Heinrich Schuchardt wrote:
> On 3/30/21 1:29 AM, Jaehoon Chung wrote:
>> Provide a man-pages for the mmc command.
>>
>> Signed-off-by: Jaehoon Chung <jh80.chung at samsung.com>
>> ---
>>   doc/usage/index.rst |   1 +
>>   doc/usage/mmc.rst   | 182 ++++++++++++++++++++++++++++++++++++++++++++
>>   2 files changed, 183 insertions(+)
>>   create mode 100644 doc/usage/mmc.rst
>>
>> diff --git a/doc/usage/index.rst b/doc/usage/index.rst
>> index 6c59bbadab45..15c682ceface 100644
>> --- a/doc/usage/index.rst
>> +++ b/doc/usage/index.rst
>> @@ -30,6 +30,7 @@ Shell commands
>>      load
>>      loady
>>      mbr
>> +   mmc
>>      pstore
>>      qfw
>>      sbi
>> diff --git a/doc/usage/mmc.rst b/doc/usage/mmc.rst
>> new file mode 100644
>> index 000000000000..00a21a6e12e7
>> --- /dev/null
>> +++ b/doc/usage/mmc.rst
>> @@ -0,0 +1,182 @@
>> +.. SPDX-License-Identifier: GPL-2.0+:
>> +
>> +mmc command
>> +============
>> +
>> +Synopsis
>> +--------
>> +
>> +::
>> +
>> +    mmc info
>> +    mmc read addr blk# cnt
>> +    mmc write addr blk# cnt
>> +    mmc erase blk# cnt
>> +    mmc rescan
>> +    mmc part
>> +    mmc dev [dev] [part]
>> +    mmc list
>> +    mmc wp
>> +    mmc bootbus <dev> <boot_bus_width> <reset_boot_bus_width> <boot_mode>
>> +    mmc bootpart-resize <dev> <dev part size MB> <RPMB part size MB>
>> +    mmc partconf <dev> [boot_ack boot_partition partition_access]
>> +    mmc rst-function <dev> <value>
>> +
>> +Description
>> +-----------
>> +
>> +The mmc command is used to control MMC(eMMC/SD) device.
>> +
>> +The *mmc info* command displays information (Manufacturer ID, OEM, Name, Bus Speed, Mode, ...) of MMC device.
>> +
>> +The *mmc read* command reads raw data to memory address from MMC device with block offset and count.
>> +
>> +The *mmc write* command writes raw data to MMC device from memory address with block offset and count.
> 
> Thank you for providing this man-page.
> 
> Not having an empty line here makes the line above bold. Please, avoid
> inconsistent formatting by adding an empty line.
> 
> Please, inspect the rendered page in a browser.

Sorry about it. I'm not familiar to rst style. I'm getting the skill about it.
So I had used some rst tool(ReText). But i think that it's not enough to fix style.
I will check this in a browser.

> 
>> +    addr
>> +        memory address
>> +    blk#
>> +        start block offset
>> +    cnt
>> +        block count
>> +
>> +The *mmc erase* command erases MMC device from block offset until count.
> 
> missing empty line

Will fix

> 
>> +    blk#
>> +        start block offset
>> +    cnt
>> +        block count
>> +
>> +The *mmc rescan* command scans the available MMC device.
>> +
>> +The *mmc part* command displays the list available partition on current mmc device.
>> +
>> +The *mmc dev* command shows or set current mmc device.
> 
> missing empty line
> 
>> +    dev
>> +        device number to change
>> +    part
>> +        partition number to change
>> +
>> +The *mmc list* command displays the list available devices.
>> +
>> +The *mmc wp* command enables "power on write protect" function for boot partitions.
>> +
>> +The *mmc bootbus* command sets the BOOT_BUS_WIDTH field.
>> +    BOOTU_BUS_WIDTH[177] is one of EXT_CSD register. (*Refer to eMMC specification*)
> 
> This line should not be indented.
> 
>> +
>> +The *mmc partconf* command shows or changes PARTITION_CONFIG field.
> 
> missing empty line
> 
>> +    boot_ack
>> +        boot acknowledge value
>> +    boot_partition
>> +        boot partition to enable for boot
>> +            0x0
>> +                Device not boot enabled(default)
>> +            0x1
>> +                Boot partition1 enabled for boot
>> +            0x2
>> +                Boot partition2 enabled for boot
>> +            0x7
>> +                User area enabled for boot
>> +            others
>> +                Reserved
>> +    partition_access
>> +        partitions to access
>> +
>> +The *mmc-bootpart-resize* command changes sizes of boot and RPMB partitions.
>> +    dev
>> +        device number
>> +    boot part size MB
>> +        target size of boot partition
>> +    RPMB part size MB
>> +        target size of RPMB partition
>> +
>> +The *mmc rst-function* command changes the RST_n_FUNCTION field.
>> +    **WARNING**: This is a write-once field. (*Refer to eMMC specification*)
> 
> This line should not be indented.
> 
>> +        RST_n_FUNCTION[162] is one of EXT_CSD register. (Readable and Writable once)
> 
> How is this line related to the mmc command?

Will remove. It's just for sharing information about RST_n_FUNCTION.
But it doesn't need to add at here.

Best Regards,
Jaehoon Chung

> 
>> +            0x0
> 
> 'value' is missing here to make it clear which parameter these numbers
> relate to.
> 
>> +                RST_n signal is temporarily disabled (default)
>> +            0x1
>> +                RST_n signal is permanently enabled
>> +            0x2
>> +                RST_n signal is permanently disabled
>> +            0x3
>> +                Reserved
>> +
>> +
>> +Example
> 
> Examples
> 
> Best regards
> 
> Heinrich
> 
>> +-------
>> +
>> +The *mmc info* command displays device's capabilities:
>> +::
>> +
>> +    => mmc info
>> +    Device: EXYNOS DWMMC
>> +    Manufacturer ID: 45
>> +    OEM: 100
>> +    Name: SDW16
>> +    Bus Speed: 52000000
>> +    Mode: MMC DDR52 (52MHz)
>> +    Rd Block Len: 512
>> +    MMC version 5.0
>> +    High Capacity: Yes
>> +    Capacity: 14.7 GiB
>> +    Bus Width: 8-bit DDR
>> +    Erase Group Size: 512 KiB
>> +    HC WP Group Size: 8 MiB
>> +    User Capacity: 14.7 GiB WRREL
>> +    Boot Capacity: 4 MiB ENH
>> +    RPMB Capacity: 4 MiB ENH
>> +    Boot area 0 is not write protected
>> +    Boot area 1 is not write protected
>> +
>> +The raw data can be read/written via *mmc read/write* command:
>> +::
>> +
>> +    => mmc read 0x40000000 0x5000 0x100
>> +    MMC read: dev # 0, block # 20480, count 256 ... 256 blocks read: OK
>> +
>> +    => mmc write 0x40000000 0x5000 0x10
>> +    MMC write: dev # 0, block # 20480, count 256 ... 256 blocks written: OK
>> +
>> +The partition list can be shown via *mmc part* command:
>> +::
>> +
>> +    => mmc part
>> +    Partition Map for MMC device 0  --   Partition Type: DOS
>> +
>> +    Part    Start Sector    Num Sectors     UUID            Type
>> +      1     8192            131072          dff8751a-01     0e Boot
>> +      2     139264          6291456         dff8751a-02     83
>> +      3     6430720         1048576         dff8751a-03     83
>> +      4     7479296         23298048        dff8751a-04     05 Extd
>> +      5     7481344         307200          dff8751a-05     83
>> +      6     7790592         65536           dff8751a-06     83
>> +      7     7858176         16384           dff8751a-07     83
>> +      8     7876608         22900736        dff8751a-08     83
>> +
>> +The current device can be shown or set via *mmc dev* command:
>> +::
>> +
>> +    => mmc dev
>> +    switch to partitions #0, OK
>> +    mmc0(part0) is current device
>> +    => mmc dev 2 0
>> +    switch to partitions #0, OK
>> +    mmc2 is current device
>> +
>> +The list of available devices can be shown via *mmc list* command:
>> +::
>> +
>> +    => mmc list
>> +    mmc list
>> +    EXYNOS DWMMC: 0 (eMMC)
>> +    EXYNOS DWMMC: 2 (SD)
>> +
>> +Configuration
>> +-------------
>> +
>> +The mmc command is only available if CONFIG_CMD_MMC=y.
>> +Some commands need to enable more configuration.
>> +
>> +write, erase
>> +    CONFIG_MMC_WRITE
>> +bootbus, bootpart-resize, partconf, rst-function
>> +    CONFIG_SUPPORT_EMMC_BOOT=y
>>
> 
> 



More information about the U-Boot mailing list