u-boot-brain/drivers
Ruchika Gupta c5de15cbc8 crypto/fsl: Add command for encapsulating/decapsulating blobs
Freescale's SEC block has built-in Blob Protocol which provides
a method for protecting user-defined data across system power
cycles. SEC block protects data in a data structure called a Blob,
which provides both confidentiality and integrity protection.

Encapsulating data as a blob
Each time that the Blob Protocol is used to protect data, a
different randomly generated key is used to encrypt the data.
This random key is itself encrypted using a key which is derived
from SoC's non volatile secret key and a 16 bit Key identifier.
The resulting encrypted key along with encrypted data is called a blob.
The non volatile secure key is available for use only during secure boot.

During decapsulation, the reverse process is performed to get back
the original data.

Commands added
--------------
    blob enc - encapsulating data as a cryptgraphic blob
    blob dec - decapsulating cryptgraphic blob to get the data

Commands Syntax
---------------
	blob enc src dst len km

	Encapsulate and create blob of data $len bytes long
	at address $src and store the result at address $dst.
	$km is the 16 byte key modifier is also required for
	generation/use as key for cryptographic operation. Key
	modifier should be 16 byte long.

	blob dec src dst len km

	Decapsulate the  blob of data at address $src and
	store result of $len byte at addr $dst.
	$km is the 16 byte key modifier is also required for
	generation/use as key for cryptographic operation. Key
	modifier should be 16 byte long.

Signed-off-by: Ruchika Gupta <ruchika.gupta@freescale.com>
Reviewed-by: York Sun <yorksun@freescale.com>
2014-10-16 14:20:40 -07:00
..
bios_emulator kbuild: use Linux Kernel build scripts 2014-02-19 11:07:50 -05:00
block ahci: Don't start command DMA engine before buffers are set 2014-10-10 09:44:41 -04:00
bootcount qe: move immap_qe.h from arch directory into common directory 2014-07-22 16:25:54 -07:00
core kbuild: refactor some makefiles 2014-09-24 18:30:29 -04:00
crypto crypto/fsl: Add command for encapsulating/decapsulating blobs 2014-10-16 14:20:40 -07:00
ddr/fsl driver/ddr/fsl: Fix DDR4 driver 2014-09-25 08:36:20 -07:00
demo kbuild: refactor some makefiles 2014-09-24 18:30:29 -04:00
dfu kconfig: add blank Kconfig files 2014-09-24 18:30:28 -04:00
dma cosmetic: replace MIN, MAX with min, max 2014-09-24 18:30:29 -04:00
fpga arm: socfpga: fpga: Add SoCFPGA FPGA programming interface 2014-10-06 17:46:50 +02:00
gpio kconfig: add blank Kconfig files 2014-09-24 18:30:28 -04:00
hwmon kconfig: add blank Kconfig files 2014-09-24 18:30:28 -04:00
i2c cosmetic: replace MIN, MAX with min, max 2014-09-24 18:30:29 -04:00
input kconfig: add blank Kconfig files 2014-09-24 18:30:28 -04:00
memory ARM: keystone: aemif: move aemif driver to drivers/memory/ti-aemif.c 2014-06-19 17:53:58 -04:00
misc kconfig: add blank Kconfig files 2014-09-24 18:30:28 -04:00
mmc Merge branch 'u-boot/master' into 'u-boot-arm/master' 2014-10-11 01:20:30 +02:00
mtd Merge branch 'u-boot/master' into 'u-boot-arm/master' 2014-10-11 01:20:30 +02:00
net Merge branch 'u-boot/master' into 'u-boot-arm/master' 2014-10-11 01:20:30 +02:00
pci kconfig: add blank Kconfig files 2014-09-24 18:30:28 -04:00
pcmcia kconfig: add blank Kconfig files 2014-09-24 18:30:28 -04:00
power sunxi: axp152: dcdc3 scale is 50mV / step not 25mV / step 2014-10-13 09:02:01 -04:00
pwm pwm, imx6: add support for pwm modul on imx6 2014-07-23 12:25:42 +02:00
qe net: Merge asm/fsl_enet.h into fsl_mdio.h 2014-09-08 10:30:33 -07:00
rtc kconfig: add blank Kconfig files 2014-09-24 18:30:28 -04:00
serial serial-uclass: Fix compilation error 2014-10-10 12:37:59 -04:00
sound kconfig: add blank Kconfig files 2014-09-24 18:30:28 -04:00
spi kconfig: add blank Kconfig files 2014-09-24 18:30:28 -04:00
tpm kconfig: add blank Kconfig files 2014-09-24 18:30:28 -04:00
twserial drivers: convert makefiles to Kbuild style 2013-10-31 13:26:01 -04:00
usb Merge branch 'u-boot/master' into 'u-boot-arm/master' 2014-10-11 01:20:30 +02:00
video kconfig: add blank Kconfig files 2014-09-24 18:30:28 -04:00
watchdog kconfig: add blank Kconfig files 2014-09-24 18:30:28 -04:00
Kconfig kconfig: add blank Kconfig files 2014-09-24 18:30:28 -04:00
Makefile kbuild: refactor some makefiles 2014-09-24 18:30:29 -04:00