Zephyr API Documentation  3.7.0
A Scalable Open Source RTOS
Loading...
Searching...
No Matches
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
69#define USB_CDC_NETWORK_CONNECTION 0x00
70#define USB_CDC_RESPONSE_AVAILABLE 0x01
71#define USB_CDC_AUX_JACK_HOOK_STATE 0x08
72#define USB_CDC_RING_DETECT 0x09
73#define USB_CDC_SERIAL_STATE 0x20
74#define USB_CDC_CALL_STATE_CHANGE 0x28
75#define USB_CDC_LINE_STATE_CHANGE 0x23
76
81#define USB_CDC_SERIAL_STATE_OVERRUN BIT(6)
82#define USB_CDC_SERIAL_STATE_PARITY BIT(5)
83#define USB_CDC_SERIAL_STATE_FRAMING BIT(4)
84#define USB_CDC_SERIAL_STATE_RINGSIGNAL BIT(3)
85#define USB_CDC_SERIAL_STATE_BREAK BIT(2)
86#define USB_CDC_SERIAL_STATE_TXCARRIER BIT(1)
87#define USB_CDC_SERIAL_STATE_RXCARRIER BIT(0)
88
90#define SET_CONTROL_LINE_STATE_RTS 0x02
91#define SET_CONTROL_LINE_STATE_DTR 0x01
92
94#define USB_CDC_LINE_CTRL_BAUD_RATE UART_LINE_CTRL_BAUD_RATE
95#define USB_CDC_LINE_CTRL_DCD UART_LINE_CTRL_DCD
96#define USB_CDC_LINE_CTRL_DSR UART_LINE_CTRL_DSR
97#define USB_CDC_LINE_CTRL_BREAK BIT(5)
98#define USB_CDC_LINE_CTRL_RING_SIGNAL BIT(6)
99#define USB_CDC_LINE_CTRL_FRAMING BIT(7)
100#define USB_CDC_LINE_CTRL_PARITY BIT(8)
101#define USB_CDC_LINE_CTRL_OVER_RUN BIT(9)
102
104#define SERIAL_STATE_OVER_RUN 0x40
105#define SERIAL_STATE_PARITY 0x20
106#define SERIAL_STATE_FRAMING 0x10
107#define SERIAL_STATE_RING_SIGNAL 0x08
108#define SERIAL_STATE_BREAK 0x04
109#define SERIAL_STATE_TX_CARRIER 0x02
110#define SERIAL_STATE_RX_CARRIER 0x01
111
117#define USB_CDC_LINE_CODING_STOP_BITS_1 0
118#define USB_CDC_LINE_CODING_STOP_BITS_1_5 1
119#define USB_CDC_LINE_CODING_STOP_BITS_2 2
120
121#define USB_CDC_LINE_CODING_PARITY_NO 0
122#define USB_CDC_LINE_CODING_PARITY_ODD 1
123#define USB_CDC_LINE_CODING_PARITY_EVEN 2
124#define USB_CDC_LINE_CODING_PARITY_MARK 3
125#define USB_CDC_LINE_CODING_PARITY_SPACE 4
126
127#define USB_CDC_LINE_CODING_DATA_BITS_5 5
128#define USB_CDC_LINE_CODING_DATA_BITS_6 6
129#define USB_CDC_LINE_CODING_DATA_BITS_7 7
130#define USB_CDC_LINE_CODING_DATA_BITS_8 8
131
136#define SET_ETHERNET_MULTICAST_FILTERS 0x40
137#define SET_ETHERNET_PM_FILTER 0x41
138#define GET_ETHERNET_PM_FILTER 0x42
139#define SET_ETHERNET_PACKET_FILTER 0x43
140#define GET_ETHERNET_STATISTIC 0x44
141
143#define PACKET_TYPE_MULTICAST 0x10
144#define PACKET_TYPE_BROADCAST 0x08
145#define PACKET_TYPE_DIRECTED 0x04
146#define PACKET_TYPE_ALL_MULTICAST 0x02
147#define PACKET_TYPE_PROMISCUOUS 0x01
148
155} __packed;
156
164} __packed;
165
173} __packed;
174
181} __packed;
182
189} __packed;
190
199} __packed;
200
211} __packed;
212
213#endif /* ZEPHYR_INCLUDE_USB_CLASS_USB_CDC_H_ */
__UINT32_TYPE__ uint32_t
Definition: stdint.h:90
__UINT8_TYPE__ uint8_t
Definition: stdint.h:88
__UINT16_TYPE__ uint16_t
Definition: stdint.h:89
Abstract Control Management Functional Descriptor.
Definition: usb_cdc.h:176
uint8_t bmCapabilities
Definition: usb_cdc.h:180
uint8_t bFunctionLength
Definition: usb_cdc.h:177
uint8_t bDescriptorType
Definition: usb_cdc.h:178
uint8_t bDescriptorSubtype
Definition: usb_cdc.h:179
Data structure for GET_LINE_CODING / SET_LINE_CODING class requests.
Definition: usb_cdc.h:184
uint32_t dwDTERate
Definition: usb_cdc.h:185
uint8_t bParityType
Definition: usb_cdc.h:187
uint8_t bDataBits
Definition: usb_cdc.h:188
uint8_t bCharFormat
Definition: usb_cdc.h:186
Data structure for the notification about SerialState.
Definition: usb_cdc.h:192
uint16_t wIndex
Definition: usb_cdc.h:196
uint16_t wValue
Definition: usb_cdc.h:195
uint16_t data
Definition: usb_cdc.h:198
uint8_t bmRequestType
Definition: usb_cdc.h:193
uint8_t bNotificationType
Definition: usb_cdc.h:194
uint16_t wLength
Definition: usb_cdc.h:197
Call Management Functional Descriptor.
Definition: usb_cdc.h:167
uint8_t bDataInterface
Definition: usb_cdc.h:172
uint8_t bFunctionLength
Definition: usb_cdc.h:168
uint8_t bDescriptorSubtype
Definition: usb_cdc.h:170
uint8_t bmCapabilities
Definition: usb_cdc.h:171
uint8_t bDescriptorType
Definition: usb_cdc.h:169
Ethernet Networking Functional Descriptor.
Definition: usb_cdc.h:202
uint16_t wNumberMCFilters
Definition: usb_cdc.h:209
uint32_t bmEthernetStatistics
Definition: usb_cdc.h:207
uint8_t bFunctionLength
Definition: usb_cdc.h:203
uint8_t bDescriptorSubtype
Definition: usb_cdc.h:205
uint8_t iMACAddress
Definition: usb_cdc.h:206
uint8_t bDescriptorType
Definition: usb_cdc.h:204
uint8_t bNumberPowerFilters
Definition: usb_cdc.h:210
uint16_t wMaxSegmentSize
Definition: usb_cdc.h:208
Header Functional Descriptor.
Definition: usb_cdc.h:150
uint8_t bDescriptorType
Definition: usb_cdc.h:152
uint8_t bDescriptorSubtype
Definition: usb_cdc.h:153
uint16_t bcdCDC
Definition: usb_cdc.h:154
uint8_t bFunctionLength
Definition: usb_cdc.h:151
Union Interface Functional Descriptor.
Definition: usb_cdc.h:158
uint8_t bSubordinateInterface0
Definition: usb_cdc.h:163
uint8_t bControlInterface
Definition: usb_cdc.h:162
uint8_t bDescriptorType
Definition: usb_cdc.h:160
uint8_t bFunctionLength
Definition: usb_cdc.h:159
uint8_t bDescriptorSubtype
Definition: usb_cdc.h:161