-
Notifications
You must be signed in to change notification settings - Fork 0
/
ifdtool.h
89 lines (72 loc) · 1.44 KB
/
ifdtool.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
/* SPDX-License-Identifier: GPL-2.0 */
/*
* ifdtool - Manage Intel Firmware Descriptor information
*
* Copyright (C) 2011 The ChromiumOS Authors.
*
* From Coreboot project
*/
#include <stdint.h>
#define __packed __attribute__((packed))
#define IFDTOOL_VERSION "1.1-U-Boot"
#define WRITE_MAX 16
enum spi_frequency {
SPI_FREQUENCY_20MHZ = 0,
SPI_FREQUENCY_33MHZ = 1,
SPI_FREQUENCY_50MHZ = 4,
};
enum component_density {
COMPONENT_DENSITY_512KB = 0,
COMPONENT_DENSITY_1MB = 1,
COMPONENT_DENSITY_2MB = 2,
COMPONENT_DENSITY_4MB = 3,
COMPONENT_DENSITY_8MB = 4,
COMPONENT_DENSITY_16MB = 5,
};
/* flash descriptor */
struct __packed fdbar_t {
uint32_t flvalsig;
uint32_t flmap0;
uint32_t flmap1;
uint32_t flmap2;
uint8_t reserved[0xefc - 0x20];
uint32_t flumap1;
};
#define MAX_REGIONS 5
/* regions */
struct __packed frba_t {
uint32_t flreg[MAX_REGIONS];
};
/* component section */
struct __packed fcba_t {
uint32_t flcomp;
uint32_t flill;
uint32_t flpb;
};
#define MAX_STRAPS 18
/* pch strap */
struct __packed fpsba_t {
uint32_t pchstrp[MAX_STRAPS];
};
/* master */
struct __packed fmba_t {
uint32_t flmstr1;
uint32_t flmstr2;
uint32_t flmstr3;
};
/* processor strap */
struct __packed fmsba_t {
uint32_t data[8];
};
/* ME VSCC */
struct vscc_t {
uint32_t jid;
uint32_t vscc;
};
struct vtba_t {
/* Actual number of entries specified in vtl */
struct vscc_t entry[8];
};
struct region_t {
int base, limit, size;
};