Bus services: Difference between revisions

(5 intermediate revisions by the same user 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+] [[#SetRetryValues]]
| 10 || [6.0.0+] [[#SetRetryValues]]
Line 30: Line 30:


== OpenSessionForDev ==
== OpenSessionForDev ==
Takes a raw [[#GpioPadDescriptor]] and returns an [[#IPadSession]].
Takes an input [[#GpioPadDescriptor]]. Returns an [[#IPadSession]].


== OpenSession ==
== OpenSession ==
Line 39: Line 39:


== IsWakeEventActive ==
== IsWakeEventActive ==
Takes a [[#GpioPadName]] and returns a bool.
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 ==
Line 49: Line 55:
== 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 ==
== SetRetryValues ==
Line 60: 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+]
| 18 || [12.0.0+] [[#SetInput]]
|-
|-
| 19 || [12.0.0+]
| 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 532: Line 601:
| 0x0D || Vdd50AEn || 0x05 || 0x39000401 || A, 5 || Fan and Joy-Con Rails Power (Battery - BQ24193 5V) || Out || [[PTM services]] || Icosa, Hoag, Iowa, Aula
| 0x0D || Vdd50AEn || 0x05 || 0x39000401 || A, 5 || Fan and Joy-Con Rails Power (Battery - BQ24193 5V) || 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, Aula
| 0x0F || GameCardCd || 0x93 || 0x3C000403 || S, 3 || Gamecard Card Detect || In || [[Filesystem services]], [[AM services]] || Icosa, Copper, Hoag, Iowa, Aula
Line 572: Line 641:
| 0x21 || Bq24190Irq || 0xC8 || 0x39000002 || Z, 0 || Charger IC (BQ24193) IRQ || In || [[PTM services]], [[AM services]] || Icosa, Hoag, Iowa, Aula
| 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 || SdCard Write Protect || In || || Icosa, Copper, Hoag, Iowa, Calcio, Aula
| 0x23 || SdWp || 0xCB || 0x3C000003 || Z, 3 || SdCard Write Protect || In || || Icosa, Copper, Hoag, Iowa, Calcio, Aula
Line 707: Line 776:
|-
|-
| [10.0.0+] - || || 0x38 || 0x34000401 || H, 0 || Dp2hdmi || In || [[Display services]] || Aula
| [10.0.0+] - || || 0x38 || 0x34000401 || H, 0 || Dp2hdmi || In || [[Display services]] || Aula
|-
| [13.0.0+] - || || 0x46 || 0x37000405 || I, 6 || || In || ||
|}
|}


Line 720: 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 791: Line 919:
|-
|-
| [8.0.0+] 31 || || 0x36000001 || 1:08 || N || 400000 || 3 || 5000000 || MillauNfc || [[NFC services]] || Hoag
| [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
|}
|}