CDC NCM errata updates for cdc.h
Changes are based on the following documents: - CDC NCM errata: http://www.usb.org/developers/devclass_docs/NCM10_012011.zip - CDC and WMC errata link: http://www.usb.org/developers/devclass_docs/CDC1.2_WMC1.1_012011.zip Signed-off-by: Alexey Orishko <alexey.orishko@stericsson.com> Acked-by: Greg Kroah-Hartman <gregkh@suse.de> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
3fb17dabf6
commit
3a9dda7602
1 changed files with 18 additions and 5 deletions
|
@ -89,7 +89,7 @@ struct usb_cdc_acm_descriptor {
|
||||||
|
|
||||||
#define USB_CDC_COMM_FEATURE 0x01
|
#define USB_CDC_COMM_FEATURE 0x01
|
||||||
#define USB_CDC_CAP_LINE 0x02
|
#define USB_CDC_CAP_LINE 0x02
|
||||||
#define USB_CDC_CAP_BRK 0x04
|
#define USB_CDC_CAP_BRK 0x04
|
||||||
#define USB_CDC_CAP_NOTIFY 0x08
|
#define USB_CDC_CAP_NOTIFY 0x08
|
||||||
|
|
||||||
/* "Union Functional Descriptor" from CDC spec 5.2.3.8 */
|
/* "Union Functional Descriptor" from CDC spec 5.2.3.8 */
|
||||||
|
@ -271,6 +271,11 @@ struct usb_cdc_notification {
|
||||||
__le16 wLength;
|
__le16 wLength;
|
||||||
} __attribute__ ((packed));
|
} __attribute__ ((packed));
|
||||||
|
|
||||||
|
struct usb_cdc_speed_change {
|
||||||
|
__le32 DLBitRRate; /* contains the downlink bit rate (IN pipe) */
|
||||||
|
__le32 ULBitRate; /* contains the uplink bit rate (OUT pipe) */
|
||||||
|
} __attribute__ ((packed));
|
||||||
|
|
||||||
/*-------------------------------------------------------------------------*/
|
/*-------------------------------------------------------------------------*/
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -292,7 +297,7 @@ struct usb_cdc_ncm_ntb_parameters {
|
||||||
__le16 wNdpOutDivisor;
|
__le16 wNdpOutDivisor;
|
||||||
__le16 wNdpOutPayloadRemainder;
|
__le16 wNdpOutPayloadRemainder;
|
||||||
__le16 wNdpOutAlignment;
|
__le16 wNdpOutAlignment;
|
||||||
__le16 wPadding2;
|
__le16 wNtbOutMaxDatagrams;
|
||||||
} __attribute__ ((packed));
|
} __attribute__ ((packed));
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -307,7 +312,7 @@ struct usb_cdc_ncm_nth16 {
|
||||||
__le16 wHeaderLength;
|
__le16 wHeaderLength;
|
||||||
__le16 wSequence;
|
__le16 wSequence;
|
||||||
__le16 wBlockLength;
|
__le16 wBlockLength;
|
||||||
__le16 wFpIndex;
|
__le16 wNdpIndex;
|
||||||
} __attribute__ ((packed));
|
} __attribute__ ((packed));
|
||||||
|
|
||||||
struct usb_cdc_ncm_nth32 {
|
struct usb_cdc_ncm_nth32 {
|
||||||
|
@ -315,7 +320,7 @@ struct usb_cdc_ncm_nth32 {
|
||||||
__le16 wHeaderLength;
|
__le16 wHeaderLength;
|
||||||
__le16 wSequence;
|
__le16 wSequence;
|
||||||
__le32 dwBlockLength;
|
__le32 dwBlockLength;
|
||||||
__le32 dwFpIndex;
|
__le32 dwNdpIndex;
|
||||||
} __attribute__ ((packed));
|
} __attribute__ ((packed));
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -337,7 +342,7 @@ struct usb_cdc_ncm_dpe16 {
|
||||||
struct usb_cdc_ncm_ndp16 {
|
struct usb_cdc_ncm_ndp16 {
|
||||||
__le32 dwSignature;
|
__le32 dwSignature;
|
||||||
__le16 wLength;
|
__le16 wLength;
|
||||||
__le16 wNextFpIndex;
|
__le16 wNextNdpIndex;
|
||||||
struct usb_cdc_ncm_dpe16 dpe16[0];
|
struct usb_cdc_ncm_dpe16 dpe16[0];
|
||||||
} __attribute__ ((packed));
|
} __attribute__ ((packed));
|
||||||
|
|
||||||
|
@ -375,6 +380,7 @@ struct usb_cdc_ncm_ndp32 {
|
||||||
#define USB_CDC_NCM_NCAP_ENCAP_COMMAND (1 << 2)
|
#define USB_CDC_NCM_NCAP_ENCAP_COMMAND (1 << 2)
|
||||||
#define USB_CDC_NCM_NCAP_MAX_DATAGRAM_SIZE (1 << 3)
|
#define USB_CDC_NCM_NCAP_MAX_DATAGRAM_SIZE (1 << 3)
|
||||||
#define USB_CDC_NCM_NCAP_CRC_MODE (1 << 4)
|
#define USB_CDC_NCM_NCAP_CRC_MODE (1 << 4)
|
||||||
|
#define USB_CDC_NCM_NCAP_NTB_INPUT_SIZE (1 << 5)
|
||||||
|
|
||||||
/* CDC NCM subclass Table 6-3: NTB Parameter Structure */
|
/* CDC NCM subclass Table 6-3: NTB Parameter Structure */
|
||||||
#define USB_CDC_NCM_NTB16_SUPPORTED (1 << 0)
|
#define USB_CDC_NCM_NTB16_SUPPORTED (1 << 0)
|
||||||
|
@ -392,6 +398,13 @@ struct usb_cdc_ncm_ndp32 {
|
||||||
#define USB_CDC_NCM_NTB_MIN_IN_SIZE 2048
|
#define USB_CDC_NCM_NTB_MIN_IN_SIZE 2048
|
||||||
#define USB_CDC_NCM_NTB_MIN_OUT_SIZE 2048
|
#define USB_CDC_NCM_NTB_MIN_OUT_SIZE 2048
|
||||||
|
|
||||||
|
/* NTB Input Size Structure */
|
||||||
|
struct usb_cdc_ncm_ndp_input_size {
|
||||||
|
__le32 dwNtbInMaxSize;
|
||||||
|
__le16 wNtbInMaxDatagrams;
|
||||||
|
__le16 wReserved;
|
||||||
|
} __attribute__ ((packed));
|
||||||
|
|
||||||
/* CDC NCM subclass 6.2.11 SetCrcMode */
|
/* CDC NCM subclass 6.2.11 SetCrcMode */
|
||||||
#define USB_CDC_NCM_CRC_NOT_APPENDED 0x00
|
#define USB_CDC_NCM_CRC_NOT_APPENDED 0x00
|
||||||
#define USB_CDC_NCM_CRC_APPENDED 0x01
|
#define USB_CDC_NCM_CRC_APPENDED 0x01
|
||||||
|
|
Loading…
Reference in a new issue