"Das U-Boot" Source Tree
at master 64 lines 1.6 kB view raw
1/* SPDX-License-Identifier: GPL-2.0-or-later */ 2/* 3 * Copyright (c) 2022, Linaro Limited 4 */ 5 6#include <command.h> 7#include <dm.h> 8#include <fwu.h> 9#include <fwu_mdata.h> 10#include <log.h> 11#include <stdio.h> 12#include <stdlib.h> 13 14#include <linux/types.h> 15 16static void print_mdata(struct fwu_data *data) 17{ 18 int i, j; 19 struct fwu_image_entry *img_entry; 20 struct fwu_image_bank_info *img_info; 21 22 printf("\tFWU Metadata\n"); 23 printf("crc32: %#x\n", data->crc32); 24 printf("version: %#x\n", data->version); 25 printf("size: %#x\n", data->metadata_size); 26 printf("active_index: %#x\n", data->active_index); 27 printf("previous_active_index: %#x\n", data->previous_active_index); 28 29 if (data->version == 2) { 30 for (i = 0; i < 4; i++) 31 printf("bank_state[%d]: %#x\n", 32 i, data->bank_state[i]); 33 } 34 35 printf("\tImage Info\n"); 36 for (i = 0; i < CONFIG_FWU_NUM_IMAGES_PER_BANK; i++) { 37 img_entry = &data->fwu_images[i]; 38 printf("\nImage Type Guid: %pUL\n", 39 &img_entry->image_type_guid); 40 printf("Location Guid: %pUL\n", &img_entry->location_guid); 41 for (j = 0; j < CONFIG_FWU_NUM_BANKS; j++) { 42 img_info = &img_entry->img_bank_info[j]; 43 printf("Image Guid: %pUL\n", &img_info->image_guid); 44 printf("Image Acceptance: %s\n", 45 img_info->accepted == 0x1 ? "yes" : "no"); 46 } 47 } 48} 49 50int do_fwu_mdata_read(struct cmd_tbl *cmdtp, int flag, 51 int argc, char * const argv[]) 52{ 53 struct fwu_data *data = fwu_get_data(); 54 55 print_mdata(data); 56 57 return CMD_RET_SUCCESS; 58} 59 60U_BOOT_CMD( 61 fwu_mdata_read, 1, 1, do_fwu_mdata_read, 62 "Read and print FWU metadata", 63 "" 64);