OSDN Git Service

Merge Official Source
[immortalwrt/immortalwrt.git] / package / kernel / linux / modules / usb.mk
1 #
2 # Copyright (C) 2006-2014 OpenWrt.org
3 #
4 # This is free software, licensed under the GNU General Public License v2.
5 # See /LICENSE for more information.
6 #
7
8 USB_MENU:=USB Support
9
10 USBNET_DIR:=net/usb
11 USBHID_DIR?=hid/usbhid
12 USBINPUT_DIR?=input/misc
13
14 define KernelPackage/usb-core
15   SUBMENU:=$(USB_MENU)
16   TITLE:=Support for USB
17   DEPENDS:=@USB_SUPPORT
18   KCONFIG:=CONFIG_USB CONFIG_XPS_USB_HCD_XILINX=n CONFIG_USB_FHCI_HCD=n
19   FILES:= \
20         $(LINUX_DIR)/drivers/usb/core/usbcore.ko \
21         $(LINUX_DIR)/drivers/usb/common/usb-common.ko
22   AUTOLOAD:=$(call AutoLoad,20,usb-common usbcore,1)
23   $(call AddDepends/nls)
24 endef
25
26 define KernelPackage/usb-core/description
27  Kernel support for USB
28 endef
29
30 $(eval $(call KernelPackage,usb-core))
31
32
33 define AddDepends/usb
34   SUBMENU:=$(USB_MENU)
35   DEPENDS+=+kmod-usb-core $(1)
36 endef
37
38
39 define KernelPackage/usb-ledtrig-usbport
40   TITLE:=LED trigger for USB ports
41   KCONFIG:=CONFIG_USB_LEDS_TRIGGER_USBPORT
42   FILES:=$(LINUX_DIR)/drivers/usb/core/ledtrig-usbport.ko
43   AUTOLOAD:=$(call AutoLoad,50,ledtrig-usbport)
44   $(call AddDepends/usb)
45 endef
46
47 define KernelPackage/usb-ledtrig-usbport/description
48   This driver allows LEDs to be controlled by USB events. Enabling this
49   trigger allows specifying list of USB ports that should turn on LED
50   when some USB device gets connected.
51   If possible it should be prefered over similar ledtrig-usbdev.
52 endef
53
54 $(eval $(call KernelPackage,usb-ledtrig-usbport))
55
56
57 define KernelPackage/usb-phy-nop
58   TITLE:=Support for USB NOP transceiver
59   KCONFIG:=CONFIG_NOP_USB_XCEIV
60   HIDDEN:=1
61   FILES:=$(LINUX_DIR)/drivers/usb/phy/phy-generic.ko
62   AUTOLOAD:=$(call AutoLoad,21,phy-generic,1)
63   $(call AddDepends/usb)
64 endef
65
66 define KernelPackage/usb-phy-nop/description
67   Support for USB NOP transceiver
68 endef
69
70 $(eval $(call KernelPackage,usb-phy-nop))
71
72
73 define KernelPackage/phy-ath79-usb
74   TITLE:=Support for ATH79 USB PHY
75   KCONFIG:=CONFIG_PHY_AR7100_USB \
76         CONFIG_PHY_AR7200_USB
77   DEPENDS:=@TARGET_ath79
78   HIDDEN:=1
79   FILES:=$(LINUX_DIR)/drivers/phy/phy-ar7100-usb.ko \
80         $(LINUX_DIR)/drivers/phy/phy-ar7200-usb.ko
81   AUTOLOAD:=$(call AutoLoad,21,phy-ar7100-usb phy-ar7200-usb,1)
82   $(call AddDepends/usb)
83 endef
84
85 define KernelPackage/phy-ath79-usb/description
86   Support for ATH79 USB transceiver
87 endef
88
89 $(eval $(call KernelPackage,phy-ath79-usb))
90
91
92 define KernelPackage/usb-gadget
93   TITLE:=USB Gadget support
94   KCONFIG:=CONFIG_USB_GADGET
95   HIDDEN:=1
96   FILES:=\
97         $(LINUX_DIR)/drivers/usb/gadget/udc/udc-core.ko
98   AUTOLOAD:=$(call AutoLoad,21,udc-core,1)
99   DEPENDS:=@USB_GADGET_SUPPORT
100   $(call AddDepends/usb)
101 endef
102
103 define KernelPackage/usb-gadget/description
104  Kernel support for USB Gadget mode
105 endef
106
107 $(eval $(call KernelPackage,usb-gadget))
108
109 define KernelPackage/usb-lib-composite
110   TITLE:=USB lib composite
111   KCONFIG:=CONFIG_USB_LIBCOMPOSITE
112   DEPENDS:=+kmod-usb-gadget +kmod-fs-configfs
113   HIDDEN:=1
114   FILES:=$(LINUX_DIR)/drivers/usb/gadget/libcomposite.ko
115   AUTOLOAD:=$(call AutoLoad,50,libcomposite)
116   $(call AddDepends/usb)
117 endef
118
119 define KernelPackage/usb-lib-composite/description
120  Lib Composite
121 endef
122
123 $(eval $(call KernelPackage,usb-lib-composite))
124
125 define KernelPackage/usb-gadget-hid
126   TITLE:=USB HID Gadget Support
127   KCONFIG:=CONFIG_USB_G_HID
128   DEPENDS:=+kmod-usb-gadget +kmod-usb-lib-composite
129   FILES:= \
130           $(LINUX_DIR)/drivers/usb/gadget/legacy/g_hid.ko \
131           $(LINUX_DIR)/drivers/usb/gadget/function/usb_f_hid.ko
132   AUTOLOAD:=$(call AutoLoad,52,usb_f_hid)
133   $(call AddDepends/usb)
134 endef
135
136 define KernelPackage/usb-gadget-hid/description
137   Kernel support for USB HID Gadget.
138 endef
139
140 $(eval $(call KernelPackage,usb-gadget-hid))
141
142 define KernelPackage/usb-gadget-ehci-debug
143   TITLE:=USB EHCI debug port Gadget support
144   KCONFIG:=\
145         CONFIG_USB_G_DBGP \
146         CONFIG_USB_G_DBGP_SERIAL=y \
147         CONFIG_USB_G_DBGP_PRINTK=n
148   DEPENDS:=+kmod-usb-gadget +kmod-usb-lib-composite +kmod-usb-gadget-serial
149   FILES:=$(LINUX_DIR)/drivers/usb/gadget/legacy/g_dbgp.ko
150   $(call AddDepends/usb)
151 endef
152
153 define KernelPackage/usb-gadget-ehci-debug/description
154   Kernel support for USB EHCI debug port Gadget.
155 endef
156
157 $(eval $(call KernelPackage,usb-gadget-ehci-debug))
158
159 define KernelPackage/usb-gadget-eth
160   TITLE:=USB Ethernet Gadget support
161   KCONFIG:= \
162         CONFIG_USB_ETH \
163         CONFIG_USB_ETH_RNDIS=y \
164         CONFIG_USB_ETH_EEM=n
165   DEPENDS:=+kmod-usb-gadget +kmod-usb-lib-composite
166   FILES:= \
167         $(LINUX_DIR)/drivers/usb/gadget/function/u_ether.ko \
168         $(LINUX_DIR)/drivers/usb/gadget/function/usb_f_ecm.ko \
169         $(LINUX_DIR)/drivers/usb/gadget/function/usb_f_ecm_subset.ko \
170         $(LINUX_DIR)/drivers/usb/gadget/function/usb_f_rndis.ko \
171         $(LINUX_DIR)/drivers/usb/gadget/legacy/g_ether.ko
172   AUTOLOAD:=$(call AutoLoad,52,usb_f_ecm)
173   $(call AddDepends/usb)
174 endef
175
176 define KernelPackage/usb-gadget-eth/description
177  Kernel support for USB Ethernet Gadget
178 endef
179
180 $(eval $(call KernelPackage,usb-gadget-eth))
181
182 define KernelPackage/usb-gadget-ncm
183   TITLE:=USB Network Control Model (NCM) Gadget support
184   KCONFIG:=CONFIG_USB_G_NCM
185   DEPENDS:=+kmod-usb-gadget +kmod-usb-lib-composite \
186         +kmod-usb-gadget-eth
187   FILES:= \
188         $(LINUX_DIR)/drivers/usb/gadget/function/usb_f_ncm.ko \
189         $(LINUX_DIR)/drivers/usb/gadget/legacy/g_ncm.ko
190   AUTOLOAD:=$(call AutoLoad,52,usb_f_ncm)
191   $(call AddDepends/usb)
192 endef
193
194 define KernelPackage/usb-gadget-ncm/description
195   Kernel support for USB Network Control Model (NCM) Gadget
196 endef
197
198 $(eval $(call KernelPackage,usb-gadget-ncm))
199
200 define KernelPackage/usb-gadget-serial
201   TITLE:=USB Serial Gadget support
202   KCONFIG:=CONFIG_USB_G_SERIAL
203   DEPENDS:=+kmod-usb-gadget +kmod-usb-lib-composite
204   FILES:= \
205         $(LINUX_DIR)/drivers/usb/gadget/function/u_serial.ko \
206         $(LINUX_DIR)/drivers/usb/gadget/function/usb_f_acm.ko \
207         $(LINUX_DIR)/drivers/usb/gadget/function/usb_f_obex.ko \
208         $(LINUX_DIR)/drivers/usb/gadget/function/usb_f_serial.ko \
209         $(LINUX_DIR)/drivers/usb/gadget/legacy/g_serial.ko
210   AUTOLOAD:=$(call AutoLoad,52,usb_f_acm)
211   $(call AddDepends/usb)
212 endef
213
214 define KernelPackage/usb-gadget-serial/description
215   Kernel support for USB Serial Gadget.
216 endef
217
218 $(eval $(call KernelPackage,usb-gadget-serial))
219
220 define KernelPackage/usb-gadget-mass-storage
221   TITLE:=USB Mass Storage support
222   KCONFIG:=CONFIG_USB_MASS_STORAGE
223   DEPENDS:=+kmod-usb-gadget +kmod-usb-lib-composite
224   FILES:= \
225         $(LINUX_DIR)/drivers/usb/gadget/function/usb_f_mass_storage.ko \
226         $(LINUX_DIR)/drivers/usb/gadget/legacy/g_mass_storage.ko
227   AUTOLOAD:=$(call AutoLoad,52,usb_f_mass_storage)
228   $(call AddDepends/usb)
229 endef
230
231 define KernelPackage/usb-gadget-mass-storage/description
232   Kernel support for USB Gadget Mass Storage
233 endef
234
235 $(eval $(call KernelPackage,usb-gadget-mass-storage))
236
237 define KernelPackage/usb-gadget-cdc-composite
238   TITLE:= USB CDC Composite (Ethernet + ACM)
239   KCONFIG:=CONFIG_USB_CDC_COMPOSITE
240   DEPENDS:=+kmod-usb-gadget +kmod-usb-lib-composite \
241         +kmod-usb-gadget-eth +kmod-usb-gadget-serial
242   FILES:= $(LINUX_DIR)/drivers/usb/gadget/legacy/g_cdc.ko
243   $(call AddDepends/usb)
244 endef
245
246 define KernelPackage/usb-gadget-cdc-composite/description
247   Kernel support for the USB CDC Composite gadget.
248   This appears as an ethernet + ACM serial gadget.
249 endef
250
251 $(eval $(call KernelPackage,usb-gadget-cdc-composite))
252
253
254 define KernelPackage/usb-uhci
255   TITLE:=Support for UHCI controllers
256   KCONFIG:= \
257         CONFIG_USB_PCI=y \
258         CONFIG_USB_UHCI_ALT \
259         CONFIG_USB_UHCI_HCD
260   FILES:=$(LINUX_DIR)/drivers/usb/host/uhci-hcd.ko
261   AUTOLOAD:=$(call AutoLoad,50,uhci-hcd,1)
262   $(call AddDepends/usb)
263 endef
264
265 define KernelPackage/usb-uhci/description
266  Kernel support for USB UHCI controllers
267 endef
268
269 $(eval $(call KernelPackage,usb-uhci,1))
270
271
272 define KernelPackage/usb-ohci
273   TITLE:=Support for OHCI controllers
274   DEPENDS:= \
275         +TARGET_bcm53xx:kmod-usb-bcma \
276         +TARGET_bcm47xx:kmod-usb-bcma \
277         +TARGET_bcm47xx:kmod-usb-ssb
278   KCONFIG:= \
279         CONFIG_USB_OHCI \
280         CONFIG_USB_OHCI_HCD \
281         CONFIG_USB_OHCI_ATH79=y \
282         CONFIG_USB_OHCI_HCD_AT91=y \
283         CONFIG_USB_OHCI_BCM63XX=y \
284         CONFIG_USB_OCTEON_OHCI=y \
285         CONFIG_USB_OHCI_HCD_OMAP3=y \
286         CONFIG_USB_OHCI_HCD_PLATFORM=y
287   FILES:= \
288         $(LINUX_DIR)/drivers/usb/host/ohci-hcd.ko \
289         $(LINUX_DIR)/drivers/usb/host/ohci-platform.ko
290   ifneq ($(wildcard $(LINUX_DIR)/drivers/usb/host/ohci-at91.ko),)
291     FILES+=$(LINUX_DIR)/drivers/usb/host/ohci-at91.ko
292   endif
293   AUTOLOAD:=$(call AutoLoad,50,ohci-hcd ohci-platform ohci-at91,1)
294   $(call AddDepends/usb)
295 endef
296
297 define KernelPackage/usb-ohci/description
298  Kernel support for USB OHCI controllers
299 endef
300
301 $(eval $(call KernelPackage,usb-ohci,1))
302
303
304 define KernelPackage/usb-ohci-pci
305   TITLE:=Support for PCI OHCI controllers
306   DEPENDS:=@PCI_SUPPORT +kmod-usb-ohci
307   KCONFIG:= \
308         CONFIG_USB_PCI=y \
309         CONFIG_USB_OHCI_HCD_PCI
310   FILES:=$(LINUX_DIR)/drivers/usb/host/ohci-pci.ko
311   AUTOLOAD:=$(call AutoLoad,51,ohci-pci,1)
312   $(call AddDepends/usb)
313 endef
314
315 define KernelPackage/usb-ohci-pci/description
316  Kernel support for PCI OHCI controllers
317 endef
318
319 $(eval $(call KernelPackage,usb-ohci-pci))
320
321
322 define KernelPackage/usb-bcma
323   TITLE:=Support for BCMA USB controllers
324   DEPENDS:=@USB_SUPPORT @TARGET_bcm47xx||TARGET_bcm53xx
325   HIDDEN:=1
326   KCONFIG:=CONFIG_USB_HCD_BCMA
327   FILES:= \
328         $(if $(CONFIG_USB_HCD_BCMA),$(LINUX_DIR)/drivers/usb/host/bcma-hcd.ko)
329   AUTOLOAD:=$(call AutoLoad,19,$(if $(CONFIG_USB_HCD_BCMA),bcma-hcd),1)
330   $(call AddDepends/usb)
331 endef
332 $(eval $(call KernelPackage,usb-bcma))
333
334 define KernelPackage/usb-fotg210
335   TITLE:=Support for FOTG210 USB host controllers
336   DEPENDS:=@USB_SUPPORT @TARGET_gemini
337   KCONFIG:=CONFIG_USB_FOTG210_HCD
338   FILES:= \
339         $(if $(CONFIG_USB_FOTG210_HCD),$(LINUX_DIR)/drivers/usb/host/fotg210-hcd.ko)
340   AUTOLOAD:=$(call AutoLoad,50,fotg210-hcd,1)
341   $(call AddDepends/usb)
342 endef
343 $(eval $(call KernelPackage,usb-fotg210))
344
345 define KernelPackage/usb-ssb
346   TITLE:=Support for SSB USB controllers
347   DEPENDS:=@USB_SUPPORT @TARGET_bcm47xx
348   HIDDEN:=1
349   KCONFIG:=CONFIG_USB_HCD_SSB
350   FILES:= \
351         $(if $(CONFIG_USB_HCD_SSB),$(LINUX_DIR)/drivers/usb/host/ssb-hcd.ko)
352   AUTOLOAD:=$(call AutoLoad,19,$(if $(CONFIG_USB_HCD_SSB),ssb-hcd),1)
353   $(call AddDepends/usb)
354 endef
355 $(eval $(call KernelPackage,usb-ssb))
356
357 define KernelPackage/usb-ehci
358   TITLE:=EHCI controller support
359   HIDDEN:=1
360   KCONFIG:= \
361         CONFIG_USB_EHCI_HCD
362   FILES:= \
363         $(LINUX_DIR)/drivers/usb/host/ehci-hcd.ko
364   AUTOLOAD:=$(call AutoLoad,35,ehci-hcd,1)
365   $(call AddDepends/usb)
366 endef
367 $(eval $(call KernelPackage,usb-ehci))
368
369 define KernelPackage/usb2
370   TITLE:=Support for USB2 controllers
371   DEPENDS:=\
372         +TARGET_bcm47xx:kmod-usb-bcma \
373         +TARGET_bcm47xx:kmod-usb-ssb \
374         +TARGET_bcm53xx:kmod-usb-bcma \
375         +TARGET_bcm53xx:kmod-phy-bcm-ns-usb2 \
376         +TARGET_ath79:kmod-phy-ath79-usb \
377         +kmod-usb-ehci
378   KCONFIG:=\
379         CONFIG_USB_EHCI_HCD_PLATFORM \
380         CONFIG_USB_EHCI_BCM63XX=y \
381         CONFIG_USB_IMX21_HCD=y \
382         CONFIG_USB_EHCI_MXC=y \
383         CONFIG_USB_OCTEON_EHCI=y \
384         CONFIG_USB_EHCI_HCD_ORION=y \
385         CONFIG_USB_EHCI_HCD_AT91=y \
386         CONFIG_USB_EHCI_FSL
387   FILES:= \
388         $(LINUX_DIR)/drivers/usb/host/ehci-platform.ko
389   ifneq ($(wildcard $(LINUX_DIR)/drivers/usb/host/ehci-orion.ko),)
390     FILES+=$(LINUX_DIR)/drivers/usb/host/ehci-orion.ko
391   endif
392   ifneq ($(wildcard $(LINUX_DIR)/drivers/usb/host/ehci-atmel.ko),)
393     FILES+=$(LINUX_DIR)/drivers/usb/host/ehci-atmel.ko
394   endif
395   ifneq ($(wildcard $(LINUX_DIR)/drivers/usb/host/ehci-fsl.ko),)
396     FILES+=$(LINUX_DIR)/drivers/usb/host/ehci-fsl.ko
397   endif
398   ifneq ($(wildcard $(LINUX_DIR)/drivers/usb/host/fsl-mph-dr-of.ko),)
399     FILES+=$(LINUX_DIR)/drivers/usb/host/fsl-mph-dr-of.ko
400   endif
401   AUTOLOAD:=$(call AutoLoad,40,ehci-hcd ehci-platform ehci-orion ehci-atmel ehci-fsl fsl-mph-dr-of,1)
402   $(call AddDepends/usb)
403 endef
404
405 define KernelPackage/usb2/description
406  Kernel support for USB2 (EHCI) controllers
407 endef
408
409 $(eval $(call KernelPackage,usb2))
410
411
412 define KernelPackage/usb2-pci
413   TITLE:=Support for PCI USB2 controllers
414   DEPENDS:=@PCI_SUPPORT +kmod-usb2
415   KCONFIG:= \
416         CONFIG_USB_PCI=y \
417         CONFIG_USB_EHCI_PCI
418   FILES:=$(LINUX_DIR)/drivers/usb/host/ehci-pci.ko
419   AUTOLOAD:=$(call AutoLoad,42,ehci-pci,1)
420   $(call AddDepends/usb)
421 endef
422
423 define KernelPackage/usb2-pci/description
424  Kernel support for PCI USB2 (EHCI) controllers
425 endef
426
427 $(eval $(call KernelPackage,usb2-pci))
428
429
430 define KernelPackage/usb-dwc2
431   TITLE:=DWC2 USB controller driver
432   DEPENDS:=+USB_GADGET_SUPPORT:kmod-usb-gadget +kmod-usb-roles
433   KCONFIG:= \
434         CONFIG_USB_PCI=y \
435         CONFIG_USB_DWC2 \
436         CONFIG_USB_DWC2_PCI \
437         CONFIG_USB_DWC2_PLATFORM \
438         CONFIG_USB_DWC2_DEBUG=n \
439         CONFIG_USB_DWC2_VERBOSE=n \
440         CONFIG_USB_DWC2_TRACK_MISSED_SOFS=n \
441         CONFIG_USB_DWC2_DEBUG_PERIODIC=n
442   FILES:= \
443         $(LINUX_DIR)/drivers/usb/dwc2/dwc2.ko
444   AUTOLOAD:=$(call AutoLoad,54,dwc2,1)
445   $(call AddDepends/usb)
446 endef
447
448 define KernelPackage/usb-dwc2/description
449  This driver provides USB Device Controller support for the
450  Synopsys DesignWare USB OTG Core
451 endef
452
453 $(eval $(call KernelPackage,usb-dwc2))
454
455
456 define KernelPackage/usb-dwc3
457   TITLE:=DWC3 USB controller driver
458   KCONFIG:= \
459         CONFIG_USB_DWC3 \
460         CONFIG_USB_DWC3_HOST=y \
461         CONFIG_USB_DWC3_GADGET=n \
462         CONFIG_USB_DWC3_DUAL_ROLE=n \
463         CONFIG_USB_DWC3_DEBUG=n \
464         CONFIG_USB_DWC3_VERBOSE=n
465   FILES:= $(LINUX_DIR)/drivers/usb/dwc3/dwc3.ko
466   AUTOLOAD:=$(call AutoLoad,54,dwc3,1)
467   $(call AddDepends/usb)
468 endef
469
470 define KernelPackage/usb-dwc3/description
471  This driver provides support for the Dual Role SuperSpeed
472  USB Controller based on the Synopsys DesignWare USB3 IP Core
473 endef
474
475 $(eval $(call KernelPackage,usb-dwc3))
476
477
478 define KernelPackage/usb-dwc3-qcom
479   TITLE:=DWC3 Qualcomm USB driver
480   DEPENDS:=@(TARGET_ipq40xx||TARGET_ipq806x) +kmod-usb-dwc3
481   KCONFIG:= CONFIG_USB_DWC3_QCOM
482   FILES:= $(LINUX_DIR)/drivers/usb/dwc3/dwc3-qcom.ko
483   AUTOLOAD:=$(call AutoLoad,53,dwc3-qcom,1)
484   $(call AddDepends/usb)
485 endef
486
487 define KernelPackage/usb-dwc3-qcom/description
488  Some Qualcomm SoCs use DesignWare Core IP for USB2/3 functionality.
489  This driver also handles Qscratch wrapper which is needed for
490  peripheral mode support.
491 endef
492
493
494 $(eval $(call KernelPackage,usb-dwc3-qcom))
495
496
497 define KernelPackage/usb-acm
498   TITLE:=Support for modems/isdn controllers
499   KCONFIG:=CONFIG_USB_ACM
500   FILES:=$(LINUX_DIR)/drivers/usb/class/cdc-acm.ko
501   AUTOLOAD:=$(call AutoProbe,cdc-acm)
502 $(call AddDepends/usb)
503 endef
504
505 define KernelPackage/usb-acm/description
506  Kernel support for USB ACM devices (modems/isdn controllers)
507 endef
508
509 $(eval $(call KernelPackage,usb-acm))
510
511
512 define KernelPackage/usb-wdm
513   TITLE:=USB Wireless Device Management
514   KCONFIG:=CONFIG_USB_WDM
515   FILES:=$(LINUX_DIR)/drivers/usb/class/cdc-wdm.ko
516   AUTOLOAD:=$(call AutoProbe,cdc-wdm)
517 $(call AddDepends/usb)
518 $(call AddDepends/usb-net)
519 endef
520
521 define KernelPackage/usb-wdm/description
522  USB Wireless Device Management support
523 endef
524
525 $(eval $(call KernelPackage,usb-wdm))
526
527
528 define KernelPackage/usb-audio
529   TITLE:=Support for USB audio devices
530   KCONFIG:= \
531         CONFIG_USB_AUDIO \
532         CONFIG_SND_USB=y \
533         CONFIG_SND_USB_AUDIO
534   $(call AddDepends/usb)
535   $(call AddDepends/sound)
536   FILES:= \
537         $(LINUX_DIR)/sound/usb/snd-usbmidi-lib.ko \
538         $(LINUX_DIR)/sound/usb/snd-usb-audio.ko
539   AUTOLOAD:=$(call AutoProbe,snd-usbmidi-lib snd-usb-audio)
540 endef
541
542 define KernelPackage/usb-audio/description
543  Kernel support for USB audio devices
544 endef
545
546 $(eval $(call KernelPackage,usb-audio))
547
548
549 define KernelPackage/usb-printer
550   TITLE:=Support for printers
551   KCONFIG:=CONFIG_USB_PRINTER
552   FILES:=$(LINUX_DIR)/drivers/usb/class/usblp.ko
553   AUTOLOAD:=$(call AutoProbe,usblp)
554   $(call AddDepends/usb)
555 endef
556
557 define KernelPackage/usb-printer/description
558  Kernel support for USB printers
559 endef
560
561 $(eval $(call KernelPackage,usb-printer))
562
563
564 define KernelPackage/usb-serial
565   TITLE:=Support for USB-to-Serial converters
566   KCONFIG:=CONFIG_USB_SERIAL
567   FILES:=$(LINUX_DIR)/drivers/usb/serial/usbserial.ko
568   AUTOLOAD:=$(call AutoProbe,usbserial)
569   $(call AddDepends/usb)
570 endef
571
572 define KernelPackage/usb-serial/description
573  Kernel support for USB-to-Serial converters
574 endef
575
576 $(eval $(call KernelPackage,usb-serial))
577
578
579 define AddDepends/usb-serial
580   SUBMENU:=$(USB_MENU)
581   DEPENDS+=+kmod-usb-serial $(1)
582 endef
583
584
585 define KernelPackage/usb-serial-belkin
586   TITLE:=Support for Belkin devices
587   KCONFIG:=CONFIG_USB_SERIAL_BELKIN
588   FILES:=$(LINUX_DIR)/drivers/usb/serial/belkin_sa.ko
589   AUTOLOAD:=$(call AutoProbe,belkin_sa)
590   $(call AddDepends/usb-serial)
591 endef
592
593 define KernelPackage/usb-serial-belkin/description
594  Kernel support for Belkin USB-to-Serial converters
595 endef
596
597 $(eval $(call KernelPackage,usb-serial-belkin))
598
599
600 define KernelPackage/usb-serial-ch341
601   TITLE:=Support for CH341 devices
602   KCONFIG:=CONFIG_USB_SERIAL_CH341
603   FILES:=$(LINUX_DIR)/drivers/usb/serial/ch341.ko
604   AUTOLOAD:=$(call AutoProbe,ch341)
605   $(call AddDepends/usb-serial)
606 endef
607
608 define KernelPackage/usb-serial-ch341/description
609  Kernel support for Winchiphead CH341 USB-to-Serial converters
610 endef
611
612 $(eval $(call KernelPackage,usb-serial-ch341))
613
614
615 define KernelPackage/usb-serial-edgeport
616   TITLE:=Support for Digi Edgeport devices
617   KCONFIG:=CONFIG_USB_SERIAL_EDGEPORT
618   FILES:=$(LINUX_DIR)/drivers/usb/serial/io_edgeport.ko
619   AUTOLOAD:=$(call AutoProbe,io_edgeport)
620   $(call AddDepends/usb-serial)
621   DEPENDS+=+edgeport-firmware
622 endef
623
624 define KernelPackage/usb-serial-edgeport/description
625  Kernel support for Inside Out Networks (Digi)
626         Edgeport/4
627         Rapidport/4
628         Edgeport/4t
629         Edgeport/2
630         Edgeport/4i
631         Edgeport/2i
632         Edgeport/421
633         Edgeport/21
634         Edgeport/8
635         Edgeport/8 Dual
636         Edgeport/2D8
637         Edgeport/4D8
638         Edgeport/8i
639         Edgeport/2 DIN
640         Edgeport/4 DIN
641         Edgeport/16 Dual
642 endef
643
644 $(eval $(call KernelPackage,usb-serial-edgeport))
645
646
647 define KernelPackage/usb-serial-ftdi
648   TITLE:=Support for FTDI devices
649   KCONFIG:=CONFIG_USB_SERIAL_FTDI_SIO
650   FILES:=$(LINUX_DIR)/drivers/usb/serial/ftdi_sio.ko
651   AUTOLOAD:=$(call AutoProbe,ftdi_sio)
652   $(call AddDepends/usb-serial)
653 endef
654
655 define KernelPackage/usb-serial-ftdi/description
656  Kernel support for FTDI USB-to-Serial converters
657 endef
658
659 $(eval $(call KernelPackage,usb-serial-ftdi))
660
661
662 define KernelPackage/usb-serial-garmin
663   TITLE:=Support for Garmin GPS devices
664   KCONFIG:=CONFIG_USB_SERIAL_GARMIN
665   FILES:=$(LINUX_DIR)/drivers/usb/serial/garmin_gps.ko
666   AUTOLOAD:=$(call AutoProbe,garmin_gps)
667   $(call AddDepends/usb-serial)
668 endef
669
670 define KernelPackage/usb-serial-garmin/description
671  Should work with most Garmin GPS devices which have a native USB port.
672 endef
673
674 $(eval $(call KernelPackage,usb-serial-garmin))
675
676
677 define KernelPackage/usb-serial-simple
678   TITLE:=USB Serial Simple (Motorola phone)
679   KCONFIG:=CONFIG_USB_SERIAL_SIMPLE
680   FILES:=$(LINUX_DIR)/drivers/usb/serial/usb-serial-simple.ko
681   AUTOLOAD:=$(call AutoProbe,usb-serial-simple)
682   $(call AddDepends/usb-serial)
683 endef
684
685 define KernelPackage/usb-serial-simple/description
686   Kernel support for "very simple devices".
687
688 Specifically, it supports:
689         - Suunto ANT+ USB device.
690         - Medtronic CareLink USB device (3.18)
691         - Fundamental Software dongle.
692         - Google USB serial devices (3.19)
693         - HP4x calculators
694         - a number of Motorola phones
695         - Novatel Wireless GPS receivers (3.18)
696         - Siemens USB/MPI adapter.
697         - ViVOtech ViVOpay USB device.
698         - Infineon Modem Flashloader USB interface
699         - ZIO Motherboard USB serial interface
700 endef
701
702 $(eval $(call KernelPackage,usb-serial-simple))
703
704
705 define KernelPackage/usb-serial-ti-usb
706   TITLE:=Support for TI USB 3410/5052
707   KCONFIG:=CONFIG_USB_SERIAL_TI
708   FILES:=$(LINUX_DIR)/drivers/usb/serial/ti_usb_3410_5052.ko
709   AUTOLOAD:=$(call AutoProbe,ti_usb_3410_5052)
710   $(call AddDepends/usb-serial)
711 endef
712
713 define KernelPackage/usb-serial-ti-usb/description
714  Kernel support for TI USB 3410/5052 devices
715 endef
716
717 $(eval $(call KernelPackage,usb-serial-ti-usb))
718
719
720 define KernelPackage/usb-serial-ipw
721   TITLE:=Support for IPWireless 3G devices
722   KCONFIG:=CONFIG_USB_SERIAL_IPW
723   FILES:=$(LINUX_DIR)/drivers/usb/serial/ipw.ko
724   AUTOLOAD:=$(call AutoProbe,ipw)
725   $(call AddDepends/usb-serial,+kmod-usb-serial-wwan)
726 endef
727
728 $(eval $(call KernelPackage,usb-serial-ipw))
729
730
731 define KernelPackage/usb-serial-mct
732   TITLE:=Support for Magic Control Tech. devices
733   KCONFIG:=CONFIG_USB_SERIAL_MCT_U232
734   FILES:=$(LINUX_DIR)/drivers/usb/serial/mct_u232.ko
735   AUTOLOAD:=$(call AutoProbe,mct_u232)
736   $(call AddDepends/usb-serial)
737 endef
738
739 define KernelPackage/usb-serial-mct/description
740  Kernel support for Magic Control Technology USB-to-Serial converters
741 endef
742
743 $(eval $(call KernelPackage,usb-serial-mct))
744
745
746 define KernelPackage/usb-serial-mos7720
747   TITLE:=Support for Moschip MOS7720 devices
748   KCONFIG:=CONFIG_USB_SERIAL_MOS7720
749   FILES:=$(LINUX_DIR)/drivers/usb/serial/mos7720.ko
750   AUTOLOAD:=$(call AutoProbe,mos7720)
751   $(call AddDepends/usb-serial)
752 endef
753
754 define KernelPackage/usb-serial-mos7720/description
755  Kernel support for Moschip MOS7720 USB-to-Serial converters
756 endef
757
758 $(eval $(call KernelPackage,usb-serial-mos7720))
759
760
761 define KernelPackage/usb-serial-mos7840
762   TITLE:=Support for Moschip MOS7840 devices
763   KCONFIG:=CONFIG_USB_SERIAL_MOS7840
764   FILES:=$(LINUX_DIR)/drivers/usb/serial/mos7840.ko
765   AUTOLOAD:=$(call AutoProbe,mos7840)
766   $(call AddDepends/usb-serial)
767 endef
768
769 define KernelPackage/usb-serial-mos7840/description
770  Kernel support for Moschip MOS7840 USB-to-Serial converters
771 endef
772
773 $(eval $(call KernelPackage,usb-serial-mos7840))
774
775
776 define KernelPackage/usb-serial-pl2303
777   TITLE:=Support for Prolific PL2303 devices
778   KCONFIG:=CONFIG_USB_SERIAL_PL2303
779   FILES:=$(LINUX_DIR)/drivers/usb/serial/pl2303.ko
780   AUTOLOAD:=$(call AutoProbe,pl2303)
781   $(call AddDepends/usb-serial)
782 endef
783
784 define KernelPackage/usb-serial-pl2303/description
785  Kernel support for Prolific PL2303 USB-to-Serial converters
786 endef
787
788 $(eval $(call KernelPackage,usb-serial-pl2303))
789
790
791 define KernelPackage/usb-serial-cp210x
792   TITLE:=Support for Silicon Labs cp210x devices
793   KCONFIG:=CONFIG_USB_SERIAL_CP210X
794   FILES:=$(LINUX_DIR)/drivers/usb/serial/cp210x.ko
795   AUTOLOAD:=$(call AutoProbe,cp210x)
796   $(call AddDepends/usb-serial)
797 endef
798
799 define KernelPackage/usb-serial-cp210x/description
800  Kernel support for Silicon Labs cp210x USB-to-Serial converters
801 endef
802
803 $(eval $(call KernelPackage,usb-serial-cp210x))
804
805
806 define KernelPackage/usb-serial-ark3116
807   TITLE:=Support for ArkMicroChips ARK3116 devices
808   KCONFIG:=CONFIG_USB_SERIAL_ARK3116
809   FILES:=$(LINUX_DIR)/drivers/usb/serial/ark3116.ko
810   AUTOLOAD:=$(call AutoProbe,ark3116)
811   $(call AddDepends/usb-serial)
812 endef
813
814 define KernelPackage/usb-serial-ark3116/description
815  Kernel support for ArkMicroChips ARK3116 USB-to-Serial converters
816 endef
817
818 $(eval $(call KernelPackage,usb-serial-ark3116))
819
820
821 define KernelPackage/usb-serial-oti6858
822   TITLE:=Support for Ours Technology OTI6858 devices
823   KCONFIG:=CONFIG_USB_SERIAL_OTI6858
824   FILES:=$(LINUX_DIR)/drivers/usb/serial/oti6858.ko
825   AUTOLOAD:=$(call AutoProbe,oti6858)
826   $(call AddDepends/usb-serial)
827 endef
828
829 define KernelPackage/usb-serial-oti6858/description
830  Kernel support for Ours Technology OTI6858 USB-to-Serial converters
831 endef
832
833 $(eval $(call KernelPackage,usb-serial-oti6858))
834
835
836 define KernelPackage/usb-serial-sierrawireless
837   TITLE:=Support for Sierra Wireless devices
838   KCONFIG:=CONFIG_USB_SERIAL_SIERRAWIRELESS
839   FILES:=$(LINUX_DIR)/drivers/usb/serial/sierra.ko
840   AUTOLOAD:=$(call AutoProbe,sierra)
841   $(call AddDepends/usb-serial)
842 endef
843
844 define KernelPackage/usb-serial-sierrawireless/description
845  Kernel support for Sierra Wireless devices
846 endef
847
848 $(eval $(call KernelPackage,usb-serial-sierrawireless))
849
850
851 define KernelPackage/usb-serial-visor
852   TITLE:=Support for Handspring Visor devices
853   KCONFIG:=CONFIG_USB_SERIAL_VISOR
854   FILES:=$(LINUX_DIR)/drivers/usb/serial/visor.ko
855   AUTOLOAD:=$(call AutoProbe,visor)
856   $(call AddDepends/usb-serial)
857 endef
858
859 define KernelPackage/usb-serial-visor/description
860  Kernel support for Handspring Visor PDAs
861 endef
862
863 $(eval $(call KernelPackage,usb-serial-visor))
864
865
866 define KernelPackage/usb-serial-cypress-m8
867   TITLE:=Support for CypressM8 USB-Serial
868   KCONFIG:=CONFIG_USB_SERIAL_CYPRESS_M8
869   FILES:=$(LINUX_DIR)/drivers/usb/serial/cypress_m8.ko
870   AUTOLOAD:=$(call AutoProbe,cypress_m8)
871   $(call AddDepends/usb-serial)
872 endef
873
874 define KernelPackage/usb-serial-cypress-m8/description
875  Kernel support for devices with Cypress M8 USB to Serial chip
876  (for example, the Delorme Earthmate LT-20 GPS)
877  Supported microcontrollers in the CY4601 family are:
878  CY7C63741 CY7C63742 CY7C63743 CY7C64013
879 endef
880
881 $(eval $(call KernelPackage,usb-serial-cypress-m8))
882
883
884 define KernelPackage/usb-serial-keyspan
885   TITLE:=Support for Keyspan USB-to-Serial devices
886   KCONFIG:= \
887         CONFIG_USB_SERIAL_KEYSPAN \
888         CONFIG_USB_SERIAL_KEYSPAN_USA28 \
889         CONFIG_USB_SERIAL_KEYSPAN_USA28X \
890         CONFIG_USB_SERIAL_KEYSPAN_USA28XA \
891         CONFIG_USB_SERIAL_KEYSPAN_USA28XB \
892         CONFIG_USB_SERIAL_KEYSPAN_USA19 \
893         CONFIG_USB_SERIAL_KEYSPAN_USA18X \
894         CONFIG_USB_SERIAL_KEYSPAN_USA19W \
895         CONFIG_USB_SERIAL_KEYSPAN_USA19QW \
896         CONFIG_USB_SERIAL_KEYSPAN_USA19QI \
897         CONFIG_USB_SERIAL_KEYSPAN_MPR \
898         CONFIG_USB_SERIAL_KEYSPAN_USA49W \
899         CONFIG_USB_SERIAL_KEYSPAN_USA49WLC
900   FILES:= \
901         $(LINUX_DIR)/drivers/usb/serial/keyspan.ko \
902         $(wildcard $(LINUX_DIR)/drivers/usb/misc/ezusb.ko)
903   AUTOLOAD:=$(call AutoProbe,ezusb keyspan)
904   $(call AddDepends/usb-serial)
905 endef
906
907 define KernelPackage/usb-serial-keyspan/description
908  Kernel support for Keyspan USB-to-Serial devices
909 endef
910
911 $(eval $(call KernelPackage,usb-serial-keyspan))
912
913
914 define KernelPackage/usb-serial-wwan
915   TITLE:=Support for GSM and CDMA modems
916   KCONFIG:=CONFIG_USB_SERIAL_WWAN
917   FILES:=$(LINUX_DIR)/drivers/usb/serial/usb_wwan.ko
918   HIDDEN:=1
919   AUTOLOAD:=$(call AutoProbe,usb_wwan)
920   $(call AddDepends/usb-serial)
921 endef
922
923 define KernelPackage/usb-serial-wwan/description
924  Kernel support for USB GSM and CDMA modems
925 endef
926
927 $(eval $(call KernelPackage,usb-serial-wwan))
928
929
930 define KernelPackage/usb-serial-option
931   TITLE:=Support for Option HSDPA modems
932   KCONFIG:=CONFIG_USB_SERIAL_OPTION
933   FILES:=$(LINUX_DIR)/drivers/usb/serial/option.ko
934   AUTOLOAD:=$(call AutoProbe,option)
935   $(call AddDepends/usb-serial,+kmod-usb-serial-wwan)
936 endef
937
938 define KernelPackage/usb-serial-option/description
939  Kernel support for Option HSDPA modems
940 endef
941
942 $(eval $(call KernelPackage,usb-serial-option))
943
944
945 define KernelPackage/usb-serial-qualcomm
946   TITLE:=Support for Qualcomm USB serial
947   KCONFIG:=CONFIG_USB_SERIAL_QUALCOMM
948   FILES:=$(LINUX_DIR)/drivers/usb/serial/qcserial.ko
949   AUTOLOAD:=$(call AutoProbe,qcserial)
950   $(call AddDepends/usb-serial,+kmod-usb-serial-wwan)
951 endef
952
953 define KernelPackage/usb-serial-qualcomm/description
954  Kernel support for Qualcomm USB Serial devices (Gobi)
955 endef
956
957 $(eval $(call KernelPackage,usb-serial-qualcomm))
958
959
960 define KernelPackage/usb-storage
961   TITLE:=USB Storage support
962   DEPENDS:= +kmod-scsi-core
963   KCONFIG:=CONFIG_USB_STORAGE
964   FILES:=$(LINUX_DIR)/drivers/usb/storage/usb-storage.ko
965   AUTOLOAD:=$(call AutoProbe,usb-storage,1)
966   $(call AddDepends/usb)
967 endef
968
969 define KernelPackage/usb-storage/description
970  Kernel support for USB Mass Storage devices
971 endef
972
973 $(eval $(call KernelPackage,usb-storage))
974
975
976 define KernelPackage/usb-storage-extras
977   SUBMENU:=$(USB_MENU)
978   TITLE:=Extra drivers for usb-storage
979   DEPENDS:=+kmod-usb-storage
980   KCONFIG:= \
981         CONFIG_USB_STORAGE_ALAUDA \
982         CONFIG_USB_STORAGE_CYPRESS_ATACB \
983         CONFIG_USB_STORAGE_DATAFAB \
984         CONFIG_USB_STORAGE_FREECOM \
985         CONFIG_USB_STORAGE_ISD200 \
986         CONFIG_USB_STORAGE_JUMPSHOT \
987         CONFIG_USB_STORAGE_KARMA \
988         CONFIG_USB_STORAGE_SDDR09 \
989         CONFIG_USB_STORAGE_SDDR55 \
990         CONFIG_USB_STORAGE_USBAT
991   FILES:= \
992         $(LINUX_DIR)/drivers/usb/storage/ums-alauda.ko \
993         $(LINUX_DIR)/drivers/usb/storage/ums-cypress.ko \
994         $(LINUX_DIR)/drivers/usb/storage/ums-datafab.ko \
995         $(LINUX_DIR)/drivers/usb/storage/ums-freecom.ko \
996         $(LINUX_DIR)/drivers/usb/storage/ums-isd200.ko \
997         $(LINUX_DIR)/drivers/usb/storage/ums-jumpshot.ko \
998         $(LINUX_DIR)/drivers/usb/storage/ums-karma.ko \
999         $(LINUX_DIR)/drivers/usb/storage/ums-sddr09.ko \
1000         $(LINUX_DIR)/drivers/usb/storage/ums-sddr55.ko \
1001         $(LINUX_DIR)/drivers/usb/storage/ums-usbat.ko
1002   AUTOLOAD:=$(call AutoProbe,ums-alauda ums-cypress ums-datafab \
1003                                 ums-freecom ums-isd200 ums-jumpshot \
1004                                 ums-karma ums-sddr09 ums-sddr55 ums-usbat)
1005 endef
1006
1007 define KernelPackage/usb-storage-extras/description
1008  Say Y here if you want to have some more drivers,
1009  such as for SmartMedia card readers
1010 endef
1011
1012 $(eval $(call KernelPackage,usb-storage-extras))
1013
1014
1015 define KernelPackage/usb-storage-uas
1016   SUBMENU:=$(USB_MENU)
1017   TITLE:=USB Attached SCSI (UASP) support
1018   DEPENDS:=+kmod-usb-storage
1019   KCONFIG:=CONFIG_USB_UAS
1020   FILES:=$(LINUX_DIR)/drivers/usb/storage/uas.ko
1021   AUTOLOAD:=$(call AutoProbe,uas,1)
1022 endef
1023
1024 define KernelPackage/usb-storage-uas/description
1025  Say Y here if you want to include support for
1026  USB Attached SCSI (UAS/UASP), a higher
1027  performance protocol available on many
1028  newer USB 3.0 storage devices
1029 endef
1030
1031 $(eval $(call KernelPackage,usb-storage-uas))
1032
1033
1034 define KernelPackage/usb-atm
1035   TITLE:=Support for ATM on USB bus
1036   DEPENDS:=+kmod-atm
1037   KCONFIG:=CONFIG_USB_ATM
1038   FILES:=$(LINUX_DIR)/drivers/usb/atm/usbatm.ko
1039   AUTOLOAD:=$(call AutoProbe,usbatm)
1040   $(call AddDepends/usb)
1041 endef
1042
1043 define KernelPackage/usb-atm/description
1044  Kernel support for USB DSL modems
1045 endef
1046
1047 $(eval $(call KernelPackage,usb-atm))
1048
1049
1050 define AddDepends/usb-atm
1051   SUBMENU:=$(USB_MENU)
1052   DEPENDS+=kmod-usb-atm $(1)
1053 endef
1054
1055
1056 define KernelPackage/usb-atm-speedtouch
1057   TITLE:=SpeedTouch USB ADSL modems support
1058   KCONFIG:=CONFIG_USB_SPEEDTOUCH
1059   FILES:=$(LINUX_DIR)/drivers/usb/atm/speedtch.ko
1060   AUTOLOAD:=$(call AutoProbe,speedtch)
1061   $(call AddDepends/usb-atm)
1062 endef
1063
1064 define KernelPackage/usb-atm-speedtouch/description
1065  Kernel support for SpeedTouch USB ADSL modems
1066 endef
1067
1068 $(eval $(call KernelPackage,usb-atm-speedtouch))
1069
1070
1071 define KernelPackage/usb-atm-ueagle
1072   TITLE:=Eagle 8051 based USB ADSL modems support
1073   FILES:=$(LINUX_DIR)/drivers/usb/atm/ueagle-atm.ko
1074   KCONFIG:=CONFIG_USB_UEAGLEATM
1075   AUTOLOAD:=$(call AutoProbe,ueagle-atm)
1076   $(call AddDepends/usb-atm)
1077 endef
1078
1079 define KernelPackage/usb-atm-ueagle/description
1080  Kernel support for Eagle 8051 based USB ADSL modems
1081 endef
1082
1083 $(eval $(call KernelPackage,usb-atm-ueagle))
1084
1085
1086 define KernelPackage/usb-atm-cxacru
1087   TITLE:=cxacru
1088   FILES:=$(LINUX_DIR)/drivers/usb/atm/cxacru.ko
1089   KCONFIG:=CONFIG_USB_CXACRU
1090   AUTOLOAD:=$(call AutoProbe,cxacru)
1091   $(call AddDepends/usb-atm)
1092 endef
1093
1094 define KernelPackage/usb-atm-cxacru/description
1095  Kernel support for cxacru based USB ADSL modems
1096 endef
1097
1098 $(eval $(call KernelPackage,usb-atm-cxacru))
1099
1100
1101 define KernelPackage/usb-net
1102   TITLE:=Kernel modules for USB-to-Ethernet convertors
1103   DEPENDS:=+kmod-mii
1104   KCONFIG:=CONFIG_USB_USBNET \
1105         CONFIG_USB_NET_DRIVERS
1106   AUTOLOAD:=$(call AutoProbe,usbnet)
1107   FILES:=$(LINUX_DIR)/drivers/$(USBNET_DIR)/usbnet.ko
1108   $(call AddDepends/usb)
1109 endef
1110
1111 define KernelPackage/usb-net/description
1112  Kernel modules for USB-to-Ethernet convertors
1113 endef
1114
1115 $(eval $(call KernelPackage,usb-net))
1116
1117
1118 define AddDepends/usb-net
1119   SUBMENU:=$(USB_MENU)
1120   DEPENDS+=+kmod-usb-net $(1)
1121 endef
1122
1123
1124 define KernelPackage/usb-net-aqc111
1125   TITLE:=Support for USB-to-Ethernet Aquantia AQtion 5/2.5GbE
1126   DEPENDS:=+kmod-libphy
1127   KCONFIG:=CONFIG_USB_NET_AQC111
1128   FILES:=$(LINUX_DIR)/drivers/$(USBNET_DIR)/aqc111.ko
1129   AUTOLOAD:=$(call AutoProbe,aqc111)
1130   $(call AddDepends/usb-net)
1131 endef
1132
1133 define KernelPackage/usb-net-aqc111/description
1134  Support for USB-to-Ethernet Aquantia AQtion 5/2.5GbE
1135 endef
1136
1137 $(eval $(call KernelPackage,usb-net-aqc111))
1138
1139
1140 define KernelPackage/usb-net-asix
1141   TITLE:=Kernel module for USB-to-Ethernet Asix convertors
1142   DEPENDS:=+kmod-libphy +LINUX_5_15:kmod-net-selftests +LINUX_5_15:kmod-mdio-devres
1143   KCONFIG:=CONFIG_USB_NET_AX8817X
1144   FILES:=$(LINUX_DIR)/drivers/$(USBNET_DIR)/asix.ko
1145   AUTOLOAD:=$(call AutoProbe,asix)
1146   $(call AddDepends/usb-net)
1147 endef
1148
1149 define KernelPackage/usb-net-asix/description
1150  Kernel module for USB-to-Ethernet Asix convertors
1151 endef
1152
1153 $(eval $(call KernelPackage,usb-net-asix))
1154
1155
1156 define KernelPackage/usb-net-asix-ax88179
1157   TITLE:=Kernel module for USB-to-Gigabit-Ethernet Asix convertors
1158   DEPENDS:=+kmod-libphy
1159   KCONFIG:=CONFIG_USB_NET_AX88179_178A
1160   FILES:=$(LINUX_DIR)/drivers/$(USBNET_DIR)/ax88179_178a.ko
1161   AUTOLOAD:=$(call AutoProbe,ax88179_178a)
1162   $(call AddDepends/usb-net)
1163 endef
1164
1165 define KernelPackage/usb-net-asix-ax88179/description
1166  Kernel module for USB-to-Ethernet ASIX AX88179 based USB 3.0/2.0
1167  to Gigabit Ethernet adapters.
1168 endef
1169
1170 $(eval $(call KernelPackage,usb-net-asix-ax88179))
1171
1172
1173 define KernelPackage/usb-net-hso
1174   TITLE:=Kernel module for Option USB High Speed Mobile Devices
1175   KCONFIG:=CONFIG_USB_HSO
1176   FILES:= \
1177         $(LINUX_DIR)/drivers/$(USBNET_DIR)/hso.ko
1178   AUTOLOAD:=$(call AutoProbe,hso)
1179   $(call AddDepends/usb-net)
1180   $(call AddDepends/rfkill)
1181 endef
1182
1183 define KernelPackage/usb-net-hso/description
1184  Kernel module for Option USB High Speed Mobile Devices
1185 endef
1186
1187 $(eval $(call KernelPackage,usb-net-hso))
1188
1189
1190 define KernelPackage/usb-net-kaweth
1191   TITLE:=Kernel module for USB-to-Ethernet Kaweth convertors
1192   KCONFIG:=CONFIG_USB_KAWETH
1193   FILES:=$(LINUX_DIR)/drivers/$(USBNET_DIR)/kaweth.ko
1194   AUTOLOAD:=$(call AutoProbe,kaweth)
1195   $(call AddDepends/usb-net)
1196 endef
1197
1198 define KernelPackage/usb-net-kaweth/description
1199  Kernel module for USB-to-Ethernet Kaweth convertors
1200 endef
1201
1202 $(eval $(call KernelPackage,usb-net-kaweth))
1203
1204
1205 define KernelPackage/usb-net-lan78xx
1206   TITLE:=USB-To-Ethernet Microchip LAN78XX convertors
1207   DEPENDS:=+kmod-fixed-phy +kmod-phy-microchip +PACKAGE_kmod-of-mdio:kmod-of-mdio
1208   KCONFIG:=CONFIG_USB_LAN78XX
1209   FILES:=$(LINUX_DIR)/drivers/$(USBNET_DIR)/lan78xx.ko
1210   AUTOLOAD:=$(call AutoProbe,lan78xx)
1211   $(call AddDepends/usb-net)
1212 endef
1213
1214 define KernelPackage/usb-net-lan78xx/description
1215  Kernel module for Microchip LAN78XX based USB 2 & USB 3
1216  10/100/1000 Ethernet adapters.
1217 endef
1218
1219 $(eval $(call KernelPackage,usb-net-lan78xx))
1220
1221
1222 define KernelPackage/usb-net-pegasus
1223   TITLE:=Kernel module for USB-to-Ethernet Pegasus convertors
1224   KCONFIG:=CONFIG_USB_PEGASUS
1225   FILES:=$(LINUX_DIR)/drivers/$(USBNET_DIR)/pegasus.ko
1226   AUTOLOAD:=$(call AutoProbe,pegasus)
1227   $(call AddDepends/usb-net)
1228 endef
1229
1230 define KernelPackage/usb-net-pegasus/description
1231  Kernel module for USB-to-Ethernet Pegasus convertors
1232 endef
1233
1234 $(eval $(call KernelPackage,usb-net-pegasus))
1235
1236
1237 define KernelPackage/usb-net-mcs7830
1238   TITLE:=Kernel module for USB-to-Ethernet MCS7830 convertors
1239   KCONFIG:=CONFIG_USB_NET_MCS7830
1240   FILES:=$(LINUX_DIR)/drivers/$(USBNET_DIR)/mcs7830.ko
1241   AUTOLOAD:=$(call AutoProbe,mcs7830)
1242   $(call AddDepends/usb-net)
1243 endef
1244
1245 define KernelPackage/usb-net-mcs7830/description
1246  Kernel module for USB-to-Ethernet MCS7830 convertors
1247 endef
1248
1249 $(eval $(call KernelPackage,usb-net-mcs7830))
1250
1251
1252 define KernelPackage/usb-net-smsc75xx
1253   TITLE:=SMSC LAN75XX based USB 2.0 Gigabit ethernet devices
1254   DEPENDS:=+!LINUX_5_4:kmod-libphy
1255   KCONFIG:=CONFIG_USB_NET_SMSC75XX
1256   FILES:=$(LINUX_DIR)/drivers/$(USBNET_DIR)/smsc75xx.ko
1257   AUTOLOAD:=$(call AutoProbe,smsc75xx)
1258   $(call AddDepends/usb-net, +kmod-lib-crc16)
1259 endef
1260
1261 define KernelPackage/usb-net-smsc75xx/description
1262  Kernel module for SMSC LAN75XX based devices
1263 endef
1264
1265 $(eval $(call KernelPackage,usb-net-smsc75xx))
1266
1267
1268 define KernelPackage/usb-net-smsc95xx
1269   TITLE:=SMSC LAN95XX based USB 2.0 10/100 ethernet devices
1270   DEPENDS:=+(LINUX_5_10||LINUX_5_15):kmod-libphy
1271   KCONFIG:=CONFIG_USB_NET_SMSC95XX
1272   FILES:=$(LINUX_DIR)/drivers/$(USBNET_DIR)/smsc95xx.ko
1273   AUTOLOAD:=$(call AutoProbe,smsc95xx)
1274   $(call AddDepends/usb-net, +kmod-lib-crc16)
1275 endef
1276
1277 define KernelPackage/usb-net-smsc95xx/description
1278  Kernel module for SMSC LAN95XX based devices
1279 endef
1280
1281 $(eval $(call KernelPackage,usb-net-smsc95xx))
1282
1283
1284 define KernelPackage/usb-net-dm9601-ether
1285   TITLE:=Support for DM9601 ethernet connections
1286   KCONFIG:=CONFIG_USB_NET_DM9601
1287   FILES:=$(LINUX_DIR)/drivers/$(USBNET_DIR)/dm9601.ko
1288   AUTOLOAD:=$(call AutoProbe,dm9601)
1289   $(call AddDepends/usb-net)
1290 endef
1291
1292 define KernelPackage/usb-net-dm9601-ether/description
1293  Kernel support for USB DM9601 devices
1294 endef
1295
1296 $(eval $(call KernelPackage,usb-net-dm9601-ether))
1297
1298 define KernelPackage/usb-net-cdc-ether
1299   TITLE:=Support for cdc ethernet connections
1300   KCONFIG:=CONFIG_USB_NET_CDCETHER
1301   FILES:=$(LINUX_DIR)/drivers/$(USBNET_DIR)/cdc_ether.ko
1302   AUTOLOAD:=$(call AutoProbe,cdc_ether)
1303   $(call AddDepends/usb-net)
1304 endef
1305
1306 define KernelPackage/usb-net-cdc-ether/description
1307  Kernel support for USB CDC Ethernet devices
1308 endef
1309
1310 $(eval $(call KernelPackage,usb-net-cdc-ether))
1311
1312
1313 define KernelPackage/usb-net-cdc-eem
1314   TITLE:=Support for CDC EEM connections
1315   KCONFIG:=CONFIG_USB_NET_CDC_EEM
1316   FILES:=$(LINUX_DIR)/drivers/$(USBNET_DIR)/cdc_eem.ko
1317   AUTOLOAD:=$(call AutoProbe,cdc_eem)
1318   $(call AddDepends/usb-net)
1319 endef
1320
1321 define KernelPackage/usb-net-cdc-eem/description
1322  Kernel support for USB CDC EEM
1323 endef
1324
1325 $(eval $(call KernelPackage,usb-net-cdc-eem))
1326
1327
1328 define KernelPackage/usb-net-cdc-subset
1329   TITLE:=Support for CDC Ethernet subset connections
1330   KCONFIG:= \
1331         CONFIG_USB_NET_CDC_SUBSET \
1332         CONFIG_USB_ARMLINUX
1333   FILES:=$(LINUX_DIR)/drivers/$(USBNET_DIR)/cdc_subset.ko
1334   AUTOLOAD:=$(call AutoProbe,cdc_subset)
1335   $(call AddDepends/usb-net)
1336 endef
1337
1338 define KernelPackage/usb-net-cdc-subset/description
1339  Kernel support for Simple USB Network Links (CDC Ethernet subset)
1340 endef
1341
1342 $(eval $(call KernelPackage,usb-net-cdc-subset))
1343
1344
1345 define KernelPackage/usb-net-qmi-wwan
1346   TITLE:=QMI WWAN driver
1347   KCONFIG:=CONFIG_USB_NET_QMI_WWAN
1348   FILES:= $(LINUX_DIR)/drivers/$(USBNET_DIR)/qmi_wwan.ko
1349   AUTOLOAD:=$(call AutoProbe,qmi_wwan)
1350   $(call AddDepends/usb-net,+kmod-usb-wdm)
1351 endef
1352
1353 define KernelPackage/usb-net-qmi-wwan/description
1354  QMI WWAN driver for Qualcomm MSM based 3G and LTE modems
1355 endef
1356
1357 $(eval $(call KernelPackage,usb-net-qmi-wwan))
1358
1359
1360 define KernelPackage/usb-net-rtl8150
1361   TITLE:=Kernel module for USB-to-Ethernet Realtek convertors
1362   KCONFIG:=CONFIG_USB_RTL8150
1363   FILES:=$(LINUX_DIR)/drivers/$(USBNET_DIR)/rtl8150.ko
1364   AUTOLOAD:=$(call AutoProbe,rtl8150)
1365   $(call AddDepends/usb-net)
1366 endef
1367
1368 define KernelPackage/usb-net-rtl8150/description
1369  Kernel module for USB-to-Ethernet Realtek 8150 convertors
1370 endef
1371
1372 $(eval $(call KernelPackage,usb-net-rtl8150))
1373
1374
1375 define KernelPackage/usb-net-rtl8152
1376   TITLE:=Kernel module for USB-to-Ethernet Realtek convertors
1377   DEPENDS:=+r8152-firmware +kmod-crypto-sha256 +kmod-usb-net-cdc-ncm
1378   KCONFIG:=CONFIG_USB_RTL8152
1379   FILES:=$(LINUX_DIR)/drivers/$(USBNET_DIR)/r8152.ko
1380   AUTOLOAD:=$(call AutoProbe,r8152)
1381   $(call AddDepends/usb-net, +LINUX_5_10:kmod-crypto-hash)
1382 endef
1383
1384 define KernelPackage/usb-net-rtl8152/description
1385  Kernel module for USB-to-Ethernet Realtek 8152 USB2.0/3.0 convertors
1386 endef
1387
1388 $(eval $(call KernelPackage,usb-net-rtl8152))
1389
1390
1391 define KernelPackage/usb-net-sr9700
1392   TITLE:=Support for CoreChip SR9700 ethernet devices
1393   KCONFIG:=CONFIG_USB_NET_SR9700
1394   FILES:=$(LINUX_DIR)/drivers/$(USBNET_DIR)/sr9700.ko
1395   AUTOLOAD:=$(call AutoProbe,sr9700)
1396   $(call AddDepends/usb-net)
1397 endef
1398
1399 define KernelPackage/usb-net-sr9700/description
1400  Kernel module for CoreChip-sz SR9700 based USB 1.1 10/100 ethernet devices
1401 endef
1402
1403 $(eval $(call KernelPackage,usb-net-sr9700))
1404
1405
1406 define KernelPackage/usb-net-rndis
1407   TITLE:=Support for RNDIS connections
1408   KCONFIG:=CONFIG_USB_NET_RNDIS_HOST
1409   FILES:= $(LINUX_DIR)/drivers/$(USBNET_DIR)/rndis_host.ko
1410   AUTOLOAD:=$(call AutoProbe,rndis_host)
1411   $(call AddDepends/usb-net,+kmod-usb-net-cdc-ether)
1412 endef
1413
1414 define KernelPackage/usb-net-rndis/description
1415  Kernel support for RNDIS connections
1416 endef
1417
1418 $(eval $(call KernelPackage,usb-net-rndis))
1419
1420
1421 define KernelPackage/usb-net-cdc-mbim
1422   SUBMENU:=$(USB_MENU)
1423   TITLE:=Kernel module for MBIM Devices
1424   KCONFIG:=CONFIG_USB_NET_CDC_MBIM
1425   FILES:= \
1426    $(LINUX_DIR)/drivers/$(USBNET_DIR)/cdc_mbim.ko
1427   AUTOLOAD:=$(call AutoProbe,cdc_mbim)
1428   $(call AddDepends/usb-net,+kmod-usb-wdm +kmod-usb-net-cdc-ncm)
1429 endef
1430
1431 define KernelPackage/usb-net-cdc-mbim/description
1432  Kernel module for CDC MBIM (Mobile Broadband Interface Model) devices
1433 endef
1434
1435 $(eval $(call KernelPackage,usb-net-cdc-mbim))
1436
1437
1438 define KernelPackage/usb-net-cdc-ncm
1439   TITLE:=Support for CDC NCM connections
1440   KCONFIG:=CONFIG_USB_NET_CDC_NCM
1441   FILES:= $(LINUX_DIR)/drivers/$(USBNET_DIR)/cdc_ncm.ko
1442   AUTOLOAD:=$(call AutoProbe,cdc_ncm)
1443   $(call AddDepends/usb-net,+!LINUX_5_4:kmod-usb-net-cdc-ether)
1444 endef
1445
1446 define KernelPackage/usb-net-cdc-ncm/description
1447  Kernel support for CDC NCM connections
1448 endef
1449
1450 $(eval $(call KernelPackage,usb-net-cdc-ncm))
1451
1452
1453 define KernelPackage/usb-net-huawei-cdc-ncm
1454   TITLE:=Support for Huawei CDC NCM connections
1455   KCONFIG:=CONFIG_USB_NET_HUAWEI_CDC_NCM
1456   FILES:= $(LINUX_DIR)/drivers/$(USBNET_DIR)/huawei_cdc_ncm.ko
1457   AUTOLOAD:=$(call AutoProbe,huawei_cdc_ncm)
1458   $(call AddDepends/usb-net,+kmod-usb-net-cdc-ncm +kmod-usb-wdm)
1459 endef
1460
1461 define KernelPackage/usb-net-huawei-cdc-ncm/description
1462  Kernel support for Huawei CDC NCM connections
1463 endef
1464
1465 $(eval $(call KernelPackage,usb-net-huawei-cdc-ncm))
1466
1467
1468 define KernelPackage/usb-net-sierrawireless
1469   TITLE:=Support for Sierra Wireless devices
1470   KCONFIG:=CONFIG_USB_SIERRA_NET
1471   FILES:=$(LINUX_DIR)/drivers/net/usb/sierra_net.ko
1472   AUTOLOAD:=$(call AutoProbe,sierra_net)
1473   $(call AddDepends/usb-net)
1474 endef
1475
1476 define KernelPackage/usb-net-sierrawireless/description
1477  Kernel support for Sierra Wireless devices
1478 endef
1479
1480 $(eval $(call KernelPackage,usb-net-sierrawireless))
1481
1482
1483 define KernelPackage/usb-net-ipheth
1484   TITLE:=Apple iPhone USB Ethernet driver
1485   KCONFIG:=CONFIG_USB_IPHETH
1486   FILES:=$(LINUX_DIR)/drivers/net/usb/ipheth.ko
1487   AUTOLOAD:=$(call AutoProbe,ipheth)
1488   $(call AddDepends/usb-net)
1489 endef
1490
1491 define KernelPackage/usb-net-ipheth/description
1492  Kernel support for Apple iPhone USB Ethernet driver
1493 endef
1494
1495 $(eval $(call KernelPackage,usb-net-ipheth))
1496
1497
1498 define KernelPackage/usb-net-kalmia
1499   TITLE:=Samsung Kalmia based LTE USB modem
1500   KCONFIG:=CONFIG_USB_NET_KALMIA
1501   FILES:=$(LINUX_DIR)/drivers/net/usb/kalmia.ko
1502   AUTOLOAD:=$(call AutoProbe,kalmia)
1503   $(call AddDepends/usb-net)
1504 endef
1505
1506 define KernelPackage/usb-net-kalmia/description
1507  Kernel support for Samsung Kalmia based LTE USB modem
1508 endef
1509
1510 $(eval $(call KernelPackage,usb-net-kalmia))
1511
1512 define KernelPackage/usb-net-pl
1513   TITLE:=Prolific PL-2301/2302/25A1 based cables
1514   KCONFIG:=CONFIG_USB_NET_PLUSB
1515   FILES:=$(LINUX_DIR)/drivers/net/usb/plusb.ko
1516   AUTOLOAD:=$(call AutoProbe,plusb)
1517   $(call AddDepends/usb-net)
1518 endef
1519
1520 define KernelPackage/usb-net-pl/description
1521  Kernel support for Prolific PL-2301/2302/25A1 based cables
1522 endef
1523
1524 $(eval $(call KernelPackage,usb-net-pl))
1525
1526 define KernelPackage/usb-hid
1527   TITLE:=Support for USB Human Input Devices
1528   KCONFIG:=CONFIG_HID_SUPPORT=y CONFIG_USB_HID CONFIG_USB_HIDDEV=y
1529   DEPENDS:=+kmod-hid +kmod-hid-generic +kmod-input-evdev
1530   FILES:=$(LINUX_DIR)/drivers/$(USBHID_DIR)/usbhid.ko
1531   AUTOLOAD:=$(call AutoProbe,usbhid)
1532   $(call AddDepends/usb)
1533 endef
1534
1535 define KernelPackage/usb-hid/description
1536  Kernel support for USB HID devices such as keyboards and mice
1537 endef
1538
1539 $(eval $(call KernelPackage,usb-hid))
1540
1541
1542 define KernelPackage/usb-hid-cp2112
1543   SUBMENU:=$(USB_MENU)
1544   TITLE:=Silicon Labs CP2112 HID USB to SMBus Master Bridge
1545   KCONFIG:=CONFIG_GPIOLIB=y CONFIG_HID_CP2112
1546   DEPENDS:=+kmod-usb-hid +kmod-i2c-core
1547   FILES:=$(LINUX_DIR)/drivers/hid/hid-cp2112.ko
1548   AUTOLOAD:=$(call AutoProbe,hid-cp2112)
1549 endef
1550
1551 define KernelPackage/usb-hid-cp2112/description
1552  HID device driver which registers as an i2c adapter and gpiochip to expose
1553  these functions of the CP2112.
1554 endef
1555
1556 $(eval $(call KernelPackage,usb-hid-cp2112))
1557
1558
1559 define KernelPackage/usb-yealink
1560   TITLE:=USB Yealink VOIP phone
1561   DEPENDS:=+kmod-input-evdev
1562   KCONFIG:=CONFIG_USB_YEALINK CONFIG_INPUT_YEALINK CONFIG_INPUT=m CONFIG_INPUT_MISC=y
1563   FILES:=$(LINUX_DIR)/drivers/$(USBINPUT_DIR)/yealink.ko
1564   AUTOLOAD:=$(call AutoProbe,yealink)
1565   $(call AddDepends/usb)
1566 endef
1567
1568 define KernelPackage/usb-yealink/description
1569  Kernel support for Yealink VOIP phone
1570 endef
1571
1572 $(eval $(call KernelPackage,usb-yealink))
1573
1574
1575 define KernelPackage/usb-cm109
1576   TITLE:=Support for CM109 device
1577   DEPENDS:=+kmod-input-evdev
1578   KCONFIG:=CONFIG_USB_CM109 CONFIG_INPUT_CM109 CONFIG_INPUT=m CONFIG_INPUT_MISC=y
1579   FILES:=$(LINUX_DIR)/drivers/$(USBINPUT_DIR)/cm109.ko
1580   AUTOLOAD:=$(call AutoProbe,cm109)
1581   $(call AddDepends/usb)
1582 endef
1583
1584 define KernelPackage/usb-cm109/description
1585  Kernel support for CM109 VOIP phone
1586 endef
1587
1588 $(eval $(call KernelPackage,usb-cm109))
1589
1590
1591 define KernelPackage/usb-test
1592   TITLE:=USB Testing Driver
1593   DEPENDS:=@DEVEL
1594   KCONFIG:=CONFIG_USB_TEST
1595   FILES:=$(LINUX_DIR)/drivers/usb/misc/usbtest.ko
1596   $(call AddDepends/usb)
1597 endef
1598
1599 define KernelPackage/usb-test/description
1600  Kernel support for testing USB Host Controller software
1601 endef
1602
1603 $(eval $(call KernelPackage,usb-test))
1604
1605
1606 define KernelPackage/usbip
1607   TITLE := USB-over-IP kernel support
1608   KCONFIG:= \
1609         CONFIG_USBIP_CORE \
1610         CONFIG_USBIP_DEBUG=n
1611   FILES:=$(LINUX_DIR)/drivers/usb/usbip/usbip-core.ko
1612   AUTOLOAD:=$(call AutoProbe,usbip-core)
1613   $(call AddDepends/usb)
1614 endef
1615
1616 $(eval $(call KernelPackage,usbip))
1617
1618
1619 define KernelPackage/usbip-client
1620   TITLE := USB-over-IP client driver
1621   DEPENDS := +kmod-usbip
1622   KCONFIG := CONFIG_USBIP_VHCI_HCD
1623   FILES :=$(LINUX_DIR)/drivers/usb/usbip/vhci-hcd.ko
1624   AUTOLOAD := $(call AutoProbe,vhci-hcd)
1625   $(call AddDepends/usb)
1626 endef
1627
1628 $(eval $(call KernelPackage,usbip-client))
1629
1630
1631 define KernelPackage/usbip-server
1632 $(call KernelPackage/usbip/Default)
1633   TITLE := USB-over-IP host driver
1634   DEPENDS := +kmod-usbip
1635   KCONFIG := CONFIG_USBIP_HOST
1636   FILES :=$(LINUX_DIR)/drivers/usb/usbip/usbip-host.ko
1637   AUTOLOAD := $(call AutoProbe,usbip-host)
1638   $(call AddDepends/usb)
1639 endef
1640
1641 $(eval $(call KernelPackage,usbip-server))
1642
1643 define KernelPackage/usb-chipidea
1644   TITLE:=Host and device support for Chipidea controllers
1645   DEPENDS:=+USB_GADGET_SUPPORT:kmod-usb-gadget @TARGET_ath79 +kmod-usb-ehci +kmod-usb-phy-nop +kmod-usb-roles
1646   KCONFIG:= \
1647         CONFIG_EXTCON \
1648         CONFIG_USB_CHIPIDEA \
1649         CONFIG_USB_CHIPIDEA_GENERIC \
1650         CONFIG_USB_CHIPIDEA_HOST=y \
1651         CONFIG_USB_CHIPIDEA_UDC=y \
1652         CONFIG_USB_CHIPIDEA_DEBUG=y
1653   FILES:= \
1654         $(LINUX_DIR)/drivers/extcon/extcon-core.ko \
1655         $(LINUX_DIR)/drivers/usb/chipidea/ci_hdrc.ko \
1656         $(LINUX_DIR)/drivers/usb/common/ulpi.ko
1657   AUTOLOAD:=$(call AutoLoad,39,ci_hdrc,1)
1658   $(call AddDepends/usb)
1659 endef
1660
1661 define KernelPackage/usb-chipidea/description
1662  Kernel support for USB Chipidea controllers
1663 endef
1664
1665 $(eval $(call KernelPackage,usb-chipidea))
1666
1667
1668 define KernelPackage/usb-chipidea2
1669   TITLE:=Host and device support for Chipidea2 controllers
1670   DEPENDS:=+kmod-usb-chipidea
1671   KCONFIG:= \
1672         CONFIG_EXTCON \
1673         CONFIG_USB_CHIPIDEA \
1674         CONFIG_USB_CHIPIDEA_HOST=y \
1675         CONFIG_USB_CHIPIDEA_UDC=y \
1676         CONFIG_USB_CHIPIDEA_DEBUG=y
1677   FILES:= \
1678         $(LINUX_DIR)/drivers/extcon/extcon-core.ko \
1679         $(LINUX_DIR)/drivers/usb/chipidea/ci_hdrc_usb2.ko
1680   AUTOLOAD:=$(call AutoLoad,39,ci_hdrc_usb2,1)
1681   $(call AddDepends/usb)
1682 endef
1683
1684 define KernelPackage/usb-chipidea2/description
1685  Kernel support for USB Chipidea controllers
1686 endef
1687
1688 $(eval $(call KernelPackage,usb-chipidea2))
1689
1690
1691 define KernelPackage/usbmon
1692   TITLE:=USB traffic monitor
1693   KCONFIG:=CONFIG_USB_MON
1694   $(call AddDepends/usb)
1695   FILES:=$(LINUX_DIR)/drivers/usb/mon/usbmon.ko
1696   AUTOLOAD:=$(call AutoProbe,usbmon)
1697 endef
1698
1699 define KernelPackage/usbmon/description
1700  Kernel support for USB traffic monitoring
1701 endef
1702
1703 $(eval $(call KernelPackage,usbmon))
1704
1705 XHCI_MODULES := xhci-pci xhci-plat-hcd
1706 XHCI_FILES := $(wildcard $(patsubst %,$(LINUX_DIR)/drivers/usb/host/%.ko,$(XHCI_MODULES)))
1707 XHCI_AUTOLOAD := $(patsubst $(LINUX_DIR)/drivers/usb/host/%.ko,%,$(XHCI_FILES))
1708
1709 define KernelPackage/usb3
1710   TITLE:=Support for USB3 controllers
1711   DEPENDS:= \
1712         +kmod-usb-xhci-hcd \
1713         +TARGET_bcm53xx:kmod-usb-bcma \
1714         +TARGET_bcm53xx:kmod-phy-bcm-ns-usb3 \
1715         +TARGET_ramips_mt7621:kmod-usb-xhci-mtk \
1716         +TARGET_apm821xx_nand:kmod-usb-xhci-pci-renesas \
1717         +TARGET_mvebu_cortexa9:kmod-usb-xhci-pci-renesas
1718   KCONFIG:= \
1719         CONFIG_USB_PCI=y \
1720         CONFIG_USB_XHCI_PCI \
1721         CONFIG_USB_XHCI_PLATFORM
1722   FILES:= \
1723         $(XHCI_FILES)
1724   AUTOLOAD:=$(call AutoLoad,54,$(XHCI_AUTOLOAD),1)
1725   $(call AddDepends/usb)
1726 endef
1727
1728 define KernelPackage/usb3/description
1729  Kernel support for USB3 (XHCI) controllers
1730 endef
1731
1732 $(eval $(call KernelPackage,usb3))
1733
1734
1735 define KernelPackage/usb-net2280
1736   TITLE:=Support for NetChip 228x PCI USB peripheral controller
1737   KCONFIG:= \
1738         CONFIG_USB_PCI=y \
1739         CONFIG_USB_NET2280
1740   DEPENDS:=@PCI_SUPPORT +kmod-usb-gadget
1741   FILES:=$(LINUX_DIR)/drivers/usb/gadget/udc/net2280.ko
1742   AUTOLOAD:=$(call AutoLoad,46,net2280)
1743   $(call AddDepends/usb)
1744 endef
1745
1746 define KernelPackage/usb-net2280/description
1747   Kernel support for NetChip 228x / PLX USB338x PCI USB peripheral controller.
1748 endef
1749
1750 $(eval $(call KernelPackage,usb-net2280))
1751
1752 define KernelPackage/usb-roles
1753   TITLE:=USB Role Switch Library Module
1754   KCONFIG:=CONFIG_USB_ROLE_SWITCH
1755   HIDDEN:=1
1756   FILES:=$(LINUX_DIR)/drivers/usb/roles/roles.ko
1757   $(call AddDepends/usb)
1758 endef
1759
1760 define KernelPackage/usb-roles/description
1761   Support for USB Role Switch
1762 endef
1763
1764 $(eval $(call KernelPackage,usb-roles))
1765
1766
1767 define KernelPackage/usb-xhci-hcd
1768   TITLE:=xHCI HCD (USB 3.0) support
1769   KCONFIG:= \
1770           CONFIG_USB_XHCI_HCD \
1771           CONFIG_USB_XHCI_HCD_DEBUGGING=n
1772   HIDDEN:=1
1773   FILES:=$(LINUX_DIR)/drivers/usb/host/xhci-hcd.ko
1774   AUTOLOAD:=$(call AutoLoad,54,xhci-hcd,1)
1775   $(call AddDepends/usb)
1776 endef
1777
1778 define KernelPackage/usb-xhci-hcd/description
1779   The eXtensible Host Controller Interface (xHCI) is standard for USB 3.0
1780   "SuperSpeed" host controller hardware.
1781 endef
1782
1783 $(eval $(call KernelPackage,usb-xhci-hcd))
1784
1785
1786 define KernelPackage/usb-xhci-mtk
1787   TITLE:=xHCI support for MediaTek SoCs
1788   DEPENDS:=+kmod-usb-xhci-hcd
1789   KCONFIG:=CONFIG_USB_XHCI_MTK
1790   HIDDEN:=1
1791   FILES:= \
1792          $(LINUX_DIR)/drivers/usb/host/xhci-mtk.ko@lt5.13 \
1793          $(LINUX_DIR)/drivers/usb/host/xhci-mtk-hcd.ko@ge5.13
1794   AUTOLOAD:=$(call AutoLoad,54,xhci-mtk@lt5.13 xhci-mtk-hcd@gt5.13,1)
1795   $(call AddDepends/usb)
1796 endef
1797
1798 define KernelPackage/usb-xhci-mtk/description
1799   Kernel support for the xHCI host controller found in MediaTek SoCs.
1800 endef
1801
1802 $(eval $(call KernelPackage,usb-xhci-mtk))
1803
1804
1805 define KernelPackage/usb-xhci-pci-renesas
1806   TITLE:=Support for additional Renesas xHCI controller with firmware
1807   KCONFIG:=CONFIG_USB_XHCI_PCI_RENESAS
1808   HIDDEN:=1
1809   FILES:=$(LINUX_DIR)/drivers/usb/host/xhci-pci-renesas.ko
1810   AUTOLOAD:=$(call AutoLoad,54,xhci-pci-renesas,1)
1811   $(call AddDepends/usb)
1812 endef
1813
1814 define KernelPackage/usb-xhci-pci-renesas/description
1815   Kernel support for the Renesas xHCI controller with firmware. Make sure you have
1816   the firwmare for the device and installed on your system for this device to work.
1817 endef
1818
1819 $(eval $(call KernelPackage,usb-xhci-pci-renesas))
1820
1821
1822 define KernelPackage/chaoskey
1823   SUBMENU:=$(USB_MENU)
1824   TITLE:=Chaoskey hardware RNG support
1825   DEPENDS:=+kmod-random-core
1826   KCONFIG:=CONFIG_USB_CHAOSKEY
1827   FILES:=$(LINUX_DIR)/drivers/usb/misc/chaoskey.ko
1828   AUTOLOAD:=$(call AutoProbe,chaoskey)
1829   $(call AddDepends/usb)
1830 endef
1831
1832 define KernelPackage/chaoskey/description
1833   Kernel module for chaoskey, USB attached true random number generator
1834 endef
1835
1836 $(eval $(call KernelPackage,chaoskey))
1837