-
Notifications
You must be signed in to change notification settings - Fork 7
Expand file tree
/
Copy pathexpo.h
More file actions
182 lines (124 loc) · 4.21 KB
/
expo.h
File metadata and controls
182 lines (124 loc) · 4.21 KB
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
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
#ifndef EXPO_H
#define EXPO_H
#include <string>
#include "ddr5spd_structs.h"
using namespace ddr5_structs;
class EXPO_Profile {
public:
EXPO_Profile(ddr5_structs::EXPO_ProfileStruct &);
EXPO_Profile();
// Voltages
const unsigned short getVPP();
void setVPP(const unsigned short);
const unsigned short getVDD();
void setVDD(const unsigned short);
const unsigned short getVDDQ();
void setVDDQ(const unsigned short);
// Cycle + CAS
const unsigned short getMinCycleTime();
void setMinCycleTime(const unsigned short);
const unsigned int getFrequency();
const unsigned int getMT();
// Timings
const unsigned short gettAA();
void settAA(const unsigned short);
const unsigned short gettRCD();
void settRCD(const unsigned short);
const unsigned short gettRP();
void settRP(const unsigned short);
const unsigned short gettRAS();
void settRAS(const unsigned short);
const unsigned short gettRC();
void settRC(const unsigned short);
const unsigned short gettWR();
void settWR(const unsigned short);
const unsigned short gettRFC1();
void settRFC1(const unsigned short);
const unsigned short gettRFC2();
void settRFC2(const unsigned short);
const unsigned short gettRFC();
void settRFC(const unsigned short);
const unsigned short gettRRD_L();
void settRRD_L(const unsigned short);
const unsigned short gettCCD_L_WR();
void settCCD_L_WR(const unsigned short);
const unsigned short gettCCD_L_WR2();
void settCCD_L_WR2(const unsigned short);
const unsigned short gettCCD_L_WTR();
void settCCD_L_WTR(const unsigned short);
const unsigned short gettCCD_S_WTR();
void settCCD_S_WTR(const unsigned short);
const unsigned short gettCCD_L();
void settCCD_L(const unsigned short);
const unsigned short gettRTP();
void settRTP(const unsigned short);
const unsigned short gettFAW();
void settFAW(const unsigned short);
const unsigned short gettAA_tick();
void settAA_tick(const unsigned short);
const unsigned short gettRCD_tick();
void settRCD_tick(const unsigned short);
const unsigned short gettRP_tick();
void settRP_tick(const unsigned short);
const unsigned short gettRAS_tick();
void settRAS_tick(const unsigned short);
const unsigned short gettRC_tick();
void settRC_tick(const unsigned short);
const unsigned short gettWR_tick();
void settWR_tick(const unsigned short);
const unsigned short gettRFC1_tick();
void settRFC1_tick(const unsigned short);
const unsigned short gettRFC2_tick();
void settRFC2_tick(const unsigned short);
const unsigned short gettRFC_tick();
void settRFC_tick(const unsigned short);
const unsigned short gettRRD_L_tick();
void settRRD_L_tick(const unsigned short);
const unsigned short gettCCD_L_WR_tick();
void settCCD_L_WR_tick(const unsigned short);
const unsigned short gettCCD_L_WR2_tick();
void settCCD_L_WR2_tick(const unsigned short);
const unsigned short gettCCD_L_WTR_tick();
void settCCD_L_WTR_tick(const unsigned short);
const unsigned short gettCCD_S_WTR_tick();
void settCCD_S_WTR_tick(const unsigned short);
const unsigned short gettCCD_L_tick();
void settCCD_L_tick(const unsigned short);
const unsigned short gettRTP_tick();
void settRTP_tick(const unsigned short);
const unsigned short gettFAW_tick();
void settFAW_tick(const unsigned short);
const unsigned short getDimmsChannel();
void setDimmsChannel(const unsigned short);
const unsigned short getCRC();
void setCRC(const unsigned short);
void wipeProfile();
void resetProfile();
void copyFromXMP(const XMP_ProfileStruct &xmpProfile);
const bool hasData();
EXPO_ProfileStruct getCopy();
void import(const EXPO_ProfileStruct);
private:
EXPO_ProfileStruct &expoProfileStruct;
};
class EXPO_Bundle {
public:
EXPO_Bundle(EXPO_Struct &);
void enableMagic();
void clearMagic();
bool isMagicPresent();
const bool isEXPO1Enabled();
void setEXPO1Enabled(const bool);
const bool isEXPO2Enabled();
void setEXPO2Enabled(const bool);
const unsigned short getCRC();
void setCRC(const unsigned short);
void fixCRC();
void resetAndCreateSample();
void wipe();
EXPO_Profile profile1;
EXPO_Profile profile2;
private:
EXPO_Struct &expoStruct;
};
#endif // EXPO_H