• Roman Peniaev's avatar
    mmc-utils: RPMB: add support for 4 rpmb operations · c6cb053e
    Roman Peniaev authored
    
    
    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: default avatarRoman Pen <r.peniaev@gmail.com>
    Cc: Ulf Hansson <ulf.hansson@linaro.org>,
    Cc: Ben Gardiner <bengardiner@nanometrics.ca>,
    Signed-off-by: default avatarChris Ball <chris@printf.net>
    c6cb053e
mmc.c 11.3 KB