mirror of
https://xff.cz/git/u-boot/
synced 2025-09-30 15:01:27 +02:00
cros_ec: Update cros_ec_read_hash() to specify the image
Allow selection of which EC image to hash. Signed-off-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
@@ -149,7 +149,7 @@ static int do_cros_ec(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
|
|||||||
struct ec_response_vboot_hash hash;
|
struct ec_response_vboot_hash hash;
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
if (cros_ec_read_hash(dev, &hash)) {
|
if (cros_ec_read_hash(dev, EC_VBOOT_HASH_OFFSET_ACTIVE, &hash)) {
|
||||||
debug("%s: Could not read KBC hash\n", __func__);
|
debug("%s: Could not read KBC hash\n", __func__);
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
@@ -444,13 +444,14 @@ static int cros_ec_wait_on_hash_done(struct udevice *dev,
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int cros_ec_read_hash(struct udevice *dev, uint hash_offset,
|
||||||
int cros_ec_read_hash(struct udevice *dev, struct ec_response_vboot_hash *hash)
|
struct ec_response_vboot_hash *hash)
|
||||||
{
|
{
|
||||||
struct ec_params_vboot_hash p;
|
struct ec_params_vboot_hash p;
|
||||||
int rv;
|
int rv;
|
||||||
|
|
||||||
p.cmd = EC_VBOOT_HASH_GET;
|
p.cmd = EC_VBOOT_HASH_GET;
|
||||||
|
p.offset = hash_offset;
|
||||||
if (ec_command(dev, EC_CMD_VBOOT_HASH, 0, &p, sizeof(p),
|
if (ec_command(dev, EC_CMD_VBOOT_HASH, 0, &p, sizeof(p),
|
||||||
hash, sizeof(*hash)) < 0)
|
hash, sizeof(*hash)) < 0)
|
||||||
return -1;
|
return -1;
|
||||||
@@ -473,7 +474,7 @@ int cros_ec_read_hash(struct udevice *dev, struct ec_response_vboot_hash *hash)
|
|||||||
p.cmd = EC_VBOOT_HASH_START;
|
p.cmd = EC_VBOOT_HASH_START;
|
||||||
p.hash_type = EC_VBOOT_HASH_TYPE_SHA256;
|
p.hash_type = EC_VBOOT_HASH_TYPE_SHA256;
|
||||||
p.nonce_size = 0;
|
p.nonce_size = 0;
|
||||||
p.offset = EC_VBOOT_HASH_OFFSET_ACTIVE;
|
p.offset = hash_offset;
|
||||||
|
|
||||||
if (ec_command(dev, EC_CMD_VBOOT_HASH, 0, &p, sizeof(p),
|
if (ec_command(dev, EC_CMD_VBOOT_HASH, 0, &p, sizeof(p),
|
||||||
hash, sizeof(*hash)) < 0)
|
hash, sizeof(*hash)) < 0)
|
||||||
|
@@ -96,10 +96,12 @@ int cros_ec_read_current_image(struct udevice *dev,
|
|||||||
* Read the hash of the CROS-EC device firmware.
|
* Read the hash of the CROS-EC device firmware.
|
||||||
*
|
*
|
||||||
* @param dev CROS-EC device
|
* @param dev CROS-EC device
|
||||||
|
* @param hash_offset Offset in flash to read from
|
||||||
* @param hash Destination for hash information
|
* @param hash Destination for hash information
|
||||||
* @return 0 if ok, <0 on error
|
* @return 0 if ok, <0 on error
|
||||||
*/
|
*/
|
||||||
int cros_ec_read_hash(struct udevice *dev, struct ec_response_vboot_hash *hash);
|
int cros_ec_read_hash(struct udevice *dev, uint hash_offset,
|
||||||
|
struct ec_response_vboot_hash *hash);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Send a reboot command to the CROS-EC device.
|
* Send a reboot command to the CROS-EC device.
|
||||||
|
Reference in New Issue
Block a user