u-boot/common
Vadim Bendebury 576fb1ed3f Add a cli command to test the TPM device.
The command gets an arbitrary number of arguments (up to 30), which
are interpreted as byte values and are feed into the TPM device after
proper initialization. Then the return value and data of the TPM
driver is examined.

TPM commands are described in the TCG specification.

For instance, the following sequence is the 'TPM Startup' command, it
is processed by the TPM and a response is generated:

boot > tpm 0x0 0xc1 0x0 0x0 0x0 0xc 0x0 0x0 0x0 0x99 0x0 0x1
Found TPM SLB9635 TT 1.2 by Infineon
Got TPM response:
 00 c4 00 00 00 0a 00 00 00 00

If the command is corrupted (fed one byte short), an error is reported:
boot > tpm 0x0 0xc1 0x0 0x0 0x0 0xc 0x0 0x0 0x0 0x99 0x0
generic_lpc_tpm.c:311 unexpected TPM status 0xff000888
generic_lpc_tpm.c:516 failed sending data to TPM
tpm command failed
boot >

Change-Id: I3f3c5bfec8b852e208c4e99ba37b0f2b875140b0
Signed-off-by: Vadim Bendebury <vbendeb@chromium.org>
CC: Wolfgang Denk <wd@denx.de>
2011-12-06 21:30:03 +01:00
..
bedbug.c common: Move conditional compilation to Makefile 2008-08-13 01:40:38 +02:00
cmd_ambapp.c various cmd_* files: fixed layout a little bit 2010-08-09 01:07:37 +02:00
cmd_bdinfo.c cmd_bdinfo: simplify local static funcs a bit 2011-12-06 21:12:43 +01:00
cmd_bedbug.c common: move extern char console_buffer[] to common.h 2011-11-22 08:39:25 +01:00
cmd_bmp.c lcd: add clear and draw bitmap declaration 2011-11-15 23:58:26 +01:00
cmd_boot.c make go optional 2011-04-13 15:56:39 -04:00
cmd_bootldr.c Blackfin: bootldr: use common defines 2011-04-08 00:44:27 -04:00
cmd_bootm.c image: Don't detect XIP images as overlapping. 2011-12-01 09:49:31 +01:00
cmd_cache.c command/cmd_cache.c: Add optional flush arguments 2011-07-26 14:30:08 +02:00
cmd_console.c Make sure that argv[] argument pointers are not modified. 2010-07-04 23:55:42 +02:00
cmd_cplbinfo.c various cmd_* files: fixed layout a little bit 2010-08-09 01:07:37 +02:00
cmd_cramfs.c cramfs: make cramfs usable without a NOR flash 2011-05-10 22:47:32 +02:00
cmd_dataflash_mmc_mux.c various cmd_* files: remove the command name from the help message 2010-08-09 01:06:34 +02:00
cmd_date.c cmd_date: constify 2010-11-28 21:58:24 +01:00
cmd_dcr.c common: move extern char console_buffer[] to common.h 2011-11-22 08:39:25 +01:00
cmd_df.c cmd_usage(): simplify return code handling 2010-07-24 20:43:57 +02:00
cmd_diag.c Make sure that argv[] argument pointers are not modified. 2010-07-04 23:55:42 +02:00
cmd_display.c led_display: split led display support into generic and hw-dependent parts 2010-10-12 22:44:33 +02:00
cmd_dtt.c hwmon: Provide dtt_init() 2011-10-22 01:22:21 +02:00
cmd_echo.c Make sure that argv[] argument pointers are not modified. 2010-07-04 23:55:42 +02:00
cmd_eeprom.c cosmetic: spell fixes etc. 2011-07-28 16:32:50 +02:00
cmd_elf.c net: tftpput: Rename TFTP to TFTPGET 2011-10-26 21:33:42 +02:00
cmd_exit.c Make sure that argv[] argument pointers are not modified. 2010-07-04 23:55:42 +02:00
cmd_ext2.c cmd_usage(): simplify return code handling 2010-07-24 20:43:57 +02:00
cmd_fat.c fs/fat: Big code cleanup. 2010-07-24 20:54:46 +02:00
cmd_fdc.c common/cmd_fdc.c: Fix GCC 4.6 build warnings 2011-11-16 21:04:44 +01:00
cmd_fdos.c Convert ISO-8859 files to UTF-8 2011-08-04 23:34:02 +02:00
cmd_fdt.c common/cmd_fdt.c: fix wrong data displayed in fdt print 2011-06-01 22:44:50 +02:00
cmd_fitupd.c add command fitupd to run an update from a FIT image 2011-07-26 16:58:48 +02:00
cmd_flash.c common/cmd_flash.c: Fix GCC 4.6 build warnings 2011-11-07 22:47:40 +01:00
cmd_fpga.c fpga: constify to fix build warning 2011-08-01 15:19:40 +02:00
cmd_gpio.c gpio: check request result 2011-04-13 15:57:00 -04:00
cmd_help.c Make sure that argv[] argument pointers are not modified. 2010-07-04 23:55:42 +02:00
cmd_i2c.c common: move extern char console_buffer[] to common.h 2011-11-22 08:39:25 +01:00
cmd_ide.c common/cmd_ide.c: fix GCC 4.6 build warnings 2011-11-03 20:41:47 +01:00
cmd_immap.c Make sure that argv[] argument pointers are not modified. 2010-07-04 23:55:42 +02:00
cmd_irq.c cmd_usage(): simplify return code handling 2010-07-24 20:43:57 +02:00
cmd_itest.c itest: fix result of string compares 2011-02-15 21:45:55 +01:00
cmd_jffs2.c cmd_jffs2: Fix get_part_sector_size_nor() overflow bug 2011-01-19 00:04:43 +01:00
cmd_ldrinfo.c Blackfin: ldrinfo: new command 2011-04-08 00:44:27 -04:00
cmd_led.c led: remove camel casing of led identifiers globally 2011-09-13 08:30:52 +02:00
cmd_license.c various cmd_* files: fixed layout a little bit 2010-08-09 01:07:37 +02:00
cmd_load.c cmd_usage(): simplify return code handling 2010-07-24 20:43:57 +02:00
cmd_log.c arm, logbuffer: make it compileclean 2011-10-27 21:56:30 +02:00
cmd_mac.c cmd_mac: fix help for 'mac read' 2011-07-28 16:41:06 +02:00
cmd_md5sum.c Fix: watchdog timed out, if using md5 command 2011-07-26 14:36:07 +02:00
cmd_mdio.c common/cmd_mdio.c: fix compile warning 2011-04-30 23:09:48 +02:00
cmd_mem.c common: move extern char console_buffer[] to common.h 2011-11-22 08:39:25 +01:00
cmd_mfsl.c cmd_usage(): simplify return code handling 2010-07-24 20:43:57 +02:00
cmd_mgdisk.c various cmd_* files: remove the command name from the help message 2010-08-09 01:06:34 +02:00
cmd_mii.c miiphy: convert to linux/mii.h 2011-01-09 18:06:50 +01:00
cmd_misc.c cmd_usage(): simplify return code handling 2010-07-24 20:43:57 +02:00
cmd_mmc.c mmc: rescan fails on empty slot 2011-07-15 20:29:22 -05:00
cmd_mmc_spi.c mmc_spi: add mmc_init call 2011-04-29 03:20:01 -05:00
cmd_mp.c powerpc/mp: add support for discontiguous cores 2011-09-29 19:01:05 -05:00
cmd_mtdparts.c GCC4.6: Squash undefined variable in cmd_mtdparts.c 2011-10-27 23:54:04 +02:00
cmd_nand.c NAND: Make page, erase, oob size available via cmd_nand 2011-10-03 18:35:12 -05:00
cmd_net.c net: tftpput: add tftpput command 2011-10-26 21:36:46 +02:00
cmd_nvedit.c cmd_nvedit.c: Fix compiler warning introduced by checkpatch cleanup 2011-11-27 15:46:10 +01:00
cmd_onenand.c onenand: add yaffs write command 2010-12-17 14:32:12 -06:00
cmd_otp.c Blackfin: otp: fix build after constification of args[] 2010-10-02 16:00:40 -04:00
cmd_pci.c common: move extern char console_buffer[] to common.h 2011-11-22 08:39:25 +01:00
cmd_pcmcia.c Make sure that argv[] argument pointers are not modified. 2010-07-04 23:55:42 +02:00
cmd_portio.c cmd_usage(): simplify return code handling 2010-07-24 20:43:57 +02:00
cmd_pxe.c pxe: make the first label the implicit default 2011-12-06 21:21:42 +01:00
cmd_reginfo.c mpc85xx: Add reginfo command 2010-07-16 10:55:09 -05:00
cmd_reiser.c cmd_usage(): simplify return code handling 2010-07-24 20:43:57 +02:00
cmd_sata.c disk/part.c: Make features optional 2011-07-26 14:10:14 +02:00
cmd_scsi.c disk/part.c: Make features optional 2011-07-26 14:10:14 +02:00
cmd_setexpr.c cmd_usage(): simplify return code handling 2010-07-24 20:43:57 +02:00
cmd_sf.c cmd_sf: Fix compiler warning 2011-10-05 22:22:17 +02:00
cmd_sha1sum.c Fix: watchdog timed out, if using sha1 command 2011-07-26 14:33:10 +02:00
cmd_source.c Make sure that argv[] argument pointers are not modified. 2010-07-04 23:55:42 +02:00
cmd_spi.c sspi: add options to specify bus and mode 2010-10-06 20:50:38 -04:00
cmd_spibootldr.c various cmd_* files: fixed layout a little bit 2010-08-09 01:07:37 +02:00
cmd_strings.c various cmd_* files: fixed layout a little bit 2010-08-09 01:07:37 +02:00
cmd_terminal.c Make sure that argv[] argument pointers are not modified. 2010-07-04 23:55:42 +02:00
cmd_test.c Make sure that argv[] argument pointers are not modified. 2010-07-04 23:55:42 +02:00
cmd_time.c cmd_time: add time command 2011-10-09 23:24:48 +02:00
cmd_tpm.c Add a cli command to test the TPM device. 2011-12-06 21:30:03 +01:00
cmd_tsi148.c common: tsi148 - fix gcc 4.6 compiler warning 2011-11-16 21:42:17 +01:00
cmd_ubi.c GCC4.6: Squash warning in cmd_ubi.c: 2011-10-01 23:34:21 +02:00
cmd_ubifs.c UBI/UBIFS: Automatically unmount UBIFS volume upon UBI partition change 2010-12-03 18:24:04 +01:00
cmd_universe.c common/cmd_universe.c: Fix GCC 4.6 build warning 2011-11-16 21:04:55 +01:00
cmd_unzip.c md5sum/sha1sum/unzip: split out of mondo mem file 2011-04-13 15:56:47 -04:00
cmd_usb.c common/cmd_usb.c: fix warning: variable ... set but not used 2011-10-09 23:24:49 +02:00
cmd_version.c unify version_string 2011-07-28 17:22:53 +02:00
cmd_ximg.c checkpatch whitespace cleanups 2011-10-22 01:13:35 +02:00
cmd_yaffs2.c YAFFS2: cmd_yaffs2.c - fix build warnings 2011-09-10 00:00:15 +02:00
command.c common: fix missing function pointer relocation in fixup_cmdtable() 2011-10-23 23:32:44 +02:00
console.c console: Implement pre-console buffer 2011-10-05 22:03:09 +02:00
ddr_spd.c mpc8xxx: DDR2/DDR3: Clean up DIMM-type switch statements 2011-04-04 09:24:43 -05:00
dlmalloc.c utx8245: fix build breakage due to assert() 2011-09-10 16:05:43 +02:00
dlmalloc.src * Code cleanup: 2003-06-27 21:31:46 +00:00
env_common.c env: clean env_common.c checkpatch and code style 2011-11-22 08:39:27 +01:00
env_dataflash.c env: clean env_dataflash.c checkpatch and code style 2011-11-22 08:39:26 +01:00
env_eeprom.c env: clean env_eeprom.c checkpatch and code style 2011-11-22 08:39:26 +01:00
env_embedded.c env: clean env_embedded.c checkpatch and code style 2011-11-22 08:39:26 +01:00
env_flash.c env: clean env_flash.c checkpatch and code style 2011-11-22 08:39:26 +01:00
env_mgdisk.c env: clean env_mgdisk.c checkpatch and code style 2011-11-22 08:39:25 +01:00
env_mmc.c env: clean env_mmc.c checkpatch and code style 2011-11-22 08:39:26 +01:00
env_nand.c env_nand: Remove DEBUG definition 2011-12-06 12:03:08 +01:00
env_nowhere.c env: clean env_nowhere.c checkpatch and code style 2011-11-22 08:39:25 +01:00
env_nvram.c env: clean env_nvram.c checkpatch and code style 2011-11-22 08:39:26 +01:00
env_onenand.c env: clean env_onenand.c checkpatch and code style 2011-11-22 08:39:26 +01:00
env_sf.c env: clean env_sf.c checkpatch and code style 2011-11-22 08:39:26 +01:00
exports.c x86: Rename i386 to x86 2011-04-13 19:43:28 +10:00
fdt_support.c Fix constness of the fdt void pointer in fdt_getprop_u32_default 2011-11-13 11:21:34 -05:00
flash.c cfi_flash: Simplify dynamic flash bank number detection 2010-09-20 15:08:51 +02:00
hush.c common: move extern char console_buffer[] to common.h 2011-11-22 08:39:25 +01:00
hwconfig.c Minor Coding Style Cleanup. 2011-02-02 22:36:10 +01:00
image.c image: Implement IH_TYPE_KERNEL_NOLOAD 2011-12-01 09:45:35 +01:00
iomux.c stdio/device: rework function naming convention 2009-07-18 00:27:46 +02:00
kallsyms.c Add support for Linux-like kallsysms 2009-06-12 20:45:48 +02:00
kgdb.c Make sure that argv[] argument pointers are not modified. 2010-07-04 23:55:42 +02:00
kgdb_stubs.c kgdb: add default generic stubs 2010-01-18 00:23:00 +01:00
lcd.c font: split font data from video_font.h 2011-11-15 23:58:26 +01:00
lynxkdi.c checkpatch whitespace cleanups 2011-10-22 01:13:35 +02:00
main.c Add pxe command 2011-10-17 22:25:35 +02:00
Makefile Add a cli command to test the TPM device. 2011-12-06 21:30:03 +01:00
memsize.c Remove volatile qualifier in get_ram_size() calls 2011-07-17 17:11:53 +02:00
menu.c common/menu.c: Fix build warning 2011-12-05 23:26:40 +01:00
miiphyutil.c mii: miiphy register address width change 2011-12-06 21:01:01 +01:00
modem.c common: move extern char console_buffer[] to common.h 2011-11-22 08:39:25 +01:00
s_record.c Initial revision 2002-08-17 09:36:01 +00:00
serial.c serial: constify serial_assign() 2011-12-05 22:48:10 +01:00
stdio.c stdio: Fix a possible buffer overflow 2011-09-04 23:27:52 +02:00
system_map.c Add support for Linux-like kallsysms 2009-06-12 20:45:48 +02:00
update.c net: tftpput: Rename TFTP to TFTPGET 2011-10-26 21:33:42 +02:00
usb.c GCC4.6: Fix common/usb.c on xscale 2011-11-15 22:24:50 +01:00
usb_kbd.c USB Consolidate descriptor definitions 2009-12-20 12:47:37 +01:00
usb_storage.c GCC4.6: Squash subsequent warnings in usb_storage.c 2011-10-27 23:54:03 +02:00
xyzModem.c cleanup: Fix typos and misspellings in various files. 2011-07-28 21:27:36 +02:00