Due to the issues in UFS BSG driver, the following patch have to be applied:
https://lore.kernel.org/patchwork/patch/1076796/
https://patchwork.kernel.org/patch/11011891/
b) Get/Set UNIPRO attributes
c) HMR - Host Manual Refresh functionality
The following options may work with the SCSI BSG device
using sg v4 structure (e.g. /dev/0:0:0:0)
or via a SCSI Generic interface using sg v3 struct (e.g. /dev/block/sda)
d) Error History
e) FFU - Field Firmware Update
f) Send Vendor commands based on SCSI WRITE/READ Buffer commands
g) RPMB functionality
The tool is aligned to the UFS 3.1 spec.
export CROSS_COMPILE=/XXX/aarch64-linux-gnu-
"make"
"make clean"
Copy the tool into a directory on the device (e.g. /data/local/tmp).
Run the tool without arguments or with -h/--help options in order to list the supported features:
E.g. Run:
./ufs-utils --help
Output: ufs-utils help|--help|-h Show the help.
ufs-utils -v Show the version. ufs-utils <desc | attr | fl | err_hist | uic | ffu | vendor | rpmb | hmr> --help|-h Show detailed help for a command Run the tool's help for the ufs configuration features in order to get full information related to the feature, all options and the examples. E.g.: getting help for ufs flags Run: ./ufs-utils fl --help Output: Flags command usage: ufs-utils fl [-t] <flag idn> [-a|-r|-o|-e] [-p] <device_path> -t Flags type idn Available flags and its access, based on UFS ver 3.0 : 0 : Reserved 1 : fDeviceInit | Read | SetOnly 2 : fPermanentWPEn | Read | WriteOnce 3 : fPowerOnWPEn | Read | ResetOnPower 4 : fBackgroundOpsEn | Read | Volatile 5 : fDeviceLifeSpanModeEn | Read | Volatile 6 : fPurgeEnable | WriteOnly | Volatile 7 : fRefreshEnable | WriteOnly | Volatile 8 : fPhyResourceRemoval | Read | Persistent 9 : fBusyRTC | ReadOnly 10 : Reserved 11 : fPermanentlyDisableFw | Read | WriteOnce -a read and print all readable flags for the device -r read operation (default), for readable flag(s) -e set flag operation -c clear/reset flag operation -o toggle flag operation -p path to ufs bsg device Example - Read the bkops operation flag ufs-utils fl -t 4 -p /dev/ufs-bsg
signed-off-by:Arthur Simchaev (arthur.simchaev@wdc.com) signed-off-by:Avri Altman (avri.altman@wdc.com)