ch552: Add functionality to dynamically control USB endpoints

- Make it possible to enable and disable endpoints on demand
- Add internal FPGA<->CH552 communication channel (IO_CH552)
- Reorder IO endpoint numbering
- Rename endpoint from TKEYCTRL to DEBUG and update related variables
- Rename endpoint from HID to FIDO and update related variables
This commit is contained in:
Jonas Thörnblad 2025-03-24 16:00:41 +01:00
parent 1ed8398700
commit 056f2363b4
No known key found for this signature in database
GPG key ID: 2D318AD00A326F95
8 changed files with 453 additions and 365 deletions

View file

@ -62,11 +62,11 @@ Mode Protocol. It is used in both directions.
The different endpoints:
| *Name* | *Value* | *Comment* |
|--------|---------|---------------------------------------------------------------------|
| CTRL | 0x20 | A USB HID special debug pipe. Useful for debug prints. |
| CDC | 0x40 | USB CDC-ACM, a serial port on the client. |
| HID | 0x80 | A USB HID security token device, useful for FIDO-type applications. |
| *Name* | *Value* | *Comment* |
|--------|---------|----------------------------------------------------------------------|
| DEBUG | 0x20 | A USB HID special debug pipe. Useful for debug prints. |
| CDC | 0x40 | USB CDC-ACM, a serial port on the client. |
| FIDO | 0x80 | A USB FIDO security token device, useful for FIDO-type applications. |
On top of the USB Mode Protocol is [the TKey Framing
Protocol](https://dev.tillitis.se/protocol/) which is described in the