Line 16: |
Line 16: |
| | 4 || [[#GetAcOk]] | | | 4 || [[#GetAcOk]] |
| |- | | |- |
− | | 5 || [[#GetBoardPowerControlEvent]] | + | | 5 || [[#GetPowerEvent]] |
| |- | | |- |
− | | 6 || [2.0.0+] [[#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 376: |
Line 374: |
| ! Cmd || Name | | ! Cmd || Name |
| |- | | |- |
− | | 0 || [[#OpenSession]] | + | | 0 || [[#OpenSession|OpenSession]] |
| |- | | |- |
− | | 1 || GetTemperatureThresholds | + | | 1 || [[#GetTemperatureThresholds|GetTemperatureThresholds]] |
| |- | | |- |
− | | 2 || SetTemperature | + | | 2 || [[#NotifyTemperature|NotifyTemperature]] |
| |- | | |- |
− | | 3 || GetModuleStateTable | + | | 3 || [[#GetClkrstStateTable|GetClkrstStateTable]] |
| |- | | |- |
− | | 4 || GetModuleStateTableEvent | + | | 4 || [[#GetClkrstStateTableUpdateEvent|GetClkrstStateTableUpdateEvent]] |
| |- | | |- |
− | | 5 || [[#GetModuleStateTableMaxCount]] | + | | 5 || [[#GetClkrstStateTableCount|GetClkrstStateTableCount]] |
| + | |- |
| + | | 6 || [15.0.0+] PrintClockTree |
| |} | | |} |
| | | |
Line 392: |
Line 392: |
| Takes an input [[#Module|DeviceCode]] and an input u32. Returns an [[#IClkrstSession]]. | | Takes an input [[#Module|DeviceCode]] and an input u32. Returns an [[#IClkrstSession]]. |
| | | |
− | == GetModuleStateTableMaxCount == | + | == NotifyTemperature == |
− | Returns 0x1A. | + | 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. |
| + | |
| + | == GetClkrstStateTableCount == |
| + | No input. Returns 0x1A. |
| | | |
| == IClkrstSession == | | == IClkrstSession == |
Line 402: |
Line 413: |
| ! 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 420: |
Line 431: |
| | 8 || GetClockRate | | | 8 || GetClockRate |
| |- | | |- |
− | | 9 || SetMinVClockRate | + | | 9 || SetMinimumVoltageClockRate |
| |- | | |- |
| | 10 || GetPossibleClockRates | | | 10 || GetPossibleClockRates |
| |- | | |- |
| | 11 || GetDvfsTable | | | 11 || GetDvfsTable |
| + | |- |
| + | | 12 || [14.0.0+] IsParentClock |
| + | |- |
| + | | 13 || [14.0.0+] SetParentClock |
| + | |- |
| + | | 14 || [18.0.0+] |
| + | |- |
| + | | 15 || [18.0.0+] |
| |} | | |} |
| | | |
Line 451: |
Line 470: |
| ! Cmd || Name | | ! Cmd || Name |
| |- | | |- |
− | | 0 || [[#OpenSession]] | + | | 0 || [[#OpenSession_2|OpenSession]] |
| |- | | |- |
− | | 1 || [[#GetPowerDomainStateTable]] | + | | 1 || [[#GetRegulatorStateTable|GetRegulatorStateTable]] |
| |- | | |- |
− | | 2 || GetPowerDomainStateTableEvent | + | | 2 || [[#GetRegulatorStateTableUpdateEvent|GetRegulatorStateTableUpdateEvent]] |
| |- | | |- |
− | | 3 || [[#GetPowerDomainStateTableMaxCount]] | + | | 3 || [[#GetRegulatorStateTableCount|GetRegulatorStateTableCount]] |
| |} | | |} |
| | | |
Line 463: |
Line 482: |
| Takes an input [[#PowerDomain|DeviceCode]] and returns an [[#IRegulatorSession]]. | | Takes an input [[#PowerDomain|DeviceCode]] and returns an [[#IRegulatorSession]]. |
| | | |
− | == GetPowerDomainStateTableMaxCount == | + | == GetRegulatorStateTable == |
− | Returns 0x3. | + | 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. |
| + | |
| + | == GetRegulatorStateTableCount == |
| + | No input. Returns 0x3. |
| | | |
| == IRegulatorSession == | | == IRegulatorSession == |
Line 473: |
Line 500: |
| ! Cmd || Name | | ! Cmd || Name |
| |- | | |- |
− | | 0 || SetVoltageEnabled | + | | 0 || RequestOutput |
| + | |- |
| + | | 1 || CancelOutputRequest |
| + | |- |
| + | | 2 || IsOutputEnabled |
| |- | | |- |
− | | 1 || | + | | 3 || GetVoltageRangeInMicroVolt |
| |- | | |- |
− | | 2 || GetVoltageEnabled | + | | 4 || GetVoltageInMicroVolt |
| |- | | |- |
− | | 3 || GetVoltageRange | + | | 5 || RequestVoltageInMicroVolt |
| |- | | |- |
− | | 4 || GetVoltage | + | | 6 || CancelVoltageRequest |
| |- | | |- |
− | | 5 || SetVoltageValue | + | | 7 || [13.0.0+] [[#GetMinimumOffStateHoldTime|GetMinimumOffStateHoldTime]] |
| |- | | |- |
− | | 6 || | + | | 8 || [13.0.0+] [[#RequestMinimumOffStateHoldTime|RequestMinimumOffStateHoldTime]] |
| + | |- |
| + | | 9 || [13.0.0+] [[#CancelMinimumOffStateHoldTimeRequest|CancelMinimumOffStateHoldTimeRequest]] |
| |} | | |} |
| + | |
| + | === GetMinimumOffStateHoldTime === |
| + | No input. Returns an output u64. |
| + | |
| + | === RequestMinimumOffStateHoldTime === |
| + | Takes an input u64. No output. |
| + | |
| + | === CancelMinimumOffStateHoldTimeRequest === |
| + | No input/output. |
| | | |
| = rtc = | | = rtc = |
| + | This is "nn::rtc::IRtcManager". |
| + | |
| This was added with [8.0.0+]. | | This was added with [8.0.0+]. |
| | | |
Line 495: |
Line 539: |
| ! 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+] | + | | 10 || [10.0.0+] [[#EnableAlarm|EnableAlarm]] |
| |- | | |- |
− | | 11 || [10.0.0+] | + | | 11 || [10.0.0+] [[#DisableRtcAlarm|DisableRtcAlarm]] |
| + | |- |
| + | | 12 || [18.0.0+] |
| + | |- |
| + | | 13 || [18.0.0+] |
| |} | | |} |
| | | |
− | == GetRtcTime == | + | == 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). |
| + | |
| + | == EnableAlarm == |
| + | Takes an input [[#Module|DeviceCode]], an input u32 '''RtcAlarmId''' (0 = RtcAlarm1, 1 = RtcAlarm2) and an u64 '''RtcAlarmTime'''. No output. |
| + | |
| + | == DisableAlarm == |
| + | Takes an input [[#Module|DeviceCode]] and an input u32 '''RtcAlarmId''' (0 = RtcAlarm1, 1 = RtcAlarm2). No output. |
| | | |
| = time:u, time:a, time:s = | | = time:u, time:a, time:s = |
Line 945: |
Line 999: |
| | 6 || Max77620_Ldo2 || 0x3A0000A2 || SdCard (1.8v, 3.3v) | | | 6 || Max77620_Ldo2 || 0x3A0000A2 || SdCard (1.8v, 3.3v) |
| |- | | |- |
− | | 7 || Max77620_Ldo3 || 0x3A0000A3 || GcAsic (3.1v) | + | | 7 || Max77620_Ldo3 || 0x3A0000A3 || GcCard (3.1v) |
| |- | | |- |
| | 8 || Max77620_Ldo4 || 0x3A0000A4 || Rtc (0.85v) | | | 8 || Max77620_Ldo4 || 0x3A0000A4 || Rtc (0.85v) |
Line 977: |
Line 1,031: |
| | 0 || || 0x3C000004 || SdCard (Ldo2) | | | 0 || || 0x3C000004 || SdCard (Ldo2) |
| |- | | |- |
− | | 1 || || 0x34000007 || DisplayPort, HDMI (Ldo8) | + | | [6.0.0+] 1 || || 0x34000007 || DisplayPort, HDMI (Ldo8) |
| + | |- |
| + | | [6.0.0+] 2 || || || Debug (Ldo7, Hoag only) |
| + | |- |
| + | | [6.0.0+] 3 || || 0x3500041A || SioMcu (Ldo8, Hoag only) |
| |- | | |- |
− | | 2 || || || Invalid (Ldo7) | + | | [14.0.0+] - || || 0x3C000404 || GcCard (Ldo3) |
| |- | | |- |
− | | 3 || || 0x3500041A || SioMcu (Ldo8) | + | | [14.0.0+] - || || 0x3C000405 || GcCard (Ldo5) |
| |} | | |} |
| | | |
| = ModuleState = | | = ModuleState = |
− | This is "nn::pcv::ModuleState". | + | This is "nn::pcv::ModuleState". This is a 0xC-byte struct. |
| | | |
| {| class="wikitable" border="1" | | {| class="wikitable" border="1" |
Line 1,005: |
Line 1,063: |
| | | |
| = PowerDomainState = | | = PowerDomainState = |
− | This is "nn::pcv::PowerDomainState". | + | This is "nn::pcv::PowerDomainState". This is a 0x8-byte struct. |
| | | |
| {| class="wikitable" border="1" | | {| class="wikitable" border="1" |
Line 1,016: |
Line 1,074: |
| |- | | |- |
| | 0x4 || 0x4 || Voltage | | | 0x4 || 0x4 || Voltage |
| + | |} |
| + | |
| + | [8.0.0+] This is a 0xC-byte struct. |
| + | {| class="wikitable" border="1" |
| + | |- |
| + | ! Offset || Size || Description |
| + | |- |
| + | | 0x0 || 0x4 || DeviceCode |
| + | |- |
| + | | 0x4 || 0x1 || Enabled |
| + | |- |
| + | | 0x5 || 0x3 || Reserved |
| + | |- |
| + | | 0x8 || 0x4 || Voltage |
| |} | | |} |
| | | |
| = TemperatureThreshold = | | = TemperatureThreshold = |
− | This is "nn::pcv::TemperatureThreshold". | + | This is "nn::pcv::TemperatureThreshold". This is a 0x8-byte struct. |
| | | |
| {| class="wikitable" border="1" | | {| class="wikitable" border="1" |