147151e4bSgaurav rana /* 247151e4bSgaurav rana * Copyright 2015 Freescale Semiconductor, Inc. 347151e4bSgaurav rana * 447151e4bSgaurav rana * SPDX-License-Identifier: GPL-2.0+ 547151e4bSgaurav rana */ 647151e4bSgaurav rana 747151e4bSgaurav rana #include <common.h> 847151e4bSgaurav rana #include <command.h> 947151e4bSgaurav rana #include <fsl_validate.h> 1047151e4bSgaurav rana 11*98cb0efdSgaurav rana static int do_esbc_halt(cmd_tbl_t *cmdtp, int flag, int argc, 12*98cb0efdSgaurav rana char * const argv[]) 13*98cb0efdSgaurav rana { 14*98cb0efdSgaurav rana printf("Core is entering spin loop.\n"); 15*98cb0efdSgaurav rana loop: 16*98cb0efdSgaurav rana goto loop; 17*98cb0efdSgaurav rana 18*98cb0efdSgaurav rana return 0; 19*98cb0efdSgaurav rana } 20*98cb0efdSgaurav rana 2147151e4bSgaurav rana static int do_esbc_validate(cmd_tbl_t *cmdtp, int flag, int argc, 2247151e4bSgaurav rana char * const argv[]) 2347151e4bSgaurav rana { 2447151e4bSgaurav rana if (argc < 2) 2547151e4bSgaurav rana return cmd_usage(cmdtp); 2647151e4bSgaurav rana 2747151e4bSgaurav rana return fsl_secboot_validate(cmdtp, flag, argc, argv); 2847151e4bSgaurav rana } 2947151e4bSgaurav rana 3047151e4bSgaurav rana /***************************************************/ 3147151e4bSgaurav rana static char esbc_validate_help_text[] = 3247151e4bSgaurav rana "esbc_validate hdr_addr <hash_val> - Validates signature using\n" 3347151e4bSgaurav rana " RSA verification\n" 3447151e4bSgaurav rana " $hdr_addr Address of header of the image\n" 3547151e4bSgaurav rana " to be validated.\n" 3647151e4bSgaurav rana " $hash_val -Optional\n" 3747151e4bSgaurav rana " It provides Hash of public/srk key to be\n" 3847151e4bSgaurav rana " used to verify signature.\n"; 3947151e4bSgaurav rana 4047151e4bSgaurav rana U_BOOT_CMD( 4147151e4bSgaurav rana esbc_validate, 3, 0, do_esbc_validate, 4247151e4bSgaurav rana "Validates signature on a given image using RSA verification", 4347151e4bSgaurav rana esbc_validate_help_text 4447151e4bSgaurav rana ); 45*98cb0efdSgaurav rana 46*98cb0efdSgaurav rana U_BOOT_CMD( 47*98cb0efdSgaurav rana esbc_halt, 1, 0, do_esbc_halt, 48*98cb0efdSgaurav rana "Put the core in spin loop ", 49*98cb0efdSgaurav rana "" 50*98cb0efdSgaurav rana ); 51