view loadtools/flprotreg.c @ 712:a167d7b376b7

fc-loadtool code: flprotreg.c factored out
author Mychaela Falconia <falcon@freecalypso.org>
date Fri, 05 Jun 2020 07:29:59 +0000
parents
children cf7bd5e705ed
line wrap: on
line source

/*
 * This module implements commands dealing with Intel flash protection
 * register, which holds the IMEI on Compal phones.
 */

#include <sys/types.h>
#include <stdio.h>
#include <stdint.h>
#include <string.h>
#include <strings.h>
#include <stdlib.h>
#include "flash.h"

extern struct flash_bank_info flash_bank_info[2];

flashcmd_protreg(argc, argv, bank)
	char **argv;
{
	struct flash_bank_info *bi;
	uint16_t data[9];
	int rc;

	if (argc > 2) {
		fprintf(stderr, "error: too many arguments\n");
		return(-1);
	}
	if (flash_detect(bank, 0) < 0)
		return(-1);
	bi = flash_bank_info + bank;
	rc = bi->ops->read_prot_reg(bi, data);
	if (rc)
		return(rc);
	printf("Lock word: %04X\n", data[0]);
	printf("Factory words: %04X %04X %04X %04X\n", data[1], data[2],
		data[3], data[4]);
	printf("User words: %04X %04X %04X %04X\n", data[5], data[6], data[7],
		data[8]);
	return(0);
}