* [PATCH] doc: mmc man-page
[not found] <CGME20210329232855epcas1p2bc5769c41e9c84dab6cdb093aec7cb31@epcas1p2.samsung.com>
@ 2021-03-29 23:29 ` Jaehoon Chung
2021-03-30 10:39 ` Heinrich Schuchardt
0 siblings, 1 reply; 3+ messages in thread
From: Jaehoon Chung @ 2021-03-29 23:29 UTC (permalink / raw
To: u-boot
Provide a man-pages for the mmc command.
Signed-off-by: Jaehoon Chung <jh80.chung@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.
+ addr
+ memory address
+ blk#
+ start block offset
+ cnt
+ block count
+
+The *mmc erase* command erases MMC device from block offset until count.
+ 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.
+ 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*)
+
+The *mmc partconf* command shows or changes PARTITION_CONFIG field.
+ 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*)
+ RST_n_FUNCTION[162] is one of EXT_CSD register. (Readable and Writable once)
+ 0x0
+ RST_n signal is temporarily disabled (default)
+ 0x1
+ RST_n signal is permanently enabled
+ 0x2
+ RST_n signal is permanently disabled
+ 0x3
+ Reserved
+
+
+Example
+-------
+
+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
--
2.29.0
^ permalink raw reply related [flat|nested] 3+ messages in thread
* [PATCH] doc: mmc man-page
2021-03-29 23:29 ` [PATCH] doc: mmc man-page Jaehoon Chung
@ 2021-03-30 10:39 ` Heinrich Schuchardt
2021-03-30 21:59 ` Jaehoon Chung
0 siblings, 1 reply; 3+ messages in thread
From: Heinrich Schuchardt @ 2021-03-30 10:39 UTC (permalink / raw
To: u-boot
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@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.
> + 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
> + 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?
> + 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
>
^ permalink raw reply [flat|nested] 3+ messages in thread
* [PATCH] doc: mmc man-page
2021-03-30 10:39 ` Heinrich Schuchardt
@ 2021-03-30 21:59 ` Jaehoon Chung
0 siblings, 0 replies; 3+ messages in thread
From: Jaehoon Chung @ 2021-03-30 21:59 UTC (permalink / raw
To: u-boot
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@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
>>
>
>
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2021-03-30 21:59 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <CGME20210329232855epcas1p2bc5769c41e9c84dab6cdb093aec7cb31@epcas1p2.samsung.com>
2021-03-29 23:29 ` [PATCH] doc: mmc man-page Jaehoon Chung
2021-03-30 10:39 ` Heinrich Schuchardt
2021-03-30 21:59 ` Jaehoon Chung
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.