xref: /openbmc/linux/include/linux/usb/ccid.h (revision 75bf465f0bc33e9b776a46d6a1b9b990f5fb7c37)
1  /* SPDX-License-Identifier: GPL-2.0-or-later */
2  /*
3   *  Copyright (c) 2018  Vincent Pelletier
4   */
5  /*
6   */
7  #ifndef __CCID_H
8  #define __CCID_H
9  
10  #include <linux/types.h>
11  
12  #define USB_INTERFACE_CLASS_CCID 0x0b
13  
14  struct ccid_descriptor {
15  	__u8  bLength;
16  	__u8  bDescriptorType;
17  	__le16 bcdCCID;
18  	__u8  bMaxSlotIndex;
19  	__u8  bVoltageSupport;
20  	__le32 dwProtocols;
21  	__le32 dwDefaultClock;
22  	__le32 dwMaximumClock;
23  	__u8  bNumClockSupported;
24  	__le32 dwDataRate;
25  	__le32 dwMaxDataRate;
26  	__u8  bNumDataRatesSupported;
27  	__le32 dwMaxIFSD;
28  	__le32 dwSynchProtocols;
29  	__le32 dwMechanical;
30  	__le32 dwFeatures;
31  	__le32 dwMaxCCIDMessageLength;
32  	__u8  bClassGetResponse;
33  	__u8  bClassEnvelope;
34  	__le16 wLcdLayout;
35  	__u8  bPINSupport;
36  	__u8  bMaxCCIDBusySlots;
37  } __attribute__ ((packed));
38  
39  #endif /* __CCID_H */
40