1/* SPDX-License-Identifier: GPL-2.0 */
2#define SUSBCRequest_SetBaudRateParityAndStopBits       1
3#define SUSBCR_SBR_MASK				0xFF00
4#define SUSBCR_SBR_1200				0x0100
5#define SUSBCR_SBR_9600				0x0200
6#define SUSBCR_SBR_19200			0x0400
7#define SUSBCR_SBR_28800			0x0800
8#define SUSBCR_SBR_38400			0x1000
9#define SUSBCR_SBR_57600			0x2000
10#define SUSBCR_SBR_115200			0x4000
11
12#define SUSBCR_SPASB_MASK			0x0070
13#define SUSBCR_SPASB_NoParity			0x0010
14#define SUSBCR_SPASB_OddParity			0x0020
15#define SUSBCR_SPASB_EvenParity			0x0040
16
17#define SUSBCR_SPASB_STPMASK			0x0003
18#define SUSBCR_SPASB_1StopBit			0x0001
19#define SUSBCR_SPASB_2StopBits			0x0002
20
21#define SUSBCRequest_SetStatusLinesOrQueues	2
22#define SUSBCR_SSL_SETRTS			0x0001
23#define SUSBCR_SSL_CLRRTS			0x0002
24#define SUSBCR_SSL_SETDTR			0x0004
25#define SUSBCR_SSL_CLRDTR			0x0010
26
27/* Kill the pending/current writes to the comm port. */
28#define SUSBCR_SSL_PURGE_TXABORT		0x0100
29/* Kill the pending/current reads to the comm port. */
30#define SUSBCR_SSL_PURGE_RXABORT		0x0200
31/* Kill the transmit queue if there. */
32#define SUSBCR_SSL_PURGE_TXCLEAR		0x0400
33/* Kill the typeahead buffer if there. */
34#define SUSBCR_SSL_PURGE_RXCLEAR		0x0800
35
36#define SUSBCRequest_GetStatusLineState		4
37/* Any Character received */
38#define SUSBCR_GSL_RXCHAR			0x0001
39/* Transmitt Queue Empty */
40#define SUSBCR_GSL_TXEMPTY			0x0004
41/* CTS changed state */
42#define SUSBCR_GSL_CTS				0x0008
43/* DSR changed state */
44#define SUSBCR_GSL_DSR				0x0010
45/* RLSD changed state */
46#define SUSBCR_GSL_RLSD				0x0020
47/* BREAK received */
48#define SUSBCR_GSL_BREAK			0x0040
49/* Line status error occurred */
50#define SUSBCR_GSL_ERR				0x0080
51/* Ring signal detected */
52#define SUSBCR_GSL_RING				0x0100
53
54#define SUSBCRequest_Misc			8
55/* use a predefined reset sequence */
56#define SUSBCR_MSC_ResetReader			0x0001
57/* use a predefined sequence to reset the internal queues */
58#define SUSBCR_MSC_ResetAllQueues		0x0002
59
60#define SUSBCRequest_GetMisc			0x10
61
62/*
63 * get the firmware version from device, coded like this 0xHHLLBBPP with
64 * HH = Firmware Version High Byte
65 * LL = Firmware Version Low Byte
66 * BB = Build Number
67 * PP = Further Attributes
68 */
69#define SUSBCR_MSC_GetFWVersion			0x0001
70
71/*
72 * get the hardware version from device coded like this 0xHHLLPPRR with
73 * HH = Software Version High Byte
74 * LL = Software Version Low Byte
75 * PP = Further Attributes
76 * RR = Reserved for the hardware ID
77 */
78#define SUSBCR_MSC_GetHWVersion			0x0002
79