Difference between revisions of "Bus services"
Line 27: | Line 27: | ||
|} | |} | ||
− | == | + | == Known Devices == |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
{| class="wikitable sortable" border="1" | {| class="wikitable sortable" border="1" | ||
|- | |- | ||
Line 44: | Line 38: | ||
| 0x03 || 0x3C || H, 4 || BT_RST_PH4 || Out || [[Bluetooth services]] | | 0x03 || 0x3C || H, 4 || BT_RST_PH4 || Out || [[Bluetooth services]] | ||
|- | |- | ||
− | | 0x04 || 0xDA || BB, 2 || || || | + | | 0x04 || 0xDA || BB, 2 || || In || |
|- | |- | ||
| 0x05 || 0xDB || BB, 3 || GcAsic Power || Out || [[Filesystem services]] | | 0x05 || 0xDB || BB, 3 || GcAsic Power || Out || [[Filesystem services]] | ||
Line 50: | Line 44: | ||
| 0x06 || 0xDC || BB, 4 || Headphone Detect || In || [[Audio services]] | | 0x06 || 0xDC || BB, 4 || Headphone Detect || In || [[Audio services]] | ||
|- | |- | ||
− | | 0x07 || 0x25 || E, 5 || || || | + | | 0x07 || 0x25 || E, 5 || || Out || |
|- | |- | ||
| 0x08 || 0x90 || S, 0 || DebugPadDriver || In || [[HID services]] | | 0x08 || 0x90 || S, 0 || DebugPadDriver || In || [[HID services]] | ||
|- | |- | ||
− | | 0x09 || 0x91 || S, 1 || || || | + | | 0x09 || 0x91 || S, 1 || || In || |
|- | |- | ||
| 0x0A || 0x96 || S, 6 || bq24192 Charge Enable || Out || [[PTM services]] | | 0x0A || 0x96 || S, 6 || bq24192 Charge Enable || Out || [[PTM services]] | ||
|- | |- | ||
− | | 0x0B || 0x97 || S, 7 || || || | + | | 0x0B || 0x97 || S, 7 || || In || |
|- | |- | ||
| 0x0C || 0x26 || E, 6 || joycon(L) NwcpDriver0.GpioMonitorTask0 (insertion, Joy-Con pin 5/console TX, pulled low on insert?) || In || [[HID services]] | | 0x0C || 0x26 || E, 6 || joycon(L) NwcpDriver0.GpioMonitorTask0 (insertion, Joy-Con pin 5/console TX, pulled low on insert?) || In || [[HID services]] | ||
Line 64: | Line 58: | ||
| 0x0D || 0x05 || A, 5 || Fan enable (normal) || Out || [[PTM services]] | | 0x0D || 0x05 || A, 5 || Fan enable (normal) || Out || [[PTM services]] | ||
|- | |- | ||
− | | 0x0E || 0x78 || P, 0 || SDMMC3_CLK_PP0? || || | + | | 0x0E || 0x78 || P, 0 || SDMMC3_CLK_PP0? || In || |
|- | |- | ||
| 0x0F || 0x93 || S, 3 || GcAsic irq || In || [[Filesystem services]] | | 0x0F || 0x93 || S, 3 || GcAsic irq || In || [[Filesystem services]] | ||
|- | |- | ||
− | | 0x10 || 0x7D || P, 5 || SDMMC3_DAT0_PP5? || || | + | | 0x10 || 0x7D || P, 5 || SDMMC3_DAT0_PP5? || In || |
|- | |- | ||
− | | 0x11 || 0x7C || P, 4 || SDMMC3_DAT1_PP4? || || | + | | 0x11 || 0x7C || P, 4 || SDMMC3_DAT1_PP4? || In || |
|- | |- | ||
− | | 0x12 || 0x7B || P, 3 || SDMMC3_DAT2_PP3? || || | + | | 0x12 || 0x7B || P, 3 || SDMMC3_DAT2_PP3? || In || |
|- | |- | ||
− | | 0x13 || 0x7A || P, 2 || SDMMC3_DAT3_PP2? || || | + | | 0x13 || 0x7A || P, 2 || SDMMC3_DAT3_PP2? || In || |
|- | |- | ||
− | | 0x14 || 0xBC || X, 4 || || || | + | | 0x14 || 0xBC || X, 4 || || In || |
|- | |- | ||
| 0x15 || 0xAE || V, 6 || || In || [[Audio services]] | | 0x15 || 0xAE || V, 6 || || In || [[Audio services]] | ||
|- | |- | ||
− | | 0x16 || 0xBA || X, 2 || MOTION_INT_PX2? || || | + | | 0x16 || 0xBA || X, 2 || MOTION_INT_PX2? || In || |
|- | |- | ||
| 0x17 || 0xB9 || X, 1 || Touchscreen irq (TOUCH_INT_PX1) (unused - polled instead) || In || [[HID services]] | | 0x17 || 0xB9 || X, 1 || Touchscreen irq (TOUCH_INT_PX1) (unused - polled instead) || In || [[HID services]] | ||
Line 104: | Line 98: | ||
| 0x21 || 0xC8 || Z, 0 || bq24192 irq || In || [[PTM services]] | | 0x21 || 0xC8 || Z, 0 || bq24192 irq || In || [[PTM services]] | ||
|- | |- | ||
− | | 0x22 || 0xCA || Z, 2 || || || | + | | 0x22 || 0xCA || Z, 2 || || In || |
|- | |- | ||
− | | 0x23 || 0xCB || Z, 3 || || || | + | | 0x23 || 0xCB || Z, 3 || || In || |
|- | |- | ||
| 0x24 || 0x4F || J, 7 || Touchscreen reset || Out || [[HID services]] | | 0x24 || 0x4F || J, 7 || Touchscreen reset || Out || [[HID services]] | ||
|- | |- | ||
− | | 0x25 || 0x50 || K, 0 || || || | + | | 0x25 || 0x50 || K, 0 || || In || |
|- | |- | ||
− | | 0x26 || 0x51 || K, 1 || || || | + | | 0x26 || 0x51 || K, 1 || || In || |
|- | |- | ||
− | | 0x27 || 0x52 || K, 2 || || || | + | | 0x27 || 0x52 || K, 2 || || In || |
|- | |- | ||
| 0x28 || 0x54 || K, 4 || bm92t36 irq || In || [[USB services]] | | 0x28 || 0x54 || K, 4 || bm92t36 irq || In || [[USB services]] | ||
|- | |- | ||
− | | 0x29 || 0x56 || K, 6 || || || | + | | 0x29 || 0x56 || K, 6 || || In || |
|- | |- | ||
− | | 0x2A || 0x57 || K, 7 || || || | + | | 0x2A || 0x57 || K, 7 || || In || |
|- | |- | ||
| 0x2B || 0x53 || K, 3 || joycon(R) NwcpDriver1.NwcpCharger || Out || [[HID services]] | | 0x2B || 0x53 || K, 3 || joycon(R) NwcpDriver1.NwcpCharger || Out || [[HID services]] | ||
Line 126: | Line 120: | ||
| 0x2C || 0xE3 || CC, 3 || joycon(L) NwcpDriver0.NwcpCharger || Out || [[HID services]] | | 0x2C || 0xE3 || CC, 3 || joycon(L) NwcpDriver0.NwcpCharger || Out || [[HID services]] | ||
|- | |- | ||
− | | 0x2D || 0x38 || H, 0 || WIFI_EN_PH0? || || | + | | 0x2D || 0x38 || H, 0 || WIFI_EN_PH0? || Out || |
|- | |- | ||
| 0x2E || 0x39 || H, 1 || WIFI_RST_PH1 || Out || [[Wlan services]], [[PCIe services]] | | 0x2E || 0x39 || H, 1 || WIFI_RST_PH1 || Out || [[Wlan services]], [[PCIe services]] | ||
Line 132: | Line 126: | ||
| 0x2F || 0x3B || H, 3 || AP_WAKE_BT_PH3 || Out || [[Bluetooth services]] | | 0x2F || 0x3B || H, 3 || AP_WAKE_BT_PH3 || Out || [[Bluetooth services]] | ||
|- | |- | ||
− | | 0x30 || 0x3D || H, 5 || || || | + | | 0x30 || 0x3D || H, 5 || || In || |
|- | |- | ||
− | | 0x31 || 0x3F || H, 7 || || || | + | | 0x31 || 0x3F || H, 7 || || Out || |
|- | |- | ||
| 0x32 || 0x40 || I, 0 || Backlight +5V || Out || [[NV services]] | | 0x32 || 0x40 || I, 0 || Backlight +5V || Out || [[NV services]] | ||
Line 142: | Line 136: | ||
| 0x34 || 0x3E || H, 6 || joycon(R) NwcpDriver1.GpioMonitorTask0 (insertion, Joy-Con pin 5/console TX, pulled low on insert?) || In || [[HID services]] | | 0x34 || 0x3E || H, 6 || joycon(R) NwcpDriver1.GpioMonitorTask0 (insertion, Joy-Con pin 5/console TX, pulled low on insert?) || In || [[HID services]] | ||
|- | |- | ||
− | | 0x35 || 0xE2 || CC, 2 || || || | + | | 0x35 || 0xE2 || CC, 2 || || In || |
|- | |- | ||
| 0x36 || 0xE4 || CC, 4 || Fan enable (high power) || Out || [[PTM services]] | | 0x36 || 0xE4 || CC, 4 || Fan enable (high power) || Out || [[PTM services]] | ||
|- | |- | ||
− | | 0x37 || 0x3A || H, 2 || || || | + | | 0x37 || 0x3A || H, 2 || || In || |
|- | |- | ||
| 0x38 || 0xC9 || Z, 1 || SDCard Card Detect || In || [[Filesystem services]] | | 0x38 || 0xC9 || Z, 1 || SDCard Card Detect || In || [[Filesystem services]] | ||
Line 154: | Line 148: | ||
| 0x3A || 0x58 || L, 0 || bq24192 OTG charge select || Out || [[PTM services]], [[USB services]] | | 0x3A || 0x58 || L, 0 || bq24192 OTG charge select || Out || [[PTM services]], [[USB services]] | ||
|- | |- | ||
− | | 0x3B || 0x3E || H, 6 || joycon(R) NwcpDriver1.GpioMonitorTask0 duplicate? || || | + | | 0x3B || 0x3E || H, 6 || joycon(R) NwcpDriver1.GpioMonitorTask0 duplicate? || In || |
|- | |- | ||
− | | 0x3C || 0x26 || E, 6 || joycon(L) NwcpDriver1.GpioMonitorTask0 duplicate? || || | + | | 0x3C || 0x26 || E, 6 || joycon(L) NwcpDriver1.GpioMonitorTask0 duplicate? || In || |
|- | |- | ||
| 0x3D || -1 || || || || | | 0x3D || -1 || || || || | ||
Line 164: | Line 158: | ||
| 0x3F || 0x1C || D, 4 || joycon(L) NwcpDriver0.GpioMonitorTask1 (CTS, checked low) || In || [[HID services]] | | 0x3F || 0x1C || D, 4 || joycon(L) NwcpDriver0.GpioMonitorTask1 (CTS, checked low) || In || [[HID services]] | ||
|- | |- | ||
− | | 0x40 || 0xD9 || BB, 1 || || || | + | | 0x40 || 0xD9 || BB, 1 || || Out || |
|- | |- | ||
− | | 0x41 || 0x0C || B, 4 || Lid Closed (unused) || || | + | | 0x41 || 0x0C || B, 4 || Lid Closed (unused) || In || |
|- | |- | ||
− | | 0x42 || 0x0D || B, 5 || || || | + | | 0x42 || 0x0D || B, 5 || || In || |
|- | |- | ||
| 0x43 || 0x21 || E, 1 || USB power || Out || [[USB services]] | | 0x43 || 0x21 || E, 1 || USB power || Out || [[USB services]] | ||
|- | |- | ||
− | | 0x44 || 0x27 || E, 7 || || || | + | | 0x44 || 0x27 || E, 7 || || In || |
|- | |- | ||
− | | 0x45 || 0x92 || S, 2 || || || | + | | 0x45 || 0x92 || S, 2 || || In || |
|- | |- | ||
| 0x46 || 0x95 || S, 5 || USB root port 4 power || Out || [[USB services]] | | 0x46 || 0x95 || S, 5 || USB root port 4 power || Out || [[USB services]] | ||
Line 186: | Line 180: | ||
| 0x4A || 0x12 || C, 2 || HdmiHotplug || Out || [[NV services]] | | 0x4A || 0x12 || C, 2 || HdmiHotplug || Out || [[NV services]] | ||
|- | |- | ||
− | | 0x4B || 0x42 || I, 2 || || || | + | | 0x4B || 0x42 || I, 2 || || Out || |
+ | |- | ||
+ | | 0x4C || 0xE6 || CC, 6 || || In || | ||
+ | |- | ||
+ | | [2.0.0+] 0x4D || 0xAC || V, 4 || || Out || | ||
+ | |- | ||
+ | | [2.0.0+] 0x4E || 0xE1 || CC, 1 || HdmiHotplug (HDMI_INT_DP_HPD_PCC1) || In || [[NV services]] | ||
+ | |- | ||
+ | | [2.0.0+] 0x4F || 0x56 || K, 6 || || || | ||
+ | |} | ||
+ | |||
+ | == GpioPadDescriptor == | ||
+ | {| class="wikitable" border="1" | ||
|- | |- | ||
− | | | + | ! Bits || Description |
+ | |- | ||
+ | | 7-5 || Controller index | ||
+ | |- | ||
+ | | 4-3 || Port index | ||
|- | |- | ||
− | | - | + | | 2-0 || Pin number |
|} | |} | ||
+ | |||
+ | == OpenSessionForDev == | ||
+ | Takes a raw [[#GpioPadDescriptor]] and returns a [[#IPadSession]] session for it. | ||
+ | |||
+ | == OpenSession == | ||
+ | Same thing as [[#OpenSessionForDev]] except it takes a '''GpioPadName''' which is then converted to a [[#GpioPadDescriptor]]. Returns an [[#IPadSession]] session. | ||
== OpenSessionForTest == | == OpenSessionForTest == | ||
Line 239: | Line 255: | ||
|- | |- | ||
| 16 || [4.0.0+] SetValueForSleepState | | 16 || [4.0.0+] SetValueForSleepState | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
|} | |} | ||
Line 382: | Line 386: | ||
{| class="wikitable" border="1" | {| class="wikitable" border="1" | ||
|- | |- | ||
− | ! Cmd || Name | + | ! Cmd || Name |
|- | |- | ||
− | | 0 || OpenSession | + | | 0 || OpenSession |
|- | |- | ||
− | | 1 || OpenSessionForTest | + | | 1 || OpenSessionForTest |
|- | |- | ||
− | | 2 | + | | 2 || |
|- | |- | ||
− | | 3 || | + | | 3 || |
|- | |- | ||
− | | 4 || | + | | 4 || |
|- | |- | ||
− | | 5 | + | | 5 || |
|- | |- | ||
− | | 6 | + | | 6 || |
|- | |- | ||
− | | 7 | + | | 7 || |
|- | |- | ||
|} | |} |
Revision as of 17:40, 4 May 2018
gpio
This is "nn::gpio::IManager".
Cmd | Name |
---|---|
0 | #OpenSessionForDev |
1 | #OpenSession |
2 | #OpenSessionForTest |
3 | IsWakeEventActive |
4 | GetWakeEventActiveFlagSet |
5 | SetWakeEventActiveFlagSetForDebug |
6 | SetWakePinDebugMode |
7 | [5.0.0+] #OpenSession2 |
8 | [5.0.0+] IsWakeEventActive2 |
9 | [5.0.0+] SetWakeEventActiveFlagSetForDebug2 |
Known Devices
GpioPadName | GpioPadDescriptor | Tegra (port, pin) | Usage | Direction | Used by |
---|---|---|---|---|---|
0x01 | 0xCC | Z, 4 | rt5639 power | Out | Audio services, Fatal services |
0x02 | 0x24 | E, 4 | SDCard Power | Out | Filesystem services |
0x03 | 0x3C | H, 4 | BT_RST_PH4 | Out | Bluetooth services |
0x04 | 0xDA | BB, 2 | In | ||
0x05 | 0xDB | BB, 3 | GcAsic Power | Out | Filesystem services |
0x06 | 0xDC | BB, 4 | Headphone Detect | In | Audio services |
0x07 | 0x25 | E, 5 | Out | ||
0x08 | 0x90 | S, 0 | DebugPadDriver | In | HID services |
0x09 | 0x91 | S, 1 | In | ||
0x0A | 0x96 | S, 6 | bq24192 Charge Enable | Out | PTM services |
0x0B | 0x97 | S, 7 | In | ||
0x0C | 0x26 | E, 6 | joycon(L) NwcpDriver0.GpioMonitorTask0 (insertion, Joy-Con pin 5/console TX, pulled low on insert?) | In | HID services |
0x0D | 0x05 | A, 5 | Fan enable (normal) | Out | PTM services |
0x0E | 0x78 | P, 0 | SDMMC3_CLK_PP0? | In | |
0x0F | 0x93 | S, 3 | GcAsic irq | In | Filesystem services |
0x10 | 0x7D | P, 5 | SDMMC3_DAT0_PP5? | In | |
0x11 | 0x7C | P, 4 | SDMMC3_DAT1_PP4? | In | |
0x12 | 0x7B | P, 3 | SDMMC3_DAT2_PP3? | In | |
0x13 | 0x7A | P, 2 | SDMMC3_DAT3_PP2? | In | |
0x14 | 0xBC | X, 4 | In | ||
0x15 | 0xAE | V, 6 | In | Audio services | |
0x16 | 0xBA | X, 2 | MOTION_INT_PX2? | In | |
0x17 | 0xB9 | X, 1 | Touchscreen irq (TOUCH_INT_PX1) (unused - polled instead) | In | HID services |
0x18 | 0xBD | X, 5 | Power Button (BUTTON_POWER_ON_PX5) | In | |
0x19 | 0xBE | X, 6 | Volume Up (BUTTON_VOL_UP_PX6) | In | Boot2, Audio services |
0x1A | 0xBF | X, 7 | Volume Down (BUTTON_VOL_DOWN_PX7) | In | Boot2, Audio services |
0x1B | 0xC0 | Y, 0 | max17050 irq | In | PTM services |
0x1C | 0xC1 | Y, 1 | BUTTON_HOME_PY1 | In | |
0x1D | 0xA9 | V, 1 | Backlight (LCD_BL_EN_PV1) | Out | NV services, Backlight services |
0x1E | 0xAA | V, 2 | Backlight (LCD_RST_PV2) | Out | NV services |
0x1F | 0x55 | K, 5 | bq24192 OTG charge select | Out | PTM services, USB services |
0x20 | 0xAD | V, 5 | PD related | Out | USB services |
0x21 | 0xC8 | Z, 0 | bq24192 irq | In | PTM services |
0x22 | 0xCA | Z, 2 | In | ||
0x23 | 0xCB | Z, 3 | In | ||
0x24 | 0x4F | J, 7 | Touchscreen reset | Out | HID services |
0x25 | 0x50 | K, 0 | In | ||
0x26 | 0x51 | K, 1 | In | ||
0x27 | 0x52 | K, 2 | In | ||
0x28 | 0x54 | K, 4 | bm92t36 irq | In | USB services |
0x29 | 0x56 | K, 6 | In | ||
0x2A | 0x57 | K, 7 | In | ||
0x2B | 0x53 | K, 3 | joycon(R) NwcpDriver1.NwcpCharger | Out | HID services |
0x2C | 0xE3 | CC, 3 | joycon(L) NwcpDriver0.NwcpCharger | Out | HID services |
0x2D | 0x38 | H, 0 | WIFI_EN_PH0? | Out | |
0x2E | 0x39 | H, 1 | WIFI_RST_PH1 | Out | Wlan services, PCIe services |
0x2F | 0x3B | H, 3 | AP_WAKE_BT_PH3 | Out | Bluetooth services |
0x30 | 0x3D | H, 5 | In | ||
0x31 | 0x3F | H, 7 | Out | ||
0x32 | 0x40 | I, 0 | Backlight +5V | Out | NV services |
0x33 | 0x41 | I, 1 | Backlight -5V | Out | NV services |
0x34 | 0x3E | H, 6 | joycon(R) NwcpDriver1.GpioMonitorTask0 (insertion, Joy-Con pin 5/console TX, pulled low on insert?) | In | HID services |
0x35 | 0xE2 | CC, 2 | In | ||
0x36 | 0xE4 | CC, 4 | Fan enable (high power) | Out | PTM services |
0x37 | 0x3A | H, 2 | In | ||
0x38 | 0xC9 | Z, 1 | SDCard Card Detect | In | Filesystem services |
0x39 | 0x4D | J, 5 | bq24192 OTG charge select | Out | PTM services, USB services |
0x3A | 0x58 | L, 0 | bq24192 OTG charge select | Out | PTM services, USB services |
0x3B | 0x3E | H, 6 | joycon(R) NwcpDriver1.GpioMonitorTask0 duplicate? | In | |
0x3C | 0x26 | E, 6 | joycon(L) NwcpDriver1.GpioMonitorTask0 duplicate? | In | |
0x3D | -1 | ||||
0x3E | 0x33 | G, 3 | joycon(R) NwcpDriver1.GpioMonitorTask1 (CTS, checked low) | In | HID services |
0x3F | 0x1C | D, 4 | joycon(L) NwcpDriver0.GpioMonitorTask1 (CTS, checked low) | In | HID services |
0x40 | 0xD9 | BB, 1 | Out | ||
0x41 | 0x0C | B, 4 | Lid Closed (unused) | In | |
0x42 | 0x0D | B, 5 | In | ||
0x43 | 0x21 | E, 1 | USB power | Out | USB services |
0x44 | 0x27 | E, 7 | In | ||
0x45 | 0x92 | S, 2 | In | ||
0x46 | 0x95 | S, 5 | USB root port 4 power | Out | USB services |
0x47 | 0x98 | T, 0 | USB root port 3 power | Out | USB services |
0x48 | 0x10 | C, 0 | HdmiHotplug | Out | NV services |
0x49 | 0x11 | C, 1 | USB root port 2 power | Out | USB services |
0x4A | 0x12 | C, 2 | HdmiHotplug | Out | NV services |
0x4B | 0x42 | I, 2 | Out | ||
0x4C | 0xE6 | CC, 6 | In | ||
[2.0.0+] 0x4D | 0xAC | V, 4 | Out | ||
[2.0.0+] 0x4E | 0xE1 | CC, 1 | HdmiHotplug (HDMI_INT_DP_HPD_PCC1) | In | NV services |
[2.0.0+] 0x4F | 0x56 | K, 6 |
GpioPadDescriptor
Bits | Description |
---|---|
7-5 | Controller index |
4-3 | Port index |
2-0 | Pin number |
OpenSessionForDev
Takes a raw #GpioPadDescriptor and returns a #IPadSession session for it.
OpenSession
Same thing as #OpenSessionForDev except it takes a GpioPadName which is then converted to a #GpioPadDescriptor. Returns an #IPadSession session.
OpenSessionForTest
Same as #OpenSession but panics on failure.
OpenSession2
Same as #OpenSession but takes a DeviceCode instead of a GpioPadName.
IPadSession
This is "nn::gpio::IPadSession".
Cmd | Name |
---|---|
0 | SetDirection |
1 | GetDirection |
2 | SetInterruptMode |
3 | GetInterruptMode |
4 | SetInterruptEnable |
5 | GetInterruptEnable |
6 | GetInterruptStatus |
7 | ClearInterruptStatus |
8 | SetValue |
9 | GetValue |
10 | BindInterrupt |
11 | UnbindInterrupt |
12 | SetDebounceEnabled |
13 | GetDebounceEnabled |
14 | SetDebounceTime |
15 | GetDebounceTime |
16 | [4.0.0+] SetValueForSleepState |
i2c, i2c:pcv
This is "nn::i2c::IManager".
Cmd | Name |
---|---|
0 | OpenSessionForDev |
1 | OpenSession |
2 | HasDevice |
3 | HasDeviceForDev |
Known Devices
Name | Port:Addr | 10bit? | Speed | Max Retries | Retry Delay | Usage | Used by |
---|---|---|---|---|---|---|---|
0 | 0:52 | N | 100000 | 0 | 0 | DebugPadDriver | HID services |
1 | 2:49 | N | 400000 | 0 | 0 | STM touchscreen | HID services |
2 | 0:4c | N | 100000 | 0 | 0 | TI Temperature Sensor (tmp451) | PTM services |
3 | 0:4c | N | 100000 | 0 | 0 | duplicate, unused entry? | |
4 | 0:1c | N | 100000 | 0 | 0 | Audio codec (rt5639) | Audio services, Fatal services |
5 | 4:68 | N | 400000 | 3 | 5000000 | max77620_rtc0, max77620_irq0 | PCV services |
6 | 4:3c | N | 400000 | 3 | 5000000 | PMIC (max77620), max77620_irq0 | PCV services |
7 | 4:1b | N | 400000 | 3 | 5000000 | max77621_cpu | PCV services |
8 | 4:1c | N | 400000 | 3 | 5000000 | max77621_gpu | PCV services |
9 | 0:6b | N | 100000 | 3 | 5000000 | TI Charger (bq24192) | PTM services |
10 | 0:36 | N | 100000 | 3 | 5000000 | Maxim Fuel Gauge (max17050) | PCV services, PTM services |
11 | 0:18 | N | 100000 | 3 | 5000000 | USB-PD controller (rohm bm92t36) | USB services |
12 | 1:40 | N | 400000 | 3 | 5000000 | ||
13 | 1:41 | N | 400000 | 3 | 5000000 | ||
14 | 1:44 | N | 400000 | 3 | 5000000 | ||
15 | 1:45 | N | 400000 | 3 | 5000000 | ||
16 | 1:46 | N | 400000 | 3 | 5000000 | ||
17 | 1:47 | N | 400000 | 3 | 5000000 | ||
18 | 1:29 | N | 400000 | 3 | 5000000 | rohm ambient light sensor (bh1730fvc) | Backlight services |
19 | 1:48 | N | 400000 | 3 | 5000000 | ||
20 | 1:49 | N | 400000 | 3 | 5000000 | ||
21 | 1:4a | N | 400000 | 3 | 5000000 | ||
22 | 1:4b | N | 400000 | 3 | 5000000 | ||
23 | 1:4d | N | 400000 | 3 | 5000000 | ||
24 | 3:50 | N | 100000 | 0 | 0 | DisplayHdmiHotplugHandler | NV services |
25 | 3:54 | N | 100000 | 0 | 0 | DisplayHdmiHotplugHandler | NV services |
26 | 3:3a | N | 100000 | 0 | 0 | DisplayHdmiHotplugHandler | NV services |
This table is believed to be complete - entries with empty "Used by" column haven't been seen being used (devices not present on switch?).
II2cSession
This is "nn::i2c::ISession".
Cmd | Name |
---|---|
0 | Send |
1 | Receive |
2 | ExecuteCommandList |
10 | SendAuto |
11 | ReceiveAuto |
12 | ExecuteCommandListAuto |
uart
This is "nn::uart::IManager".
Cmd | Name |
---|---|
0 | DoesUartExist |
1 | DoesUartExistForTest |
2 | SetUartBaudrate |
3 | SetUartBaudrateForTest |
4 | IsSomethingUartValid |
5 | IsSomethingUartValidForTest |
6 | GetSession |
7 | IsSomethingUartValid2 |
8 | IsSomethingUartValid2ForTest |
IPortSession
This is "nn::uart::IPortSession".
Cmd | Name |
---|---|
0 | OpenSession |
1 | OpenSessionForTest |
2 | |
3 | |
4 | |
5 | |
6 | |
7 |
Port Mapping
OpenSession translates user IDs to to the uart port index.
OpenSessionForTest takes the port index verbatim.
Name | Port | Usage |
---|---|---|
1 | UART-D | Bluetooth |
2 | UART-B | Joycon(R) |
3 | UART-C | Joycon(L) |
pwm
This is "nn::pwm::IManager".
Cmd | Name |
---|---|
0 | OpenSessionForDev |
1 | OpenSession |
Known Channels
Name | Interface | Usage | Used by |
---|---|---|---|
1 | PWM Channel 1 | Fan | PTM services |
2 | PWM Channel 0 | Backlight | Backlight services, NV services |
3 | PMC Blinker |
IChannelSession
This is "nn::pwm::IChannelSession".
Cmd | Name |
---|---|
0 | SetPeriod |
1 | GetPeriod |
2 | SetDuty |
3 | GetDuty |
4 | SetEnabled |
5 | GetEnabled |
pinmux
This is "nn::pinmux::IManager".
Cmd | Name |
---|---|
0 | OpenSession |
ISession
This is "nn::pinmux::ISession".
Cmd | Name |
---|---|
0 | |
1 | |
2 |
sasbus
This is "nn::sasbus::IManager".
Cmd | Name |
---|---|
0 | OpenSession |
ISession
This is "nn::sasbus::ISession".
Cmd | Name |
---|---|
0 | |
1 | |
2 | |
3 |