Bus services: Difference between revisions
No edit summary |
|||
(31 intermediate revisions by 4 users not shown) | |||
Line 14: | Line 14: | ||
| 3 || [1.0.0-6.2.0] [[#IsWakeEventActive]] | | 3 || [1.0.0-6.2.0] [[#IsWakeEventActive]] | ||
|- | |- | ||
| 4 || [1.0.0-6.2.0] GetWakeEventActiveFlagSet | | 4 || [1.0.0-6.2.0] [[#GetWakeEventActiveFlagSet]] | ||
|- | |- | ||
| 5 || [1.0.0-6.2.0] SetWakeEventActiveFlagSetForDebug | | 5 || [1.0.0-6.2.0] [[#SetWakeEventActiveFlagSetForDebug]] | ||
|- | |- | ||
| 6 || [[#SetWakePinDebugMode]] | | 6 || [[#SetWakePinDebugMode]] | ||
Line 24: | Line 24: | ||
| 8 || [5.0.0+] [[#IsWakeEventActive2]] | | 8 || [5.0.0+] [[#IsWakeEventActive2]] | ||
|- | |- | ||
| 9 || [5.0.0+] SetWakeEventActiveFlagSetForDebug2 | | 9 || [5.0.0+] [[#SetWakeEventActiveFlagSetForDebug2]] | ||
|- | |- | ||
| 10 || [6.0.0+] | | 10 || [6.0.0+] [[#SetRetryValues]] | ||
|} | |} | ||
== OpenSessionForDev == | == OpenSessionForDev == | ||
Takes | Takes an input [[#GpioPadDescriptor]]. Returns an [[#IPadSession]]. | ||
== OpenSession == | == OpenSession == | ||
Line 39: | Line 39: | ||
== IsWakeEventActive == | == IsWakeEventActive == | ||
Takes a [[#GpioPadName]] and | Takes an input [[#GpioPadName]]. Returns a bool '''IsActive'''. | ||
== GetWakeEventActiveFlagSet == | |||
No input. Returns an output u128 [[#WakeBitFlag]]. | |||
== SetWakeEventActiveFlagSetForDebug == | |||
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. | ||
== OpenSession2 == | == OpenSession2 == | ||
Same as [[#OpenSession]] but takes a [[#GpioPadName|DeviceCode]] and an u32. | Same as [[#OpenSession]] but takes a [[#GpioPadName|DeviceCode]] and an input u32 [[#AccessMode]]. | ||
== IsWakeEventActive2 == | == IsWakeEventActive2 == | ||
Same as [[#IsWakeEventActive]] but takes a [[#GpioPadName|DeviceCode]]. | Same as [[#IsWakeEventActive]] but takes a [[#GpioPadName|DeviceCode]]. | ||
== SetWakeEventActiveFlagSetForDebug2 == | |||
Same as [[#SetWakeEventActiveFlagSetForDebug]] but takes a [[#GpioPadName|DeviceCode]]. | |||
== SetRetryValues == | |||
Stubbed. Returns 0. | |||
== IPadSession == | == IPadSession == | ||
Line 57: | Line 69: | ||
! Cmd || Name | ! Cmd || Name | ||
|- | |- | ||
| 0 || SetDirection | | 0 || [[#SetDirection]] | ||
|- | |- | ||
| 1 || GetDirection | | 1 || [[#GetDirection]] | ||
|- | |- | ||
| 2 || SetInterruptMode | | 2 || [[#SetInterruptMode]] | ||
|- | |- | ||
| 3 || GetInterruptMode | | 3 || [[#GetInterruptMode]] | ||
|- | |- | ||
| 4 || SetInterruptEnable | | 4 || [[#SetInterruptEnable]] | ||
|- | |- | ||
| 5 || GetInterruptEnable | | 5 || [[#GetInterruptEnable]] | ||
|- | |- | ||
| 6 || GetInterruptStatus | | 6 || [[#GetInterruptStatus]] | ||
|- | |- | ||
| 7 || ClearInterruptStatus | | 7 || [[#ClearInterruptStatus]] | ||
|- | |- | ||
| 8 || SetValue | | 8 || [[#SetValue]] | ||
|- | |- | ||
| 9 || GetValue | | 9 || [[#GetValue]] | ||
|- | |- | ||
| 10 || BindInterrupt | | 10 || [[#BindInterrupt]] | ||
|- | |- | ||
| 11 || UnbindInterrupt | | 11 || [[#UnbindInterrupt]] | ||
|- | |- | ||
| 12 || SetDebounceEnabled | | 12 || [[#SetDebounceEnabled]] | ||
|- | |- | ||
| 13 || GetDebounceEnabled | | 13 || [[#GetDebounceEnabled]] | ||
|- | |- | ||
| 14 || SetDebounceTime | | 14 || [[#SetDebounceTime]] | ||
|- | |- | ||
| 15 || GetDebounceTime | | 15 || [[#GetDebounceTime]] | ||
|- | |- | ||
| 16 || [4.0.0+] SetValueForSleepState | | 16 || [4.0.0+] [[#SetValueForSleepState]] | ||
|- | |- | ||
| 17 || [6.0.0+] GetValueForSleepState | | 17 || [6.0.0+] [[#GetValueForSleepState]] | ||
|- | |||
| 18 || [12.0.0+] [[#SetInput]] | |||
|- | |||
| 19 || [12.0.0+] [[#SetOutput]] | |||
|} | |} | ||
=== SetDirection === | |||
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. | |||
=== GetValueForSleepState === | |||
No input. Returns an output u32 '''ValueForSleepState'''. | |||
=== SetInput === | |||
No input/output. | |||
=== SetOutput === | |||
Takes an input u32 [[#GpioValue]]. No output. | |||
= i2c, i2c:pcv = | = i2c, i2c:pcv = | ||
Line 105: | Line 181: | ||
| 1 || [[#OpenSession_2|OpenSession]] | | 1 || [[#OpenSession_2|OpenSession]] | ||
|- | |- | ||
| [1.0.0-5.1.0] | | 2 || [1.0.0-5.1.0] [[#HasDevice|HasDevice]] | ||
|- | |- | ||
| [1.0.0-5.1.0] | | 3 || [1.0.0-5.1.0] [[#HasDeviceForDev|HasDeviceForDev]] | ||
|- | |- | ||
| 4 || [6.0.0+] [[#OpenSession2_2|OpenSession2]] | | 4 || [6.0.0+] [[#OpenSession2_2|OpenSession2]] | ||
Line 113: | Line 189: | ||
== OpenSessionForDev == | == OpenSessionForDev == | ||
Takes an u32 ''' | Takes an input u32 '''BusIdx''', an input u16 '''SlaveAddress''', and 2 input u32s [[#AddressingMode]] and [[#SpeedMode]]. Returns an [[#II2cSession]]. | ||
== OpenSession == | == OpenSession == | ||
Takes an [[#I2cDevice]] | Takes an input u32 [[#I2cDevice]]. Returns an output [[#II2cSession]]. | ||
== HasDevice == | == HasDevice == | ||
Takes an [[#I2cDevice]] | Takes an input u32 [[#I2cDevice]]. Returns an output boolean success value. | ||
== HasDeviceForDev == | == HasDeviceForDev == | ||
Takes an u32 ''' | Takes an input u32 '''BusIdx''', an input u16 '''SlaveAddress''', and 2 input u32s [[#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 134: | Line 210: | ||
! Cmd || Name | ! Cmd || Name | ||
|- | |- | ||
| [1.0.0-5.1.0] | | 0 || [1.0.0-5.1.0] SendOld | ||
|- | |- | ||
| [1.0.0-5.1.0] | | 1 || [1.0.0-5.1.0] ReceiveOld | ||
|- | |- | ||
| [1.0.0-5.1.0] | | 2 || [1.0.0-5.1.0] ExecuteCommandListOld | ||
|- | |- | ||
| 10 || [[# | | 10 || [[#Send]] | ||
|- | |- | ||
| 11 || | | 11 || [[#Receive]] | ||
|- | |- | ||
| 12 || [[# | | 12 || [[#ExecuteCommandList]] | ||
|- | |- | ||
| 13 || [6.0.0+] | | 13 || [6.0.0+] [[#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 | |||
! 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 = | = uart = | ||
Line 184: | Line 279: | ||
| 8 || [[#IsSupportedPortEventForDev]] | | 8 || [[#IsSupportedPortEventForDev]] | ||
|- | |- | ||
| 9 || [7.0.0+] [[# | | 9 || [7.0.0+] [[#IsSupportedDeviceVariation]] | ||
|- | |- | ||
| 10 || [7.0.0+] [[# | | 10 || [7.0.0+] [[#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]] '''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 | Takes 2 input u32s [[#UartPort]] and '''DeviceVariation'''. Returns an output boolean success value. | ||
Supported | 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 | Takes 2 input u32s [[#UartPortForDev]] and '''DeviceVariation'''. Returns an output boolean success value. | ||
Supported | 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 == | == IPortSession == | ||
Line 249: | Line 336: | ||
| 1 || [[#OpenPortForDev]] | | 1 || [[#OpenPortForDev]] | ||
|- | |- | ||
| 2 || GetWritableLength | | 2 || [[#GetWritableLength]] | ||
|- | |- | ||
| 3 || Send | | 3 || [[#Send]] | ||
|- | |- | ||
| 4 || GetReadableLength | | 4 || [[#GetReadableLength]] | ||
|- | |- | ||
| 5 || Receive | | 5 || [[#Receive]] | ||
|- | |- | ||
| 6 || BindPortEvent | | 6 || [[#BindPortEvent]] | ||
|- | |- | ||
| 7 || UnbindPortEvent | | 7 || [[#UnbindPortEvent]] | ||
|} | |} | ||
=== 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+] | [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 === | |||
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. | |||
= pwm = | = pwm = | ||
Line 308: | Line 415: | ||
| 5 || GetEnabled | | 5 || GetEnabled | ||
|- | |- | ||
| 6 || [6.0.0+] | | 6 || [6.0.0+] SetScale | ||
|- | |- | ||
| 7 || [6.0.0+] | | 7 || [6.0.0+] GetScale | ||
|} | |} | ||
Line 341: | Line 448: | ||
=== 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 458: | Line 565: | ||
| 20 || | | 20 || | ||
|- | |- | ||
| 21 || | | 21 || [8.1.1-9.2.0] | ||
|} | |} | ||
Line 466: | Line 573: | ||
{| class="wikitable sortable" border="1" | {| class="wikitable sortable" border="1" | ||
|- | |- | ||
! Name || [[#GpioPadDescriptor|GpioPadDescriptor]] || DeviceCode || Tegra (port, pin) || | ! Value || Name || [[#GpioPadDescriptor|GpioPadDescriptor]] || DeviceCode || Tegra (port, pin) || Description || Direction || Used by (services) || Used by (hardware) | ||
|- | |- | ||
| 0x01 || 0xCC || 0x33000002 || Z, 4 || Audio Codec (ALC5639) Power | | 0x01 || CodecLdoEnTemp || 0xCC || 0x33000002 || Z, 4 || Audio Codec (ALC5639) Power || Out || [[Audio services]], [[Fatal services]] || Icosa, Hoag, Iowa, Aula | ||
|- | |- | ||
| 0x02 || 0x24 || 0x3C000001 || E, 4 || | | 0x02 || PowSdEn || 0x24 || 0x3C000001 || E, 4 || SdCard Power || Out || [[PCV services]] || Icosa, Copper, Hoag, Iowa, Calcio, Aula | ||
|- | |- | ||
| 0x03 || 0x3C || 0x37000002 || H, 4 || Bluetooth Reset | | 0x03 || BtRst || 0x3C || 0x37000002 || H, 4 || Bluetooth Reset || Out || [[Bluetooth Driver services]] || Icosa, Copper, Hoag, Iowa, Calcio, Aula | ||
|- | |- | ||
| 0x04 || 0xDA || 0xC9000402 || BB, 2 || Secondary Boot Device Configration | | 0x04 || RamCode3 || 0xDA || 0xC9000402 || BB, 2 || Secondary Boot Device Configration || In || || Icosa, Iowa | ||
|- | |- | ||
| 0x05 || 0xDB || 0x3C000402 || BB, 3 || Gamecard Reset | | 0x05 || GameCardReset || 0xDB || 0x3C000402 || BB, 3 || Gamecard Reset || Out || [[Filesystem services]] || Icosa, Copper, Hoag, Iowa, Aula | ||
|- | |- | ||
| 0x06 || 0xDC || 0x33000003 || BB, 4 || Audio Codec (ALC5639) Alert | | 0x06 || CodecAlert || 0xDC || 0x33000003 || BB, 4 || Audio Codec (ALC5639) Alert || In || [[Audio services]] || Icosa, Hoag, Iowa, Aula | ||
|- | |- | ||
| 0x07 || 0x25 || 0x3C000401 || E, 5 || Gamecard Power | | 0x07 || PowGc || 0x25 || 0x3C000401 || E, 5 || Gamecard Power || Out || || Icosa, Copper | ||
|- | |- | ||
| 0x08 || 0x90 || 0x350000CA || S, 0 || Debug Pad Detect | | 0x08 || DebugControllerDet || 0x90 || 0x350000CA || S, 0 || Debug Pad Detect || In || [[HID services]] || Icosa, Iowa | ||
|- | |- | ||
| 0x09 || 0x91 || 0x39000407 || S, 1 || Battery Charge Status | | 0x09 || BattChgStatus || 0x91 || 0x39000407 || S, 1 || Battery Charge Status || In || || Icosa, Hoag, Iowa, Aula | ||
|- | |- | ||
| 0x0A || 0x96 || 0x39000003 || S, 6 || Charger IC (BQ24193) Charge Enable | | 0x0A || BattChgEnableN || 0x96 || 0x39000003 || S, 6 || Charger IC (BQ24193) Charge Enable || Out || [[PTM services]] || Icosa, Hoag, Iowa, Aula | ||
|- | |- | ||
| 0x0B || 0x97 || 0x3D000002 || S, 7 || Fan Tachometer | | 0x0B || FanTach || 0x97 || 0x3D000002 || S, 7 || Fan Tachometer || In || || Icosa, Hoag, Iowa, Calcio, Aula | ||
|- | |- | ||
| 0x0C || 0x26 || 0x3500040B || E, 6 || Joy-Con(L) IsAttached (insertion, Joy-Con pin 5/console TX, pulled low on insert) | | 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 || 0x05 || 0x39000401 || A, 5 || Fan and Joy-Con Rails Power (Battery - BQ24193 5V | | 0x0D || Vdd50AEn || 0x05 || 0x39000401 || A, 5 || Fan and Joy-Con Rails Power (Battery - BQ24193 5V) || Out || [[PTM services]] || Icosa, Hoag, Iowa, Aula | ||
|- | |- | ||
| 0x0E || 0x78 || 0xCA000402 || P, 0 || SDEV Coax Select | | 0x0E || SdevCoaxSel1 || 0x78 || 0xCA000406 ([1.0.0-10.0.0] 0xCA000402) || P, 0 || SDEV Coax Select || In || || Icosa, Iowa | ||
|- | |- | ||
| 0x0F || 0x93 || 0x3C000403 || S, 3 || Gamecard Card Detect | | 0x0F || GameCardCd || 0x93 || 0x3C000403 || S, 3 || Gamecard Card Detect || In || [[Filesystem services]], [[AM services]] || Icosa, Copper, Hoag, Iowa, Aula | ||
|- | |- | ||
| 0x10 || 0x7D || 0xC900040B || P, 5 || | | 0x10 || ProdType0 || 0x7D || 0xC900040B || P, 5 || || In || || Icosa, Copper, Iowa | ||
|- | |- | ||
| 0x11 || 0x7C || 0xC900040C || P, 4 || | | 0x11 || ProdType1 || 0x7C || 0xC900040C || P, 4 || || In || || Icosa, Copper, Iowa | ||
|- | |- | ||
| 0x12 || 0x7B || 0xC900040D || P, 3 || | | 0x12 || ProdType2 || 0x7B || 0xC900040D || P, 3 || || In || || Icosa, Copper, Iowa | ||
|- | |- | ||
| 0x13 || 0x7A || 0xC900040E || P, 2 || | | 0x13 || ProdType3 || 0x7A || 0xC900040E || P, 2 || || In || || Icosa, Copper, Iowa | ||
|- | |- | ||
| 0x14 || 0xBC || 0x3E000002 || X, 4 || Temperature Sensor | | 0x14 || TempAlert || 0xBC || 0x3E000002 || X, 4 || Temperature Sensor || In || || Icosa, Copper, Hoag, Iowa, Calcio, Aula | ||
|- | |- | ||
| 0x15 || 0xAE || 0x33000004 || V, 6 || Audio Codec (ALC5639) Headphone Detect | | 0x15 || CodecHpDetIrq || 0xAE || 0x33000004 || V, 6 || Audio Codec (ALC5639) Headphone Detect || In || [[Audio services]] || Icosa, Hoag, Iowa, Aula | ||
|- | |- | ||
| 0x16 || 0xBA || 0x35000041 || X, 2 || | | 0x16 || MotionInt || 0xBA || 0x35000041 || X, 2 || || In || || Icosa, Hoag, Iowa, Aula | ||
|- | |- | ||
| 0x17 || 0xB9 || 0x35000036 || X, 1 || TouchPanel IRQ | | 0x17 || TpIrq || 0xB9 || 0x35000036 || X, 1 || TouchPanel IRQ || In || [[HID services]] || Icosa, Hoag, Iowa, Aula | ||
|- | |- | ||
| 0x18 || 0xBD || 0x35000001 || X, 5 || Power Button | | 0x18 || ButtonSleep2 || 0xBD || 0x35000001 || X, 5 || Power Button || In || || Icosa, Copper, Hoag, Iowa, Calcio, Aula | ||
|- | |- | ||
| 0x19 || 0xBE || 0x35000002 || X, 6 || Volume Up | | 0x19 || ButtonVolUp || 0xBE || 0x35000002 || X, 6 || Volume Up || In || [[Boot2]], [[Audio services]], [[Fatal services]] || Icosa, Copper, Hoag, Iowa, Calcio, Aula | ||
|- | |- | ||
| 0x1A || 0xBF || 0x35000003 || X, 7 || Volume Down | | 0x1A || ButtonVolDn || 0xBF || 0x35000003 || X, 7 || Volume Down || In || [[Boot2]], [[Audio services]] || Icosa, Copper, Hoag, Iowa, Calcio , Aula | ||
|- | |- | ||
| 0x1B || 0xC0 || 0x39000034 || Y, 0 || Fuel Gauge IC (MAX17050) IRQ | | 0x1B || BattMgicIrq || 0xC0 || 0x39000034 || Y, 0 || Fuel Gauge IC (MAX17050) IRQ || In || [[PTM services]], [[AM services]] || Icosa, Hoag, Iowa, Aula | ||
|- | |- | ||
| 0x1C || 0xC1 || 0x35000004 || Y, 1 || Recovery Mode Key | | 0x1C || RecoveryKey || 0xC1 || 0x35000004 || Y, 1 || Recovery Mode Key || In || || Icosa, Copper, Hoag, Iowa, Calcio, Aula | ||
|- | |- | ||
| 0x1D || 0xA9 || 0x3400003E || V, 1 || Backlight Enable | | 0x1D || PowLcdBlEn || 0xA9 || 0x3400003E || V, 1 || Backlight Enable || Out || [[NV services]], [[Backlight services]] || Icosa, Hoag, Iowa | ||
|- | |- | ||
| 0x1E || 0xAA || 0x34000033 || V, 2 || Backlight Reset | | 0x1E || LcdReset || 0xAA || 0x34000033 || V, 2 || Backlight Reset || Out || [[NV services]] || Icosa, Hoag, Iowa, Aula | ||
|- | |- | ||
| 0x1F || 0x55 || 0x040000CC || K, 5 || USB-PD Controller (RHOM BM92T30MWV) VCONN Power | | 0x1F || PdVconnEn || 0x55 || 0x040000CC || K, 5 || USB-PD Controller (RHOM BM92T30MWV) VCONN Power || Out || [[PTM services]], [[USB services]] || Icosa, Hoag, Iowa, Aula | ||
|- | |- | ||
| 0x20 || 0xAD || 0x040000CA || V, 5 || USB-PD Controller (RHOM BM92T30MWV) Reset | | 0x20 || PdRstN || 0xAD || 0x040000CA || V, 5 || USB-PD Controller (RHOM BM92T30MWV) Reset || Out || [[USB services]] || Icosa, Copper, Hoag, Iowa, Calcio, Aula | ||
|- | |- | ||
| 0x21 || 0xC8 || 0x39000002 || Z, 0 || Charger IC (BQ24193) IRQ | | 0x21 || Bq24190Irq || 0xC8 || 0x39000002 || Z, 0 || Charger IC (BQ24193) IRQ || In || [[PTM services]], [[AM services]] || Icosa, Hoag, Iowa, Aula | ||
|- | |- | ||
| 0x22 || 0xCA || 0xCA000401 || Z, 2 || SDEV Coax Select | | 0x22 || SdevCoaxSel0 || 0xCA || 0xCA000405 ([1.0.0-10.0.0] 0xCA000401) || Z, 2 || SDEV Coax Select || In || || Icosa, Iowa | ||
|- | |- | ||
| 0x23 || 0xCB || 0x3C000003 || Z, 3 || | | 0x23 || SdWp || 0xCB || 0x3C000003 || Z, 3 || SdCard Write Protect || In || || Icosa, Copper, Hoag, Iowa, Calcio, Aula | ||
|- | |- | ||
| 0x24 || 0x4F || 0x35000035 || J, 7 || TouchPanel Reset | | 0x24 || TpReset || 0x4F || 0x35000035 || J, 7 || TouchPanel Reset || Out || [[HID services]] || Icosa, Hoag, Iowa, Aula | ||
|- | |- | ||
| 0x25 || 0x50 || 0x37000401 || K, 0 || | | 0x25 || BtGpio2 || 0x50 || 0x37000401 || K, 0 || || In || || Icosa, Copper, Hoag, Iowa, Calcio, Aula | ||
|- | |- | ||
| 0x26 || 0x51 || 0x37000402 || K, 1 || | | 0x26 || BtGpio3 || 0x51 || 0x37000402 || K, 1 || || In || || Icosa, Copper, Hoag, Iowa, Calcio, Aula | ||
|- | |- | ||
| 0x27 || 0x52 || 0x37000403 || K, 2 || | | 0x27 || BtGpio4 || 0x52 || 0x37000403 || K, 2 || || In || || Icosa, Copper, Hoag, Iowa, Calcio, Aula | ||
|- | |- | ||
| 0x28 || 0x54 || 0x040000CB || K, 4 || USB-PD Controller (RHOM BM92T30MWV) IRQ | | 0x28 || CradleIrq || 0x54 || 0x040000CB || K, 4 || USB-PD Controller (RHOM BM92T30MWV) IRQ || In || [[USB services]], [[AM services]] || Icosa, Copper, Hoag, Iowa, Calcio, Aula | ||
|- | |- | ||
| 0x29 || 0x56 || 0x3E000003 || K, 6 || | | 0x29 || PowVcpuInt || 0x56 || 0x3E000003 || K, 6 || || In || || Icosa, Copper, Aula | ||
|- | |- | ||
| 0x2A || 0x57 || 0x3E000004 || K, 7 || | | 0x2A || Max77621GpuInt || 0x57 || 0x3E000004 || K, 7 || || In || || Icosa, Copper | ||
|- | |- | ||
| 0x2B || 0x53 || 0x35000402 || K, 3 || Joy-Con(R) Charge | | 0x2B || ExtconChgU || 0x53 || 0x35000402 || K, 3 || Joy-Con(R) Charge || Out || [[HID services]] || Icosa, Iowa, Aula | ||
|- | |- | ||
| 0x2C || 0xE3 || 0x3500040C || CC, 3 || Joy-Con(L) Charge | | 0x2C || ExtconChgS || 0xE3 || 0x3500040C || CC, 3 || Joy-Con(L) Charge || Out || [[HID services]] || Icosa, Iowa, Aula | ||
|- | |- | ||
| 0x2D || 0x38 || 0x38000003 || H, 0 || | | 0x2D || WifiRfDisable || 0x38 || 0x38000003 || H, 0 || || Out || || Icosa, Copper, Hoag, Iowa, Calcio | ||
|- | |- | ||
| 0x2E || 0x39 || 0x38000002 || H, 1 || WiFi Reset | | 0x2E || WifiReset || 0x39 || 0x38000002 || H, 1 || WiFi Reset || Out || [[WLAN services]], [[PCIe services]] || Icosa, Copper, Hoag, Iowa, Calcio, Aula | ||
|- | |- | ||
| 0x2F || 0x3B || 0x37000003 || H, 3 || | | 0x2F || ApWakeBt || 0x3B || 0x37000003 || H, 3 || || Out || [[Bluetooth Driver services]] || Icosa, Copper, Hoag, Iowa, Calcio, Aula | ||
|- | |- | ||
| 0x30 || 0x3D || 0x37000004 || H, 5 || | | 0x30 || BtWakeAp || 0x3D || 0x37000004 || H, 5 || || In || [[AM services]] || Icosa, Copper, Hoag, Iowa, Calcio, Aula | ||
|- | |- | ||
| 0x31 || 0x3F || 0x37000404 || H, 7 || | | 0x31 || BtGpio5 || 0x3F || 0x37000404 || H, 7 || || Out || || Icosa, Copper, Hoag, Iowa, Calcio, Aula | ||
|- | |- | ||
| 0x32 || 0x40 || 0x34000034 || I, 0 || Backlight +5V | | 0x32 || PowLcdVddPEn || 0x40 || 0x34000034 || I, 0 || Backlight +5V || Out || [[NV services]] || Icosa, Hoag, Iowa | ||
|- | |- | ||
| 0x33 || 0x41 || 0x34000035 || I, 1 || Backlight -5V | | 0x33 || PowLcdVddNEn || 0x41 || 0x34000035 || I, 1 || Backlight -5V || Out || [[NV services]] || Icosa, Hoag, Iowa | ||
|- | |- | ||
| 0x34 || 0x3E || 0x35000401 || H, 6 || Joy-Con(R) IsAttached (insertion, Joy-Con pin 5/console TX, pulled low on insert) | | 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 || 0xE2 || 0xC9000401 || CC, 2 || Secondary Boot Device Configration | | 0x35 || RamCode2 || 0xE2 || 0xC9000401 || CC, 2 || Secondary Boot Device Configration || In || || Icosa, Iowa | ||
|- | |- | ||
| 0x36 || 0xE4 || 0x39000402 || CC, 4 || Fan and Joy-Con Rails Power (USB 5V | | 0x36 || Vdd50BEn || 0xE4 || 0x39000402 || CC, 4 || Fan and Joy-Con Rails Power (USB 5V) || Out || [[PTM services]] || Icosa, Iowa | ||
|- | |- | ||
| 0x37 || 0x3A || 0x38000004 || H, 2 || | | 0x37 || WifiWakeHost || 0x3A || 0x38000004 || H, 2 || || In || [[AM services]] || Icosa, Copper, Hoag, Iowa, Calcio, Aula | ||
|- | |- | ||
| 0x38 || 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 || 0x4D || 0x39000404 || J, 5 || Charger IC (BQ24193) OTG Charge Select | | 0x39 || OtgFet1ForSdev || 0x4D || 0x39000404 || J, 5 || Charger IC (BQ24193) OTG Charge Select || Out || [[PTM services]], [[USB services]] || Icosa, Iowa | ||
|- | |- | ||
| 0x3A || 0x58 || 0x39000405 || L, 0 || Charger IC (BQ24193) OTG Charge Select | | 0x3A || OtgFet2ForSdev || 0x58 || 0x39000405 || L, 0 || Charger IC (BQ24193) OTG Charge Select || Out || [[PTM services]], [[USB services]] || Icosa, Iowa | ||
|- | |- | ||
| 0x3B || 0x3E || 0x35000403 || H, 6 || Joy-Con(R) Wake Detect | | 0x3B || ExtConWakeU || 0x3E || 0x35000403 || H, 6 || Joy-Con(R) Wake Detect || In || || Icosa, Hoag, Iowa, Aula | ||
|- | |- | ||
| 0x3C || 0x26 || 0x3500040D || E, 6 || Joy-Con(L) Wake Detect | | 0x3C || ExtConWakeS || 0x26 || 0x3500040D || E, 6 || Joy-Con(L) Wake Detect || In || || Icosa, Hoag, Iowa, Aula | ||
|- | |- | ||
| 0x3D || -1 || 0x39000406 || || || || || | | 0x3D || PmuIrq || -1 || 0x39000406 || || || || || | ||
|- | |- | ||
| 0x3E || 0x33 || 0x35000404 || G, 3 || Joy-Con(R) CTS (checked low | | 0x3E || ExtUart2Cts || 0x33 || 0x35000404 || G, 3 || Joy-Con(R) CTS (checked low) || In || [[HID services]], [[AM services]] || | ||
|- | |- | ||
| 0x3F || 0x1C || 0x3500040E || D, 4 || Joy-Con(L) CTS (checked low | | 0x3F || ExtUart3Cts || 0x1C || 0x3500040E || D, 4 || Joy-Con(L) CTS (checked low) || In || [[HID services]], [[AM services]] || | ||
|- | |- | ||
| 0x40 || 0xD9 || 0x39000408 || BB, 1 || 5V Step-Down Regulator Power | | 0x40 || 5VStepDownEn || 0xD9 || 0x39000408 || BB, 1 || 5V Step-Down Regulator Power || Out || || Copper | ||
|- | |- | ||
| 0x41 || 0x0C || 0x04000401 || B, 4 || USB Root Port 2 Over Current | | 0x41 || UsbSwitchB2Oc || 0x0C || 0x04000401 || B, 4 || USB Root Port 2 Over Current || In || [[USB services]] || Copper | ||
|- | |- | ||
| 0x42 || 0x0D || 0x39000409 || B, 5 || 5V Step-Down Regulator Power Good Flag | | 0x42 || 5VStepDownPg || 0x0D || 0x39000409 || B, 5 || 5V Step-Down Regulator Power Good Flag || In || || Copper | ||
|- | |- | ||
| 0x43 || 0x21 || 0x04000402 || E, 1 || USB Power | | 0x43 || UsbSwitchAEn || 0x21 || 0x04000402 || E, 1 || USB Power || Out || [[USB services]] || Copper | ||
|- | |- | ||
| 0x44 || 0x27 || 0x04000403 || E, 7 || USB Power Flag | | 0x44 || UsbSwitchAFlag || 0x27 || 0x04000403 || E, 7 || USB Power Flag || In || [[USB services]] || Copper | ||
|- | |- | ||
| 0x45 || 0x92 || 0x04000404 || S, 2 || USB Root Port 3 Over Current | | 0x45 || UsbSwitchB3Oc || 0x92 || 0x04000404 || S, 2 || USB Root Port 3 Over Current || In || [[USB services]] || Copper | ||
|- | |- | ||
| 0x46 || 0x95 || 0x04000405 || S, 5 || USB Root Port 3 Power | | 0x46 || UsbSwitchB3En || 0x95 || 0x04000405 || S, 5 || USB Root Port 3 Power || Out || [[USB services]] || Copper | ||
|- | |- | ||
| 0x47 || 0x98 || 0x04000406 || T, 0 || USB Root Port 2 Power | | 0x47 || UsbSwitchB2En || 0x98 || 0x04000406 || T, 0 || USB Root Port 2 Power || Out || [[USB services]] || Copper | ||
|- | |- | ||
| 0x48 || 0x10 || 0x34000004 || C, 0 || HDMI 5V | | 0x48 || Hdmi5VEn || 0x10 || 0x34000004 || C, 0 || HDMI 5V || Out || [[NV services]] || Copper, Calcio | ||
|- | |- | ||
| 0x49 || 0x11 || 0x04000407 || C, 1 || USB Root Port 1 Power | | 0x49 || UsbSwitchB1En || 0x11 || 0x04000407 || C, 1 || USB Root Port 1 Power || Out || [[USB services]] || Copper, Calcio | ||
|- | |- | ||
| 0x4A || 0x12 || 0x34000005 || C, 2 || HDMI/Power Delivery Switch | | 0x4A || HdmiPdTrEn || 0x12 || 0x34000005 || C, 2 || HDMI/Power Delivery Switch || Out || [[NV services]] || Copper, Calcio | ||
|- | |- | ||
| 0x4B || 0x42 || 0x3D000003 || I, 2 || Fan Enable | | 0x4B || FanEn || 0x42 || 0x3D000003 || I, 2 || Fan Enable || Out || [[PTM services]] || Copper | ||
|- | |- | ||
| 0x4C || 0xE6 || 0x04000408 || CC, 6 || USB Root Port 1 Over Current | | 0x4C || UsbSwitchB1Oc || 0xE6 || 0x04000408 || CC, 6 || USB Root Port 1 Over Current || In || [[USB services]] || Copper, Calcio | ||
|- | |- | ||
| [2.0.0+] 0x4D || 0xAC || 0x3D000001 || V, 4 || Pulse-Width Modulation Fan Control | | [2.0.0+] 0x4D || PwmFan || 0xAC || 0x3D000001 || V, 4 || Pulse-Width Modulation Fan Control || Out || [[PTM services]] || Copper | ||
|- | |- | ||
| [2.0.0+] 0x4E || 0xE1 || 0x34000006 || CC, 1 || HDMI Hot Plug Detect | | [2.0.0+] 0x4E || HdmiHpd || 0xE1 || 0x34000006 || CC, 1 || HDMI Hot Plug Detect || In || [[NV services]] || Copper, Calcio | ||
|- | |- | ||
| [5.0.0+] 0x4F || 0x56 || 0x3E000003 || K, 6 || | | [5.0.0+] 0x4F || Max77812Irq || 0x56 || 0x3E000003 || K, 6 || || 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 || 0x4C || 0x36000004 || J, 4 || | | [6.0.0+] 0x54 || NfcIrq || 0x4C || 0x36000004 || J, 4 || || In || [[NFC services]] || Hoag | ||
|- | |- | ||
| [6.0.0+] 0x55 || 0x57 || 0x36000003 || K, 7 || | | [6.0.0+] 0x55 || NfcRst || 0x57 || 0x36000003 || K, 7 || || Out || [[NFC services]] || Hoag | ||
|- | |- | ||
| [6.0.0+] 0x56 || 0x27 ([6.0.0-8.0.0] 0x94) || 0x35000415 || S, 4 || | | [6.0.0+] 0x56 || McuIrq || 0x27 ([6.0.0-8.0.0] 0x94) || 0x35000415 || S, 4 || || In || || Hoag | ||
|- | |- | ||
| [6.0.0+] 0x57 || 0x98 || 0x35000416 || T, 0 || | | [6.0.0+] 0x57 || McuBoot || 0x98 || 0x35000416 || T, 0 || || Out || [[HID services]] || Hoag | ||
|- | |- | ||
| [6.0.0+] 0x58 || 0x99 || 0x35000417 || T, 1 || | | [6.0.0+] 0x58 || McuRst || 0x99 || 0x35000417 || T, 1 || || Out || [[HID services]] || Hoag | ||
|- | |- | ||
| [6.0.0+] 0x59 || 0xBB || 0x39000403 || X, 3 || Fan Power | | [6.0.0+] 0x59 || Vdd5V3En || 0xBB || 0x39000403 || X, 3 || 5V3 Fan Power || Out || [[PTM services]] || Hoag, Iowa, Aula | ||
|- | |- | ||
| [6.0.0+] 0x5A || 0xE5 || 0x35000418 || CC, 5 || | | [6.0.0+] 0x5A || McuPor || 0xE5 || 0x35000418 || CC, 5 || || Out || [[HID services]] || Hoag | ||
|- | |- | ||
| [6.0.0+] 0x5B || 0xAB || 0x35000005 || V, 3 || | | [6.0.0+] 0x5B || || 0xAB || 0x35000005 || V, 3 || SioMcu Input || In || [[HID services]], [[AM services]] || Hoag | ||
|- | |- | ||
| [6.0.0+] 0x5C || 0x4E || 0x36000002 || J, 6 || | | [6.0.0+] 0x5C || NfcEn || 0x4E || 0x36000002 || J, 6 || || Out || [[NFC services]] || Hoag | ||
|- | |- | ||
| [7.0.0+] | | [7.0.0+] - || ExtUart2Rts || 0x32 || 0x35000406 || G, 2 || Joy-Con(R) RTS || In || || | ||
|- | |- | ||
| [7.0.0+] | | [7.0.0+] - || ExtUart3Rts || 0x1B || 0x35000410 || D, 3 || Joy-Con(L) RTS || In || || | ||
|- | |- | ||
| [7.0.0+] | | [7.0.0+] - || || 0x17 || 0x3500041B || C, 7 || || In || || Hoag | ||
|- | |- | ||
| [7.0.0+] | | [7.0.0+] - || || 0x18 || 0x3500041C || D, 0 || || In || || Hoag | ||
|- | |- | ||
| [7.0.0+] | | [7.0.0+] - || || 0x15 || 0x3500041D || C, 5 || || In || || Hoag | ||
|- | |- | ||
| [7.0.0+] | | [7.0.0+] - || || 0x16 || 0x3500041E || C, 6 || || In || || Hoag | ||
|- | |||
| [10.0.0+] - || || 0xC5 || 0x35000065 || Y, 5 || || Out || || Hoag | |||
|- | |||
| [10.0.0+] - || || 0x29 || 0x04000409 || F, 1 || || Out || || Calcio | |||
|- | |||
| [10.0.0+] - || || 0x38 || 0x34000401 || H, 0 || Dp2hdmi || In || [[Display services]] || Aula | |||
|- | |||
| [13.0.0+] - || || 0x46 || 0x37000405 || I, 6 || || In || || | |||
|} | |} | ||
Line 676: | Line 791: | ||
| 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. | |||
= I2cDevice = | = I2cDevice = | ||
Line 682: | Line 854: | ||
{| class="wikitable sortable" border="1" | {| class="wikitable sortable" border="1" | ||
|- | |- | ||
! Name || DeviceCode || Port:Addr || Is10bit || Speed || Max Retries || Retry Delay || | ! 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 || Buck Regulator || || 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, 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, Aula | |||
|- | |||
| [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 || MillauNfc || [[NFC services]] || Hoag | |||
|- | |||
| [12.0.0+] - || || 0x3A000007 || 4:18 || N || 400000 || 0 || 0 || S2DOS04 (OLED PMIC) || [[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 || | | 0 || UART-A || 0x03000001 || || Invalid | ||
|- | |- | ||
| 1 || 0x03000002 || 0x35000405 | | 1 || UART-B || 0x03000002 || 0x35000405 || Joy-Con(R) | ||
|- | |- | ||
| 2 || 0x03000003 || 0x3500040F | | 2 || UART-C || 0x03000003 || 0x3500040F || Joy-Con(L) | ||
|- | |- | ||
| 3 || 0x03000004 || 0x37000001 || | | 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 784: | Line 1,054: | ||
{| class="wikitable sortable" border="1" | {| class="wikitable sortable" border="1" | ||
|- | |- | ||
! Name || DeviceCode || | ! Value || Name || DeviceCode || Description || Used by | ||
|- | |||
| 0 || Invalid || || || | |||
|- | |- | ||
| 1 || 0x3D000001 || PWM Channel 1 | | 1 || CpuFan || 0x3D000001 || PWM Channel 1 || [[PTM_services#fan|PTM services]] | ||
|- | |- | ||
| 2 || 0x3400003D || PWM Channel 0 | | 2 || LcdBacklight || 0x3400003D || PWM Channel 0 || [[Backlight services]], [[NV services]] | ||
|- | |- | ||
| 3 || 0x35000065 || PMC LED Soft Blink | | 3 || Led || 0x35000065 || PMC LED Soft Blink || [[Bus services#led|Bus services]] | ||
|} | |} | ||
Line 798: | Line 1,070: | ||
{| class="wikitable sortable" border="1" | {| class="wikitable sortable" border="1" | ||
|- | |- | ||
! | ! Value || Description | ||
|- | |- | ||
| 0 || GPIO(G, 0) and GPIO(G, 3) | | 0 || GPIO(G, 0) and GPIO(G, 3) | ||
Line 816: | Line 1,088: | ||
{| class="wikitable sortable" border="1" | {| class="wikitable sortable" border="1" | ||
|- | |- | ||
! | ! Value || Description | ||
|- | |- | ||
| 0 || Invalid | | 0 || Invalid | ||
Line 827: | Line 1,099: | ||
|- | |- | ||
| 100 || Uart4Tx, Uart4Rx, Uart4Rts and Uart4Cts | | 100 || Uart4Tx, Uart4Rx, Uart4Rts and Uart4Cts | ||
|} | |||
= PinAssignment = | |||
This is "nn::pinmux::PinAssignment". | |||
{| class="wikitable sortable" border="1" | |||
|- | |||
! Value || Name | |||
|- | |||
| 2 || Sdmmc1OutputHigh | |||
|- | |||
| 3 || Sdmmc1ResetState | |||
|- | |||
| 4 || Sdmmc1SchmtEnable | |||
|- | |||
| 5 || Sdmmc1SchmtDisable | |||
|} | |||
= PinAssignmentForHardwareTest = | |||
This is "nn::pinmux::PinAssignmentForHardwareTest". | |||
{| class="wikitable sortable" border="1" | |||
|- | |||
! Value || Name | |||
|- | |||
| 100 || UartDHiZ | |||
|- | |||
| 101 || UartDEnable | |||
|} | |} | ||
Line 832: | Line 1,132: | ||
{| class="wikitable sortable" border="1" | {| class="wikitable sortable" border="1" | ||
|- | |- | ||
! Name || DeviceCode || | ! Value || Name || DeviceCode || Description | ||
|- | |||
| 0 || SPI4 || 0x3500003D || Joy-Con | |||
|} | |||
= AccessMode = | |||
This is "nn::ddsf::AccessMode". | |||
{| class="wikitable sortable" border="1" | |||
|- | |||
! Value || Name | |||
|- | |||
| 0 || None | |||
|- | |||
| 1 || Read | |||
|- | |||
| 2 || Write | |||
|- | |- | ||
| | | 3 || ReadWrite | ||
|} | |} | ||
[[Category:Services]] | [[Category:Services]] |