@@ -154,6 +154,64 @@ config USB_DC_MSG_QUEUE_LEN
154
154
155
155
endif # USB_MCUX
156
156
157
+ config USB_DC_NUMAKER
158
+ bool "Nuvoton NuMaker USB 1.1/2.0 device controller"
159
+ depends on SOC_FAMILY_NUMAKER
160
+ depends on USB_DC_NUMAKER_USBD || USB_DC_NUMAKER_HSUSBD
161
+ default USB_DC_NUMAKER_USBD || USB_DC_NUMAKER_HSUSBD
162
+ help
163
+ Enables Nuvoton NuMaker USB device controller driver.
164
+
165
+ DT_COMPAT_NUMAKER_USBD := nuvoton,numaker-usbd
166
+ DT_COMPAT_NUMAKER_HSUSBD := nuvoton,numaker-hsusbd
167
+
168
+ choice USB_DC_NUMAKER_TYPE
169
+ prompt "Nuvoton NuMaker USB device controller type"
170
+ default USB_DC_NUMAKER_USBD
171
+ help
172
+ Select the type of Nuvoton NuMaker USB device controller.
173
+
174
+ config USB_DC_NUMAKER_USBD
175
+ bool "Nuvoton NuMaker USB 1.1 device controller"
176
+ select HAS_NUMAKER_USBD
177
+ depends on $(dt_compat_enabled,$(DT_COMPAT_NUMAKER_USBD))
178
+ help
179
+ Enable Nuvoton NuMaker USB 1.1 device controller driver.
180
+
181
+ config USB_DC_NUMAKER_HSUSBD
182
+ bool "Nuvoton NuMaker high-speed USB 2.0 device controller"
183
+ select HAS_NUMAKER_HSUSBD
184
+ depends on $(dt_compat_enabled,$(DT_COMPAT_NUMAKER_HSUSBD))
185
+ help
186
+ Enable Nuvoton NuMaker high-speed USB 2.0 device controller driver.
187
+
188
+ endchoice
189
+
190
+ config USB_DC_NUMAKER_USBD_WORKAROUND_DISALLOW_ISO_IN_OUT_SAME_NUM
191
+ bool "Enable workaround for disallowing Isochronous IN/OUT endpoints to be of same numbers"
192
+ default $(dt_nodelabel_bool_prop,usbd,disallow-iso-in-out-same-number)
193
+ depends on USB_DC_NUMAKER_USBD
194
+ help
195
+ Enable workaround which can allow Isochronous IN/OUT endpoints to be assigned
196
+ the same endpoint numbers. Note this workaround can only work for not more than
197
+ one Isochronous IN endpoint enabled, or behavior is undefined.
198
+
199
+ config USB_DC_NUMAKER_MSG_QUEUE_SIZE
200
+ int "USB DC message queue size"
201
+ default 32
202
+ depends on USB_DC_NUMAKER
203
+ help
204
+ Maximum number of messages the driver can queue for interrupt bottom half processing.
205
+
206
+ config USB_DC_NUMAKER_MSG_HANDLER_THREAD_STACK_SIZE
207
+ int "USB DC message handler thread stack size"
208
+ default 1536
209
+ depends on USB_DC_NUMAKER
210
+ help
211
+ Size of the stack for the message handler thread that is used in the driver
212
+ for handling messages from the USB DC ISR, i.e. interrupt bottom half processing,
213
+ including callbacks to the USB device stack.
214
+
157
215
config USB_NATIVE_POSIX
158
216
bool "Native Posix USB Device Controller Driver"
159
217
help
0 commit comments