Difference between revisions of "GPIO Services"
Jump to navigation
Jump to search
(Add permitted interrupts bitmask) |
|||
Line 1: | Line 1: | ||
[[Category:Services]] | [[Category:Services]] | ||
= GPIO Service Names = | = GPIO Service Names = | ||
− | + | {| class="wikitable" border="1" | |
− | + | |- | |
− | + | ! Service name | |
− | + | ! Permitted interrupts bitmasks | |
− | + | |- | |
− | + | ! gpio:CDC | |
+ | ! 0x48 | ||
+ | |- | ||
+ | ! gpio:MCU | ||
+ | ! 0x48020 | ||
+ | |- | ||
+ | ! gpio:HID | ||
+ | ! 0x4301 | ||
+ | |- | ||
+ | ! gpio:NWM | ||
+ | ! 0x40020 | ||
+ | |- | ||
+ | ! gpio:IR | ||
+ | ! 0xEC0 | ||
+ | |- | ||
+ | ! gpio:NFC | ||
+ | ! 0x13000 | ||
+ | |- | ||
+ | ! gpio:QTM | ||
+ | ! 0x20000 | ||
+ | |} | ||
+ | |||
+ | For the mapping between interrupts bitmasks and IRQs see: [[GPIO:BindInterrupt#Supported_values]]. | ||
The commands for these services are identical. | The commands for these services are identical. |
Revision as of 11:25, 19 July 2016
GPIO Service Names
Service name | Permitted interrupts bitmasks |
---|---|
gpio:CDC | 0x48 |
gpio:MCU | 0x48020 |
gpio:HID | 0x4301 |
gpio:NWM | 0x40020 |
gpio:IR | 0xEC0 |
gpio:NFC | 0x13000 |
gpio:QTM | 0x20000 |
For the mapping between interrupts bitmasks and IRQs see: GPIO:BindInterrupt#Supported_values.
The commands for these services are identical.
CDC Service
Command Header | Description |
---|---|
0x00020080 | void unknown_0x2(u32 unk, u32 unk) |
0x00040080 | void unknown_0x4(u32 unk, u32 unk) |
0x00060080 | void unknown_0x6(u32 unk, u32 unk) |
0x00090082 | BindInterrupt |
HID Service
Command Header | Description |
---|---|
0x00020080 | void unknown_0x2(u32 unk, u32 unk) |
0x00040080 | void unknown_0x4(u32 unk, u32 unk) |
0x00060080 | void unknown_0x6(u32 unk, u32 unk) |
0x00070040 | u32 unknown_0x7(u32 unk). Parameter and return value might be some mask of the same kind? |
I2C Service
Command Header | Description |
---|---|
0x0001.... | ?(u32 unk1,u32* ret) //reads from 0x1ec47020 |
0x0002.... | ?(u32 unk1,u32 unk2) |
0x0003.... | ?(u32 unk1,u32* ret) |
0x0004.... | ?(u32 unk1,u32 unk2) |
0x0005.... | ?(u32 unk1,u32* ret) |
0x0006.... | ?(u32 unk1,u32 unk2) |
0x0007.... | GetIRGPIO(u32 unk1,u32* ret) |
0x0008.... | SetIRGPIO(u32 unk1,u32 unk2) |
0x00090082 | BindInterrupt |
0x000A0042 | UnbindInterrupt |