mirror of
				https://xff.cz/git/u-boot/
				synced 2025-10-31 02:15:45 +01:00 
			
		
		
		
	cros: Update ec_commands to latest version
This file has changed quite a bit in the last 5 years as the capabilities of the ECs have grown. Sync it up with the copy in coreboot commit b9141f2215. The only change is the addition of EC_VBNV_BLOCK_SIZE_V2. This is needed because U-Boot uses the new v2 vboot API and this is not currently fully supported by Chromium OS firmware. Signed-off-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
		| @@ -27,7 +27,7 @@ static int cros_ec_decode_region(int argc, char * const argv[]) | ||||
| { | ||||
| 	if (argc > 0) { | ||||
| 		if (0 == strcmp(*argv, "rw")) | ||||
| 			return EC_FLASH_REGION_RW; | ||||
| 			return EC_FLASH_REGION_ACTIVE; | ||||
| 		else if (0 == strcmp(*argv, "ro")) | ||||
| 			return EC_FLASH_REGION_RO; | ||||
|  | ||||
| @@ -137,7 +137,6 @@ static int do_cros_ec(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]) | ||||
| 		} | ||||
| 		printf("rows     = %u\n", info.rows); | ||||
| 		printf("cols     = %u\n", info.cols); | ||||
| 		printf("switches = %#x\n", info.switches); | ||||
| 	} else if (0 == strcmp("curimage", cmd)) { | ||||
| 		enum ec_current_image image; | ||||
|  | ||||
| @@ -177,7 +176,7 @@ static int do_cros_ec(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]) | ||||
| 			region = cros_ec_decode_region(argc - 2, argv + 2); | ||||
| 			if (region == EC_FLASH_REGION_RO) | ||||
| 				cmd = EC_REBOOT_JUMP_RO; | ||||
| 			else if (region == EC_FLASH_REGION_RW) | ||||
| 			else if (region == EC_FLASH_REGION_ACTIVE) | ||||
| 				cmd = EC_REBOOT_JUMP_RW; | ||||
| 			else | ||||
| 				return CMD_RET_USAGE; | ||||
|   | ||||
| @@ -473,7 +473,7 @@ int cros_ec_read_hash(struct udevice *dev, struct ec_response_vboot_hash *hash) | ||||
| 	p.cmd = EC_VBOOT_HASH_START; | ||||
| 	p.hash_type = EC_VBOOT_HASH_TYPE_SHA256; | ||||
| 	p.nonce_size = 0; | ||||
| 	p.offset = EC_VBOOT_HASH_OFFSET_RW; | ||||
| 	p.offset = EC_VBOOT_HASH_OFFSET_ACTIVE; | ||||
|  | ||||
| 	if (ec_command(dev, EC_CMD_VBOOT_HASH, 0, &p, sizeof(p), | ||||
| 		       hash, sizeof(*hash)) < 0) | ||||
| @@ -894,7 +894,8 @@ int cros_ec_flash_update_rw(struct udevice *dev, const uint8_t *image, | ||||
| 	uint32_t rw_offset, rw_size; | ||||
| 	int ret; | ||||
|  | ||||
| 	if (cros_ec_flash_offset(dev, EC_FLASH_REGION_RW, &rw_offset, &rw_size)) | ||||
| 	if (cros_ec_flash_offset(dev, EC_FLASH_REGION_ACTIVE, &rw_offset, | ||||
| 		&rw_size)) | ||||
| 		return -1; | ||||
| 	if (image_size > (int)rw_size) | ||||
| 		return -1; | ||||
| @@ -1045,7 +1046,7 @@ int cros_ec_decode_ec_flash(struct udevice *dev, struct fdt_cros_ec *config) | ||||
| 		if (0 == strcmp(name, "ro")) { | ||||
| 			region = EC_FLASH_REGION_RO; | ||||
| 		} else if (0 == strcmp(name, "rw")) { | ||||
| 			region = EC_FLASH_REGION_RW; | ||||
| 			region = EC_FLASH_REGION_ACTIVE; | ||||
| 		} else if (0 == strcmp(name, "wp-ro")) { | ||||
| 			region = EC_FLASH_REGION_WP_RO; | ||||
| 		} else { | ||||
|   | ||||
| @@ -365,7 +365,7 @@ static int process_cmd(struct ec_state *ec, | ||||
| 		struct fmap_entry *entry; | ||||
| 		int ret, size; | ||||
|  | ||||
| 		entry = &ec->ec_config.region[EC_FLASH_REGION_RW]; | ||||
| 		entry = &ec->ec_config.region[EC_FLASH_REGION_ACTIVE]; | ||||
|  | ||||
| 		switch (req->cmd) { | ||||
| 		case EC_VBOOT_HASH_RECALC: | ||||
| @@ -420,7 +420,7 @@ static int process_cmd(struct ec_state *ec, | ||||
|  | ||||
| 		switch (req->region) { | ||||
| 		case EC_FLASH_REGION_RO: | ||||
| 		case EC_FLASH_REGION_RW: | ||||
| 		case EC_FLASH_REGION_ACTIVE: | ||||
| 		case EC_FLASH_REGION_WP_RO: | ||||
| 			entry = &ec->ec_config.region[req->region]; | ||||
| 			resp->offset = entry->offset; | ||||
|   | ||||
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
		Reference in New Issue
	
	Block a user