samus: hook up SSD firmware updates for Kingston SSDs

Link in the 2.3 firmware binary for our Kingston SSDs, along with some
metadata that the AHCI driver can use to match drive models/firmware
revs to an update suggestion.

Because these SSDs require power cycling, provide a callback for
toggling GPIOs 21 (SSD power) and 47 (SSD reset).

For expediency, we just link in the entire firmware binary as a binary
array. If we run out of space, we could potentially compress the
firmware, or attempt to locate it in some other flash region.

BUG=chromium:467131
TEST=boot samus with Kinston SSD 1.8 firmware, see upgrade to 2.3; check
     version with 'hdparm -I /dev/sda' from ChromeOS

Change-Id: I864dbff4b95cae8bcff987e3daa339820f5e5cec
Signed-off-by: Brian Norris <briannorris@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/308078
Reviewed-by: Duncan Laurie <dlaurie@chromium.org>
1 file changed