GPIO Services: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
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 12: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 |