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