AnsweredAssumed Answered

Please advice about usage eMMC in pSLC mode with LS1012ARDB.

Question asked by Kazuya Yamauchi on May 15, 2018
Latest reply on May 15, 2018 by ufedor

Hello,

I would like to ask about uses eMMC in pSLC mode with LS1012ARDB.
My customer wants to try to set up pSLC.
However, once we set it, we can not reverse it, so please let us ask the procedure.

Our LS1012ARDB's eMMC is as follows.
-----------------
=> mmc dev 1
switch to partitions #0, OK
mmc1(part 0) is current device
=> mmc info
Device: FSL_SDHC
Manufacturer ID: fe
OEM: 14e
Name: P1XXX
Tran Speed: 52000000
Rd Block Len: 512
MMC version 4.5
High Capacity: Yes
Capacity: 3.6 GiB
Bus Width: 4-bit
Erase Group Size: 512 KiB
HC WP Group Size: 4 MiB
User Capacity: 3.6 GiB
Boot Capacity: 2 MiB ENH
RPMB Capacity: 128 KiB ENH
-----------------

From the above informations, we think that the area of RPMB and Boot is pSLC.
We want to use "User Capacity" (3.6 GiB), as pSLC.


-----------------
=> help mmc
mmc - MMC sub system

Usage:
mmc info - display info of the current MMC device mmc read addr blk# cnt mmc write addr blk# cnt mmc erase blk# cnt mmc rescan mmc part - lists available partition on current mmc device mmc dev [dev] [part] - show or set current mmc device [partition] mmc list - lists available devices mmc hwpartition [args...] - does hardware partitioning
arguments (sizes in 512-byte blocks):
[user [enh start cnt] [wrrel {on|off}]] - sets user data area attributes
[gp1|gp2|gp3|gp4 cnt [enh] [wrrel {on|off}]] - general purpose partition
[check|set|complete] - mode, complete set partitioning completed
WARNING: Partitioning is a write-once setting once it is set to complete.
Power cycling is required to initialize partitions after set to complete.
mmc setdsr <value> - set DSR register value
-----------------

From the explanation of help above, we guess that all "User Capacity" can be set as pSLC by the following command setting.

mmc hwpartition user enh 0x0 0x733333 wrrel on

We guess "0x733333" to specify the whole area, but this may not be correct.
( 0x733333 = 3.6 x 1024 x 1024 x 1024 / 512 )
Because it is not divisible by 512.

Could you advise how to specify the whole area of "User Capacity"?


Best Regards,

Outcomes