Difference between revisions of "Bus services"
(49 intermediate revisions by 4 users not shown) | |||
Line 6: | Line 6: | ||
! Cmd || Name | ! Cmd || Name | ||
|- | |- | ||
− | | 0 || [[# | + | | 0 || [5.0.0+] [[#OpenSessionForDevDeprecated|OpenSessionForDevDeprecated]] ([1.0.0-4.1.0] OpenSessionForDev) |
|- | |- | ||
− | | 1 || [[# | + | | 1 || [5.0.0+] [[#OpenSessionDeprecated|OpenSessionDeprecated]] ([1.0.0-4.1.0] OpenSession) |
|- | |- | ||
− | | 2 || [[# | + | | 2 || [5.0.0+] [[#OpenSessionForTestDeprecated|OpenSessionForTestDeprecated]] ([1.0.0-4.1.0] OpenSessionForTest) |
|- | |- | ||
− | | 3 || [ | + | | 3 || [5.0.0-6.2.0] [[#IsWakeEventActiveDeprecated|IsWakeEventActiveDeprecated]] ([1.0.0-4.1.0] IsWakeEventActive) |
|- | |- | ||
− | | 4 || [ | + | | 4 || [5.0.0-6.2.0] [[#GetWakeEventActiveFlagSetDeprecated|GetWakeEventActiveFlagSetDeprecated]] ([1.0.0-4.1.0] GetWakeEventActiveFlagSet) |
|- | |- | ||
− | | 5 || [ | + | | 5 || [5.0.0-6.2.0] [[#SetWakeEventActiveFlagSetForDebugDeprecated|SetWakeEventActiveFlagSetForDebugDeprecated]] ([1.0.0-4.1.0] SetWakeEventActiveFlagSetForDebug) |
|- | |- | ||
− | | 6 || [[#SetWakePinDebugMode]] | + | | 6 || [[#SetWakePinDebugMode|SetWakePinDebugMode]] |
|- | |- | ||
− | | 7 || [5.0.0+] [[# | + | | 7 || [5.0.0+] [[#OpenSession|OpenSession]] |
|- | |- | ||
− | | 8 || [5.0.0+] [[# | + | | 8 || [5.0.0+] [[#IsWakeEventActive|IsWakeEventActive]] |
|- | |- | ||
− | | 9 || [5.0.0+] | + | | 9 || [5.0.0+] [[#SetWakeEventActiveFlagSetForDebug|SetWakeEventActiveFlagSetForDebug]] |
|- | |- | ||
− | | 10 || [6.0.0+] [[# | + | | 10 || [6.0.0+] [[#DumpStateForDebug|DumpStateForDebug]] |
|} | |} | ||
− | == | + | == OpenSessionForDevDeprecated == |
− | Takes a | + | Takes an input [[#GpioPadDescriptor]]. Returns an [[#IPadSession]]. |
+ | |||
+ | == OpenSessionDeprecated == | ||
+ | Same as [[#OpenSessionForDevDeprecated]] except it takes a [[#GpioPadName]] which is then converted to a [[#GpioPadDescriptor]]. Returns an [[#IPadSession]]. | ||
+ | |||
+ | == OpenSessionForTestDeprecated == | ||
+ | Same as [[#OpenSessionDeprecated]] but panics on failure. | ||
− | == | + | == IsWakeEventActiveDeprecated == |
− | + | Takes an input [[#GpioPadName]]. Returns a bool '''IsActive'''. | |
− | == | + | == GetWakeEventActiveFlagSetDeprecated == |
− | + | No input. Returns an output u128 [[#WakeBitFlag]]. | |
− | == | + | == SetWakeEventActiveFlagSetForDebugDeprecated == |
− | Takes | + | Takes an input [[#GpioPadName]] and an input bool '''IsEnabled'''. No output. |
== SetWakePinDebugMode == | == SetWakePinDebugMode == | ||
− | Takes an u32 '''WakePinDebugMode'''. No output. | + | Takes an input u32 '''WakePinDebugMode'''. No output. |
+ | |||
+ | == OpenSession == | ||
+ | Same as [[#OpenSessionDeprecated]] but takes a [[#GpioPadName|DeviceCode]] and an input [[#OpenMode]]. | ||
− | == | + | == IsWakeEventActive == |
− | Same as [[# | + | Same as [[#IsWakeEventActiveDeprecated]] but takes a [[#GpioPadName|DeviceCode]]. |
− | == | + | == SetWakeEventActiveFlagSetForDebug == |
− | Same as [[# | + | Same as [[#SetWakeEventActiveFlagSetForDebugDeprecated]] but takes a [[#GpioPadName|DeviceCode]]. |
− | == | + | == DumpStateForDebug == |
Stubbed. Returns 0. | Stubbed. Returns 0. | ||
Line 60: | Line 69: | ||
! Cmd || Name | ! Cmd || Name | ||
|- | |- | ||
− | | 0 || SetDirection | + | | 0 || [12.0.0+] [[#SetDirectionDeprecated|SetDirectionDeprecated]] ([1.0.0-11.0.1] SetDirection) |
+ | |- | ||
+ | | 1 || [[#GetDirection|GetDirection]] | ||
|- | |- | ||
− | | | + | | 2 || [[#SetInterruptMode|SetInterruptMode]] |
|- | |- | ||
− | | | + | | 3 || [[#GetInterruptMode|GetInterruptMode]] |
|- | |- | ||
− | | | + | | 4 || [[#SetInterruptEnable|SetInterruptEnable]] |
|- | |- | ||
− | | | + | | 5 || [[#GetInterruptEnable|GetInterruptEnable]] |
|- | |- | ||
− | | | + | | 6 || [1.0.0-16.1.0] [[#GetInterruptStatus|GetInterruptStatus]] |
|- | |- | ||
− | | | + | | 7 || [1.0.0-16.1.0] [[#ClearInterruptStatus|ClearInterruptStatus]] |
|- | |- | ||
− | | | + | | 8 || [[#SetValue|SetValue]] |
|- | |- | ||
− | | | + | | 9 || [[#GetValue|GetValue]] |
|- | |- | ||
− | | | + | | 10 || [[#BindInterrupt|BindInterrupt]] |
|- | |- | ||
− | | | + | | 11 || [[#UnbindInterrupt|UnbindInterrupt]] |
|- | |- | ||
− | | | + | | 12 || [[#SetDebounceEnabled|SetDebounceEnabled]] |
|- | |- | ||
− | | | + | | 13 || [[#GetDebounceEnabled|GetDebounceEnabled]] |
|- | |- | ||
− | | | + | | 14 || [[#SetDebounceTime|SetDebounceTime]] |
|- | |- | ||
− | | | + | | 15 || [[#GetDebounceTime|GetDebounceTime]] |
|- | |- | ||
− | | | + | | 16 || [4.0.0+] [[#SetValueForSleepState|SetValueForSleepState]] |
|- | |- | ||
− | | | + | | 17 || [6.0.0+] [[#GetMaxDebounceTime|GetMaxDebounceTime]] |
|- | |- | ||
− | | | + | | 18 || [12.0.0+] [[#SetDirectionInput|SetDirectionInput]] |
+ | |- | ||
+ | | 19 || [12.0.0+] [[#SetDirectionOutput|SetDirectionOutput]] | ||
|} | |} | ||
+ | |||
+ | === SetDirectionDeprecated === | ||
+ | Takes an input u32 [[#Direction]]. No output. | ||
+ | |||
+ | === GetDirection === | ||
+ | No input. Returns an output u32 [[#Direction]]. | ||
+ | |||
+ | === SetInterruptMode === | ||
+ | Takes an input u32 [[#InterruptMode]]. No output. | ||
+ | |||
+ | === GetInterruptMode === | ||
+ | No input. Returns an output u32 [[#InterruptMode]]. | ||
+ | |||
+ | === SetInterruptEnable === | ||
+ | Takes an input bool '''IsEnable'''. No output. | ||
+ | |||
+ | === GetInterruptEnable === | ||
+ | No input. Returns an output bool '''IsEnable'''. | ||
+ | |||
+ | === GetInterruptStatus === | ||
+ | No input. Returns an output u32 [[#InterruptStatus]]. | ||
+ | |||
+ | === ClearInterruptStatus === | ||
+ | No input/output. | ||
+ | |||
+ | === SetValue === | ||
+ | Takes an input u32 [[#GpioValue]]. No output. | ||
+ | |||
+ | === GetValue === | ||
+ | No input. Returns an output u32 [[#GpioValue]]. | ||
+ | |||
+ | === BindInterrupt === | ||
+ | No input. Returns an output Event handle. | ||
+ | |||
+ | === UnbindInterrupt === | ||
+ | No input/output. | ||
+ | |||
+ | === SetDebounceEnabled === | ||
+ | Takes an input bool '''IsEnable'''. No output. | ||
+ | |||
+ | === GetDebounceEnabled === | ||
+ | No input. Returns an output bool '''IsEnable'''. | ||
+ | |||
+ | === SetDebounceTime === | ||
+ | Takes an input s32 '''MsecTime'''. No output. | ||
+ | |||
+ | === GetDebounceTime === | ||
+ | No input. Returns an output s32 '''MsecTime'''. | ||
+ | |||
+ | === SetValueForSleepState === | ||
+ | Takes an input u32 '''ValueForSleepState'''. No output. | ||
+ | |||
+ | === GetMaxDebounceTime === | ||
+ | No input. Returns an output u32 '''MaxDebounceTime'''. | ||
+ | |||
+ | === SetDirectionInput === | ||
+ | No input/output. | ||
+ | |||
+ | === SetDirectionOutput === | ||
+ | Takes an input u32 [[#GpioValue]]. No output. | ||
= i2c, i2c:pcv = | = i2c, i2c:pcv = | ||
Line 116: | Line 189: | ||
== OpenSessionForDev == | == OpenSessionForDev == | ||
− | Takes an | + | Takes an input u16 '''SlaveAddress''' (padded to u32) and 3 input u32s '''BusIdx''', [[#AddressingMode]] and [[#SpeedMode]]. Returns an [[#II2cSession]]. |
== OpenSession == | == OpenSession == | ||
− | Takes an [[#I2cDevice]] | + | Takes an input [[#I2cDevice]]. Returns an output [[#II2cSession]]. |
== HasDevice == | == HasDevice == | ||
− | Takes an [[#I2cDevice]] | + | Takes an input [[#I2cDevice]]. Returns an output boolean success value. |
== HasDeviceForDev == | == HasDeviceForDev == | ||
− | Takes an | + | Takes an input u16 '''SlaveAddress''' (padded to u32) and 3 input u32s '''BusIdx''', [[#AddressingMode]] and [[#SpeedMode]]. Returns an output boolean success value. |
== OpenSession2 == | == OpenSession2 == | ||
− | Same as [[#OpenSession_2|OpenSession]] but takes | + | Same as [[#OpenSession_2|OpenSession]], but takes an input u32 [[#I2cDevice|DeviceCode]]. |
== II2cSession == | == II2cSession == | ||
Line 137: | Line 210: | ||
! Cmd || Name | ! Cmd || Name | ||
|- | |- | ||
− | | 0 || [1.0.0-5.1.0] | + | | 0 || [1.0.0-5.1.0] SendOld |
|- | |- | ||
− | | 1 || [1.0.0-5.1.0] | + | | 1 || [1.0.0-5.1.0] ReceiveOld |
|- | |- | ||
− | | 2 || [1.0.0-5.1.0] | + | | 2 || [1.0.0-5.1.0] ExecuteCommandListOld |
|- | |- | ||
− | | 10 || [[# | + | | 10 || [[#Send|Send]] |
|- | |- | ||
− | | 11 || | + | | 11 || [[#Receive|Receive]] |
|- | |- | ||
− | | 12 || [[# | + | | 12 || [[#ExecuteCommandList|ExecuteCommandList]] |
|- | |- | ||
− | | 13 || [6.0.0+] [[# | + | | 13 || [6.0.0+] [[#SetRetryPolicy_2|SetRetryPolicy]] |
|} | |} | ||
− | == | + | == Send == |
− | Takes | + | Takes a type-0x21 input buffer '''InData''' and an input u32 [[#TransactionOption]]. No output. |
− | == | + | == Receive == |
− | Takes a | + | Takes a type-0x22 output buffer '''OutData''' and an input u32 [[#TransactionOption]]. No output. |
+ | |||
+ | == ExecuteCommandList == | ||
+ | Takes a type-0x22 output buffer '''ReceiveBuffer''' and a type-0x9 input buffer '''CommandList'''. No output. | ||
=== Commands === | === Commands === | ||
− | + | This is "nn::i2c::I2cCommand". | |
+ | |||
{| class=wikitable | {| class=wikitable | ||
− | ! | + | ! Bits || Name |
|- | |- | ||
− | | 0 || | + | | 0-5 || [[#CommandId]] |
|- | |- | ||
− | | 6 | + | | 6-7 || [[#TransactionOption]] |
− | |||
− | |||
|} | |} | ||
− | |||
− | |||
− | == | + | A send command will write bytes to the device using the format: [u8 cmd_send] [u8 len] <bytes> |
− | Takes 2 u32s '''MaxRetries''' and ''' | + | |
+ | A receive command will read bytes from the device using the format: [u8 cmd_receive] [u8 len] | ||
+ | |||
+ | An extension sleep command will stall the device using the format: [u8 cmd_extension] [u8 ms] | ||
+ | |||
+ | == SetRetryPolicy == | ||
+ | Takes 2 input u32s '''MaxRetries''' and '''RetryIntervalMicroSeconds'''. No output. | ||
= uart = | = uart = | ||
Line 182: | Line 261: | ||
! Cmd || Name | ! Cmd || Name | ||
|- | |- | ||
− | | 0 || [[#HasPort]] | + | | 0 || [1.0.0-16.1.0] [[#HasPort|HasPort]] |
|- | |- | ||
− | | 1 || [[#HasPortForDev]] | + | | 1 || [1.0.0-16.1.0] [[#HasPortForDev|HasPortForDev]] |
|- | |- | ||
− | | 2 || [[#IsSupportedBaudRate]] | + | | 2 || [1.0.0-16.1.0] [[#IsSupportedBaudRate|IsSupportedBaudRate]] |
|- | |- | ||
− | | 3 || [[#IsSupportedBaudRateForDev]] | + | | 3 || [1.0.0-16.1.0] [[#IsSupportedBaudRateForDev|IsSupportedBaudRateForDev]] |
|- | |- | ||
− | | 4 || [[#IsSupportedFlowControlMode]] | + | | 4 || [1.0.0-16.1.0] [[#IsSupportedFlowControlMode|IsSupportedFlowControlMode]] |
|- | |- | ||
− | | 5 || [[#IsSupportedFlowControlModeForDev]] | + | | 5 || [1.0.0-16.1.0] [[#IsSupportedFlowControlModeForDev|IsSupportedFlowControlModeForDev]] |
|- | |- | ||
− | | 6 || [[#CreatePortSession]] | + | | 6 || [[#CreatePortSession|CreatePortSession]] |
|- | |- | ||
− | | 7 || [[#IsSupportedPortEvent]] | + | | 7 || [1.0.0-16.1.0] [[#IsSupportedPortEvent|IsSupportedPortEvent]] |
|- | |- | ||
− | | 8 || [[#IsSupportedPortEventForDev]] | + | | 8 || [1.0.0-16.1.0] [[#IsSupportedPortEventForDev|IsSupportedPortEventForDev]] |
|- | |- | ||
− | | 9 || [7.0.0 | + | | 9 || [7.0.0-16.1.0] [[#IsSupportedDeviceVariation|IsSupportedDeviceVariation]] |
|- | |- | ||
− | | 10 || [7.0.0 | + | | 10 || [7.0.0-16.1.0] [[#IsSupportedDeviceVariationForDev|IsSupportedDeviceVariationForDev]] |
|} | |} | ||
== HasPort == | == HasPort == | ||
− | Takes an [[#UartPort]]. Returns | + | Takes an input [[#UartPort]]. Returns an output boolean success value. |
== HasPortForDev == | == HasPortForDev == | ||
− | Takes an [[#UartPortForDev]]. Returns | + | Takes an input [[#UartPortForDev]]. Returns an output boolean success value. |
== IsSupportedBaudRate == | == IsSupportedBaudRate == | ||
− | Takes | + | Takes 2 input u32s [[#UartPort]] and '''BaudRate'''. Returns an output boolean success value. |
Supported baud rates are 57600, 115200, 1000000 and 3000000. | Supported baud rates are 57600, 115200, 1000000 and 3000000. | ||
== IsSupportedBaudRateForDev == | == IsSupportedBaudRateForDev == | ||
− | Takes | + | Takes 2 input u32s [[#UartPortForDev]] and '''BaudRate'''. Returns an output boolean success value. |
Supported baud rates are 57600, 115200, 1000000 and 3000000. | Supported baud rates are 57600, 115200, 1000000 and 3000000. | ||
== IsSupportedFlowControlMode == | == IsSupportedFlowControlMode == | ||
− | Takes | + | Takes 2 input u32s [[#UartPort]] and [[#FlowControlMode]]. Returns an output boolean success value. |
− | |||
− | |||
== IsSupportedFlowControlModeForDev == | == IsSupportedFlowControlModeForDev == | ||
− | Takes | + | Takes 2 input u32s [[#UartPortForDev]] and [[#FlowControlMode]]. Returns an output boolean success value. |
− | |||
− | |||
== CreatePortSession == | == CreatePortSession == | ||
− | No input. Returns an [[#IPortSession]]. | + | No input. Returns an output [[#IPortSession]]. |
== IsSupportedPortEvent == | == IsSupportedPortEvent == | ||
− | Takes | + | Takes 2 input u32s [[#UartPort]] and [[#PortEventType]]. Returns an output boolean success value. |
− | |||
− | |||
== IsSupportedPortEventForDev == | == IsSupportedPortEventForDev == | ||
− | Takes | + | Takes 2 input u32s [[#UartPortForDev]] and [[#PortEventType]]. Returns an output boolean success value. |
− | + | == IsSupportedDeviceVariation == | |
+ | Takes 2 input u32s [[#UartPort]] and '''DeviceVariation'''. Returns an output boolean success value. | ||
− | + | Supported device variations are 0 (Bluetooth) for UART-D, 0 (Joy-Con(R)) for UART-B, 0 (Joy-Con(L)) and 1 (SioMcu) for UART-C. | |
− | |||
− | + | == IsSupportedDeviceVariationForDev == | |
+ | Takes 2 input u32s [[#UartPortForDev]] and '''DeviceVariation'''. Returns an output boolean success value. | ||
− | + | Supported device variations are 0 (Bluetooth) for UART-D, 0 (Joy-Con(R)) for UART-B, 0 (Joy-Con(L)) and 1 (SioMcu) for UART-C. | |
− | |||
− | |||
− | Supported | ||
== IPortSession == | == IPortSession == | ||
Line 261: | Line 332: | ||
! Cmd || Name | ! Cmd || Name | ||
|- | |- | ||
− | | 0 || [[#OpenPort]] | + | | 0 || [[#OpenPort|OpenPort]] |
|- | |- | ||
− | | 1 || [[#OpenPortForDev]] | + | | 1 || [[#OpenPortForDev|OpenPortForDev]] |
|- | |- | ||
− | | 2 || [[#GetWritableLength]] | + | | 2 || [[#GetWritableLength|GetWritableLength]] |
|- | |- | ||
− | | 3 || [[#Send]] | + | | 3 || [[#Send_2|Send]] |
|- | |- | ||
− | | 4 || [[#GetReadableLength]] | + | | 4 || [[#GetReadableLength|GetReadableLength]] |
|- | |- | ||
− | | 5 || [[#Receive]] | + | | 5 || [[#Receive_2|Receive]] |
|- | |- | ||
− | | 6 || [[#BindPortEvent]] | + | | 6 || [[#BindPortEvent|BindPortEvent]] |
|- | |- | ||
− | | 7 || [[#UnbindPortEvent]] | + | | 7 || [[#UnbindPortEvent|UnbindPortEvent]] |
+ | |- | ||
+ | | 8 || [14.0.0+] [[#OpenPort2|OpenPort2]] | ||
|} | |} | ||
=== OpenPort === | === OpenPort === | ||
− | Takes | + | Takes 3 input u32s [[#UartPort]], '''BaudRate''' and [[#FlowControlMode]], 2 input u64s '''SendBufferLength''' and '''ReceiveBufferLength''' and 2 input TransferMemory handles '''SendHandle''' and '''ReceiveHandle'''. Returns an output boolean success value. |
+ | |||
+ | [6.0.0+] Takes 4 input u8s (padded as u32) '''IsInvertTx''', '''IsInvertRx''', '''IsInvertRts''' and '''IsInvertCts''', 3 input u32s [[#UartPort]], '''BaudRate''' and [[#FlowControlMode]], 2 input u64s '''SendBufferLength''' and '''ReceiveBufferLength''' and 2 input TransferMemory handles '''SendHandle''' and '''ReceiveHandle'''. Returns an output boolean success value. | ||
+ | |||
+ | [7.0.0+] Takes 4 input u8s (padded as u32) '''IsInvertTx''', '''IsInvertRx''', '''IsInvertRts''' and '''IsInvertCts''', 4 input u32s [[#UartPort]], '''BaudRate''', [[#FlowControlMode]] and '''DeviceVariation''', 2 input u64s '''SendBufferLength''' and '''ReceiveBufferLength''' and 2 input TransferMemory handles '''SendHandle''' and '''ReceiveHandle'''. Returns an output boolean success value. | ||
− | [ | + | This will Abort when the specified [[#UartPort]] is already being used, due to a [[SVC]] failing. |
=== OpenPortForDev === | === OpenPortForDev === | ||
− | + | Same as [[#OpenPort]], but takes an input [[#UartPortForDev]] instead. | |
− | |||
− | [ | ||
=== GetWritableLength === | === GetWritableLength === | ||
− | No input | + | No input. Returns an output u64 '''WritableLength'''. |
=== Send === | === Send === | ||
− | Takes a type-0x21 input buffer | + | Takes a type-0x21 input buffer '''InData'''. Returns an output u64 size. |
=== GetReadableLength === | === GetReadableLength === | ||
− | No input | + | No input. Returns an output u64 '''ReadableLength'''. |
=== Receive === | === Receive === | ||
− | Takes a type-0x22 output buffer | + | Takes a type-0x22 output buffer '''OutData'''. Returns an output u64 size. |
=== BindPortEvent === | === BindPortEvent === | ||
− | Takes an input u32 and | + | Takes an input u32 [[#PortEventType]] and an input s64 '''Threshold'''. Returns an output boolean success value and an Event handle with EventClearMode=0. |
=== UnbindPortEvent === | === UnbindPortEvent === | ||
− | Takes an input u32, returns an output | + | Takes an input u32 [[#PortEventType]]. Returns an output boolean success value. |
+ | |||
+ | === OpenPort2 === | ||
+ | Same as [[#OpenPort]], but takes an input u32 [[#UartPort|DeviceCode]] instead of an [[#UartPort]] and no longer returns an output boolean success value. | ||
= pwm = | = pwm = | ||
Line 334: | Line 412: | ||
| 1 || GetPeriod | | 1 || GetPeriod | ||
|- | |- | ||
− | | 2 || SetDuty | + | | 2 || [1.0.0-13.2.1] SetDuty |
|- | |- | ||
− | | 3 || GetDuty | + | | 3 || [1.0.0-13.2.1] GetDuty |
|- | |- | ||
| 4 || SetEnabled | | 4 || SetEnabled | ||
Line 342: | Line 420: | ||
| 5 || GetEnabled | | 5 || GetEnabled | ||
|- | |- | ||
− | | 6 || [6.0.0+] | + | | 6 || [6.0.0+] [[#SetDutyCycle|SetDutyCycle]] |
|- | |- | ||
− | | 7 || [6.0.0+] | + | | 7 || [6.0.0+] [[#GetDutyCycle|GetDutyCycle]] |
|} | |} | ||
+ | |||
+ | === SetDutyCycle === | ||
+ | Takes an input double '''DutyCycle'''. No output. | ||
+ | |||
+ | === GetDutyCycle === | ||
+ | No input. Returns an output double '''DutyCycle'''. | ||
= pinmux = | = pinmux = | ||
Line 367: | Line 451: | ||
! Cmd || Name | ! Cmd || Name | ||
|- | |- | ||
− | | 0 || [[#SetPinAssignment]] | + | | 0 || [[#SetPinAssignment|SetPinAssignment]] |
+ | |- | ||
+ | | 1 || [[#GetPinAssignment|GetPinAssignment]] | ||
+ | |- | ||
+ | | 2 || [[#SetPinAssignmentForHardwareTest|SetPinAssignmentForHardwareTest]] | ||
+ | |- | ||
+ | | 3 || [17.0.0+] SetSfioConfiguration | ||
+ | |- | ||
+ | | 4 || [17.0.0+] GetSfioConfiguration | ||
+ | |- | ||
+ | | 5 || [17.0.0+] SetInputEnableConfiguration | ||
+ | |- | ||
+ | | 6 || [17.0.0+] GetInputEnableConfiguration | ||
+ | |- | ||
+ | | 7 || [17.0.0+] SetPullConfiguration | ||
+ | |- | ||
+ | | 8 || [17.0.0+] GetPullConfiguration | ||
|- | |- | ||
− | | | + | | 9 || [17.0.0+] SetPmConfiguration |
|- | |- | ||
− | | | + | | 10 || [17.0.0+] GetPmConfiguration |
|} | |} | ||
=== SetPinAssignment === | === SetPinAssignment === | ||
− | Takes | + | Takes a [[#PinAssignment]]. No output. |
=== GetPinAssignment === | === GetPinAssignment === | ||
− | No input. Returns | + | No input. Returns a [[#PinAssignment]]. |
=== SetPinAssignmentForHardwareTest === | === SetPinAssignmentForHardwareTest === | ||
− | Takes | + | Takes a [[#PinAssignmentForHardwareTest]]. No output. |
= sasbus = | = sasbus = | ||
Line 405: | Line 505: | ||
! Cmd || Name | ! Cmd || Name | ||
|- | |- | ||
− | | 0 || [[# | + | | 0 || [[#Send_3|Send]] |
+ | |- | ||
+ | | 1 || [[#Receive_3|Receive]] | ||
|- | |- | ||
− | | | + | | 2 || [[#StartPeriodicReceiveMode|StartPeriodicReceiveMode]] |
|- | |- | ||
− | | | + | | 3 || [[#StopPeriodicReceiveMode|StopPeriodicReceiveMode]] |
|- | |- | ||
− | | | + | | 4 || [19.0.0+] |
+ | |- | ||
+ | | 5 || [19.0.0+] | ||
|} | |} | ||
− | === | + | === Send === |
Takes a type-0x21 input buffer and an u8 '''SpiCommand'''. No output. | Takes a type-0x21 input buffer and an u8 '''SpiCommand'''. No output. | ||
− | === | + | === Receive === |
Takes a type-0x22 output buffer and an u8 '''SpiCommand'''. No output. | Takes a type-0x22 output buffer and an u8 '''SpiCommand'''. No output. | ||
Line 425: | Line 529: | ||
=== StopPeriodicReceiveMode === | === StopPeriodicReceiveMode === | ||
No input/output. | No input/output. | ||
+ | |||
+ | === Cmd4 === | ||
+ | Takes a total of 0x10-bytes of input and an input handle. No output. | ||
+ | |||
+ | This is similar to [[#StartPeriodicReceiveMode|StartPeriodicReceiveMode]]. This eventually calls an impl func which just writes some input fields into state, then (on NX) Aborts. | ||
+ | |||
+ | === Cmd5 === | ||
+ | No input/output. | ||
+ | |||
+ | This is identical to [[#StopPeriodicReceiveMode|StopPeriodicReceiveMode]]. | ||
= led = | = led = | ||
Line 435: | Line 549: | ||
! Cmd || Name | ! Cmd || Name | ||
|- | |- | ||
− | | 0 || [[#OpenController]] | + | | 0 || [[#OpenController|OpenController]] |
|} | |} | ||
Line 450: | Line 564: | ||
! Cmd || Name | ! Cmd || Name | ||
|- | |- | ||
− | | 0 || | + | | 0 || StartLighting |
|- | |- | ||
− | | 1 || | + | | 1 || StopLighting |
|- | |- | ||
− | | 2 || | + | | 2 || SetLightingMode |
|- | |- | ||
− | | 3 || | + | | 3 || GetLightingMode |
|- | |- | ||
− | | 4 || | + | | 4 || IsLighting |
|- | |- | ||
− | | 5 || | + | | 5 || SetRisingTime |
|- | |- | ||
− | | 6 || | + | | 6 || GetRisingTime |
|- | |- | ||
− | | 7 || | + | | 7 || SetFallingTime |
|- | |- | ||
− | | 8 || | + | | 8 || GetFallingTime |
|- | |- | ||
− | | 9 || | + | | 9 || SetPeakTime |
|- | |- | ||
− | | 10 || | + | | 10 || GetPeakTime |
|- | |- | ||
− | | 11 || | + | | 11 || SetPulseInterval |
|- | |- | ||
− | | 12 || | + | | 12 || GetPulseInterval |
|- | |- | ||
− | | 13 || | + | | 13 || SetPulseCount |
|- | |- | ||
− | | 14 || | + | | 14 || GetPulseCount |
|- | |- | ||
− | | 15 || | + | | 15 || GetMaxPulseCount |
|- | |- | ||
− | | 16 || | + | | 16 || SetBreathInterval |
|- | |- | ||
− | | 17 || | + | | 17 || GetBreathInterval |
|- | |- | ||
− | | 18 || | + | | 18 || SetConstantBrightness |
|- | |- | ||
− | | 19 || | + | | 19 || GetConstantBrightness |
|- | |- | ||
− | | 20 || | + | | 20 || [10.0.0+] GetBreathingStatus ([8.1.1-9.2.0] RegisterPwmChannel) |
|- | |- | ||
− | | 21 || [8.1.1-9.2.0] | + | | 21 || [8.1.1-9.2.0] UnregisterPwmChannel |
|} | |} | ||
Line 502: | Line 616: | ||
! Value || Name || [[#GpioPadDescriptor|GpioPadDescriptor]] || DeviceCode || Tegra (port, pin) || Description || Direction || Used by (services) || Used by (hardware) | ! Value || Name || [[#GpioPadDescriptor|GpioPadDescriptor]] || DeviceCode || Tegra (port, pin) || Description || Direction || Used by (services) || Used by (hardware) | ||
|- | |- | ||
− | | 0x01 || CodecLdoEnTemp || 0xCC || 0x33000002 || Z, 4 || Audio Codec (ALC5639) Power || Out || [[Audio services]], [[Fatal services]] || Icosa, Hoag, Iowa, | + | | 0x01 || CodecLdoEnTemp || 0xCC || 0x33000002 || Z, 4 || Audio Codec (ALC5639) Power || Out || [[Audio services]], [[Fatal services]] || Icosa, Hoag, Iowa, Aula |
|- | |- | ||
− | | 0x02 || PowSdEn || 0x24 || 0x3C000001 || E, 4 || | + | | 0x02 || PowSdEn || 0x24 || 0x3C000001 || E, 4 || SdCard Power || Out || [[PCV services]] || Icosa, Copper, Hoag, Iowa, Calcio, Aula |
|- | |- | ||
− | | 0x03 || BtRst || 0x3C || 0x37000002 || H, 4 || Bluetooth Reset || Out || [[Bluetooth Driver services]] || Icosa, Copper, Hoag, Iowa, Calcio, | + | | 0x03 || BtRst || 0x3C || 0x37000002 || H, 4 || Bluetooth Reset || Out || [[Bluetooth Driver services]] || Icosa, Copper, Hoag, Iowa, Calcio, Aula |
|- | |- | ||
| 0x04 || RamCode3 || 0xDA || 0xC9000402 || BB, 2 || Secondary Boot Device Configration || In || || Icosa, Iowa | | 0x04 || RamCode3 || 0xDA || 0xC9000402 || BB, 2 || Secondary Boot Device Configration || In || || Icosa, Iowa | ||
|- | |- | ||
− | | 0x05 || GameCardReset || 0xDB || 0x3C000402 || BB, 3 || Gamecard Reset || Out || [[Filesystem services]] || Icosa, Copper, Hoag, Iowa, | + | | 0x05 || GameCardReset || 0xDB || 0x3C000402 || BB, 3 || Gamecard Reset || Out || [[Filesystem services]] || Icosa, Copper, Hoag, Iowa, Aula |
|- | |- | ||
− | | 0x06 || CodecAlert || 0xDC || 0x33000003 || BB, 4 || Audio Codec (ALC5639) Alert || In || [[Audio services]] || Icosa, Hoag, Iowa, | + | | 0x06 || CodecAlert || 0xDC || 0x33000003 || BB, 4 || Audio Codec (ALC5639) Alert || In || [[Audio services]] || Icosa, Hoag, Iowa, Aula |
|- | |- | ||
| 0x07 || PowGc || 0x25 || 0x3C000401 || E, 5 || Gamecard Power || Out || || Icosa, Copper | | 0x07 || PowGc || 0x25 || 0x3C000401 || E, 5 || Gamecard Power || Out || || Icosa, Copper | ||
Line 518: | Line 632: | ||
| 0x08 || DebugControllerDet || 0x90 || 0x350000CA || S, 0 || Debug Pad Detect || In || [[HID services]] || Icosa, Iowa | | 0x08 || DebugControllerDet || 0x90 || 0x350000CA || S, 0 || Debug Pad Detect || In || [[HID services]] || Icosa, Iowa | ||
|- | |- | ||
− | | 0x09 || BattChgStatus || 0x91 || 0x39000407 || S, 1 || Battery Charge Status || In || || Icosa, Hoag, Iowa, | + | | 0x09 || BattChgStatus || 0x91 || 0x39000407 || S, 1 || Battery Charge Status || In || || Icosa, Hoag, Iowa, Aula |
|- | |- | ||
− | | 0x0A || BattChgEnableN || 0x96 || 0x39000003 || S, 6 || Charger IC (BQ24193) Charge Enable || Out || [[PTM services]] || Icosa, Hoag, Iowa, | + | | 0x0A || BattChgEnableN || 0x96 || 0x39000003 || S, 6 || Charger IC (BQ24193) Charge Enable || Out || [[PTM services]] || Icosa, Hoag, Iowa, Aula |
|- | |- | ||
− | | 0x0B || FanTach || 0x97 || 0x3D000002 || S, 7 || Fan Tachometer || In || || Icosa, Hoag, Iowa, Calcio, | + | | 0x0B || FanTach || 0x97 || 0x3D000002 || S, 7 || Fan Tachometer || In || || Icosa, Hoag, Iowa, Calcio, Aula |
|- | |- | ||
− | | 0x0C || ExtconDetS || 0x26 || 0x3500040B || E, 6 || Joy-Con(L) IsAttached (insertion, Joy-Con pin 5/console TX, pulled low on insert) || In || [[HID services]], [[AM services]] || Icosa, Iowa, | + | | 0x0C || ExtconDetS || 0x26 || 0x3500040B || E, 6 || Joy-Con(L) IsAttached (insertion, Joy-Con pin 5/console TX, pulled low on insert) || In || [[HID services]], [[AM services]] || Icosa, Iowa, Aula |
|- | |- | ||
− | | 0x0D || Vdd50AEn || 0x05 || 0x39000401 || A, 5 || Fan and Joy-Con | + | | 0x0D || Vdd50AEn || 0x05 || 0x39000401 || A, 5 || Fan and Joy-Con 5V Power (Battery) || Out || [[PTM services]] || Icosa, Hoag, Iowa, Aula |
|- | |- | ||
− | | 0x0E || SdevCoaxSel1 || 0x78 || 0xCA000402 || P, 0 || SDEV Coax Select || In || || Icosa, Iowa | + | | 0x0E || SdevCoaxSel1 || 0x78 || 0xCA000406 ([1.0.0-10.0.0] 0xCA000402) || P, 0 || SDEV Coax Select || In || || Icosa, Iowa |
|- | |- | ||
− | | 0x0F || GameCardCd || 0x93 || 0x3C000403 || S, 3 || Gamecard Card Detect || In || [[Filesystem services]], [[AM services]] || Icosa, Copper, Hoag, Iowa, | + | | 0x0F || GameCardCd || 0x93 || 0x3C000403 || S, 3 || Gamecard Card Detect || In || [[Filesystem services]], [[AM services]] || Icosa, Copper, Hoag, Iowa, Aula |
|- | |- | ||
| 0x10 || ProdType0 || 0x7D || 0xC900040B || P, 5 || || In || || Icosa, Copper, Iowa | | 0x10 || ProdType0 || 0x7D || 0xC900040B || P, 5 || || In || || Icosa, Copper, Iowa | ||
Line 540: | Line 654: | ||
| 0x13 || ProdType3 || 0x7A || 0xC900040E || P, 2 || || In || || Icosa, Copper, Iowa | | 0x13 || ProdType3 || 0x7A || 0xC900040E || P, 2 || || In || || Icosa, Copper, Iowa | ||
|- | |- | ||
− | | 0x14 || TempAlert || 0xBC || 0x3E000002 || X, 4 || Temperature Sensor || In || || Icosa, Copper, Hoag, Iowa, Calcio, | + | | 0x14 || TempAlert || 0xBC || 0x3E000002 || X, 4 || Temperature Sensor || In || || Icosa, Copper, Hoag, Iowa, Calcio, Aula |
|- | |- | ||
− | | 0x15 || CodecHpDetIrq || 0xAE || 0x33000004 || V, 6 || Audio Codec (ALC5639) Headphone Detect || In || [[Audio services]] || Icosa, Hoag, Iowa, | + | | 0x15 || CodecHpDetIrq || 0xAE || 0x33000004 || V, 6 || Audio Codec (ALC5639) Headphone Detect || In || [[Audio services]] || Icosa, Hoag, Iowa, Aula |
|- | |- | ||
− | | 0x16 || MotionInt || 0xBA || 0x35000041 || X, 2 || || In || || Icosa, Hoag, Iowa, | + | | 0x16 || MotionInt || 0xBA || 0x35000041 || X, 2 || Built-in IMU IRQ || In || || Icosa, Hoag, Iowa, Aula |
|- | |- | ||
− | | 0x17 || TpIrq || 0xB9 || 0x35000036 || X, 1 || TouchPanel IRQ || In || [[HID services]] || Icosa, Hoag, Iowa, | + | | 0x17 || TpIrq || 0xB9 || 0x35000036 || X, 1 || TouchPanel IRQ || In || [[HID services]] || Icosa, Hoag, Iowa, Aula |
|- | |- | ||
− | | 0x18 || ButtonSleep2 || 0xBD || 0x35000001 || X, 5 || Power Button || In || || Icosa, Copper, Hoag, Iowa, Calcio, | + | | 0x18 || ButtonSleep2 || 0xBD || 0x35000001 || X, 5 || Power Button (Connected only on Hoag) || In || || Icosa, Copper, Hoag, Iowa, Calcio, Aula |
|- | |- | ||
− | | 0x19 || ButtonVolUp || 0xBE || 0x35000002 || X, 6 || Volume Up || In || [[Boot2]], [[Audio services]], [[Fatal services]] || Icosa, Copper, Hoag, Iowa, Calcio, | + | | 0x19 || ButtonVolUp || 0xBE || 0x35000002 || X, 6 || Volume Up || In || [[Boot2]], [[Audio services]], [[Fatal services]] || Icosa, Copper, Hoag, Iowa, Calcio, Aula |
|- | |- | ||
− | | 0x1A || ButtonVolDn || 0xBF || 0x35000003 || X, 7 || Volume Down || In || [[Boot2]], [[Audio services]] || Icosa, Copper, Hoag, Iowa, Calcio , | + | | 0x1A || ButtonVolDn || 0xBF || 0x35000003 || X, 7 || Volume Down || In || [[Boot2]], [[Audio services]] || Icosa, Copper, Hoag, Iowa, Calcio , Aula |
|- | |- | ||
− | | 0x1B || BattMgicIrq || 0xC0 || 0x39000034 || Y, 0 || Fuel Gauge IC (MAX17050) IRQ || In || [[PTM services]], [[AM services]] || Icosa, Hoag, Iowa, | + | | 0x1B || BattMgicIrq || 0xC0 || 0x39000034 || Y, 0 || Fuel Gauge IC (MAX17050) IRQ || In || [[PTM services]], [[AM services]] || Icosa, Hoag, Iowa, Aula |
|- | |- | ||
− | | 0x1C || RecoveryKey || 0xC1 || 0x35000004 || Y, 1 || Recovery Mode Key || In || || Icosa, Copper, Hoag, Iowa, Calcio, | + | | 0x1C || RecoveryKey || 0xC1 || 0x35000004 || Y, 1 || Recovery Mode Key (HOME Button) || In || || Icosa, Copper, Hoag, Iowa, Calcio, Aula |
|- | |- | ||
− | | 0x1D || PowLcdBlEn || 0xA9 || 0x3400003E || V, 1 || Backlight | + | | 0x1D || PowLcdBlEn || 0xA9 || 0x3400003E || V, 1 || LCD Backlight Power || Out || [[NV services]], [[Backlight services]] || Icosa, Hoag, Iowa |
|- | |- | ||
− | | 0x1E || LcdReset || 0xAA || 0x34000033 || V, 2 || | + | | 0x1E || LcdReset || 0xAA || 0x34000033 || V, 2 || LCD Reset || Out || [[NV services]] || Icosa, Hoag, Iowa, Aula |
|- | |- | ||
− | | 0x1F || PdVconnEn || 0x55 || 0x040000CC || K, 5 || USB-PD Controller (RHOM BM92T30MWV) VCONN Power || Out || [[PTM services]], [[USB services]] || Icosa, Hoag, Iowa, | + | | 0x1F || PdVconnEn || 0x55 || 0x040000CC || K, 5 || USB-PD Controller (RHOM BM92T30MWV) VCONN Power || Out || [[PTM services]], [[USB services]] || Icosa, Hoag, Iowa, Aula |
|- | |- | ||
− | | 0x20 || PdRstN || 0xAD || 0x040000CA || V, 5 || USB-PD Controller (RHOM BM92T30MWV) | + | | 0x20 || PdRstN || 0xAD || 0x040000CA || V, 5 || USB-PD Controller (RHOM BM92T30MWV) ResetN || Out || [[USB services]] || Icosa, Copper, Hoag, Iowa, Calcio, Aula |
|- | |- | ||
− | | 0x21 || Bq24190Irq || 0xC8 || 0x39000002 || Z, 0 || Charger IC (BQ24193) IRQ || In || [[PTM services]], [[AM services]] || Icosa, Hoag, Iowa, | + | | 0x21 || Bq24190Irq || 0xC8 || 0x39000002 || Z, 0 || Charger IC (BQ24193) IRQ || In || [[PTM services]], [[AM services]] || Icosa, Hoag, Iowa, Aula |
|- | |- | ||
− | | 0x22 || SdevCoaxSel0 || 0xCA || 0xCA000401 || Z, 2 || SDEV Coax Select || In || || Icosa, Iowa | + | | 0x22 || SdevCoaxSel0 || 0xCA || 0xCA000405 ([1.0.0-10.0.0] 0xCA000401) || Z, 2 || SDEV Coax Select || In || || Icosa, Iowa |
|- | |- | ||
− | | 0x23 || SdWp || 0xCB || 0x3C000003 || Z, 3 || | + | | 0x23 || SdWp || 0xCB || 0x3C000003 || Z, 3 || SdCard Write Protect || In || || Icosa, Copper, Hoag, Iowa, Calcio, Aula |
|- | |- | ||
− | | 0x24 || TpReset || 0x4F || 0x35000035 || J, 7 || TouchPanel Reset || Out || [[HID services]] || Icosa, Hoag, Iowa, | + | | 0x24 || TpReset || 0x4F || 0x35000035 || J, 7 || TouchPanel Reset || Out || [[HID services]] || Icosa, Hoag, Iowa, Aula |
|- | |- | ||
− | | 0x25 || BtGpio2 || 0x50 || 0x37000401 || K, 0 || || In || || Icosa, Copper, Hoag, Iowa, Calcio, | + | | 0x25 || BtGpio2 || 0x50 || 0x37000401 || K, 0 || || In || || Icosa, Copper, Hoag, Iowa, Calcio, Aula |
|- | |- | ||
− | | 0x26 || BtGpio3 || 0x51 || 0x37000402 || K, 1 || || In || || Icosa, Copper, Hoag, Iowa, Calcio, | + | | 0x26 || BtGpio3 || 0x51 || 0x37000402 || K, 1 || || In || || Icosa, Copper, Hoag, Iowa, Calcio, Aula |
|- | |- | ||
− | | 0x27 || BtGpio4 || 0x52 || 0x37000403 || K, 2 || || In || || Icosa, Copper, Hoag, Iowa, Calcio, | + | | 0x27 || BtGpio4 || 0x52 || 0x37000403 || K, 2 || || In || || Icosa, Copper, Hoag, Iowa, Calcio, Aula |
|- | |- | ||
− | | 0x28 || CradleIrq || 0x54 || 0x040000CB || K, 4 || USB-PD Controller (RHOM BM92T30MWV) IRQ || In || [[USB services]], [[AM services]] || Icosa, Copper, Hoag, Iowa, Calcio, | + | | 0x28 || CradleIrq || 0x54 || 0x040000CB || K, 4 || USB-PD Controller (RHOM BM92T30MWV) IRQ || In || [[USB services]], [[AM services]] || Icosa, Copper, Hoag, Iowa, Calcio, Aula |
|- | |- | ||
− | | 0x29 || PowVcpuInt || 0x56 || 0x3E000003 || K, 6 || || In || || Icosa, Copper, | + | | 0x29 || PowVcpuInt || 0x56 || 0x3E000003 || K, 6 || Sub-PMIC for CPU (MAX77621) IRQ || In || || Icosa, Copper, Aula |
|- | |- | ||
− | | 0x2A || Max77621GpuInt || 0x57 || 0x3E000004 || K, 7 || || In || || Icosa, Copper | + | | 0x2A || Max77621GpuInt || 0x57 || 0x3E000004 || K, 7 || Sub-PMIC for GPU (MAX77621) IRQ || In || || Icosa, Copper |
|- | |- | ||
− | | 0x2B || ExtconChgU || 0x53 || 0x35000402 || K, 3 || Joy-Con(R) Charge || Out || [[HID services]] || Icosa, Iowa, | + | | 0x2B || ExtconChgU || 0x53 || 0x35000402 || K, 3 || Joy-Con(R) Charge || Out || [[HID services]] || Icosa, Iowa, Aula |
|- | |- | ||
− | | 0x2C || ExtconChgS || 0xE3 || 0x3500040C || CC, 3 || Joy-Con(L) Charge || Out || [[HID services]] || Icosa, Iowa, | + | | 0x2C || ExtconChgS || 0xE3 || 0x3500040C || CC, 3 || Joy-Con(L) Charge || Out || [[HID services]] || Icosa, Iowa, Aula |
|- | |- | ||
| 0x2D || WifiRfDisable || 0x38 || 0x38000003 || H, 0 || || Out || || Icosa, Copper, Hoag, Iowa, Calcio | | 0x2D || WifiRfDisable || 0x38 || 0x38000003 || H, 0 || || Out || || Icosa, Copper, Hoag, Iowa, Calcio | ||
|- | |- | ||
− | | 0x2E || WifiReset || 0x39 || 0x38000002 || H, 1 || WiFi Reset || Out || [[WLAN services]], [[PCIe services]] || Icosa, Copper, Hoag, Iowa, Calcio, | + | | 0x2E || WifiReset || 0x39 || 0x38000002 || H, 1 || WiFi Reset || Out || [[WLAN services]], [[PCIe services]] || Icosa, Copper, Hoag, Iowa, Calcio, Aula |
|- | |- | ||
− | | 0x2F || ApWakeBt || 0x3B || 0x37000003 || H, 3 || || Out || [[Bluetooth Driver services]] || Icosa, Copper, Hoag, Iowa, Calcio, | + | | 0x2F || ApWakeBt || 0x3B || 0x37000003 || H, 3 || Wake Bluetooth from Host || Out || [[Bluetooth Driver services]] || Icosa, Copper, Hoag, Iowa, Calcio, Aula |
|- | |- | ||
− | | 0x30 || BtWakeAp || 0x3D || 0x37000004 || H, 5 || || In || [[AM services]] || Icosa, Copper, Hoag, Iowa, Calcio, | + | | 0x30 || BtWakeAp || 0x3D || 0x37000004 || H, 5 || Wake Host from Bluetooth || In || [[AM services]] || Icosa, Copper, Hoag, Iowa, Calcio, Aula |
|- | |- | ||
− | | 0x31 || BtGpio5 || 0x3F || 0x37000404 || H, 7 || || Out || || Icosa, Copper, Hoag, Iowa, Calcio, | + | | 0x31 || BtGpio5 || 0x3F || 0x37000404 || H, 7 || || Out || || Icosa, Copper, Hoag, Iowa, Calcio, Aula |
|- | |- | ||
− | | 0x32 || PowLcdVddPEn || 0x40 || 0x34000034 || I, 0 || Backlight +5V || Out || [[NV services]] || Icosa, Hoag, Iowa | + | | 0x32 || PowLcdVddPEn || 0x40 || 0x34000034 || I, 0 || LCD Backlight PAVDD +5V || Out || [[NV services]] || Icosa, Hoag, Iowa |
|- | |- | ||
− | | 0x33 || PowLcdVddNEn || 0x41 || 0x34000035 || I, 1 || Backlight -5V || Out || [[NV services]] || Icosa, Hoag, Iowa | + | | 0x33 || PowLcdVddNEn || 0x41 || 0x34000035 || I, 1 || LCD Backlight NAVDD -5V || Out || [[NV services]] || Icosa, Hoag, Iowa |
|- | |- | ||
− | | 0x34 || ExtconDetU || 0x3E || 0x35000401 || H, 6 || Joy-Con(R) IsAttached (insertion, Joy-Con pin 5/console TX, pulled low on insert) || In || [[HID services]], [[AM services]] || Icosa, Iowa, | + | | 0x34 || ExtconDetU || 0x3E || 0x35000401 || H, 6 || Joy-Con(R) IsAttached (insertion, Joy-Con pin 5/console TX, pulled low on insert) || In || [[HID services]], [[AM services]] || Icosa, Iowa, Aula |
|- | |- | ||
| 0x35 || RamCode2 || 0xE2 || 0xC9000401 || CC, 2 || Secondary Boot Device Configration || In || || Icosa, Iowa | | 0x35 || RamCode2 || 0xE2 || 0xC9000401 || CC, 2 || Secondary Boot Device Configration || In || || Icosa, Iowa | ||
|- | |- | ||
− | | 0x36 || Vdd50BEn || 0xE4 || 0x39000402 || CC, 4 || Fan and Joy-Con | + | | 0x36 || Vdd50BEn || 0xE4 || 0x39000402 || CC, 4 || Fan and Joy-Con 5V Power (USB) || Out || [[PTM services]] || Icosa, Iowa |
|- | |- | ||
− | | 0x37 || WifiWakeHost || 0x3A || 0x38000004 || H, 2 || || In || [[AM services]] || Icosa, Copper, Hoag, Iowa, Calcio, | + | | 0x37 || WifiWakeHost || 0x3A || 0x38000004 || H, 2 || Wake Host from Wifi || In || [[AM services]] || Icosa, Copper, Hoag, Iowa, Calcio, Aula |
|- | |- | ||
− | | 0x38 || SdCd || 0xC9 || 0x3C000002 || Z, 1 || | + | | 0x38 || SdCd || 0xC9 || 0x3C000002 || Z, 1 || SdCard Card Detect || In || [[Filesystem services]], [[AM services]] || Icosa, Copper, Hoag, Iowa, Calcio, Aula |
|- | |- | ||
| 0x39 || OtgFet1ForSdev || 0x4D || 0x39000404 || J, 5 || Charger IC (BQ24193) OTG Charge Select || Out || [[PTM services]], [[USB services]] || Icosa, Iowa | | 0x39 || OtgFet1ForSdev || 0x4D || 0x39000404 || J, 5 || Charger IC (BQ24193) OTG Charge Select || Out || [[PTM services]], [[USB services]] || Icosa, Iowa | ||
Line 618: | Line 732: | ||
| 0x3A || OtgFet2ForSdev || 0x58 || 0x39000405 || L, 0 || Charger IC (BQ24193) OTG Charge Select || Out || [[PTM services]], [[USB services]] || Icosa, Iowa | | 0x3A || OtgFet2ForSdev || 0x58 || 0x39000405 || L, 0 || Charger IC (BQ24193) OTG Charge Select || Out || [[PTM services]], [[USB services]] || Icosa, Iowa | ||
|- | |- | ||
− | | 0x3B || ExtConWakeU || 0x3E || 0x35000403 || H, 6 || Joy-Con(R) Wake Detect || In || || Icosa, Hoag, Iowa, | + | | 0x3B || ExtConWakeU || 0x3E || 0x35000403 || H, 6 || Joy-Con(R) Wake Detect || In || || Icosa, Hoag, Iowa, Aula |
|- | |- | ||
− | | 0x3C || ExtConWakeS || 0x26 || 0x3500040D || E, 6 || Joy-Con(L) Wake Detect || In || || Icosa, Hoag, Iowa, | + | | 0x3C || ExtConWakeS || 0x26 || 0x3500040D || E, 6 || Joy-Con(L) Wake Detect || In || || Icosa, Hoag, Iowa, Aula |
|- | |- | ||
− | | 0x3D || PmuIrq || -1 || 0x39000406 || || || || || | + | | 0x3D || PmuIrq || -1 || 0x39000406 || GIC 86 || Main PMIC IRQ (PMU_EXT IRQ) || || || |
|- | |- | ||
| 0x3E || ExtUart2Cts || 0x33 || 0x35000404 || G, 3 || Joy-Con(R) CTS (checked low) || In || [[HID services]], [[AM services]] || | | 0x3E || ExtUart2Cts || 0x33 || 0x35000404 || G, 3 || Joy-Con(R) CTS (checked low) || In || [[HID services]], [[AM services]] || | ||
Line 644: | Line 758: | ||
| 0x47 || UsbSwitchB2En || 0x98 || 0x04000406 || T, 0 || USB Root Port 2 Power || Out || [[USB services]] || Copper | | 0x47 || UsbSwitchB2En || 0x98 || 0x04000406 || T, 0 || USB Root Port 2 Power || Out || [[USB services]] || Copper | ||
|- | |- | ||
− | | 0x48 || Hdmi5VEn || 0x10 || 0x34000004 || C, 0 || HDMI 5V || Out || [[NV services]] || Copper, Calcio | + | | 0x48 || Hdmi5VEn || 0x10 || 0x34000004 || C, 0 || HDMI 5V Power || Out || [[NV services]] || Copper, Calcio |
|- | |- | ||
| 0x49 || UsbSwitchB1En || 0x11 || 0x04000407 || C, 1 || USB Root Port 1 Power || Out || [[USB services]] || Copper, Calcio | | 0x49 || UsbSwitchB1En || 0x11 || 0x04000407 || C, 1 || USB Root Port 1 Power || Out || [[USB services]] || Copper, Calcio | ||
Line 650: | Line 764: | ||
| 0x4A || HdmiPdTrEn || 0x12 || 0x34000005 || C, 2 || HDMI/Power Delivery Switch || Out || [[NV services]] || Copper, Calcio | | 0x4A || HdmiPdTrEn || 0x12 || 0x34000005 || C, 2 || HDMI/Power Delivery Switch || Out || [[NV services]] || Copper, Calcio | ||
|- | |- | ||
− | | 0x4B || FanEn || 0x42 || 0x3D000003 || I, 2 || Fan | + | | 0x4B || FanEn || 0x42 || 0x3D000003 || I, 2 || Fan Power || Out || [[PTM services]] || Copper |
|- | |- | ||
| 0x4C || UsbSwitchB1Oc || 0xE6 || 0x04000408 || CC, 6 || USB Root Port 1 Over Current || In || [[USB services]] || Copper, Calcio | | 0x4C || UsbSwitchB1Oc || 0xE6 || 0x04000408 || CC, 6 || USB Root Port 1 Over Current || In || [[USB services]] || Copper, Calcio | ||
Line 658: | Line 772: | ||
| [2.0.0+] 0x4E || HdmiHpd || 0xE1 || 0x34000006 || CC, 1 || HDMI Hot Plug Detect || In || [[NV services]] || Copper, Calcio | | [2.0.0+] 0x4E || HdmiHpd || 0xE1 || 0x34000006 || CC, 1 || HDMI Hot Plug Detect || In || [[NV services]] || Copper, Calcio | ||
|- | |- | ||
− | | [5.0.0+] 0x4F || Max77812Irq || 0x56 || 0x3E000003 || K, 6 || || In || || Hoag, Iowa, Calcio | + | | [5.0.0+] 0x4F || Max77812Irq || 0x56 || 0x3E000003 || K, 6 || Sub-PMIC (CPU/GPU/RAM) IRQ || In || || Hoag, Iowa, Calcio |
|- | |- | ||
− | | [6.0.0+] 0x50 || || 0x20 || 0xCA000001 || E, 0 || || Out || || Hoag, Calcio, | + | | [6.0.0+] 0x50 || Debug0 || 0x20 || 0xCA000001 || E, 0 || || Out || || Hoag, Calcio, Aula |
|- | |- | ||
− | | [6.0.0+] 0x51 || || 0x21 || 0xCA000002 || E, 1 || || Out || || Hoag, Calcio, | + | | [6.0.0+] 0x51 || Debug1 || 0x21 || 0xCA000002 || E, 1 || || Out || || Hoag, Calcio, Aula |
|- | |- | ||
− | | [6.0.0+] 0x52 || || 0x22 || 0xCA000003 || E, 2 || || Out || || Hoag, Calcio, | + | | [6.0.0+] 0x52 || Debug2 || 0x22 || 0xCA000003 || E, 2 || || Out || || Hoag, Calcio, Aula |
|- | |- | ||
− | | [6.0.0+] 0x53 || || 0x23 || 0xCA000004 || E, 3 || || Out || || Hoag, Calcio, | + | | [6.0.0+] 0x53 || Debug3 || 0x23 || 0xCA000004 || E, 3 || || Out || || Hoag, Calcio, Aula |
|- | |- | ||
− | | [6.0.0+] 0x54 || NfcIrq || 0x4C || 0x36000004 || J, 4 || || In || [[NFC services]] || Hoag | + | | [6.0.0+] 0x54 || NfcIrq || 0x4C || 0x36000004 || J, 4 || NFC Controller IRQ || In || [[NFC services]] || Hoag |
|- | |- | ||
− | | [6.0.0+] 0x55 || NfcRst || 0x57 || 0x36000003 || K, 7 || || Out || [[NFC services]] || Hoag | + | | [6.0.0+] 0x55 || NfcRst || 0x57 || 0x36000003 || K, 7 || NFC Controller Reset || Out || [[NFC services]] || Hoag |
|- | |- | ||
− | | [6.0.0+] 0x56 || McuIrq || 0x27 ([6.0.0-8.0.0] 0x94) || 0x35000415 || | + | | [6.0.0+] 0x56 || McuIrq || 0x27 ([6.0.0-8.0.0] 0x94) || 0x35000415 || E, 7 || Sio MCU IRQ || In || || Hoag |
|- | |- | ||
− | | [6.0.0+] 0x57 || McuBoot || 0x98 || 0x35000416 || T, 0 || || Out || [[HID services]] || Hoag | + | | [6.0.0+] 0x57 || McuBoot || 0x98 || 0x35000416 || T, 0 || Sio MCU BOOT0 Select (0: Flash, 1: SRAM) || Out || [[HID services]] || Hoag |
|- | |- | ||
− | | [6.0.0+] 0x58 || McuRst || 0x99 || 0x35000417 || T, 1 || || | + | | [6.0.0+] 0x58 || McuRst || 0x99 || 0x35000417 || T, 1 || Sio MCU ResetN (Output LOW -> Input) || In || [[HID services]] || Hoag |
|- | |- | ||
− | | [6.0.0+] 0x59 || Vdd5V3En || 0xBB || 0x39000403 || X, 3 || | + | | [6.0.0+] 0x59 || Vdd5V3En || 0xBB || 0x39000403 || X, 3 || OTG VBUS Power || Out || [[PTM services]] || Hoag, Iowa, Aula |
|- | |- | ||
− | | [6.0.0+] 0x5A || McuPor || 0xE5 || 0x35000418 || CC, 5 || || Out || [[HID services]] || Hoag | + | | [6.0.0+] 0x5A || McuPor || 0xE5 || 0x35000418 || CC, 5 || Sio MCU NPOR || Out || [[HID services]] || Hoag |
|- | |- | ||
− | | [6.0.0+] 0x5B || || 0xAB || 0x35000005 || V, 3 || | + | | [6.0.0+] 0x5B || (McuHome) || 0xAB || 0x35000005 || V, 3 || Sio MCU Home Button || In || [[HID services]], [[AM services]] || Hoag |
|- | |- | ||
− | | [6.0.0+] 0x5C || NfcEn || 0x4E || 0x36000002 || J, 6 || || Out || [[NFC services]] || Hoag | + | | [6.0.0+] 0x5C || NfcEn || 0x4E || 0x36000002 || J, 6 || NFC Controller Power || Out || [[NFC services]] || Hoag |
|- | |- | ||
| [7.0.0+] - || ExtUart2Rts || 0x32 || 0x35000406 || G, 2 || Joy-Con(R) RTS || In || || | | [7.0.0+] - || ExtUart2Rts || 0x32 || 0x35000406 || G, 2 || Joy-Con(R) RTS || In || || | ||
Line 690: | Line 804: | ||
| [7.0.0+] - || ExtUart3Rts || 0x1B || 0x35000410 || D, 3 || Joy-Con(L) RTS || In || || | | [7.0.0+] - || ExtUart3Rts || 0x1B || 0x35000410 || D, 3 || Joy-Con(L) RTS || In || || | ||
|- | |- | ||
− | | [7.0.0+] - || || 0x17 || 0x3500041B || C, 7 || || In || || Hoag | + | | [7.0.0+] - || || 0x17 || 0x3500041B || C, 7 || SPI4 MOSI (Built-in IMU, set as gpio-input so Sio can use IMU) || In || || Hoag |
|- | |- | ||
− | | [7.0.0+] - || || 0x18 || 0x3500041C || D, 0 || || In || || Hoag | + | | [7.0.0+] - || || 0x18 || 0x3500041C || D, 0 || SPI4 MISO (Built-in IMU, set as gpio-input so Sio can use IMU) || In || || Hoag |
|- | |- | ||
− | | [7.0.0+] - || || 0x15 || 0x3500041D || C, 5 || || In || || Hoag | + | | [7.0.0+] - || || 0x15 || 0x3500041D || C, 5 || SPI4 SCLK (Built-in IMU, set as gpio-input so Sio can use IMU) || In || || Hoag |
|- | |- | ||
− | | [7.0.0+] - || || 0x16 || 0x3500041E || C, 6 || || In || || Hoag | + | | [7.0.0+] - || || 0x16 || 0x3500041E || C, 6 || SPI4 CS0 (Built-in IMU, set as gpio-input so Sio can use IMU) || In || || Hoag |
|- | |- | ||
− | | [10.0.0+] - || || 0xC5 || 0x35000065 || Y, 5 || || Out || || Hoag | + | | [10.0.0+] - || || 0xC5 || 0x35000065 || Y, 5 || Notification LED PWM (CLK 32K OUT) || Out || || Hoag |
|- | |- | ||
| [10.0.0+] - || || 0x29 || 0x04000409 || F, 1 || || Out || || Calcio | | [10.0.0+] - || || 0x29 || 0x04000409 || F, 1 || || Out || || Calcio | ||
|- | |- | ||
− | | [10.0.0+] - || || 0x38 || 0x34000401 || H, 0 || || In || || | + | | [10.0.0+] - || || 0x38 || 0x34000401 || H, 0 || OLED Panel IRQ || In || [[Display services]] || Aula |
+ | |- | ||
+ | | [13.0.0+] - || (BtGpio6) || 0x46 || 0x37000405 || I, 6 || UART-D RTS (Bluetooth) || In || || | ||
|} | |} | ||
Line 715: | Line 831: | ||
|- | |- | ||
| 2-0 || Pin number | | 2-0 || Pin number | ||
+ | |} | ||
+ | |||
+ | = Direction = | ||
+ | This is "nn::gpio::Direction". | ||
+ | |||
+ | {| class="wikitable sortable" border="1" | ||
+ | |- | ||
+ | ! Value || Name | ||
+ | |- | ||
+ | | 0 || Input | ||
+ | |- | ||
+ | | 1 || Output | ||
+ | |} | ||
+ | |||
+ | = GpioValue = | ||
+ | This is "nn::gpio::GpioValue". | ||
+ | |||
+ | {| class="wikitable sortable" border="1" | ||
+ | |- | ||
+ | ! Value || Name | ||
+ | |- | ||
+ | | 0 || Low | ||
+ | |- | ||
+ | | 1 || High | ||
+ | |} | ||
+ | |||
+ | = InterruptMode = | ||
+ | This is "nn::gpio::InterruptMode". | ||
+ | |||
+ | {| class="wikitable sortable" border="1" | ||
+ | |- | ||
+ | ! Value || Name | ||
+ | |- | ||
+ | | 0 || LowLevel | ||
+ | |- | ||
+ | | 1 || HighLevel | ||
+ | |- | ||
+ | | 2 || RisingEdge | ||
+ | |- | ||
+ | | 3 || FallingEdge | ||
+ | |- | ||
+ | | 4 || AnyEdge | ||
+ | |} | ||
+ | |||
+ | = InterruptStatus = | ||
+ | This is "nn::gpio::InterruptStatus". | ||
+ | |||
+ | {| class="wikitable sortable" border="1" | ||
+ | |- | ||
+ | ! Value || Name | ||
+ | |- | ||
+ | | 0 || Inactive | ||
+ | |- | ||
+ | | 1 || Active | ||
+ | |} | ||
+ | |||
+ | = WakeBitFlag = | ||
+ | This is "nn::gpio::WakeBitFlag". This is a 128-bit flag. | ||
+ | |||
+ | = OpenMode = | ||
+ | This is "nn::gpio::OpenMode". | ||
+ | |||
+ | {| class="wikitable sortable" border="1" | ||
+ | |- | ||
+ | ! Value || Name | ||
+ | |- | ||
+ | | 0 || None | ||
+ | |- | ||
+ | | 1 || Read | ||
+ | |- | ||
+ | | 2 || Write | ||
+ | |- | ||
+ | | 3 || ReadWrite | ||
|} | |} | ||
Line 724: | Line 913: | ||
! Value || Name || DeviceCode || Port:Addr || Is10bit || Speed || Max Retries || Retry Delay || Description || Used by (services) || Used by (hardware) | ! Value || Name || DeviceCode || Port:Addr || Is10bit || Speed || Max Retries || Retry Delay || Description || Used by (services) || Used by (hardware) | ||
|- | |- | ||
− | | 0 || ClassicController || 0x350000C9 || 0:52 || N || 100000 || 0 || 0 || DebugPad Driver || [[HID services]] || Icosa, Iowa, | + | | 0 || ClassicController || 0x350000C9 || 0:52 || N || 100000 || 0 || 0 || DebugPad Driver || [[HID services]] || Icosa, Iowa, Aula |
|- | |- | ||
− | | 1 || Ftm3bd56 || 0x35000033 || 2:49 || N || 400000 || 0 || 0 || TouchPanel || [[HID services]] || Icosa, Hoag, Iowa, | + | | 1 || Ftm3bd56 || 0x35000033 || 2:49 || N || 400000 || 0 || 0 || TouchPanel || [[HID services]] || Icosa, Hoag, Iowa, Aula |
|- | |- | ||
− | | 2 || Tmp451 || 0x3E000001 || 0:4C || N || 100000 || 0 || 0 || Temperature Sensor || [[PTM services]] || Icosa, Copper, Hoag, Iowa, Calcio, | + | | 2 || Tmp451 || 0x3E000001 || 0:4C || N || 100000 || 0 || 0 || Temperature Sensor || [[PTM services]] || Icosa, Copper, Hoag, Iowa, Calcio, Aula |
|- | |- | ||
− | | 3 || Nct72 || 0x3E000001 || 0:4C || N || 100000 || 0 || 0 || Temperature Sensor || [[PTM services]] || Icosa, Copper, Hoag, Iowa, Calcio, | + | | 3 || Nct72 || 0x3E000001 || 0:4C || N || 100000 || 0 || 0 || Temperature Sensor || [[PTM services]] || Icosa, Copper, Hoag, Iowa, Calcio, Aula |
|- | |- | ||
− | | 4 || Alc5639 || 0x33000001 || 0:1C || N || 100000 || 0 || 0 || Audio Codec || [[Audio services]], [[Fatal services]] || Icosa, Hoag, Iowa, | + | | 4 || Alc5639 || 0x33000001 || 0:1C || N || 100000 || 0 || 0 || Audio Codec || [[Audio services]], [[Fatal services]] || Icosa, Hoag, Iowa, Aula |
|- | |- | ||
| 5 || Max77620Rtc || 0x3B000001 || 4:68 || N || 400000 || 3 || 5000000 || PMIC RTC || [[PCV services]] || Icosa, Copper | | 5 || Max77620Rtc || 0x3B000001 || 4:68 || N || 400000 || 3 || 5000000 || PMIC RTC || [[PCV services]] || Icosa, Copper | ||
Line 742: | Line 931: | ||
| 8 || Max77621Gpu || 0x3A000004 || 4:1C || N || 400000 || 3 || 5000000 || Sub-PMIC for GPU || [[PCV services]] || Icosa, Copper | | 8 || Max77621Gpu || 0x3A000004 || 4:1C || N || 400000 || 3 || 5000000 || Sub-PMIC for GPU || [[PCV services]] || Icosa, Copper | ||
|- | |- | ||
− | | 9 || Bq24193 || 0x39000001 || 0:6B || N || 100000 || 3 || 5000000 || Charger IC || [[PTM services]] || Icosa, Hoag, Iowa, | + | | 9 || Bq24193 || 0x39000001 || 0:6B || N || 100000 || 3 || 5000000 || Charger IC || [[PTM services]] || Icosa, Hoag, Iowa, Aula |
|- | |- | ||
− | | 10 || Max17050 || 0x39000033 || 0:36 || N || 100000 || 3 || 5000000 || Fuel Gauge IC || [[PTM services]], [[PCV services]] || Icosa, Hoag, Iowa, | + | | 10 || Max17050 || 0x39000033 || 0:36 || N || 100000 || 3 || 5000000 || Fuel Gauge IC || [[PTM services]], [[PCV services]] || Icosa, Hoag, Iowa, Aula |
|- | |- | ||
− | | 11 || Bm92t30mwv || 0x040000C9 || 0:18 || N || 100000 || 3 || 5000000 || USB-PD controller || [[USB services]] || Icosa, Copper, Hoag, Iowa, Calcio, | + | | 11 || Bm92t30mwv || 0x040000C9 || 0:18 || N || 100000 || 3 || 5000000 || USB-PD controller || [[USB services]] || Icosa, Copper, Hoag, Iowa, Calcio, Aula |
|- | |- | ||
| 12 || Ina226Vdd15v0Hb || 0x3F000401 || 1:40 || N || 400000 || 3 || 5000000 || Power Monitor || nvdbgsvc || Factory | | 12 || Ina226Vdd15v0Hb || 0x3F000401 || 1:40 || N || 400000 || 3 || 5000000 || Power Monitor || nvdbgsvc || Factory | ||
Line 760: | Line 949: | ||
| 17 || Ina226VsysBlDs || 0x3F000403 || 1:47 || N || 400000 || 3 || 5000000 || Power Monitor || nvdbgsvc || Factory | | 17 || Ina226VsysBlDs || 0x3F000403 || 1:47 || N || 400000 || 3 || 5000000 || Power Monitor || nvdbgsvc || Factory | ||
|- | |- | ||
− | | 18 || Bh1730 || 0x35000047 || 1:29 || N || 400000 || 3 || 5000000 || Ambient Light Sensor || [[Backlight services]] || Icosa, Hoag, Iowa, | + | | 18 || Bh1730 || 0x35000047 || 1:29 || N || 400000 || 3 || 5000000 || Ambient Light Sensor || [[Backlight services]] || Icosa, Hoag, Iowa, Aula |
|- | |- | ||
| 19 || Ina226VsysCore or Ina226VddCoreAp (SdevMariko) || 0x3F000404 || 1:48 || N || 400000 || 3 || 5000000 || Power Monitor || nvdbgsvc || Factory | | 19 || Ina226VsysCore or Ina226VddCoreAp (SdevMariko) || 0x3F000404 || 1:48 || N || 400000 || 3 || 5000000 || Power Monitor || nvdbgsvc || Factory | ||
Line 772: | Line 961: | ||
| 23 || Ina226Vdd3V3Sys || 0x3F000408 || 1:4D || N || 400000 || 3 || 5000000 || Power Monitor || nvdbgsvc || Factory | | 23 || Ina226Vdd3V3Sys || 0x3F000408 || 1:4D || N || 400000 || 3 || 5000000 || Power Monitor || nvdbgsvc || Factory | ||
|- | |- | ||
− | | [2.0.0+] 24 || || 0x34000001 || 3:50 || N || 100000 || 0 || 0 || HDMI DDC || [[NV services]] || Copper, Calcio | + | | [2.0.0+] 24 || HdmiDdc || 0x34000001 || 3:50 || N || 100000 || 0 || 0 || HDMI DDC || [[NV services]] || Copper, Calcio |
|- | |- | ||
− | | [2.0.0+] 25 || || 0x34000002 || 3:54 || N || 100000 || 0 || 0 || HDMI SCDC || [[NV services]] || Copper, Calcio | + | | [2.0.0+] 25 || HdmiScdc || 0x34000002 || 3:54 || N || 100000 || 0 || 0 || HDMI SCDC || [[NV services]] || Copper, Calcio |
|- | |- | ||
− | | [2.0.0+] 26 || || 0x34000003 || 3:3A || N || 100000 || 0 || 0 || HDMI HDCP || [[NV services]] || Copper, Calcio | + | | [2.0.0+] 26 || HdmiHdcp || 0x34000003 || 3:3A || N || 100000 || 0 || 0 || HDMI HDCP || [[NV services]] || Copper, Calcio |
|- | |- | ||
− | | [4.0.0+] 27 || Fan53528 || 0x3A000005 || 4:52 ([4.0.0-8.0.0] 4:A4) || N || 400000 || 0 || 0 || | + | | [4.0.0+] 27 || Fan53528 || 0x3A000005 || 4:52 ([4.0.0-8.0.0] 4:A4) || N || 400000 || 0 || 0 || RAM Regulator (tied to Max77812Pmic) || || Hoag, Iowa, Calcio, Aula |
|- | |- | ||
− | | [4.0.0+] 28 || Max77812Pmic || 0x3A000002 || 4:31 ([8.0.0-9.2.0] 4:33, [4.0.0-8.0.0] 4:31) || N || 400000 || 0 || 0 || PMIC || [[PCV services]] || Hoag, Iowa, Calcio, | + | | [4.0.0+] 28 || Max77812Pmic || 0x3A000002 || 4:31 ([8.0.0-9.2.0] 4:33, [4.0.0-8.0.0] 4:31) || N || 400000 || 0 || 0 || Sub-PMIC for CPU and GPU (tied to Fan53528) (Phase 31) || [[PCV services]] || Hoag, Iowa, Calcio, Aula |
|- | |- | ||
− | | [4.0.0+] 29 || Max77812Pmic || 0x3A000006 ([4.0.0-9.2.0] 0x3A000002) || 4:33 ([4.0.0-8.0.0] 4:31) || N || 400000 || 0 || 0 || PMIC || [[PCV services]] || Hoag, Iowa, Calcio, | + | | [4.0.0+] 29 || Max77812Pmic || 0x3A000006 ([4.0.0-9.2.0] 0x3A000002) || 4:33 ([4.0.0-8.0.0] 4:31) || N || 400000 || 0 || 0 || Sub-PMIC for GPU, CPU and RAM (Phase 211) || [[PCV services]] || Hoag, Iowa, Calcio, Aula |
|- | |- | ||
| [4.0.0+] 30 || Ina226VddDdr0V6 (SdevMariko) || 0x3F000409 || 1:4E || N || 400000 || 3 || 5000000 || Power Monitor || nvdbgsvc || Factory | | [4.0.0+] 30 || Ina226VddDdr0V6 (SdevMariko) || 0x3F000409 || 1:4E || N || 400000 || 3 || 5000000 || Power Monitor || nvdbgsvc || Factory | ||
|- | |- | ||
− | | [8.0.0+] 31 || || 0x36000001 || 1:08 || N || 400000 || 3 || 5000000 || NFC | + | | [8.0.0+] 31 || (MillauNfc) || 0x36000001 || 1:08 || N || 400000 || 3 || 5000000 || NFC Controller || [[NFC services]] || Hoag |
+ | |- | ||
+ | | [12.0.0+] - || (Max77801) || 0x3A000007 || 4:18 || N || 400000 || 0 || 0 || Audio Codec (ALC5639) Regulator || [[PCV services]] || Aula | ||
+ | |} | ||
+ | |||
+ | = AddressingMode = | ||
+ | This is "nn::i2c::AddressingMode". | ||
+ | |||
+ | {| class="wikitable sortable" border="1" | ||
+ | |- | ||
+ | ! Value || Name | ||
+ | |- | ||
+ | | 0 || BitWidth7 | ||
+ | |- | ||
+ | | 1 || BitWidth10 | ||
+ | |} | ||
+ | |||
+ | = TransactionOption = | ||
+ | This is "nn::i2c::TransactionOption". | ||
+ | |||
+ | {| class="wikitable sortable" border="1" | ||
+ | |- | ||
+ | ! Value || Name | ||
+ | |- | ||
+ | | 1 || StartCondition | ||
+ | |- | ||
+ | | 2 || StopCondition | ||
+ | |} | ||
+ | |||
+ | = SpeedMode = | ||
+ | This is "nn::i2c::SpeedMode". | ||
+ | |||
+ | {| class="wikitable sortable" border="1" | ||
+ | |- | ||
+ | ! Value || Name | ||
+ | |- | ||
+ | | 0x186A0 || Standard | ||
+ | |- | ||
+ | | 0x61A80 || Fast | ||
+ | |- | ||
+ | | 0xF4240 || FastPlus | ||
+ | |- | ||
+ | | 0x33E140 || HighSpeed | ||
+ | |} | ||
+ | |||
+ | = CommandId = | ||
+ | This is "nn::i2c::detail::CommandId". | ||
+ | |||
+ | {| class="wikitable sortable" border="1" | ||
+ | |- | ||
+ | ! Value || Name | ||
+ | |- | ||
+ | | 0 || Send | ||
+ | |- | ||
+ | | 1 || Receive | ||
+ | |- | ||
+ | | 2 || Extension | ||
+ | |} | ||
+ | |||
+ | = SubCommandId = | ||
+ | This is "nn::i2c::detail::SubCommandId". | ||
+ | |||
+ | {| class="wikitable sortable" border="1" | ||
+ | |- | ||
+ | ! Value || Name | ||
+ | |- | ||
+ | | 0 || Sleep | ||
|} | |} | ||
= UartPort = | = UartPort = | ||
+ | This is "nn::uart::UartPort". | ||
+ | |||
{| class="wikitable sortable" border="1" | {| class="wikitable sortable" border="1" | ||
|- | |- | ||
− | ! Name || DeviceCode (internal) || DeviceCode (mapped) || | + | ! Value || Name || DeviceCode (internal) || DeviceCode (mapped) || Description |
|- | |- | ||
− | | 0 || | + | | 0 || UART-A || 0x03000001 || || Invalid |
|- | |- | ||
− | | 1 || 0x03000004 || 0x37000001 | + | | 1 || UART-D || 0x03000004 || 0x37000001 || Bluetooth |
|- | |- | ||
− | | 2 || 0x03000002 || 0x35000405 | + | | 2 || UART-B || 0x03000002 || 0x35000405 || Joy-Con(R) |
|- | |- | ||
− | | 3 || 0x03000003 || 0x3500040F | + | | 3 || UART-C || 0x03000003 || 0x3500040F || Joy-Con(L) |
|- | |- | ||
− | | 4 || 0x03000003 || 0x35000419 || | + | | 4 || UART-C || 0x03000003 || 0x35000419 || SioMcu |
|} | |} | ||
= UartPortForDev = | = UartPortForDev = | ||
+ | This is "nn::uart::UartPortForDev". | ||
+ | |||
{| class="wikitable sortable" border="1" | {| class="wikitable sortable" border="1" | ||
|- | |- | ||
− | ! Name || DeviceCode (internal) || DeviceCode (mapped) || | + | ! Value || Name || DeviceCode (internal) || DeviceCode (mapped) || Description |
+ | |- | ||
+ | | 0 || UART-A || 0x03000001 || || Invalid | ||
+ | |- | ||
+ | | 1 || UART-B || 0x03000002 || 0x35000405 || Joy-Con(R) | ||
+ | |- | ||
+ | | 2 || UART-C || 0x03000003 || 0x3500040F || Joy-Con(L) | ||
|- | |- | ||
− | | | + | | 3 || UART-D || 0x03000004 || 0x37000001 || Bluetooth |
+ | |} | ||
+ | |||
+ | = FlowControlMode = | ||
+ | This is "nn::uart::FlowControlMode". | ||
+ | |||
+ | {| class="wikitable sortable" border="1" | ||
|- | |- | ||
− | | | + | ! Value || Name |
|- | |- | ||
− | | | + | | 0 || None |
|- | |- | ||
− | | | + | | 1 || Hardware |
+ | |} | ||
+ | |||
+ | = PortEventType = | ||
+ | This is "nn::uart::PortEventType". | ||
+ | |||
+ | {| class="wikitable sortable" border="1" | ||
+ | |- | ||
+ | ! Value || Name | ||
+ | |- | ||
+ | | 0 || SendBufferEmpty | ||
+ | |- | ||
+ | | 1 || SendBufferReady | ||
+ | |- | ||
+ | | 2 || ReceiveBufferReady | ||
+ | |- | ||
+ | | 3 || ReceiveEnd | ||
|} | |} | ||
Line 824: | Line 1,111: | ||
{| class="wikitable sortable" border="1" | {| class="wikitable sortable" border="1" | ||
|- | |- | ||
− | ! Value || Name || DeviceCode || | + | ! Value || Name || DeviceCode || Description || Used by |
|- | |- | ||
| 0 || Invalid || || || | | 0 || Invalid || || || | ||
Line 840: | Line 1,127: | ||
{| class="wikitable sortable" border="1" | {| class="wikitable sortable" border="1" | ||
|- | |- | ||
− | ! | + | ! Value || Description |
|- | |- | ||
− | | 0 || | + | | 0 || ExtConUartB |
|- | |- | ||
− | | 1 || | + | | 1 || ExtConUartC |
|- | |- | ||
− | | 2 || | + | | 2 || Sdmmc1 |
|- | |- | ||
− | | 3 || | + | | 3 || PwmFan |
|- | |- | ||
| 100 || Invalid | | 100 || Invalid | ||
Line 858: | Line 1,145: | ||
{| class="wikitable sortable" border="1" | {| class="wikitable sortable" border="1" | ||
|- | |- | ||
− | ! | + | ! Value || Description |
|- | |- | ||
| 0 || Invalid | | 0 || Invalid | ||
Line 868: | Line 1,155: | ||
| 3 || Invalid | | 3 || Invalid | ||
|- | |- | ||
− | | 100 || | + | | 100 || UartD |
+ | |} | ||
+ | |||
+ | = PinAssignment = | ||
+ | This is "nn::pinmux::PinAssignment". | ||
+ | |||
+ | {| class="wikitable sortable" border="1" | ||
+ | |- | ||
+ | ! Value || Name | ||
+ | |- | ||
+ | | 0 || ExtConUartOutputEnable | ||
+ | |- | ||
+ | | 1 || ExtConUartOutputHiZ | ||
+ | |- | ||
+ | | 2 || Sdmmc1OutputHigh | ||
+ | |- | ||
+ | | 3 || Sdmmc1ResetState | ||
+ | |- | ||
+ | | 4 || Sdmmc1SchmtEnable | ||
+ | |- | ||
+ | | 5 || Sdmmc1SchmtDisable | ||
+ | |- | ||
+ | | 6 || PwmFanEnable | ||
+ | |- | ||
+ | | 7 || PwmFanHiZ | ||
+ | |} | ||
+ | |||
+ | = PinAssignmentForHardwareTest = | ||
+ | This is "nn::pinmux::PinAssignmentForHardwareTest". | ||
+ | |||
+ | {| class="wikitable sortable" border="1" | ||
+ | |- | ||
+ | ! Value || Name | ||
+ | |- | ||
+ | | 100 || UartDHiZ | ||
+ | |- | ||
+ | | 101 || UartDEnable | ||
|} | |} | ||
Line 874: | Line 1,197: | ||
{| class="wikitable sortable" border="1" | {| class="wikitable sortable" border="1" | ||
|- | |- | ||
− | ! Name || DeviceCode || | + | ! Value || Name || DeviceCode || Description |
+ | |- | ||
+ | | 0 || SPI4 || 0x3500003D || Lsm6ds3 (WHOAMI 0x69, 0x6A and 0x6C) | ||
+ | |- | ||
+ | | [10.0.0+] 1 || SPI4 || 0x3500003D || Icm40607 (WHOAMI 0x38) | ||
|- | |- | ||
− | | 0 || | + | | [13.0.0+] 2 || SPI4 || 0x3500003D || Icm42607p (WHOAMI 0x60) |
|} | |} | ||
[[Category:Services]] | [[Category:Services]] |
Latest revision as of 04:50, 9 October 2024
gpio
This is "nn::gpio::IManager".
Cmd | Name |
---|---|
0 | [5.0.0+] OpenSessionForDevDeprecated ([1.0.0-4.1.0] OpenSessionForDev) |
1 | [5.0.0+] OpenSessionDeprecated ([1.0.0-4.1.0] OpenSession) |
2 | [5.0.0+] OpenSessionForTestDeprecated ([1.0.0-4.1.0] OpenSessionForTest) |
3 | [5.0.0-6.2.0] IsWakeEventActiveDeprecated ([1.0.0-4.1.0] IsWakeEventActive) |
4 | [5.0.0-6.2.0] GetWakeEventActiveFlagSetDeprecated ([1.0.0-4.1.0] GetWakeEventActiveFlagSet) |
5 | [5.0.0-6.2.0] SetWakeEventActiveFlagSetForDebugDeprecated ([1.0.0-4.1.0] SetWakeEventActiveFlagSetForDebug) |
6 | SetWakePinDebugMode |
7 | [5.0.0+] OpenSession |
8 | [5.0.0+] IsWakeEventActive |
9 | [5.0.0+] SetWakeEventActiveFlagSetForDebug |
10 | [6.0.0+] DumpStateForDebug |
OpenSessionForDevDeprecated
Takes an input #GpioPadDescriptor. Returns an #IPadSession.
OpenSessionDeprecated
Same as #OpenSessionForDevDeprecated except it takes a #GpioPadName which is then converted to a #GpioPadDescriptor. Returns an #IPadSession.
OpenSessionForTestDeprecated
Same as #OpenSessionDeprecated but panics on failure.
IsWakeEventActiveDeprecated
Takes an input #GpioPadName. Returns a bool IsActive.
GetWakeEventActiveFlagSetDeprecated
No input. Returns an output u128 #WakeBitFlag.
SetWakeEventActiveFlagSetForDebugDeprecated
Takes an input #GpioPadName and an input bool IsEnabled. No output.
SetWakePinDebugMode
Takes an input u32 WakePinDebugMode. No output.
OpenSession
Same as #OpenSessionDeprecated but takes a DeviceCode and an input #OpenMode.
IsWakeEventActive
Same as #IsWakeEventActiveDeprecated but takes a DeviceCode.
SetWakeEventActiveFlagSetForDebug
Same as #SetWakeEventActiveFlagSetForDebugDeprecated but takes a DeviceCode.
DumpStateForDebug
Stubbed. Returns 0.
IPadSession
This is "nn::gpio::IPadSession".
Cmd | Name |
---|---|
0 | [12.0.0+] SetDirectionDeprecated ([1.0.0-11.0.1] SetDirection) |
1 | GetDirection |
2 | SetInterruptMode |
3 | GetInterruptMode |
4 | SetInterruptEnable |
5 | GetInterruptEnable |
6 | [1.0.0-16.1.0] GetInterruptStatus |
7 | [1.0.0-16.1.0] ClearInterruptStatus |
8 | SetValue |
9 | GetValue |
10 | BindInterrupt |
11 | UnbindInterrupt |
12 | SetDebounceEnabled |
13 | GetDebounceEnabled |
14 | SetDebounceTime |
15 | GetDebounceTime |
16 | [4.0.0+] SetValueForSleepState |
17 | [6.0.0+] GetMaxDebounceTime |
18 | [12.0.0+] SetDirectionInput |
19 | [12.0.0+] SetDirectionOutput |
SetDirectionDeprecated
Takes an input u32 #Direction. No output.
GetDirection
No input. Returns an output u32 #Direction.
SetInterruptMode
Takes an input u32 #InterruptMode. No output.
GetInterruptMode
No input. Returns an output u32 #InterruptMode.
SetInterruptEnable
Takes an input bool IsEnable. No output.
GetInterruptEnable
No input. Returns an output bool IsEnable.
GetInterruptStatus
No input. Returns an output u32 #InterruptStatus.
ClearInterruptStatus
No input/output.
SetValue
Takes an input u32 #GpioValue. No output.
GetValue
No input. Returns an output u32 #GpioValue.
BindInterrupt
No input. Returns an output Event handle.
UnbindInterrupt
No input/output.
SetDebounceEnabled
Takes an input bool IsEnable. No output.
GetDebounceEnabled
No input. Returns an output bool IsEnable.
SetDebounceTime
Takes an input s32 MsecTime. No output.
GetDebounceTime
No input. Returns an output s32 MsecTime.
SetValueForSleepState
Takes an input u32 ValueForSleepState. No output.
GetMaxDebounceTime
No input. Returns an output u32 MaxDebounceTime.
SetDirectionInput
No input/output.
SetDirectionOutput
Takes an input u32 #GpioValue. No output.
i2c, i2c:pcv
This is "nn::i2c::IManager".
Cmd | Name |
---|---|
0 | OpenSessionForDev |
1 | OpenSession |
2 | [1.0.0-5.1.0] HasDevice |
3 | [1.0.0-5.1.0] HasDeviceForDev |
4 | [6.0.0+] OpenSession2 |
OpenSessionForDev
Takes an input u16 SlaveAddress (padded to u32) and 3 input u32s BusIdx, #AddressingMode and #SpeedMode. Returns an #II2cSession.
OpenSession
Takes an input #I2cDevice. Returns an output #II2cSession.
HasDevice
Takes an input #I2cDevice. Returns an output boolean success value.
HasDeviceForDev
Takes an input u16 SlaveAddress (padded to u32) and 3 input u32s BusIdx, #AddressingMode and #SpeedMode. Returns an output boolean success value.
OpenSession2
Same as OpenSession, but takes an input u32 DeviceCode.
II2cSession
This is "nn::i2c::ISession".
Cmd | Name |
---|---|
0 | [1.0.0-5.1.0] SendOld |
1 | [1.0.0-5.1.0] ReceiveOld |
2 | [1.0.0-5.1.0] ExecuteCommandListOld |
10 | Send |
11 | Receive |
12 | ExecuteCommandList |
13 | [6.0.0+] SetRetryPolicy |
Send
Takes a type-0x21 input buffer InData and an input u32 #TransactionOption. No output.
Receive
Takes a type-0x22 output buffer OutData and an input u32 #TransactionOption. No output.
ExecuteCommandList
Takes a type-0x22 output buffer ReceiveBuffer and a type-0x9 input buffer CommandList. No output.
Commands
This is "nn::i2c::I2cCommand".
Bits | Name |
---|---|
0-5 | #CommandId |
6-7 | #TransactionOption |
A send command will write bytes to the device using the format: [u8 cmd_send] [u8 len] <bytes>
A receive command will read bytes from the device using the format: [u8 cmd_receive] [u8 len]
An extension sleep command will stall the device using the format: [u8 cmd_extension] [u8 ms]
SetRetryPolicy
Takes 2 input u32s MaxRetries and RetryIntervalMicroSeconds. No output.
uart
This is "nn::uart::IManager".
Cmd | Name |
---|---|
0 | [1.0.0-16.1.0] HasPort |
1 | [1.0.0-16.1.0] HasPortForDev |
2 | [1.0.0-16.1.0] IsSupportedBaudRate |
3 | [1.0.0-16.1.0] IsSupportedBaudRateForDev |
4 | [1.0.0-16.1.0] IsSupportedFlowControlMode |
5 | [1.0.0-16.1.0] IsSupportedFlowControlModeForDev |
6 | CreatePortSession |
7 | [1.0.0-16.1.0] IsSupportedPortEvent |
8 | [1.0.0-16.1.0] IsSupportedPortEventForDev |
9 | [7.0.0-16.1.0] IsSupportedDeviceVariation |
10 | [7.0.0-16.1.0] IsSupportedDeviceVariationForDev |
HasPort
Takes an input #UartPort. Returns an output boolean success value.
HasPortForDev
Takes an input #UartPortForDev. Returns an output boolean success value.
IsSupportedBaudRate
Takes 2 input u32s #UartPort and BaudRate. Returns an output boolean success value.
Supported baud rates are 57600, 115200, 1000000 and 3000000.
IsSupportedBaudRateForDev
Takes 2 input u32s #UartPortForDev and BaudRate. Returns an output boolean success value.
Supported baud rates are 57600, 115200, 1000000 and 3000000.
IsSupportedFlowControlMode
Takes 2 input u32s #UartPort and #FlowControlMode. Returns an output boolean success value.
IsSupportedFlowControlModeForDev
Takes 2 input u32s #UartPortForDev and #FlowControlMode. Returns an output boolean success value.
CreatePortSession
No input. Returns an output #IPortSession.
IsSupportedPortEvent
Takes 2 input u32s #UartPort and #PortEventType. Returns an output boolean success value.
IsSupportedPortEventForDev
Takes 2 input u32s #UartPortForDev and #PortEventType. Returns an output boolean success value.
IsSupportedDeviceVariation
Takes 2 input u32s #UartPort and DeviceVariation. Returns an output boolean success value.
Supported device variations are 0 (Bluetooth) for UART-D, 0 (Joy-Con(R)) for UART-B, 0 (Joy-Con(L)) and 1 (SioMcu) for UART-C.
IsSupportedDeviceVariationForDev
Takes 2 input u32s #UartPortForDev and DeviceVariation. Returns an output boolean success value.
Supported device variations are 0 (Bluetooth) for UART-D, 0 (Joy-Con(R)) for UART-B, 0 (Joy-Con(L)) and 1 (SioMcu) for UART-C.
IPortSession
This is "nn::uart::IPortSession".
Cmd | Name |
---|---|
0 | OpenPort |
1 | OpenPortForDev |
2 | GetWritableLength |
3 | Send |
4 | GetReadableLength |
5 | Receive |
6 | BindPortEvent |
7 | UnbindPortEvent |
8 | [14.0.0+] OpenPort2 |
OpenPort
Takes 3 input u32s #UartPort, BaudRate and #FlowControlMode, 2 input u64s SendBufferLength and ReceiveBufferLength and 2 input TransferMemory handles SendHandle and ReceiveHandle. Returns an output boolean success value.
[6.0.0+] Takes 4 input u8s (padded as u32) IsInvertTx, IsInvertRx, IsInvertRts and IsInvertCts, 3 input u32s #UartPort, BaudRate and #FlowControlMode, 2 input u64s SendBufferLength and ReceiveBufferLength and 2 input TransferMemory handles SendHandle and ReceiveHandle. Returns an output boolean success value.
[7.0.0+] Takes 4 input u8s (padded as u32) IsInvertTx, IsInvertRx, IsInvertRts and IsInvertCts, 4 input u32s #UartPort, BaudRate, #FlowControlMode and DeviceVariation, 2 input u64s SendBufferLength and ReceiveBufferLength and 2 input TransferMemory handles SendHandle and ReceiveHandle. Returns an output boolean success value.
This will Abort when the specified #UartPort is already being used, due to a SVC failing.
OpenPortForDev
Same as #OpenPort, but takes an input #UartPortForDev instead.
GetWritableLength
No input. Returns an output u64 WritableLength.
Send
Takes a type-0x21 input buffer InData. Returns an output u64 size.
GetReadableLength
No input. Returns an output u64 ReadableLength.
Receive
Takes a type-0x22 output buffer OutData. Returns an output u64 size.
BindPortEvent
Takes an input u32 #PortEventType and an input s64 Threshold. Returns an output boolean success value and an Event handle with EventClearMode=0.
UnbindPortEvent
Takes an input u32 #PortEventType. Returns an output boolean success value.
OpenPort2
Same as #OpenPort, but takes an input u32 DeviceCode instead of an #UartPort and no longer returns an output boolean success value.
pwm
This is "nn::pwm::IManager".
Cmd | Name |
---|---|
0 | OpenSessionForDev |
1 | OpenSession |
2 | [6.0.0+] OpenSession2 |
OpenSession2
Takes a DeviceCode and returns an #IChannelSession.
IChannelSession
This is "nn::pwm::IChannelSession".
Cmd | Name |
---|---|
0 | SetPeriod |
1 | GetPeriod |
2 | [1.0.0-13.2.1] SetDuty |
3 | [1.0.0-13.2.1] GetDuty |
4 | SetEnabled |
5 | GetEnabled |
6 | [6.0.0+] SetDutyCycle |
7 | [6.0.0+] GetDutyCycle |
SetDutyCycle
Takes an input double DutyCycle. No output.
GetDutyCycle
No input. Returns an output double DutyCycle.
pinmux
This is "nn::pinmux::IManager".
Cmd | Name |
---|---|
0 | OpenSession |
OpenSession
Takes an #AssignablePinGroupName or an #AssignablePinGroupNameForHardwareTest and returns an ISession.
ISession
This is "nn::pinmux::ISession".
Cmd | Name |
---|---|
0 | SetPinAssignment |
1 | GetPinAssignment |
2 | SetPinAssignmentForHardwareTest |
3 | [17.0.0+] SetSfioConfiguration |
4 | [17.0.0+] GetSfioConfiguration |
5 | [17.0.0+] SetInputEnableConfiguration |
6 | [17.0.0+] GetInputEnableConfiguration |
7 | [17.0.0+] SetPullConfiguration |
8 | [17.0.0+] GetPullConfiguration |
9 | [17.0.0+] SetPmConfiguration |
10 | [17.0.0+] GetPmConfiguration |
SetPinAssignment
Takes a #PinAssignment. No output.
GetPinAssignment
No input. Returns a #PinAssignment.
SetPinAssignmentForHardwareTest
Takes a #PinAssignmentForHardwareTest. No output.
sasbus
This is "nn::sasbus::IManager".
This was added with [3.0.0+].
Cmd | Name |
---|---|
0 | OpenSession |
OpenSession
Takes a #SasbusPort and returns an ISession.
ISession
This is "nn::sasbus::ISession".
Cmd | Name |
---|---|
0 | Send |
1 | Receive |
2 | StartPeriodicReceiveMode |
3 | StopPeriodicReceiveMode |
4 | [19.0.0+] |
5 | [19.0.0+] |
Send
Takes a type-0x21 input buffer and an u8 SpiCommand. No output.
Receive
Takes a type-0x22 output buffer and an u8 SpiCommand. No output.
StartPeriodicReceiveMode
Takes an u8 SpiCommand (padded to u32), an u32, two u64s and a copy handle. No output.
StopPeriodicReceiveMode
No input/output.
Cmd4
Takes a total of 0x10-bytes of input and an input handle. No output.
This is similar to StartPeriodicReceiveMode. This eventually calls an impl func which just writes some input fields into state, then (on NX) Aborts.
Cmd5
No input/output.
This is identical to StopPeriodicReceiveMode.
led
This is "nn::led::detail::IManager".
This was added with [8.1.1+].
Cmd | Name |
---|---|
0 | OpenController |
OpenController
Takes a DeviceCode (which must be 0x35000065) and returns an #IController session for it.
IController
This is "nn::led::detail::IController".
This was added with [8.1.1+].
Cmd | Name |
---|---|
0 | StartLighting |
1 | StopLighting |
2 | SetLightingMode |
3 | GetLightingMode |
4 | IsLighting |
5 | SetRisingTime |
6 | GetRisingTime |
7 | SetFallingTime |
8 | GetFallingTime |
9 | SetPeakTime |
10 | GetPeakTime |
11 | SetPulseInterval |
12 | GetPulseInterval |
13 | SetPulseCount |
14 | GetPulseCount |
15 | GetMaxPulseCount |
16 | SetBreathInterval |
17 | GetBreathInterval |
18 | SetConstantBrightness |
19 | GetConstantBrightness |
20 | [10.0.0+] GetBreathingStatus ([8.1.1-9.2.0] RegisterPwmChannel) |
21 | [8.1.1-9.2.0] UnregisterPwmChannel |
GpioPadName
This is "nn::gpio::GpioPadName".
Value | Name | GpioPadDescriptor | DeviceCode | Tegra (port, pin) | Description | Direction | Used by (services) | Used by (hardware) |
---|---|---|---|---|---|---|---|---|
0x01 | CodecLdoEnTemp | 0xCC | 0x33000002 | Z, 4 | Audio Codec (ALC5639) Power | Out | Audio services, Fatal services | Icosa, Hoag, Iowa, Aula |
0x02 | PowSdEn | 0x24 | 0x3C000001 | E, 4 | SdCard Power | Out | PCV services | Icosa, Copper, Hoag, Iowa, Calcio, Aula |
0x03 | BtRst | 0x3C | 0x37000002 | H, 4 | Bluetooth Reset | Out | Bluetooth Driver services | Icosa, Copper, Hoag, Iowa, Calcio, Aula |
0x04 | RamCode3 | 0xDA | 0xC9000402 | BB, 2 | Secondary Boot Device Configration | In | Icosa, Iowa | |
0x05 | GameCardReset | 0xDB | 0x3C000402 | BB, 3 | Gamecard Reset | Out | Filesystem services | Icosa, Copper, Hoag, Iowa, Aula |
0x06 | CodecAlert | 0xDC | 0x33000003 | BB, 4 | Audio Codec (ALC5639) Alert | In | Audio services | Icosa, Hoag, Iowa, Aula |
0x07 | PowGc | 0x25 | 0x3C000401 | E, 5 | Gamecard Power | Out | Icosa, Copper | |
0x08 | DebugControllerDet | 0x90 | 0x350000CA | S, 0 | Debug Pad Detect | In | HID services | Icosa, Iowa |
0x09 | BattChgStatus | 0x91 | 0x39000407 | S, 1 | Battery Charge Status | In | Icosa, Hoag, Iowa, Aula | |
0x0A | BattChgEnableN | 0x96 | 0x39000003 | S, 6 | Charger IC (BQ24193) Charge Enable | Out | PTM services | Icosa, Hoag, Iowa, Aula |
0x0B | FanTach | 0x97 | 0x3D000002 | S, 7 | Fan Tachometer | In | Icosa, Hoag, Iowa, Calcio, Aula | |
0x0C | ExtconDetS | 0x26 | 0x3500040B | E, 6 | Joy-Con(L) IsAttached (insertion, Joy-Con pin 5/console TX, pulled low on insert) | In | HID services, AM services | Icosa, Iowa, Aula |
0x0D | Vdd50AEn | 0x05 | 0x39000401 | A, 5 | Fan and Joy-Con 5V Power (Battery) | Out | PTM services | Icosa, Hoag, Iowa, Aula |
0x0E | SdevCoaxSel1 | 0x78 | 0xCA000406 ([1.0.0-10.0.0] 0xCA000402) | P, 0 | SDEV Coax Select | In | Icosa, Iowa | |
0x0F | GameCardCd | 0x93 | 0x3C000403 | S, 3 | Gamecard Card Detect | In | Filesystem services, AM services | Icosa, Copper, Hoag, Iowa, Aula |
0x10 | ProdType0 | 0x7D | 0xC900040B | P, 5 | In | Icosa, Copper, Iowa | ||
0x11 | ProdType1 | 0x7C | 0xC900040C | P, 4 | In | Icosa, Copper, Iowa | ||
0x12 | ProdType2 | 0x7B | 0xC900040D | P, 3 | In | Icosa, Copper, Iowa | ||
0x13 | ProdType3 | 0x7A | 0xC900040E | P, 2 | In | Icosa, Copper, Iowa | ||
0x14 | TempAlert | 0xBC | 0x3E000002 | X, 4 | Temperature Sensor | In | Icosa, Copper, Hoag, Iowa, Calcio, Aula | |
0x15 | CodecHpDetIrq | 0xAE | 0x33000004 | V, 6 | Audio Codec (ALC5639) Headphone Detect | In | Audio services | Icosa, Hoag, Iowa, Aula |
0x16 | MotionInt | 0xBA | 0x35000041 | X, 2 | Built-in IMU IRQ | In | Icosa, Hoag, Iowa, Aula | |
0x17 | TpIrq | 0xB9 | 0x35000036 | X, 1 | TouchPanel IRQ | In | HID services | Icosa, Hoag, Iowa, Aula |
0x18 | ButtonSleep2 | 0xBD | 0x35000001 | X, 5 | Power Button (Connected only on Hoag) | In | Icosa, Copper, Hoag, Iowa, Calcio, Aula | |
0x19 | ButtonVolUp | 0xBE | 0x35000002 | X, 6 | Volume Up | In | Boot2, Audio services, Fatal services | Icosa, Copper, Hoag, Iowa, Calcio, Aula |
0x1A | ButtonVolDn | 0xBF | 0x35000003 | X, 7 | Volume Down | In | Boot2, Audio services | Icosa, Copper, Hoag, Iowa, Calcio , Aula |
0x1B | BattMgicIrq | 0xC0 | 0x39000034 | Y, 0 | Fuel Gauge IC (MAX17050) IRQ | In | PTM services, AM services | Icosa, Hoag, Iowa, Aula |
0x1C | RecoveryKey | 0xC1 | 0x35000004 | Y, 1 | Recovery Mode Key (HOME Button) | In | Icosa, Copper, Hoag, Iowa, Calcio, Aula | |
0x1D | PowLcdBlEn | 0xA9 | 0x3400003E | V, 1 | LCD Backlight Power | Out | NV services, Backlight services | Icosa, Hoag, Iowa |
0x1E | LcdReset | 0xAA | 0x34000033 | V, 2 | LCD Reset | Out | NV services | Icosa, Hoag, Iowa, Aula |
0x1F | PdVconnEn | 0x55 | 0x040000CC | K, 5 | USB-PD Controller (RHOM BM92T30MWV) VCONN Power | Out | PTM services, USB services | Icosa, Hoag, Iowa, Aula |
0x20 | PdRstN | 0xAD | 0x040000CA | V, 5 | USB-PD Controller (RHOM BM92T30MWV) ResetN | Out | USB services | Icosa, Copper, Hoag, Iowa, Calcio, Aula |
0x21 | Bq24190Irq | 0xC8 | 0x39000002 | Z, 0 | Charger IC (BQ24193) IRQ | In | PTM services, AM services | Icosa, Hoag, Iowa, Aula |
0x22 | SdevCoaxSel0 | 0xCA | 0xCA000405 ([1.0.0-10.0.0] 0xCA000401) | Z, 2 | SDEV Coax Select | In | Icosa, Iowa | |
0x23 | SdWp | 0xCB | 0x3C000003 | Z, 3 | SdCard Write Protect | In | Icosa, Copper, Hoag, Iowa, Calcio, Aula | |
0x24 | TpReset | 0x4F | 0x35000035 | J, 7 | TouchPanel Reset | Out | HID services | Icosa, Hoag, Iowa, Aula |
0x25 | BtGpio2 | 0x50 | 0x37000401 | K, 0 | In | Icosa, Copper, Hoag, Iowa, Calcio, Aula | ||
0x26 | BtGpio3 | 0x51 | 0x37000402 | K, 1 | In | Icosa, Copper, Hoag, Iowa, Calcio, Aula | ||
0x27 | BtGpio4 | 0x52 | 0x37000403 | K, 2 | In | Icosa, Copper, Hoag, Iowa, Calcio, Aula | ||
0x28 | CradleIrq | 0x54 | 0x040000CB | K, 4 | USB-PD Controller (RHOM BM92T30MWV) IRQ | In | USB services, AM services | Icosa, Copper, Hoag, Iowa, Calcio, Aula |
0x29 | PowVcpuInt | 0x56 | 0x3E000003 | K, 6 | Sub-PMIC for CPU (MAX77621) IRQ | In | Icosa, Copper, Aula | |
0x2A | Max77621GpuInt | 0x57 | 0x3E000004 | K, 7 | Sub-PMIC for GPU (MAX77621) IRQ | In | Icosa, Copper | |
0x2B | ExtconChgU | 0x53 | 0x35000402 | K, 3 | Joy-Con(R) Charge | Out | HID services | Icosa, Iowa, Aula |
0x2C | ExtconChgS | 0xE3 | 0x3500040C | CC, 3 | Joy-Con(L) Charge | Out | HID services | Icosa, Iowa, Aula |
0x2D | WifiRfDisable | 0x38 | 0x38000003 | H, 0 | Out | Icosa, Copper, Hoag, Iowa, Calcio | ||
0x2E | WifiReset | 0x39 | 0x38000002 | H, 1 | WiFi Reset | Out | WLAN services, PCIe services | Icosa, Copper, Hoag, Iowa, Calcio, Aula |
0x2F | ApWakeBt | 0x3B | 0x37000003 | H, 3 | Wake Bluetooth from Host | Out | Bluetooth Driver services | Icosa, Copper, Hoag, Iowa, Calcio, Aula |
0x30 | BtWakeAp | 0x3D | 0x37000004 | H, 5 | Wake Host from Bluetooth | In | AM services | Icosa, Copper, Hoag, Iowa, Calcio, Aula |
0x31 | BtGpio5 | 0x3F | 0x37000404 | H, 7 | Out | Icosa, Copper, Hoag, Iowa, Calcio, Aula | ||
0x32 | PowLcdVddPEn | 0x40 | 0x34000034 | I, 0 | LCD Backlight PAVDD +5V | Out | NV services | Icosa, Hoag, Iowa |
0x33 | PowLcdVddNEn | 0x41 | 0x34000035 | I, 1 | LCD Backlight NAVDD -5V | Out | NV services | Icosa, Hoag, Iowa |
0x34 | ExtconDetU | 0x3E | 0x35000401 | H, 6 | Joy-Con(R) IsAttached (insertion, Joy-Con pin 5/console TX, pulled low on insert) | In | HID services, AM services | Icosa, Iowa, Aula |
0x35 | RamCode2 | 0xE2 | 0xC9000401 | CC, 2 | Secondary Boot Device Configration | In | Icosa, Iowa | |
0x36 | Vdd50BEn | 0xE4 | 0x39000402 | CC, 4 | Fan and Joy-Con 5V Power (USB) | Out | PTM services | Icosa, Iowa |
0x37 | WifiWakeHost | 0x3A | 0x38000004 | H, 2 | Wake Host from Wifi | In | AM services | Icosa, Copper, Hoag, Iowa, Calcio, Aula |
0x38 | SdCd | 0xC9 | 0x3C000002 | Z, 1 | SdCard Card Detect | In | Filesystem services, AM services | Icosa, Copper, Hoag, Iowa, Calcio, Aula |
0x39 | OtgFet1ForSdev | 0x4D | 0x39000404 | J, 5 | Charger IC (BQ24193) OTG Charge Select | Out | PTM services, USB services | Icosa, Iowa |
0x3A | OtgFet2ForSdev | 0x58 | 0x39000405 | L, 0 | Charger IC (BQ24193) OTG Charge Select | Out | PTM services, USB services | Icosa, Iowa |
0x3B | ExtConWakeU | 0x3E | 0x35000403 | H, 6 | Joy-Con(R) Wake Detect | In | Icosa, Hoag, Iowa, Aula | |
0x3C | ExtConWakeS | 0x26 | 0x3500040D | E, 6 | Joy-Con(L) Wake Detect | In | Icosa, Hoag, Iowa, Aula | |
0x3D | PmuIrq | -1 | 0x39000406 | GIC 86 | Main PMIC IRQ (PMU_EXT IRQ) | |||
0x3E | ExtUart2Cts | 0x33 | 0x35000404 | G, 3 | Joy-Con(R) CTS (checked low) | In | HID services, AM services | |
0x3F | ExtUart3Cts | 0x1C | 0x3500040E | D, 4 | Joy-Con(L) CTS (checked low) | In | HID services, AM services | |
0x40 | 5VStepDownEn | 0xD9 | 0x39000408 | BB, 1 | 5V Step-Down Regulator Power | Out | Copper | |
0x41 | UsbSwitchB2Oc | 0x0C | 0x04000401 | B, 4 | USB Root Port 2 Over Current | In | USB services | Copper |
0x42 | 5VStepDownPg | 0x0D | 0x39000409 | B, 5 | 5V Step-Down Regulator Power Good Flag | In | Copper | |
0x43 | UsbSwitchAEn | 0x21 | 0x04000402 | E, 1 | USB Power | Out | USB services | Copper |
0x44 | UsbSwitchAFlag | 0x27 | 0x04000403 | E, 7 | USB Power Flag | In | USB services | Copper |
0x45 | UsbSwitchB3Oc | 0x92 | 0x04000404 | S, 2 | USB Root Port 3 Over Current | In | USB services | Copper |
0x46 | UsbSwitchB3En | 0x95 | 0x04000405 | S, 5 | USB Root Port 3 Power | Out | USB services | Copper |
0x47 | UsbSwitchB2En | 0x98 | 0x04000406 | T, 0 | USB Root Port 2 Power | Out | USB services | Copper |
0x48 | Hdmi5VEn | 0x10 | 0x34000004 | C, 0 | HDMI 5V Power | Out | NV services | Copper, Calcio |
0x49 | UsbSwitchB1En | 0x11 | 0x04000407 | C, 1 | USB Root Port 1 Power | Out | USB services | Copper, Calcio |
0x4A | HdmiPdTrEn | 0x12 | 0x34000005 | C, 2 | HDMI/Power Delivery Switch | Out | NV services | Copper, Calcio |
0x4B | FanEn | 0x42 | 0x3D000003 | I, 2 | Fan Power | Out | PTM services | Copper |
0x4C | UsbSwitchB1Oc | 0xE6 | 0x04000408 | CC, 6 | USB Root Port 1 Over Current | In | USB services | Copper, Calcio |
[2.0.0+] 0x4D | PwmFan | 0xAC | 0x3D000001 | V, 4 | Pulse-Width Modulation Fan Control | Out | PTM services | Copper |
[2.0.0+] 0x4E | HdmiHpd | 0xE1 | 0x34000006 | CC, 1 | HDMI Hot Plug Detect | In | NV services | Copper, Calcio |
[5.0.0+] 0x4F | Max77812Irq | 0x56 | 0x3E000003 | K, 6 | Sub-PMIC (CPU/GPU/RAM) IRQ | In | Hoag, Iowa, Calcio | |
[6.0.0+] 0x50 | Debug0 | 0x20 | 0xCA000001 | E, 0 | Out | Hoag, Calcio, Aula | ||
[6.0.0+] 0x51 | Debug1 | 0x21 | 0xCA000002 | E, 1 | Out | Hoag, Calcio, Aula | ||
[6.0.0+] 0x52 | Debug2 | 0x22 | 0xCA000003 | E, 2 | Out | Hoag, Calcio, Aula | ||
[6.0.0+] 0x53 | Debug3 | 0x23 | 0xCA000004 | E, 3 | Out | Hoag, Calcio, Aula | ||
[6.0.0+] 0x54 | NfcIrq | 0x4C | 0x36000004 | J, 4 | NFC Controller IRQ | In | NFC services | Hoag |
[6.0.0+] 0x55 | NfcRst | 0x57 | 0x36000003 | K, 7 | NFC Controller Reset | Out | NFC services | Hoag |
[6.0.0+] 0x56 | McuIrq | 0x27 ([6.0.0-8.0.0] 0x94) | 0x35000415 | E, 7 | Sio MCU IRQ | In | Hoag | |
[6.0.0+] 0x57 | McuBoot | 0x98 | 0x35000416 | T, 0 | Sio MCU BOOT0 Select (0: Flash, 1: SRAM) | Out | HID services | Hoag |
[6.0.0+] 0x58 | McuRst | 0x99 | 0x35000417 | T, 1 | Sio MCU ResetN (Output LOW -> Input) | In | HID services | Hoag |
[6.0.0+] 0x59 | Vdd5V3En | 0xBB | 0x39000403 | X, 3 | OTG VBUS Power | Out | PTM services | Hoag, Iowa, Aula |
[6.0.0+] 0x5A | McuPor | 0xE5 | 0x35000418 | CC, 5 | Sio MCU NPOR | Out | HID services | Hoag |
[6.0.0+] 0x5B | (McuHome) | 0xAB | 0x35000005 | V, 3 | Sio MCU Home Button | In | HID services, AM services | Hoag |
[6.0.0+] 0x5C | NfcEn | 0x4E | 0x36000002 | J, 6 | NFC Controller Power | Out | NFC services | Hoag |
[7.0.0+] - | ExtUart2Rts | 0x32 | 0x35000406 | G, 2 | Joy-Con(R) RTS | In | ||
[7.0.0+] - | ExtUart3Rts | 0x1B | 0x35000410 | D, 3 | Joy-Con(L) RTS | In | ||
[7.0.0+] - | 0x17 | 0x3500041B | C, 7 | SPI4 MOSI (Built-in IMU, set as gpio-input so Sio can use IMU) | In | Hoag | ||
[7.0.0+] - | 0x18 | 0x3500041C | D, 0 | SPI4 MISO (Built-in IMU, set as gpio-input so Sio can use IMU) | In | Hoag | ||
[7.0.0+] - | 0x15 | 0x3500041D | C, 5 | SPI4 SCLK (Built-in IMU, set as gpio-input so Sio can use IMU) | In | Hoag | ||
[7.0.0+] - | 0x16 | 0x3500041E | C, 6 | SPI4 CS0 (Built-in IMU, set as gpio-input so Sio can use IMU) | In | Hoag | ||
[10.0.0+] - | 0xC5 | 0x35000065 | Y, 5 | Notification LED PWM (CLK 32K OUT) | Out | Hoag | ||
[10.0.0+] - | 0x29 | 0x04000409 | F, 1 | Out | Calcio | |||
[10.0.0+] - | 0x38 | 0x34000401 | H, 0 | OLED Panel IRQ | In | Display services | Aula | |
[13.0.0+] - | (BtGpio6) | 0x46 | 0x37000405 | I, 6 | UART-D RTS (Bluetooth) | In |
GpioPadDescriptor
Bits | Description |
---|---|
7-5 | Controller index |
4-3 | Port index |
2-0 | Pin number |
Direction
This is "nn::gpio::Direction".
Value | Name |
---|---|
0 | Input |
1 | Output |
GpioValue
This is "nn::gpio::GpioValue".
Value | Name |
---|---|
0 | Low |
1 | High |
InterruptMode
This is "nn::gpio::InterruptMode".
Value | Name |
---|---|
0 | LowLevel |
1 | HighLevel |
2 | RisingEdge |
3 | FallingEdge |
4 | AnyEdge |
InterruptStatus
This is "nn::gpio::InterruptStatus".
Value | Name |
---|---|
0 | Inactive |
1 | Active |
WakeBitFlag
This is "nn::gpio::WakeBitFlag". This is a 128-bit flag.
OpenMode
This is "nn::gpio::OpenMode".
Value | Name |
---|---|
0 | None |
1 | Read |
2 | Write |
3 | ReadWrite |
I2cDevice
This is "nn::i2c::I2cDevice".
Value | Name | DeviceCode | Port:Addr | Is10bit | Speed | Max Retries | Retry Delay | Description | Used by (services) | Used by (hardware) |
---|---|---|---|---|---|---|---|---|---|---|
0 | ClassicController | 0x350000C9 | 0:52 | N | 100000 | 0 | 0 | DebugPad Driver | HID services | Icosa, Iowa, Aula |
1 | Ftm3bd56 | 0x35000033 | 2:49 | N | 400000 | 0 | 0 | TouchPanel | HID services | Icosa, Hoag, Iowa, Aula |
2 | Tmp451 | 0x3E000001 | 0:4C | N | 100000 | 0 | 0 | Temperature Sensor | PTM services | Icosa, Copper, Hoag, Iowa, Calcio, Aula |
3 | Nct72 | 0x3E000001 | 0:4C | N | 100000 | 0 | 0 | Temperature Sensor | PTM services | Icosa, Copper, Hoag, Iowa, Calcio, Aula |
4 | Alc5639 | 0x33000001 | 0:1C | N | 100000 | 0 | 0 | Audio Codec | Audio services, Fatal services | Icosa, Hoag, Iowa, Aula |
5 | Max77620Rtc | 0x3B000001 | 4:68 | N | 400000 | 3 | 5000000 | PMIC RTC | PCV services | Icosa, Copper |
6 | Max77620Pmic | 0x3A000001 | 4:3C | N | 400000 | 3 | 5000000 | PMIC | PCV services | Icosa, Copper |
7 | Max77621Cpu | 0x3A000003 | 4:1B | N | 400000 | 3 | 5000000 | Sub-PMIC for CPU | PCV services | Icosa, Copper |
8 | Max77621Gpu | 0x3A000004 | 4:1C | N | 400000 | 3 | 5000000 | Sub-PMIC for GPU | PCV services | Icosa, Copper |
9 | Bq24193 | 0x39000001 | 0:6B | N | 100000 | 3 | 5000000 | Charger IC | PTM services | Icosa, Hoag, Iowa, Aula |
10 | Max17050 | 0x39000033 | 0:36 | N | 100000 | 3 | 5000000 | Fuel Gauge IC | PTM services, PCV services | Icosa, Hoag, Iowa, Aula |
11 | Bm92t30mwv | 0x040000C9 | 0:18 | N | 100000 | 3 | 5000000 | USB-PD controller | USB services | Icosa, Copper, Hoag, Iowa, Calcio, Aula |
12 | Ina226Vdd15v0Hb | 0x3F000401 | 1:40 | N | 400000 | 3 | 5000000 | Power Monitor | nvdbgsvc | Factory |
13 | Ina226VsysCpuDs or Ina226VddCpuAp (SdevMariko) | 0x3F000001 | 1:41 | N | 400000 | 3 | 5000000 | Power Monitor | nvdbgsvc | Factory |
14 | Ina226VsysGpuDs or Ina226VddGpuAp (SdevMariko) | 0x3F000002 | 1:44 | N | 400000 | 3 | 5000000 | Power Monitor | nvdbgsvc | Factory |
15 | Ina226VsysDdrDs or Ina226VddDdr1V1Pmic (SdevMariko) | 0x3F000003 | 1:45 | N | 400000 | 3 | 5000000 | Power Monitor | nvdbgsvc | Factory |
16 | Ina226VsysAp | 0x3F000402 | 1:46 | N | 400000 | 3 | 5000000 | Power Monitor | nvdbgsvc | Factory |
17 | Ina226VsysBlDs | 0x3F000403 | 1:47 | N | 400000 | 3 | 5000000 | Power Monitor | nvdbgsvc | Factory |
18 | Bh1730 | 0x35000047 | 1:29 | N | 400000 | 3 | 5000000 | Ambient Light Sensor | Backlight services | Icosa, Hoag, Iowa, Aula |
19 | Ina226VsysCore or Ina226VddCoreAp (SdevMariko) | 0x3F000404 | 1:48 | N | 400000 | 3 | 5000000 | Power Monitor | nvdbgsvc | Factory |
20 | Ina226Soc1V8 or Ina226VddSoc1V8 (SdevMariko) | 0x3F000405 | 1:49 | N | 400000 | 3 | 5000000 | Power Monitor | nvdbgsvc | Factory |
21 | Ina226Lpddr1V8 or Ina226Vdd1V8 (SdevMariko) | 0x3F000406 | 1:4A | N | 400000 | 3 | 5000000 | Power Monitor | nvdbgsvc | Factory |
22 | Ina226Reg1V32 | 0x3F000407 | 1:4B | N | 400000 | 3 | 5000000 | Power Monitor | nvdbgsvc | Factory |
23 | Ina226Vdd3V3Sys | 0x3F000408 | 1:4D | N | 400000 | 3 | 5000000 | Power Monitor | nvdbgsvc | Factory |
[2.0.0+] 24 | HdmiDdc | 0x34000001 | 3:50 | N | 100000 | 0 | 0 | HDMI DDC | NV services | Copper, Calcio |
[2.0.0+] 25 | HdmiScdc | 0x34000002 | 3:54 | N | 100000 | 0 | 0 | HDMI SCDC | NV services | Copper, Calcio |
[2.0.0+] 26 | HdmiHdcp | 0x34000003 | 3:3A | N | 100000 | 0 | 0 | HDMI HDCP | NV services | Copper, Calcio |
[4.0.0+] 27 | Fan53528 | 0x3A000005 | 4:52 ([4.0.0-8.0.0] 4:A4) | N | 400000 | 0 | 0 | RAM Regulator (tied to Max77812Pmic) | Hoag, Iowa, Calcio, Aula | |
[4.0.0+] 28 | Max77812Pmic | 0x3A000002 | 4:31 ([8.0.0-9.2.0] 4:33, [4.0.0-8.0.0] 4:31) | N | 400000 | 0 | 0 | Sub-PMIC for CPU and GPU (tied to Fan53528) (Phase 31) | PCV services | Hoag, Iowa, Calcio, Aula |
[4.0.0+] 29 | Max77812Pmic | 0x3A000006 ([4.0.0-9.2.0] 0x3A000002) | 4:33 ([4.0.0-8.0.0] 4:31) | N | 400000 | 0 | 0 | Sub-PMIC for GPU, CPU and RAM (Phase 211) | PCV services | Hoag, Iowa, Calcio, Aula |
[4.0.0+] 30 | Ina226VddDdr0V6 (SdevMariko) | 0x3F000409 | 1:4E | N | 400000 | 3 | 5000000 | Power Monitor | nvdbgsvc | Factory |
[8.0.0+] 31 | (MillauNfc) | 0x36000001 | 1:08 | N | 400000 | 3 | 5000000 | NFC Controller | NFC services | Hoag |
[12.0.0+] - | (Max77801) | 0x3A000007 | 4:18 | N | 400000 | 0 | 0 | Audio Codec (ALC5639) Regulator | PCV services | Aula |
AddressingMode
This is "nn::i2c::AddressingMode".
Value | Name |
---|---|
0 | BitWidth7 |
1 | BitWidth10 |
TransactionOption
This is "nn::i2c::TransactionOption".
Value | Name |
---|---|
1 | StartCondition |
2 | StopCondition |
SpeedMode
This is "nn::i2c::SpeedMode".
Value | Name |
---|---|
0x186A0 | Standard |
0x61A80 | Fast |
0xF4240 | FastPlus |
0x33E140 | HighSpeed |
CommandId
This is "nn::i2c::detail::CommandId".
Value | Name |
---|---|
0 | Send |
1 | Receive |
2 | Extension |
SubCommandId
This is "nn::i2c::detail::SubCommandId".
Value | Name |
---|---|
0 | Sleep |
UartPort
This is "nn::uart::UartPort".
Value | Name | DeviceCode (internal) | DeviceCode (mapped) | Description |
---|---|---|---|---|
0 | UART-A | 0x03000001 | Invalid | |
1 | UART-D | 0x03000004 | 0x37000001 | Bluetooth |
2 | UART-B | 0x03000002 | 0x35000405 | Joy-Con(R) |
3 | UART-C | 0x03000003 | 0x3500040F | Joy-Con(L) |
4 | UART-C | 0x03000003 | 0x35000419 | SioMcu |
UartPortForDev
This is "nn::uart::UartPortForDev".
Value | Name | DeviceCode (internal) | DeviceCode (mapped) | Description |
---|---|---|---|---|
0 | UART-A | 0x03000001 | Invalid | |
1 | UART-B | 0x03000002 | 0x35000405 | Joy-Con(R) |
2 | UART-C | 0x03000003 | 0x3500040F | Joy-Con(L) |
3 | UART-D | 0x03000004 | 0x37000001 | Bluetooth |
FlowControlMode
This is "nn::uart::FlowControlMode".
Value | Name |
---|---|
0 | None |
1 | Hardware |
PortEventType
This is "nn::uart::PortEventType".
Value | Name |
---|---|
0 | SendBufferEmpty |
1 | SendBufferReady |
2 | ReceiveBufferReady |
3 | ReceiveEnd |
ChannelName
This is "nn::pwm::ChannelName".
Value | Name | DeviceCode | Description | Used by |
---|---|---|---|---|
0 | Invalid | |||
1 | CpuFan | 0x3D000001 | PWM Channel 1 | PTM services |
2 | LcdBacklight | 0x3400003D | PWM Channel 0 | Backlight services, NV services |
3 | Led | 0x35000065 | PMC LED Soft Blink | Bus services |
AssignablePinGroupName
This is "nn::pinmux::AssignablePinGroupName".
Value | Description |
---|---|
0 | ExtConUartB |
1 | ExtConUartC |
2 | Sdmmc1 |
3 | PwmFan |
100 | Invalid |
AssignablePinGroupNameForHardwareTest
This is "nn::pinmux::AssignablePinGroupNameForHardwareTest".
Value | Description |
---|---|
0 | Invalid |
1 | Invalid |
2 | Invalid |
3 | Invalid |
100 | UartD |
PinAssignment
This is "nn::pinmux::PinAssignment".
Value | Name |
---|---|
0 | ExtConUartOutputEnable |
1 | ExtConUartOutputHiZ |
2 | Sdmmc1OutputHigh |
3 | Sdmmc1ResetState |
4 | Sdmmc1SchmtEnable |
5 | Sdmmc1SchmtDisable |
6 | PwmFanEnable |
7 | PwmFanHiZ |
PinAssignmentForHardwareTest
This is "nn::pinmux::PinAssignmentForHardwareTest".
Value | Name |
---|---|
100 | UartDHiZ |
101 | UartDEnable |
SasbusPort
Value | Name | DeviceCode | Description |
---|---|---|---|
0 | SPI4 | 0x3500003D | Lsm6ds3 (WHOAMI 0x69, 0x6A and 0x6C) |
[10.0.0+] 1 | SPI4 | 0x3500003D | Icm40607 (WHOAMI 0x38) |
[13.0.0+] 2 | SPI4 | 0x3500003D | Icm42607p (WHOAMI 0x60) |