Blame view

tools/ifdtool.h 1.44 KB
cd392fe8a   Simon Glass   x86: Add ifdtool ...
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
  /*
   * ifdtool - Manage Intel Firmware Descriptor information
   *
   * Copyright (C) 2011 The ChromiumOS Authors.
   *
   * SPDX-License-Identifier:	GPL-2.0
   *
   * From Coreboot project
   */
  
  #include <stdint.h>
  
  #define __packed	__attribute__((packed))
  
  #define IFDTOOL_VERSION "1.1-U-Boot"
673ed2f8c   Bin Meng   tools/ifdtool: Su...
16
  #define WRITE_MAX	16
cd392fe8a   Simon Glass   x86: Add ifdtool ...
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
  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;
  };