coreboot
coreboot is an Open Source project aimed at replacing the proprietary BIOS found in most computers.
cse_layout.h
Go to the documentation of this file.
1 /* BPDT version 1.7 support */
2 /* SPDX-License-Identifier: GPL-2.0-only */
3 
4 #include <sys/types.h>
5 
7  SMIP = 0,
8  CSE_RBE = 1,
9  CSE_BUP = 2,
10  UCODE = 3,
11  IBB = 4,
12  S_BPDT = 5,
13  OBB = 6,
14  CSE_MAIN = 7,
15  ISH = 8,
16  CSE_IDLM = 9,
18  UTOK = 11,
19  UFS_PHY = 12,
20  UFS_GPP = 13,
21  PMC = 14,
22  IUNIT = 15,
23  NVM_CFG = 16,
24  UEP = 17,
25  OEM_KM = 20,
26  PAVP = 22,
27  IOM_FW = 23,
28  NPHY_FW = 24,
29  TBT_FW = 25,
30  ICC = 32,
31 
33 };
34 
35 struct bpdt_header {
36  uint32_t signature; /* BPDT_SIGNATURE */
38  uint8_t version; /* Layout 1.7 = 2 */
42  struct {
49 
50 struct cse_layout {
71 } __packed;
72 
73 struct bpdt_entry {
77 } __packed;
78 
79 struct subpart_hdr {
80  uint32_t signature; /* SUBPART_SIGNATURE */
82  uint8_t hdr_version; /* Header version = 2 */
83  uint8_t entry_version; /* Entry version = 1 */
88 } __packed;
89 
90 struct subpart_entry {
95 } __packed;
96 
99  struct {
105 } __packed;
struct bpdt_header __packed
bpdt_entry_type
Definition: cse_layout.h:6
@ UFS_GPP
Definition: cse_layout.h:20
@ UFS_PHY
Definition: cse_layout.h:19
@ NPHY_FW
Definition: cse_layout.h:28
@ UTOK
Definition: cse_layout.h:18
@ TBT_FW
Definition: cse_layout.h:29
@ UEP
Definition: cse_layout.h:24
@ IOM_FW
Definition: cse_layout.h:27
@ CSE_MAIN
Definition: cse_layout.h:14
@ CSE_BUP
Definition: cse_layout.h:9
@ OEM_KM
Definition: cse_layout.h:25
@ IBB
Definition: cse_layout.h:11
@ CSE_RBE
Definition: cse_layout.h:8
@ S_BPDT
Definition: cse_layout.h:12
@ PAVP
Definition: cse_layout.h:26
@ PMC
Definition: cse_layout.h:21
@ UCODE
Definition: cse_layout.h:10
@ SMIP
Definition: cse_layout.h:7
@ MAX_SUBPARTS
Definition: cse_layout.h:32
@ ISH
Definition: cse_layout.h:15
@ OBB
Definition: cse_layout.h:13
@ ICC
Definition: cse_layout.h:30
@ IFP_OVERRIDE
Definition: cse_layout.h:17
@ CSE_IDLM
Definition: cse_layout.h:16
@ IUNIT
Definition: cse_layout.h:22
@ NVM_CFG
Definition: cse_layout.h:23
unsigned short uint16_t
Definition: stdint.h:11
unsigned int uint32_t
Definition: stdint.h:14
unsigned char uint8_t
Definition: stdint.h:8
Definition: cse_layout.h:73
uint32_t size
Definition: cse_layout.h:76
uint32_t type
Definition: cse_layout.h:74
uint32_t offset
Definition: cse_layout.h:75
uint16_t major
Definition: cse_layout.h:43
uint16_t hotfix
Definition: cse_layout.h:46
struct bpdt_header::@538 fit_tool_version
uint32_t checksum
Definition: cse_layout.h:40
uint8_t version
Definition: cse_layout.h:38
uint32_t ifwi_version
Definition: cse_layout.h:41
uint8_t flags
Definition: cse_layout.h:39
uint16_t build
Definition: cse_layout.h:45
uint16_t minor
Definition: cse_layout.h:44
uint16_t descriptor_count
Definition: cse_layout.h:37
uint32_t signature
Definition: cse_layout.h:36
uint32_t bp2_size
Definition: cse_layout.h:60
uint32_t bp4_offset
Definition: cse_layout.h:63
uint32_t checksum
Definition: cse_layout.h:54
uint32_t bp5_size
Definition: cse_layout.h:66
uint32_t bp3_offset
Definition: cse_layout.h:61
uint32_t bp1_offset
Definition: cse_layout.h:57
uint32_t flog_offset
Definition: cse_layout.h:69
uint32_t bp3_size
Definition: cse_layout.h:62
uint32_t bp5_offset
Definition: cse_layout.h:65
uint16_t redundancy
Definition: cse_layout.h:53
uint32_t temp_base_addr
Definition: cse_layout.h:67
uint32_t data_offset
Definition: cse_layout.h:55
uint8_t rom_bypass[16]
Definition: cse_layout.h:51
uint32_t bp1_size
Definition: cse_layout.h:58
uint32_t data_size
Definition: cse_layout.h:56
uint32_t temp_base_size
Definition: cse_layout.h:68
uint16_t size
Definition: cse_layout.h:52
uint32_t flog_size
Definition: cse_layout.h:70
uint32_t bp4_size
Definition: cse_layout.h:64
uint32_t bp2_offset
Definition: cse_layout.h:59
Definition: cse_layout.h:97
uint16_t hotfix
Definition: cse_layout.h:103
uint8_t reserved[36]
Definition: cse_layout.h:98
uint16_t major
Definition: cse_layout.h:100
uint16_t minor
Definition: cse_layout.h:101
struct subpart_entry_manifest_header::@539 binary_version
uint16_t build
Definition: cse_layout.h:102
Definition: cse_layout.h:90
uint8_t name[12]
Definition: cse_layout.h:91
uint32_t offset_bytes
Definition: cse_layout.h:92
uint32_t length
Definition: cse_layout.h:93
uint32_t rsvd2
Definition: cse_layout.h:94
uint8_t reserved
Definition: cse_layout.h:85
uint8_t length
Definition: cse_layout.h:84
uint8_t hdr_version
Definition: cse_layout.h:82
uint8_t entry_version
Definition: cse_layout.h:83
uint32_t count
Definition: cse_layout.h:81
uint32_t checksum
Definition: cse_layout.h:87
uint8_t name[4]
Definition: cse_layout.h:86
uint32_t signature
Definition: cse_layout.h:80