hc
2024-03-25 edb30157bad0c0001c32b854271ace01d3b9a16a
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
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
/** @file
 *
 *  Copyright (c) 2020, Andrei Warkentin <andrey.warkentin@gmail.com>
 *  Copyright (c) 2020, ARM Limited. All rights reserved.
 *
 *  SPDX-License-Identifier: BSD-2-Clause-Patent
 *
 **/
 
#ifndef CONFIG_VARS_H
#define CONFIG_VARS_H
 
#pragma pack(1)
typedef struct {
  /*
   * One bit for each scaled resolution supported,
   * these are ordered exactly like mGopModeData
   * in DisplayDxe.
   *
   * 800x600, 640x480, 1024x768, 720p, 1080p, native.
   */
   UINT8 v800   : 1;
   UINT8 v640   : 1;
   UINT8 v1024  : 1;
   UINT8 v720p  : 1;
   UINT8 v1080p : 1;
   UINT8 Physical : 1;
} DISPLAY_ENABLE_SCALED_VMODES_VARSTORE_DATA;
#pragma pack()
 
typedef struct {
  /*
   * 0 - No screenshot support.
   * 1 - Screenshot support via hotkey.
   */
   UINT32 Enable;
} DISPLAY_ENABLE_SSHOT_VARSTORE_DATA;
 
typedef struct {
  /*
   * 0 - No JTAG.
   * 1 - JTAG mode.
   */
   UINT32 Enable;
} DEBUG_ENABLE_JTAG_VARSTORE_DATA;
 
typedef struct {
#define CHIPSET_CPU_CLOCK_LOW     0
#define CHIPSET_CPU_CLOCK_DEFAULT 1
#define CHIPSET_CPU_CLOCK_MAX     2
#define CHIPSET_CPU_CLOCK_CUSTOM  3
  UINT32 Clock;
} CHIPSET_CPU_CLOCK_VARSTORE_DATA;
 
typedef struct {
  UINT32 Clock;
} CHIPSET_CUSTOM_CPU_CLOCK_VARSTORE_DATA;
 
typedef struct {
  /*
   * Always set by ConfigDxe prior to HII init to reflect
   * platform capability.
   */
  UINT32 Supported;
} ADVANCED_RAM_MORE_THAN_3GB_VARSTORE_DATA;
 
typedef struct {
  UINT32 Enabled;
} ADVANCED_RAM_LIMIT_TO_3GB_VARSTORE_DATA;
 
typedef struct {
  UINT32 Enabled;
} ADVANCED_FAN_ON_GPIO_VARSTORE_DATA;
 
typedef struct {
  UINT32 Value;
} ADVANCED_FANTEMP_VARSTORE_DATA;
 
typedef struct {
  UINT32 Value;
} ADVANCED_XHCIPCI_VARSTORE_DATA;
 
typedef struct {
#define SYSTEM_TABLE_MODE_ACPI 0
#define SYSTEM_TABLE_MODE_BOTH 1
#define SYSTEM_TABLE_MODE_DT   2
  UINT32 Mode;
} SYSTEM_TABLE_MODE_VARSTORE_DATA;
 
#define ASSET_TAG_STR_MAX_LEN       32
#define ASSET_TAG_STR_STORAGE_SIZE  33
typedef struct {
  CHAR16 AssetTag[ASSET_TAG_STR_STORAGE_SIZE];
} ADVANCED_ASSET_TAG_VARSTORE_DATA;
 
typedef struct {
  /*
   * 0 - uSD slot routed to Broadcom SDHOST on Pi 3 or eMMC2 on Pi 4.
   * 1 - uSD slot routed to Arasan SDHCI.
   */
  UINT32 Routing;
} MMC_SD_VARSTORE_DATA;
 
typedef struct {
  /*
   * 0 - Don't disable multi-block.
   * 1 - Disable multi-block commands.
   */
  UINT32 DisableMulti;
} MMC_DISMULTI_VARSTORE_DATA;
 
typedef struct {
  /*
   * 0 - Don't force 1 bit mode.
   * 1 - Force 1 bit mode.
   */
  UINT32 Force1Bit;
} MMC_FORCE1BIT_VARSTORE_DATA;
 
typedef struct {
  /*
   * 0 - Don't force default speed.
   * 1 - Force default speed.
   */
  UINT32 ForceDS;
} MMC_FORCEDS_VARSTORE_DATA;
 
typedef struct {
  /*
   * Default Speed MHz override (25MHz default).
   */
  UINT32 MHz;
} MMC_SD_DS_MHZ_VARSTORE_DATA;
 
typedef struct {
  /*
   * High Speed MHz override (50MHz default).
   */
  UINT32 MHz;
} MMC_SD_HS_MHZ_VARSTORE_DATA;
 
typedef struct {
  /*
   * 0 - eMMC PIO mode
   * 1 - eMMC DMA mode
   */
  UINT32 EnableDma;
} MMC_EMMC_DMA_VARSTORE_DATA;
 
#endif /* CONFIG_VARS_H */