Boot: Add OTP provisioning functionality to MCUBoot

Add functionality to program hash of ROT public key and HUK to OTP. The
implementation is based on the CryptoCell CMPU and DMPU production
libraries.

If MCUBOOT_IMAGE_NUMBER=1, store the whole 32 byte hash of:
    bl2/ext/mcuboot/root-rsa-<2048|3072>.pem key.

If MCUBOOT_IMAGE_NUMBER=2, separately store
the first 16 bytes of the hash of:
    bl2/ext/mcuboot/root-rsa-<2048|3072>.pem key
and the first 16 bytes of the hash of:
    bl2/ext/mcuboot/root-rsa-<2048|3072>_1.pem key.

OTP provisioning is disabled by default. In order to enable,
add this to CMake command line:
 -DCRYPTO_HW_ACCELERATOR_OTP_STATE=PROVISIONING

Change-Id: Ica589319001f5ed77d853ba45ad8e6d3c266d172
Signed-off-by: Xu Yong <yong.xu@arm.com>
8 files changed