summaryrefslogtreecommitdiff
path: root/nuttx/drivers/usbhost/Kconfig
blob: 8f6b8772274d182ba971023cdd674ca3cbfe55b9 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
#
# For a description of the syntax of this configuration file,
# see misc/tools/kconfig-language.txt.
#

config USBHOST_NPREALLOC
	int "Number of pre-allocated class instances"
	default 4
	---help---
		Number of pre-allocated class instances

config USBHOST_BULK_DISABLE
	bool "Disable bulk endpoint support"
	default n
	---help---
		On some architectures, selecting this setting will reduce driver size
		by disabling bulk endpoint support

config USBHOST_INT_DISABLE
	bool "Disable interrupt endpoint support"
	default n
	---help---
		On some architectures, selecting this setting will reduce driver size
		by disabling interrupt endpoint support

config USBHOST_ISOC_DISABLE
	bool "Disable isochronous endpoint support"
	default n
	---help---
		On some architectures, selecting this setting will reduce driver size
		by disabling isochronous endpoint support

config USBHOST_MSC
	bool "Mass Storage Class Support"
	default n
	depends on !BULK_DISABLE
	---help---
		Enable support for the keyboard class driver.  This also depends on
		NFILE_DESCRIPTORS > 0 && SCHED_WORKQUEUE=y

config USBHOST_HIDKBD
	bool "HID Keyboard Class Support"
	default n
	depends on !INT_DISABLE
	---help---
		Enable support for the keyboard class driver.  This also depends on
		SCHED_WORKQUEUE && !DISABLE_SIGNALS

if  USBHOST_HIDKBD

config HIDKBD_POLLUSEC
	int "Keyboard Poll Rate (MSEC)"
	default 100000
	---help---
		Device poll rate in microseconds. Default: 100,000 microseconds.

config HIDKBD_DEFPRIO
	int "Polling Thread Priority"
	default 50
	---help---
		Priority of the polling thread.  Default: 50.

config HIDKBD_STACKSIZE
	int "Polling thread stack size"
	default 1024
	---help---
		Stack size for polling thread.  Default: 1024

config HIDKBD_BUFSIZE
	int "Scancode Buffer Size"
	default 64
	---help---
		Scancode buffer size.  Default: 64.

config HIDKBD_NPOLLWAITERS
	int "Max Number of Waiters for Poll Event"
	default 2
	depends on !DISABLE_POLL
	---help---
		If the poll() method is enabled, this defines the maximum number
		of threads that can be waiting for keyboard events.  Default: 2.

config HIDKBD_RAWSCANCODES
	bool "Use Raw Scan Codes"
	default n
	---help---
		If set to y no conversions will be made on the raw keyboard scan
		codes.  This option is useful during testing. Default: ASCII conversion.

config HIDKBD_ENCODED
	bool "Encode Special Keys"
	default n
	depends on !HIDKBD_RAWSCANCODES && LIB_KBDCODEC
	---help---
		Encode special key press events in the user buffer.  In this case,
		the user end must decode the encoded special key values using the
		interfaces defined in include/nuttx/input/kbd_codec.h.  These
		special keys include such things as up/down arrows, home and end
		keys, etc.  If this not defined, only 7-bit print-able and control
		ASCII characters will be provided to the user.

config HIDKBD_ALLSCANCODES
	bool "Use All Scancodes"
	default n
	---help---
		If set to y all 231 possible scancodes will be converted to
		something.  Default:  104 key US keyboard.

config HIDKBD_NODEBOUNCE
	bool "Disable Debounce"
	default n
	---help---
		If set to y normal debouncing is disabled.  Default:
		Debounce enabled (No repeat keys).

endif

config USBHOST_HIDMOUSE
	bool "HID Mouse Class Support"
	default n
	depends on !INT_DISABLE
	---help---
		Enable support for the mouse class driver.  This also depends on
		SCHED_WORKQUEUE && !DISABLE_SIGNALS

if  USBHOST_HIDMOUSE

config HIDMOUSE_POLLUSEC
	int "Mouse Poll Rate (MSEC)"
	default 100000
	---help---
		Device poll rate in microseconds. Default: 100,000 microseconds.

config HIDMOUSE_DEFPRIO
	int "Polling Thread Priority"
	default 50
	---help---
		Priority of the polling thread.  Default: 50.

config HIDMOUSE_STACKSIZE
	int "Polling thread stack size"
	default 1024
	---help---
		Stack size for polling thread.  Default: 1024

config HIDMOUSE_BUFSIZE
	int "Scancode Buffer Size"
	default 64
	---help---
		Scancode buffer size.  Default: 64.

config HIDMOUSE_NPOLLWAITERS
	int "Max Number of Waiters for Poll Event"
	default 2
	depends on !DISABLE_POLL
	---help---
		If the poll() method is enabled, this defines the maximum number
		of threads that can be waiting for mouse events.  Default: 2.

config HIDMOUSE_SWAPXY
	bool "Swap X/Y"
	default n
	---help---
		Reverse the meaning of X and Y to handle different display orientations.

config HIDMOUSE_XMAX
	int "Maximum X position"
	default 320
	range 0 32767
	---help---
		This is the maximum value of the X position that will be reported.
		Default: 320

config HIDMOUSE_YMAX
	int "Maximum Y position"
	default 240
	range 0 32767
	---help---
		This is the maximum value of the Y position that will be reported.
		Default: 240

config HIDMOUSE_XSCALE
	hex "X scaling factor"
	default 0x00010000
	---help---
		Mouse positions are accumumated from X/Y displacements reported by
		the mouse device. This setting provides a scaling value for the X
		displacement.  This is a fixed precision floating point number with
		16 bits of fraction.  So a value of 0x00010000 is 1.0, 0x00018000
		is 1.5, 0x00024000 is 2.25, etc.

		Default: 0x00010000 (1.0)

config HIDMOUSE_YSCALE
	hex "Y scaling factor"
	default 0x00010000
	---help---
		Mouse positions are accumumated from X/Y displacements reported by
		the mouse device. This setting provides a scaling value for the Y
		displacement.  This is a fixed precision floating point number with
		16 bits of fraction.  So a value of 0x00010000 is 1.0, 0x00018000
		is 1.5, 0x00024000 is 2.25, etc.

		Default: 0x00010000 (1.0)

config HIDMOUSE_XTHRESH
	int "X threshold"
	default 12
	---help---
		New mouse positions will only be reported when the X or Y data changes by these
		thresholds. This trades reduces data rate for some loss in dragging accuracy.
		Default: 12

config HIDMOUSE_THRESHY
	int "Y threshold"
	default 12
	---help---
		New touch positions will only be reported when the X or Y data changes by these
		thresholds. This trades reduces data rate for some loss in dragging accuracy.
		Default: 12

endif

config USBHOST_TRACE
	bool "Enable USB HCD tracing for debug"
	default n
	---help---
		Enables USB tracing for debug.  Only supported for the HCD and,
		further, no supported by all HCD implementations.

if USBHOST_TRACE

config USBHOST_TRACE_NRECORDS
	int "Number of trace entries to remember"
	default 128
	---help---
		Number of trace entries to remember.

config USBHOST_TRACE_VERBOSE
	bool "Enable verbose debug trace"
	default n
	---help---
		Enable verbose trace output if supported by the platform.  The
		intent is that if USBHOST_TRACE_VERBOSE is not defined, then only
		errors, warnings, and critical messages would be logged.  If
		USBHOST_TRACE_VERBOSE is defined, then general informative trace
		information would also be included.

endif