-
Notifications
You must be signed in to change notification settings - Fork 174
Add CCID support #127
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
kidbomb
wants to merge
7
commits into
dmitrystu:master
Choose a base branch
from
kidbomb:master
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Add CCID support #127
Changes from 2 commits
Commits
Show all changes
7 commits
Select commit
Hold shift + click to select a range
87c0882
Add USB_DTYPE_FUNCTIONAL_DESC constant
kidbomb 5d0c2d3
Add CCID support
kidbomb 3f6e733
Update usb_std.h
kidbomb 3cf84fb
Update usb_ccid.h
kidbomb 0f0a1e7
Update usb_ccid.h
kidbomb a089062
Update usb_ccid.h
kidbomb d2efb45
Update usb_ccid.h
kidbomb File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,79 @@ | ||
| #include <stdint.h> | ||
|
|
||
| #ifndef _USB_CCID_H_ | ||
| #define _USB_CCID_H_ | ||
| #ifdef __cplusplus | ||
| extern "C" { | ||
| #endif | ||
|
|
||
| #define USB_CLASS_CCID 0x0b /**<\brief Communicational Device class */ | ||
kidbomb marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
| #define USB_DTYPE_FUNCTIONAL_DESC 0x21 /**<\brief Functonal descriptor.*/ | ||
|
|
||
| #define ENDPOINT_DIR_IN 0x80 | ||
| #define ENDPOINT_DIR_OUT 0x00 | ||
|
|
||
| #define INTERFACE_ID_CCID 0 | ||
|
|
||
| #define CCID_IN_EPADDR (ENDPOINT_DIR_IN | 2) | ||
kidbomb marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
|
|
||
| /** Endpoint address of the CCID data OUT endpoint, for host-to-device data transfers. */ | ||
| #define CCID_OUT_EPADDR (ENDPOINT_DIR_OUT | 1) | ||
|
|
||
| /** Endpoint size in bytes of the CCID data being sent between IN and OUT endpoints. */ | ||
| #define CCID_EPSIZE 64 | ||
kidbomb marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
|
|
||
|
|
||
| #define CCID_CURRENT_SPEC_RELEASE_NUMBER 0x0110 | ||
| #define CCID_VOLTAGESUPPORT_5V 0 | ||
| #define CCID_VOLTAGESUPPORT_3V (1 << 0) | ||
| #define CCID_VOLTAGESUPPORT_1V8 (1 << 1) | ||
|
|
||
| #define CCID_PROTOCOL_T0 0 | ||
| #define CCID_PROTOCOL_T1 (1 << 0) | ||
|
|
||
| #define CCID_ICCSTATUS_PRESENTANDACTIVE 0 | ||
| #define CCID_ICCSTATUS_PRESENTANDINACTIVE (1 << 0) | ||
| #define CCID_ICCSTATUS_NOICCPRESENT (1 << 1) | ||
|
|
||
| #define CCID_COMMANDSTATUS_PROCESSEDWITHOUTERROR 0 | ||
| #define CCID_COMMANDSTATUS_FAILED (1 << 6) | ||
| #define CCID_COMMANDSTATUS_TIMEEXTENSIONREQUESTED (1 << 7) | ||
|
|
||
| #define CCID_ERROR_NOERROR 0 | ||
| #define CCID_ERROR_SLOTNOTFOUND 5 | ||
|
|
||
| #define CCID_ABORT 0x1 | ||
| #define CCID_GET_CLOCK_FREQUENCIES 0x2 | ||
| #define CCID_GET_DATA_RATES 0x3 | ||
|
|
||
| struct usb_ccid_descriptor { | ||
kidbomb marked this conversation as resolved.
Show resolved
Hide resolved
|
||
| uint8_t bLength; /**<\brief Size of the descriptor, in bytes.*/ | ||
| uint8_t bDescriptorType; /**<\brief IAD descriptor */ | ||
|
|
||
| uint16_t CCID; | ||
| uint8_t MaxSlotIndex; | ||
| uint8_t VoltageSupport; | ||
| uint32_t Protocols; | ||
| uint32_t DefaultClock; | ||
| uint32_t MaximumClock; | ||
| uint8_t NumClockSupported; | ||
| uint32_t DataRate; | ||
| uint32_t MaxDataRate; | ||
| uint8_t NumDataRatesSupported; | ||
| uint32_t MaxIFSD; | ||
| uint32_t SynchProtocols; | ||
| uint32_t Mechanical; | ||
| uint32_t Features; | ||
| uint32_t MaxCCIDMessageLength; | ||
| uint8_t ClassGetResponse; | ||
| uint8_t ClassEnvelope; | ||
| uint16_t LcdLayout; | ||
| uint8_t PINSupport; | ||
| uint8_t MaxCCIDBusySlots; | ||
| } __attribute__((packed)); | ||
|
|
||
| #ifdef __cplusplus | ||
| } | ||
| #endif | ||
|
|
||
| #endif | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.