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 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 |