Line 32: |
Line 32: |
| The commands for these services are identical. | | The commands for these services are identical. |
| | | |
− | = CDC Service = | + | = GPIO Services = |
− | {| class="wikitable" border="1"
| |
− | |-
| |
− | ! 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
| |
− | | [[GPIO:BindInterrupt|BindInterrupt]]
| |
− | |}
| |
− | | |
− | = HID Service =
| |
− | {| class="wikitable" border="1"
| |
− | |-
| |
− | ! 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 =
| |
| {| class="wikitable" border="1" | | {| class="wikitable" border="1" |
| |- | | |- |
| ! Command Header | | ! Command Header |
| ! Description | | ! Description |
| + | ! Uses [[GPIO_Registers|GPIO Regs]] |
| |- | | |- |
| | 0x0001.... | | | 0x0001.... |
− | | ?(u32 unk1,u32* ret) //reads from 0x1ec47020 | + | | ?(u32 unk1,u32* ret) |
| + | | 0x10147010, 0x10147020 |
| |- | | |- |
| | 0x0002.... | | | 0x0002.... |
| | ?(u32 unk1,u32 unk2) | | | ?(u32 unk1,u32 unk2) |
| + | | 0x10147010, 0x10147020 |
| |- | | |- |
| | 0x0003.... | | | 0x0003.... |
| | ?(u32 unk1,u32* ret) | | | ?(u32 unk1,u32* ret) |
| + | | 0x10147010, 0x10147024 |
| |- | | |- |
| | 0x0004.... | | | 0x0004.... |
| | ?(u32 unk1,u32 unk2) | | | ?(u32 unk1,u32 unk2) |
| + | | 0x10147010, 0x10147024 |
| |- | | |- |
| | 0x0005.... | | | 0x0005.... |
| | ?(u32 unk1,u32* ret) | | | ?(u32 unk1,u32* ret) |
| + | | 0x10147010, 0x10147024 |
| |- | | |- |
| | 0x0006.... | | | 0x0006.... |
| | ?(u32 unk1,u32 unk2) | | | ?(u32 unk1,u32 unk2) |
| + | | 0x10147010, 0x10147024 |
| |- | | |- |
| | 0x0007.... | | | 0x0007.... |
| | GetIRGPIO(u32 unk1,u32* ret) | | | GetIRGPIO(u32 unk1,u32* ret) |
| + | | 0x10147000, 0x10147010, 0x10147014, 0x10147020, 0x10147018 |
| |- | | |- |
| | 0x0008.... | | | 0x0008.... |
| | SetIRGPIO(u32 unk1,u32 unk2) | | | SetIRGPIO(u32 unk1,u32 unk2) |
| + | | 0x10147010, 0x10147014, 0x10147020, 0x10147028 |
| |- | | |- |
| | 0x00090082 | | | 0x00090082 |
| | [[GPIO:BindInterrupt|BindInterrupt]] | | | [[GPIO:BindInterrupt|BindInterrupt]] |
| + | | None |
| |- | | |- |
| | 0x000A0042 | | | 0x000A0042 |
| | [[GPIO:UnbindInterrupt|UnbindInterrupt]] | | | [[GPIO:UnbindInterrupt|UnbindInterrupt]] |
| + | | None |
| |} | | |} |