Zephyr API Documentation  2.7.0-rc2
A Scalable Open Source RTOS
usb_cdc.h
Go to the documentation of this file.
1/* usb_cdc.h - USB CDC-ACM and CDC-ECM public header */
2
3/*
4 * Copyright (c) 2017 PHYTEC Messtechnik GmbH
5 *
6 * SPDX-License-Identifier: Apache-2.0
7 */
8
9
21#ifndef ZEPHYR_INCLUDE_USB_CLASS_USB_CDC_H_
22#define ZEPHYR_INCLUDE_USB_CLASS_USB_CDC_H_
23
25#define CDC_SRN_1_20 0x0120
26
28#define ACM_SUBCLASS 0x02
29#define ECM_SUBCLASS 0x06
30#define EEM_SUBCLASS 0x0c
31
33#define AT_CMD_V250_PROTOCOL 0x01
34#define EEM_PROTOCOL 0x07
35#define ACM_VENDOR_PROTOCOL 0xFF
36
41#define DATA_INTERFACE_CLASS 0x0A
42
48#define HEADER_FUNC_DESC 0x00
49#define CALL_MANAGEMENT_FUNC_DESC 0x01
50#define ACM_FUNC_DESC 0x02
51#define UNION_FUNC_DESC 0x06
52#define ETHERNET_FUNC_DESC 0x0F
53
59#define CDC_SEND_ENC_CMD 0x00
60#define CDC_GET_ENC_RSP 0x01
61#define SET_LINE_CODING 0x20
62#define GET_LINE_CODING 0x21
63#define SET_CONTROL_LINE_STATE 0x22
64
66#define SET_CONTROL_LINE_STATE_RTS 0x02
67#define SET_CONTROL_LINE_STATE_DTR 0x01
68
70#define USB_CDC_LINE_CTRL_BAUD_RATE UART_LINE_CTRL_BAUD_RATE
71#define USB_CDC_LINE_CTRL_DCD UART_LINE_CTRL_DCD
72#define USB_CDC_LINE_CTRL_DSR UART_LINE_CTRL_DSR
73#define USB_CDC_LINE_CTRL_BREAK BIT(5)
74#define USB_CDC_LINE_CTRL_RING_SIGNAL BIT(6)
75#define USB_CDC_LINE_CTRL_FRAMING BIT(7)
76#define USB_CDC_LINE_CTRL_PARITY BIT(8)
77#define USB_CDC_LINE_CTRL_OVER_RUN BIT(9)
78
80#define SERIAL_STATE_OVER_RUN 0x40
81#define SERIAL_STATE_PARITY 0x20
82#define SERIAL_STATE_FRAMING 0x10
83#define SERIAL_STATE_RING_SIGNAL 0x08
84#define SERIAL_STATE_BREAK 0x04
85#define SERIAL_STATE_TX_CARRIER 0x02
86#define SERIAL_STATE_RX_CARRIER 0x01
87
92#define SET_ETHERNET_MULTICAST_FILTERS 0x40
93#define SET_ETHERNET_PM_FILTER 0x41
94#define GET_ETHERNET_PM_FILTER 0x42
95#define SET_ETHERNET_PACKET_FILTER 0x43
96#define GET_ETHERNET_STATISTIC 0x44
97
99#define PACKET_TYPE_MULTICAST 0x10
100#define PACKET_TYPE_BROADCAST 0x08
101#define PACKET_TYPE_DIRECTED 0x04
102#define PACKET_TYPE_ALL_MULTICAST 0x02
103#define PACKET_TYPE_PROMISCUOUS 0x01
104
111} __packed;
112
120} __packed;
121
129} __packed;
130
137} __packed;
138
145} __packed;
146
155} __packed;
156
167} __packed;
168
169#endif /* ZEPHYR_INCLUDE_USB_CLASS_USB_CDC_H_ */
__UINT32_TYPE__ uint32_t
Definition: stdint.h:60
__UINT8_TYPE__ uint8_t
Definition: stdint.h:58
__UINT16_TYPE__ uint16_t
Definition: stdint.h:59
Definition: usb_cdc.h:132
uint8_t bmCapabilities
Definition: usb_cdc.h:136
uint8_t bFunctionLength
Definition: usb_cdc.h:133
uint8_t bDescriptorType
Definition: usb_cdc.h:134
uint8_t bDescriptorSubtype
Definition: usb_cdc.h:135
Definition: usb_cdc.h:140
uint32_t dwDTERate
Definition: usb_cdc.h:141
uint8_t bParityType
Definition: usb_cdc.h:143
uint8_t bDataBits
Definition: usb_cdc.h:144
uint8_t bCharFormat
Definition: usb_cdc.h:142
Definition: usb_cdc.h:148
uint16_t wIndex
Definition: usb_cdc.h:152
uint16_t wValue
Definition: usb_cdc.h:151
uint16_t data
Definition: usb_cdc.h:154
uint8_t bmRequestType
Definition: usb_cdc.h:149
uint8_t bNotificationType
Definition: usb_cdc.h:150
uint16_t wLength
Definition: usb_cdc.h:153
Definition: usb_cdc.h:123
uint8_t bDataInterface
Definition: usb_cdc.h:128
uint8_t bFunctionLength
Definition: usb_cdc.h:124
uint8_t bDescriptorSubtype
Definition: usb_cdc.h:126
uint8_t bmCapabilities
Definition: usb_cdc.h:127
uint8_t bDescriptorType
Definition: usb_cdc.h:125
Definition: usb_cdc.h:158
uint16_t wNumberMCFilters
Definition: usb_cdc.h:165
uint32_t bmEthernetStatistics
Definition: usb_cdc.h:163
uint8_t bFunctionLength
Definition: usb_cdc.h:159
uint8_t bDescriptorSubtype
Definition: usb_cdc.h:161
uint8_t iMACAddress
Definition: usb_cdc.h:162
uint8_t bDescriptorType
Definition: usb_cdc.h:160
uint8_t bNumberPowerFilters
Definition: usb_cdc.h:166
uint16_t wMaxSegmentSize
Definition: usb_cdc.h:164
Definition: usb_cdc.h:106
uint8_t bDescriptorType
Definition: usb_cdc.h:108
uint8_t bDescriptorSubtype
Definition: usb_cdc.h:109
uint16_t bcdCDC
Definition: usb_cdc.h:110
uint8_t bFunctionLength
Definition: usb_cdc.h:107
Definition: usb_cdc.h:114
uint8_t bSubordinateInterface0
Definition: usb_cdc.h:119
uint8_t bControlInterface
Definition: usb_cdc.h:118
uint8_t bDescriptorType
Definition: usb_cdc.h:116
uint8_t bFunctionLength
Definition: usb_cdc.h:115
uint8_t bDescriptorSubtype
Definition: usb_cdc.h:117