@@ -69,7 +69,8 @@ public static PrivateClockBoostLockV2 CreatePStateAndFrequencyLock(PerformanceSt
6969 }
7070
7171 /// <summary>
72- /// Creates a reset configuration to return clocks to dynamic management
72+ /// Creates a reset configuration to return clock and performance state domains (0, 1, 4, 5) to dynamic management.
73+ /// To reset voltage lock (Domain 6), use <see cref="CreateVoltageReset" />.
7374 /// </summary>
7475 public static PrivateClockBoostLockV2 CreateDynamicReset ( )
7576 {
@@ -82,6 +83,29 @@ public static PrivateClockBoostLockV2 CreateDynamicReset()
8283 } ) ;
8384 }
8485
86+ /// <summary>
87+ /// Creates a lock configuration for a target voltage (Domain 6)
88+ /// </summary>
89+ /// <param name="voltageInMicroV">The target voltage in uV.</param>
90+ public static PrivateClockBoostLockV2 CreateVoltageLock ( uint voltageInMicroV )
91+ {
92+ return new PrivateClockBoostLockV2 ( new [ ]
93+ {
94+ ClockBoostLock . CreateVoltageLock ( voltageInMicroV )
95+ } ) ;
96+ }
97+
98+ /// <summary>
99+ /// Creates a reset configuration for voltage (Domain 6) to return to dynamic management
100+ /// </summary>
101+ public static PrivateClockBoostLockV2 CreateVoltageReset ( )
102+ {
103+ return new PrivateClockBoostLockV2 ( new [ ]
104+ {
105+ ClockBoostLock . CreateVoltageReset ( )
106+ } ) ;
107+ }
108+
85109 /// <summary>
86110 /// Contains information regarding a clock boost lock entry
87111 /// </summary>
@@ -208,6 +232,37 @@ public static ClockBoostLock CreateDynamicReset(uint domain)
208232 lockEntry . _Flag = 0 ;
209233 return lockEntry ;
210234 }
235+
236+ /// <summary>
237+ /// Creates a voltage lock entry (Domain 6, Manual mode)
238+ /// </summary>
239+ /// <param name="voltageInMicroV">The target voltage in uV.</param>
240+ public static ClockBoostLock CreateVoltageLock ( uint voltageInMicroV )
241+ {
242+ var lockEntry = new ClockBoostLock ( ) ;
243+ lockEntry . _ClockDomain = PublicClockDomain . Voltage ;
244+ lockEntry . _Mode = 0 ;
245+ lockEntry . _LockMode = ClockLockMode . Manual ;
246+ lockEntry . _Value = 0 ;
247+ lockEntry . _VoltageInMicroV = voltageInMicroV ;
248+ lockEntry . _Flag = 0 ;
249+ return lockEntry ;
250+ }
251+
252+ /// <summary>
253+ /// Creates a voltage reset entry (Domain 6, Dynamic mode)
254+ /// </summary>
255+ public static ClockBoostLock CreateVoltageReset ( )
256+ {
257+ var lockEntry = new ClockBoostLock ( ) ;
258+ lockEntry . _ClockDomain = PublicClockDomain . Voltage ;
259+ lockEntry . _Mode = 0 ;
260+ lockEntry . _LockMode = ClockLockMode . None ;
261+ lockEntry . _Value = 0 ;
262+ lockEntry . _VoltageInMicroV = 0 ;
263+ lockEntry . _Flag = 0 ;
264+ return lockEntry ;
265+ }
211266 }
212267 }
213268}
0 commit comments