Age | Commit message (Collapse) | Author |
|
Bug: 33166666
Test: gerrit uploader
Change-Id: Ib2ffab2d4e499aceeb0ff9b713da272b3c56c3de
|
|
am: 6287381bbc
Change-Id: I65378d2d6c1bce516b4e75692a1911e6c3b56747
|
|
am: 83336bf17a
Change-Id: I2285d758d9d605c41956e303e57687969e22c1fd
|
|
See build/soong/README.md for more information.
As a byproduct, this moves mmc_utils from /system/xbin to /system/bin,
as Soong is not supporting installation into xbin. It also removes the
debug tag, so it's no longer installed by default on all eng and
userdebug builds.
Test: mmma external/mmc-utils
Change-Id: Id7190d3847ccb080122aa1beaa68e952747991b5
|
|
am: 6de31b2
* commit '6de31b2b8a09108f9b91bc12bee2b792f783dc62':
Fix Wmissing-field-initializers in external/mmc-utils.
Change-Id: I37ba8d842925af8793284deb2be4f8b733858b18
|
|
am: 5dc7ade
* commit '5dc7ade01a8d73ac9d2f605bdf02a3e6c25796d4':
Fix Wmissing-field-initializers in external/mmc-utils.
Change-Id: I25a26e825eb432b64e048a8dbe5b7fa7f334100a
|
|
am: 358f4f5
* commit '358f4f5dba8c5336011d61d163bf3e0900147672':
Fix Wmissing-field-initializers in external/mmc-utils.
Change-Id: I282741e49599f5493090ad743c866c099cf3ded6
|
|
Bug: b/26936282
Change-Id: Ie7932d9fe9357a626c44c9f7b4cc4cdb5fd2066b
|
|
Change-Id: I8c1590b6b5945c1e366d8affbce4427d818376b6
Signed-off-by: Mohamad Ayyash <mkayyash@google.com>
|
|
Change-Id: I1f1ab40e1395349f25e6c272183be8d76e3a743f
Signed-off-by: Mohamad Ayyash <mkayyash@google.com>
|
|
|
|
|
|
The MMC4.5 specification added an optional cache for eMMC devices.
This change will add the ability to enable/disable the cache.
Signed-off-by: Al Cooper <acooperx@gmail.com>
Signed-off-by: Chris Ball <chris@printf.net>
|
|
This was added because some eMMC devices had the boot bus conditions
set incorrectly causing them to hang on boot.
Signed-off-by: Al Cooper <acooperx@gmail.com>
Signed-off-by: Chris Ball <chris@printf.net>
|
|
create gp partition if needed with enhanced / extended attribute.
Signed-off-by: Balaji T K <balajitk@ti.com>
Signed-off-by: Chris Ball <chris@printf.net>
|
|
In addition to user area, General purpose partition can be
be marked with enhanced attribute, retain enhanced attributes of
gp partition while creating enhanced user area and add
check for max enhanced area of the device.
Signed-off-by: Balaji T K <balajitk@ti.com>
Signed-off-by: Chris Ball <chris@printf.net>
|
|
3rd party HMAC SHA256 implementation has been added to the driver,
and since driver common code (mmc_cmds.c) includes calling to
routines and data structures that reside in these 3rd party files
(under 3rdparty\hmac_sha) these files should be compiled as well
in Android.mk makefile.
Signed-off-by: Yaniv Gardi <ygardi@codeaurora.org>
Signed-off-by: Chris Ball <chris@printf.net>
|
|
Signed-off-by: Chris Ball <chris@printf.net>
|
|
mmc rpmb write-key <rpmb device> <key file>
Program authentication key which is 32 bytes length and stored in the specified file.
Also you can specify '-' instead of key file path and utility will read the key from stdin.
BEWARE: key can be programmed only once!
Example:
$ echo -n AAAABBBBCCCCDDDDEEEEFFFFGGGGHHHH | mmc rpmb write-key /dev/mmcblk0rpmb -
mmc rpmb read-counter <rpmb device>
Counter value for the <rpmb device> will be read to stdout.
mmc rpmb read-block <rpmb device> <address> <blocks count> <output file> [key file]
Blocks of 256 bytes will be read from <rpmb device> to output file or stdout if '-'
is specified instead of regular path. If key is specified - read data will be verified.
Instead of regular path you can specify '-' and key will be read from stdin.
Example:
$ echo -n AAAABBBBCCCCDDDDEEEEFFFFGGGGHHHH | \
mmc rpmb read-block /dev/mmcblk0rpmb 0x02 2 /tmp/block -
or read the block without verification
$ mmc rpmb read-block /dev/mmcblk0rpmb 0x02 2 /tmp/block
mmc rpmb write-block <rpmb device> <address> <256 byte data file> <key file>
Block of 256 bytes will be written from data file to <rpmb device>.
Also you can specify '-' instead of key file path or data file and utility will read the
data from stdin.
Example:
$ (awk 'BEGIN {while (c++<256) printf "a"}' | echo -n AAAABBBBCCCCDDDDEEEEFFFFGGGGHHHH) | \
mmc rpmb write-block /dev/mmcblk0rpmb 0x02 - -
Signed-off-by: Roman Pen <r.peniaev@gmail.com>
Cc: Ulf Hansson <ulf.hansson@linaro.org>,
Cc: Ben Gardiner <bengardiner@nanometrics.ca>,
Signed-off-by: Chris Ball <chris@printf.net>
|
|
RPMB requires digital signature of the message. Take the implementation
of HMAC SHA256 from this place https://github.com/ogay/hmac.git
Actually this is BSD license, IANAL but according to my understanding
nothing terrible will happen if we provide all the original copyrights.
Signed-off-by: Roman Pen <r.peniaev@gmail.com>
Cc: Ben Gardiner <bengardiner@nanometrics.ca>
Signed-off-by: Chris Ball <chris@printf.net>
|
|
Fix the recurisve make targets by using $(MAKE). Otherwise we get lots of
warnings and issues with parallel builds.
Fix the install target -- the man subdir was missing a dummy target.
Add proper .PHONY markings.
Change-Id: I640d42af0bdf96baf6ff0ca022fd3f7f444b2d05
Signed-off-by: Mike Frysinger <vapier@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/179621
Reviewed-by: Grant Grundler <grundler@chromium.org>
Signed-off-by: Chris Ball <chris@printf.net>
|
|
Signed-off-by: Oliver Metz <oliver@freetz.org>
Reviewed-by: Ben Gardiner <ben.l.gardiner@gmail.com>
Signed-off-by: Chris Ball <cjb@laptop.org>
|
|
Signed-off-by: Oliver Metz <oliver@freetz.org>
Reviewed-by: Ben Gardiner <ben.l.gardiner@gmail.com>
Signed-off-by: Chris Ball <cjb@laptop.org>
|
|
Signed-off-by: Ben Gardiner <ben.l.gardiner@gmail.com>
Signed-off-by: Chris Ball <cjb@laptop.org>
|
|
Signed-off-by: Ben Gardiner <ben.l.gardiner@gmail.com>
Signed-off-by: Chris Ball <cjb@laptop.org>
|
|
Extract a function which sets the OTP PARTITION_SETTING_COMPLETE
bit; once this bit is set there are many other parameters in
EXT_CSD which can no longer be set.
Multiple OTP partition settings can be achieved by calling 'set'
commands with '-n' on all except for the last.
Signed-off-by: Ben Gardiner <ben.l.gardiner@gmail.com>
Signed-off-by: Chris Ball <cjb@laptop.org>
|
|
Signed-off-by: Ben Gardiner <bengardiner@nanometrics.ca>
Signed-off-by: Chris Ball <cjb@laptop.org>
|
|
Signed-off-by: Ben Gardiner <bengardiner@nanometrics.ca>
Signed-off-by: Chris Ball <cjb@laptop.org>
|
|
Signed-off-by: Ben Gardiner <bengardiner@nanometrics.ca>
Signed-off-by: Chris Ball <cjb@laptop.org>
|
|
The enhanced user area start field is 4 bytes long
according to the eMMC 4.41 spec.
Signed-off-by: Ben Gardiner <bengardiner@nanometrics.ca>
Signed-off-by: Chris Ball <cjb@laptop.org>
|
|
mmc status get </path/to/mmcblkX>
Signed-off-by: Ben Gardiner <bengardiner@nanometrics.ca>
Signed-off-by: Chris Ball <cjb@laptop.org>
|
|
Signed-off-by: Ben Gardiner <bengardiner@nanometrics.ca>
Signed-off-by: Chris Ball <cjb@laptop.org>
|
|
Signed-off-by: Chris Ball <cjb@laptop.org>
|
|
Most useful when cross-compiling.
Signed-off-by: Ben Gardiner <bengardiner@nanometrics.ca>
Signed-off-by: Chris Ball <cjb@laptop.org>
|
|
Analysis was based on value of EXT_CSD_BOOT_INFO, not CARD_TYPE.
CARD_TYPE should be handled using bitmask, not values.
Signed-off-by: Oleg Matcovschi <olegm@lab126.com>
Signed-off-by: Chris Ball <cjb@laptop.org>
|
|
We require only MMC_BLOCK_MAJOR which is constant.
Signed-off-by: Oleg Matcovschi <olegm@lab126.com>
Signed-off-by: Chris Ball <cjb@laptop.org>
|
|
Improve "extcsd read" output of the registers.
Right-shift by 3 of EXT_CSD_BOOT_CFG_EN bits.
Expand the EXT_CSD_BOOT_CFG_ACC bit mask to 0x7.
Add case 3 RPMB partition.
Signed-off-by: Mario Schuknecht <mario.schuknecht@dresearch-fe.de>
Signed-off-by: Chris Ball <cjb@laptop.org>
|
|
This patch adds a method to trigger Sanitize command to MMC.
The Sanitize command is used for deleting the unmapped memory region
of the MMC device.
Signed-off-by: Yaniv Gardi <ygardi@codeaurora.org>
Acked-by: Subhash Jadavani <subhashj@codeaurora.org>
Signed-off-by: Chris Ball <cjb@laptop.org>
|
|
Signed-off-by: Yaniv Gardi <ygardi@codeaurora.org>
Signed-off-by: Chris Ball <cjb@laptop.org>
|
|
(Note: one-time programmable fuse.)
$ mmc hwreset enable /dev/mmcblk0
$ mmc hwreset disable /dev/mmcblk0
|
|
|
|
|
|
This is required by distros that use Fortify.
|
|
This patch added the method to enable the bkops.
In ext_csd register, BKOPS_EN bit is one-time programable.
So if you want to use the bkops, use the this command.
$ mmc bkops enable /dev/mmcblk0
Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Reviewd-by: Venkatraman S <svenkatr@ti.com>
Signed-off-by: Chris Ball <cjb@laptop.org>
|
|
In this patch, we add a utility to disable emulation mode in eMMC-4.5.
This is done to increase the data sector size to 4KB.
Signed-off-by: Saugata Das <saugata.das@linaro.org>
Reviewed-by: Subhash Jadavani <subhashj@codeaurora.org>
Reviewed-by: Namjae Jeon <linkinjeon@gmail.com>
Reviewed-by: Subhash Jadavani <subhashj@codeaurora.org>
Signed-off-by: Chris Ball <cjb@laptop.org>
|
|
|
|
This adds a new option to enable the boot from eMMC
by writing to the 179 ext_csd register.
The example below shows as to enable the mmcblk0boot0
partition and also set/reset the ACK bit).
$ ./mmc bootpart enable 1 1 /dev/mmcblk0boot0
$ ./mmc extcsd read /dev/mmcblk0boot0 | grep PARTITION_CON
Boot configuration bytes [PARTITION_CONFIG: 0x49]
Reported-by: Youssef TRIKI <youssef.triki@st.com>
Signed-off-by: Giuseppe Cavallaro <peppe.cavallaro@st.com>
Signed-off-by: Chris Ball <cjb@laptop.org>
|
|
This leaves "extcsd read" pointing to Giuseppe's code. Also, abstract
out the writeprotect code so that there's only one shared implementation
in print_writeprotect_status(), used by both "extcsd read" and
"writeprotect get".
Signed-off-by: Chris Ball <cjb@laptop.org>
|
|
This patch enhances the debug information reported
for the mmc card by parsing the extended CSD registers
obviously according to all the current specifications.
I have no HW to test eMMC 4.5 at this moment. In any case,
the patch supports JEDEC Standard No. 84-B45.
No issues on JESD84-A441 and older specs raised on my side.
This patch indeed want to start providing a full parsing
of the all EXT_CSD registers in the following layout:
Name [FIELD: <value>]
Voluntarily, I added the FIELD because it can actually help on
searching though the SPEC in case of doubts.
In fact, in this stage, not all the register bits are yet parsed.
Currently this has been done for a small subset of registers
(e.g. 173, 160 ...) where IMO it's quite useful for an end-user
to get some details. I do hope this will be improved in the near
feature (also for write operations).
P.S. The original patch posted time ago for the Kernel has been
reviewed-by Sebastian Rasmussen, acked-by: Linus Walleij and reported
by Youssef Tiki.
Signed-off-by: Giuseppe Cavallaro <peppe.cavallaro@st.com>
Signed-off-by: Chris Ball <cjb@laptop.org>
|
|
Signed-off-by: Chris Ball <cjb@laptop.org>
|