2 * flash_otp_dump.c -- display One-Time-Programm data
5 #define PROGRAM_NAME "flash_otp_dump"
12 #include <sys/ioctl.h>
14 #include <mtd/mtd-user.h>
16 int main(int argc,char *argv[])
18 int fd, val, i, offset, ret;
19 unsigned char buf[16];
21 if (argc != 3 || (strcmp(argv[1], "-f") && strcmp(argv[1], "-u"))) {
22 fprintf(stderr,"Usage: %s [ -f | -u ] <device>\n", PROGRAM_NAME);
26 fd = open(argv[2], O_RDONLY);
32 val = argv[1][1] == 'f' ? MTD_OTP_FACTORY : MTD_OTP_USER;
33 ret = ioctl(fd, OTPSELECT, &val);
39 printf("OTP %s data for %s\n",
40 argv[1][1] == 'f' ? "factory" : "user", argv[2]);
42 while ((ret = read(fd, buf, sizeof(buf)))) {
47 printf("0x%04x:", offset);
48 for (i = 0; i < ret; i++)
49 printf(" %02x", buf[i]);