Files
OpenCellular/common
Randall Spangler ff4d22819a cr50: Add SPI hashing command
This allows hashing or dumping SPI flash from the Cr50 console even on
a locked device, so you can verify the RO Firmware on a system via CCD.

See design doc: go/verify-ro-firmware
(more specifically, "Cr50 console commands for option 1")

BUG=chromium:804507
BRANCH=cr50 release (after testing)
TEST=manual:
   # Sample sequence
   spihash ap -> requires physical presence; tap power button
   spihash 0 1024 -> gives a hash; compare with first 1KB of image.bin
   spihash 0 128 dump -> dumps first 128 bytes; compare with image.bin
   spihash 128 128 -> offset works
   spihash 0 0x100000 -> gives a hash; doesn't watchdog reset
   spihdev ec
   spihash 0 1024 -> compare with ec.bin
   spihash disable
   # Test timeout
   spihash ap
   # Wait 30 seconds
   spihash 0 1024 -> still works
   # Wait 60 seconds; goes back disabled automatically
   spihash 0 1024 -> fails because spihash is disabled
   # Presence not required when CCD opened
   ccd open
   spihash ap -> no PP required
   spihash 0 1024 -> works
   spihash disable
   # Possible for owner to disable via CCD config
   ccd -> HashFlash is "Always"
   ccd set HashFlash IfOpened
   ccd lock
   spihash ap -> access denied
   # Cleanup
   ccd open
   ccd reset
   ccd lock

Change-Id: I27b5054730dea6b27fbad1b1c4aa0a650e3b4f99
Signed-off-by: Randall Spangler <rspangler@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/889725
Reviewed-by: Vadim Bendebury <vbendeb@chromium.org>
2018-02-08 23:42:33 -08:00
..
2017-12-28 14:50:29 -08:00
2018-02-05 23:05:39 -08:00
2018-02-08 09:24:07 -08:00
2018-02-08 23:42:33 -08:00
2015-05-19 02:46:27 +00:00
2017-11-06 13:48:38 -08:00
2018-01-10 12:58:55 -08:00
2018-01-23 05:25:08 -08:00
2016-11-15 17:41:53 -08:00
2017-12-28 12:35:08 -08:00
2017-10-19 14:56:09 -07:00
2017-09-11 11:14:24 -07:00
2018-02-05 23:05:39 -08:00
2016-03-02 13:39:47 -08:00
2017-06-02 10:38:57 -07:00
2017-10-31 13:04:59 -07:00
2017-10-24 12:57:45 -07:00
2014-05-17 20:14:17 +00:00
2016-03-21 16:35:33 -07:00
2017-05-09 23:20:07 -07:00
2017-11-06 13:48:38 -08:00
2017-08-10 22:47:24 -07:00
2018-01-31 22:38:56 -08:00
2017-12-18 20:32:58 -08:00
2017-12-18 20:32:58 -08:00
2017-09-22 10:18:50 -07:00