PCV services: Difference between revisions

No edit summary
 
(2 intermediate revisions by the same user not shown)
Line 16: Line 16:
| 4 || [[#GetAcOk]]
| 4 || [[#GetAcOk]]
|-
|-
| 5 || [[#GetBoardPowerControlEvent]]
| 5 || [[#GetPowerEvent]]
|-
|-
| 6 || [2.0.0-13.2.1] [[#GetSleepButtonState]]
| 6 || [2.0.0-13.2.1] [[#GetSleepButtonState]]
|-
|-
| 7 || [2.0.0+] [[#GetPowerEvent]]
| 7 || [2.0.0+] [[#GetPowerButtonEvent]]
|-
|-
| 8 || [2.0.0-9.2.0] [[#CreateWakeupTimer]]
| 8 || [2.0.0-9.2.0] [[#CreateWakeupTimer]]
Line 36: Line 36:
| 14 || [6.0.0+] [[#GetPowerButton]]
| 14 || [6.0.0+] [[#GetPowerButton]]
|-
|-
| 15 || [10.0.0+] [[#SetEnableWakeupTimer]]
| 15 || [10.0.0+] [[#SetUpRtcResetOnShutdown]]
|}
|}


Line 54: Line 54:
No input. Returns an output bool.
No input. Returns an output bool.


== GetBoardPowerControlEvent ==
== GetPowerEvent ==
Takes an input [[#BoardPowerControlEventTarget|BoardPowerControlEventTarget]]. Returns an output Event handle.
Takes an input [[#BoardPowerControlEventTarget|BoardPowerControlEventTarget]]. Returns an output Event handle.


Line 60: Line 60:
No input. Returns an output [[#SleepButtonState|SleepButtonState]].
No input. Returns an output [[#SleepButtonState|SleepButtonState]].


== GetPowerEvent ==
== GetPowerButtonEvent ==
Takes an input [[#EventTarget|EventTarget]]. Returns an output Event handle.
Takes an input [[#EventTarget|EventTarget]]. Returns an output Event handle.


Line 86: Line 86:
No input. Returns an output bool '''IsPushed'''.
No input. Returns an output bool '''IsPushed'''.


== SetEnableWakeupTimer ==
== SetUpRtcResetOnShutdown ==
Unofficial name.
 
No input/output. Enables an internal wakeup timer when calling [[#ShutdownSystem|ShutdownSystem]] or [[#RebootSystem|RebootSystem]].
No input/output. Enables an internal wakeup timer when calling [[#ShutdownSystem|ShutdownSystem]] or [[#RebootSystem|RebootSystem]].


Line 143: Line 141:
| 4 || [[#GetAcOk]]
| 4 || [[#GetAcOk]]
|-
|-
| 5 || [[#GetBoardPowerControlEvent]]
| 5 || [[#GetPowerEvent]]
|}
|}


Line 157: Line 155:
| 0 || [[#GetSleepButtonState]]
| 0 || [[#GetSleepButtonState]]
|-
|-
| 1 || [[#GetPowerEvent]]
| 1 || [[#GetPowerButtonEvent]]
|}
|}


Line 380: Line 378:
| 1 || [[#GetTemperatureThresholds|GetTemperatureThresholds]]
| 1 || [[#GetTemperatureThresholds|GetTemperatureThresholds]]
|-
|-
| 2 || [[#SetTemperature|SetTemperature]]
| 2 || [[#NotifyTemperature|NotifyTemperature]]
|-
|-
| 3 || [[#GetModuleStateTable|GetModuleStateTable]]
| 3 || [[#GetClkrstStateTable|GetClkrstStateTable]]
|-
|-
| 4 || [[#GetModuleStateTableEvent|GetModuleStateTableEvent]]
| 4 || [[#GetClkrstStateTableUpdateEvent|GetClkrstStateTableUpdateEvent]]
|-
|-
| 5 || [[#GetModuleStateTableMaxCount|GetModuleStateTableMaxCount]]
| 5 || [[#GetClkrstStateTableCount|GetClkrstStateTableCount]]
|-
|-
| 6 || [15.0.0+]
| 6 || [15.0.0+] PrintClockTree
|-
| 7 || [20.0.0+]
|}
|}


Line 394: Line 394:
Takes an input [[#Module|DeviceCode]] and an input u32. Returns an [[#IClkrstSession]].
Takes an input [[#Module|DeviceCode]] and an input u32. Returns an [[#IClkrstSession]].


== GetModuleStateTableEvent ==
== NotifyTemperature ==
Unofficial name.
Takes an input float. No output.
 
== GetClkrstStateTable ==
Takes a type-0xA output buffer of [[#ModuleState|ModuleState]] and an input s32 '''MaxCount'''. Returns an output s32 '''OutCount'''.
 
[7.0.0+] The type-0xA output buffer was replaced with a type-0x22 output buffer.


== GetClkrstStateTableUpdateEvent ==
No input. Returns an output Event handle.
No input. Returns an output Event handle.


== GetModuleStateTableMaxCount ==
== GetClkrstStateTableCount ==
Unofficial name.
 
No input. Returns 0x1A.
No input. Returns 0x1A.


Line 411: Line 415:
! Cmd || Name
! Cmd || Name
|-
|-
| 0 || SetClockEnabled
| 0 || EnableClock
|-
|-
| 1 || SetClockDisabled
| 1 || DisableClock
|-
|-
| 2 || SetResetAsserted
| 2 || AssertReset
|-
|-
| 3 || SetResetDeasserted
| 3 || DeassertReset
|-
|-
| 4 || SetPowerEnabled
| 4 || EnablePower
|-
|-
| 5 || SetPowerDisabled
| 5 || DisablePower
|-
|-
| 6 || GetState
| 6 || GetModuleState
|-
|-
| 7 || SetClockRate
| 7 || SetClockRate
Line 429: Line 433:
| 8 || GetClockRate
| 8 || GetClockRate
|-
|-
| 9 || SetMinVClockRate
| 9 || SetMinimumVoltageClockRate
|-
|-
| 10 || GetPossibleClockRates
| 10 || GetPossibleClockRates
Line 435: Line 439:
| 11 || GetDvfsTable
| 11 || GetDvfsTable
|-
|-
| 12 || [14.0.0+]  
| 12 || [14.0.0+] IsParentClock
|-
|-
| 13 || [14.0.0+]  
| 13 || [14.0.0+] SetParentClock
|-
| 14 || [18.0.0+]
|-
| 15 || [18.0.0+]  
|}
|}


Line 466: Line 474:
| 0 || [[#OpenSession_2|OpenSession]]
| 0 || [[#OpenSession_2|OpenSession]]
|-
|-
| 1 || [[#GetPowerDomainStateTable|GetPowerDomainStateTable]]
| 1 || [[#GetRegulatorStateTable|GetRegulatorStateTable]]
|-
|-
| 2 || [[#GetPowerDomainStateTableEvent|GetPowerDomainStateTableEvent]]
| 2 || [[#GetRegulatorStateTableUpdateEvent|GetRegulatorStateTableUpdateEvent]]
|-
|-
| 3 || [[#GetPowerDomainStateTableMaxCount|GetPowerDomainStateTableMaxCount]]
| 3 || [[#GetRegulatorStateTableCount|GetRegulatorStateTableCount]]
|}
|}


Line 476: Line 484:
Takes an input [[#PowerDomain|DeviceCode]] and returns an [[#IRegulatorSession]].
Takes an input [[#PowerDomain|DeviceCode]] and returns an [[#IRegulatorSession]].


== GetPowerDomainStateTableEvent ==
== GetRegulatorStateTable ==
Unofficial name.
Takes a type-0xA output buffer of [[#PowerDomainState|PowerDomainState]] and an input s32 '''MaxCount'''. Returns an output s32 '''OutCount'''.
 
[7.0.0+] The type-0xA output buffer was replaced with a type-0x22 output buffer.


== GetRegulatorStateTableUpdateEvent ==
No input. Returns an output Event handle.
No input. Returns an output Event handle.


== GetPowerDomainStateTableMaxCount ==
== GetRegulatorStateTableCount ==
Unofficial name.
 
No input. Returns 0x3.
No input. Returns 0x3.


Line 493: Line 502:
! Cmd || Name
! Cmd || Name
|-
|-
| 0 || SetVoltageEnabled
| 0 || RequestOutput
|-
|-
| 1 || PowerOn
| 1 || CancelOutputRequest
|-
|-
| 2 || GetVoltageEnabled
| 2 || IsOutputEnabled
|-
|-
| 3 || GetVoltageRange
| 3 || GetVoltageRangeInMicroVolt
|-
|-
| 4 || GetVoltage
| 4 || GetVoltageInMicroVolt
|-
|-
| 5 || SetVoltageValue
| 5 || RequestVoltageInMicroVolt
|-
|-
| 6 || PowerOff
| 6 || CancelVoltageRequest
|-
|-
| 7 || [13.0.0+] [[#GetMinimumOffStateHoldTime|GetMinimumOffStateHoldTime]]
| 7 || [13.0.0+] [[#GetMinimumOffStateHoldTime|GetMinimumOffStateHoldTime]]
Line 511: Line 520:
| 8 || [13.0.0+] [[#RequestMinimumOffStateHoldTime|RequestMinimumOffStateHoldTime]]
| 8 || [13.0.0+] [[#RequestMinimumOffStateHoldTime|RequestMinimumOffStateHoldTime]]
|-
|-
| 9 || [13.0.0+] [[#RemoveMinimumOffStateHoldTime|RemoveMinimumOffStateHoldTime]]
| 9 || [13.0.0+] [[#CancelMinimumOffStateHoldTimeRequest|CancelMinimumOffStateHoldTimeRequest]]
|}
|}


=== GetMinimumOffStateHoldTime ===
=== GetMinimumOffStateHoldTime ===
Unofficial name.
No input. Returns an output u64.
No input. Returns an output u64.


Line 522: Line 529:
Takes an input u64. No output.  
Takes an input u64. No output.  


=== RemoveMinimumOffStateHoldTime ===
=== CancelMinimumOffStateHoldTimeRequest ===
Unofficial name.
 
No input/output.
No input/output.


Line 536: Line 541:
! Cmd || Name
! Cmd || Name
|-
|-
| 0 || [[#GetRtcTime_2|GetRtcTime]]
| 0 || [[#GetTimeInSeconds|GetTimeInSeconds]]
|-
|-
| 1 || [[#SetRtcTime_2|SetRtcTime]]
| 1 || [[#SetTimeInSeconds|SetTimeInSeconds]]
|-
|-
| 2 || [[#SetUpRtcResetOnShutdown_2|SetUpRtcResetOnShutdown]]
| 2 || [[#SetResetOnShutdown|SetResetOnShutdown]]
|-
|-
| 3 || [[#GetRtcResetDetected_2|GetRtcResetDetected]]
| 3 || [[#GetResetDetected|GetResetDetected]]
|-
|-
| 4 || [[#ClearRtcResetDetected_2|ClearRtcResetDetected]]
| 4 || [[#ClearResetDetected|ClearResetDetected]]
|-
|-
| 10 || [10.0.0+] [[#EnableRtcAlarm|EnableRtcAlarm]]
| 10 || [10.0.0+] [[#EnableAlarm|EnableAlarm]]
|-
|-
| 11 || [10.0.0+] [[#DisableRtcAlarm|DisableRtcAlarm]]
| 11 || [10.0.0+] [[#DisableRtcAlarm|DisableRtcAlarm]]
|-
| 12 || [18.0.0+]
|-
| 13 || [18.0.0+]
|}
|}


== GetRtcTime ==
[20.0.0+] Cmd13 now takes a total of 4-bytes of input instead of 8-bytes and returns a total of 2-bytes of output.
 
== GetTimeInSeconds ==
Same as [[#GetRtcTime|GetRtcTime]], but takes an input [[Bus_services#I2cDevice|DeviceCode]] ([[#bpc:r|bpc:r]] uses hardcoded value 0x3B000001).
Same as [[#GetRtcTime|GetRtcTime]], but takes an input [[Bus_services#I2cDevice|DeviceCode]] ([[#bpc:r|bpc:r]] uses hardcoded value 0x3B000001).


== SetRtcTime ==
== SetTimeInSeconds ==
Same as [[#SetRtcTime|SetRtcTime]], but takes an input [[Bus_services#I2cDevice|DeviceCode]] ([[#bpc:r|bpc:r]] uses hardcoded value 0x3B000001).
Same as [[#SetRtcTime|SetRtcTime]], but takes an input [[Bus_services#I2cDevice|DeviceCode]] ([[#bpc:r|bpc:r]] uses hardcoded value 0x3B000001).


== SetUpRtcResetOnShutdown ==
== SetResetOnShutdown ==
Takes an input bool '''DoReset''' and an input [[Bus_services#I2cDevice|DeviceCode]]. Similar to [[#SetUpRtcResetOnShutdown|SetUpRtcResetOnShutdown]], but this version assigns the provided boolean value on a per-client basis (instead of a global variable) and checks it when the current [[PSC_services#Power_Management_States|power state]] is '''ReadyShutdown'''.
Takes an input bool '''DoReset''' and an input [[Bus_services#I2cDevice|DeviceCode]]. Similar to [[#SetUpRtcResetOnShutdown|SetUpRtcResetOnShutdown]], but this version assigns the provided boolean value on a per-client basis (instead of a global variable) and checks it when the current [[PSC_services#Power_Management_States|power state]] is '''ReadyShutdown'''.


== GetRtcResetDetected ==
== GetResetDetected ==
Same as [[#GetRtcResetDetected|GetRtcResetDetected]], but takes an input [[Bus_services#I2cDevice|DeviceCode]] ([[#bpc:r|bpc:r]] uses hardcoded value 0x3B000001).
Same as [[#GetRtcResetDetected|GetRtcResetDetected]], but takes an input [[Bus_services#I2cDevice|DeviceCode]] ([[#bpc:r|bpc:r]] uses hardcoded value 0x3B000001).


== ClearRtcResetDetected ==
== ClearResetDetected ==
Same as [[#ClearRtcResetDetected|ClearRtcResetDetected]], but takes an input [[Bus_services#I2cDevice|DeviceCode]] ([[#bpc:r|bpc:r]] uses hardcoded value 0x3B000001).
Same as [[#ClearRtcResetDetected|ClearRtcResetDetected]], but takes an input [[Bus_services#I2cDevice|DeviceCode]] ([[#bpc:r|bpc:r]] uses hardcoded value 0x3B000001).


== EnableRtcAlarm ==
== EnableAlarm ==
Unofficial name.
 
Takes an input [[#Module|DeviceCode]], an input u32 '''RtcAlarmId''' (0 = RtcAlarm1, 1 = RtcAlarm2) and an u64 '''RtcAlarmTime'''. No output.
Takes an input [[#Module|DeviceCode]], an input u32 '''RtcAlarmId''' (0 = RtcAlarm1, 1 = RtcAlarm2) and an u64 '''RtcAlarmTime'''. No output.


== DisableRtcAlarm ==
== DisableAlarm ==
Unofficial name.
 
Takes an input [[#Module|DeviceCode]] and an input u32 '''RtcAlarmId''' (0 = RtcAlarm1, 1 = RtcAlarm2). No output.
Takes an input [[#Module|DeviceCode]] and an input u32 '''RtcAlarmId''' (0 = RtcAlarm1, 1 = RtcAlarm2). No output.