imx6: enable the chipidea usb driver in the kernel config instead of packaging it
[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_bcm53xx:kmod-phy-bcm-ns-usb2 \
468         +TARGET_mpc85xx:kmod-usb2-fsl
469   KCONFIG:=\
470         CONFIG_USB_EHCI_HCD \
471         CONFIG_USB_EHCI_ATH79=y \
472         CONFIG_USB_EHCI_BCM63XX=y \
473         CONFIG_USB_IMX21_HCD=y \
474         CONFIG_USB_EHCI_MXC=y \
475         CONFIG_USB_OCTEON_EHCI=y \
476         CONFIG_USB_EHCI_HCD_ORION=y \
477         CONFIG_USB_EHCI_HCD_PLATFORM=y \
478         CONFIG_USB_EHCI_HCD_AT91=y \
479         CONFIG_USB_EHCI_FSL
480   FILES:= \
481         $(LINUX_DIR)/drivers/usb/host/ehci-hcd.ko \
482         $(LINUX_DIR)/drivers/usb/host/ehci-platform.ko
483   ifneq ($(wildcard $(LINUX_DIR)/drivers/usb/host/ehci-orion.ko),)
484     FILES+=$(LINUX_DIR)/drivers/usb/host/ehci-orion.ko
485   endif
486   ifneq ($(wildcard $(LINUX_DIR)/drivers/usb/host/ehci-atmel.ko),)
487     FILES+=$(LINUX_DIR)/drivers/usb/host/ehci-atmel.ko
488   endif
489   ifneq ($(wildcard $(LINUX_DIR)/drivers/usb/host/ehci-fsl.ko),)
490     FILES+=$(LINUX_DIR)/drivers/usb/host/ehci-fsl.ko
491   endif
492   AUTOLOAD:=$(call AutoLoad,40,ehci-hcd ehci-platform ehci-orion ehci-atmel ehci-fsl,1)
493   $(call AddDepends/usb)
494 endef
495
496 define KernelPackage/usb2/description
497  Kernel support for USB2 (EHCI) controllers
498 endef
499
500 $(eval $(call KernelPackage,usb2))
501
502
503 define KernelPackage/usb2-pci
504   TITLE:=Support for PCI USB2 controllers
505   DEPENDS:=@PCI_SUPPORT +kmod-usb2
506   KCONFIG:=CONFIG_USB_EHCI_PCI
507   FILES:=$(LINUX_DIR)/drivers/usb/host/ehci-pci.ko
508   AUTOLOAD:=$(call AutoLoad,42,ehci-pci,1)
509   $(call AddDepends/usb)
510 endef
511
512 define KernelPackage/usb2-pci/description
513  Kernel support for PCI USB2 (EHCI) controllers
514 endef
515
516 $(eval $(call KernelPackage,usb2-pci))
517
518
519 define KernelPackage/usb-dwc2
520   TITLE:=DWC2 USB controller driver
521   DEPENDS:=+(TARGET_brcm2708||TARGET_at91||TARGET_brcm63xx||TARGET_mxs||TARGET_imx6||TARGET_omap):kmod-usb-gadget
522   KCONFIG:= \
523         CONFIG_USB_DWC2 \
524         CONFIG_USB_DWC2_PCI \
525         CONFIG_USB_DWC2_PLATFORM \
526         CONFIG_USB_DWC2_DEBUG=n \
527         CONFIG_USB_DWC2_VERBOSE=n \
528         CONFIG_USB_DWC2_TRACK_MISSED_SOFS=n \
529         CONFIG_USB_DWC2_DEBUG_PERIODIC=n
530   FILES:= \
531         $(LINUX_DIR)/drivers/usb/dwc2/dwc2.ko \
532         $(LINUX_DIR)/drivers/usb/dwc2/dwc2_platform.ko@lt4.3
533   AUTOLOAD:=$(call AutoLoad,54,dwc2 dwc2_platform@lt4.3,1)
534   $(call AddDepends/usb)
535 endef
536
537 define KernelPackage/usb-dwc2/description
538  This driver provides USB Device Controller support for the
539  Synopsys DesignWare USB OTG Core
540 endef
541
542 $(eval $(call KernelPackage,usb-dwc2))
543
544
545 define KernelPackage/usb-dwc3
546   TITLE:=DWC3 USB controller driver
547   KCONFIG:= \
548         CONFIG_USB_DWC3 \
549         CONFIG_USB_DWC3_HOST=y \
550         CONFIG_USB_DWC3_GADGET=n \
551         CONFIG_USB_DWC3_DUAL_ROLE=n \
552         CONFIG_USB_DWC3_DEBUG=n \
553         CONFIG_USB_DWC3_VERBOSE=n
554   FILES:= $(LINUX_DIR)/drivers/usb/dwc3/dwc3.ko
555   AUTOLOAD:=$(call AutoLoad,54,dwc3,1)
556   $(call AddDepends/usb)
557 endef
558
559 define KernelPackage/usb-dwc3/description
560  This driver provides support for the Dual Role SuperSpeed
561  USB Controller based on the Synopsys DesignWare USB3 IP Core
562 endef
563
564 $(eval $(call KernelPackage,usb-dwc3))
565
566
567 define KernelPackage/usb-acm
568   TITLE:=Support for modems/isdn controllers
569   KCONFIG:=CONFIG_USB_ACM
570   FILES:=$(LINUX_DIR)/drivers/usb/class/cdc-acm.ko
571   AUTOLOAD:=$(call AutoProbe,cdc-acm)
572 $(call AddDepends/usb)
573 endef
574
575 define KernelPackage/usb-acm/description
576  Kernel support for USB ACM devices (modems/isdn controllers)
577 endef
578
579 $(eval $(call KernelPackage,usb-acm))
580
581
582 define KernelPackage/usb-wdm
583   TITLE:=USB Wireless Device Management
584   KCONFIG:=CONFIG_USB_WDM
585   FILES:=$(LINUX_DIR)/drivers/usb/class/cdc-wdm.ko
586   AUTOLOAD:=$(call AutoProbe,cdc-wdm)
587 $(call AddDepends/usb)
588 $(call AddDepends/usb-net)
589 endef
590
591 define KernelPackage/usb-wdm/description
592  USB Wireless Device Management support
593 endef
594
595 $(eval $(call KernelPackage,usb-wdm))
596
597
598 define KernelPackage/usb-audio
599   TITLE:=Support for USB audio devices
600   KCONFIG:= \
601         CONFIG_USB_AUDIO \
602         CONFIG_SND_USB=y \
603         CONFIG_SND_USB_AUDIO
604   $(call AddDepends/usb)
605   $(call AddDepends/sound)
606   FILES:= \
607         $(LINUX_DIR)/sound/usb/snd-usbmidi-lib.ko \
608         $(LINUX_DIR)/sound/usb/snd-usb-audio.ko
609   AUTOLOAD:=$(call AutoProbe,snd-usbmidi-lib snd-usb-audio)
610 endef
611
612 define KernelPackage/usb-audio/description
613  Kernel support for USB audio devices
614 endef
615
616 $(eval $(call KernelPackage,usb-audio))
617
618
619 define KernelPackage/usb-printer
620   TITLE:=Support for printers
621   KCONFIG:=CONFIG_USB_PRINTER
622   FILES:=$(LINUX_DIR)/drivers/usb/class/usblp.ko
623   AUTOLOAD:=$(call AutoProbe,usblp)
624   $(call AddDepends/usb)
625 endef
626
627 define KernelPackage/usb-printer/description
628  Kernel support for USB printers
629 endef
630
631 $(eval $(call KernelPackage,usb-printer))
632
633
634 define KernelPackage/usb-serial
635   TITLE:=Support for USB-to-Serial converters
636   KCONFIG:=CONFIG_USB_SERIAL
637   FILES:=$(LINUX_DIR)/drivers/usb/serial/usbserial.ko
638   AUTOLOAD:=$(call AutoProbe,usbserial)
639   $(call AddDepends/usb)
640 endef
641
642 define KernelPackage/usb-serial/description
643  Kernel support for USB-to-Serial converters
644 endef
645
646 $(eval $(call KernelPackage,usb-serial))
647
648
649 define AddDepends/usb-serial
650   SUBMENU:=$(USB_MENU)
651   DEPENDS+=kmod-usb-serial $(1)
652 endef
653
654
655 define KernelPackage/usb-serial-belkin
656   TITLE:=Support for Belkin devices
657   KCONFIG:=CONFIG_USB_SERIAL_BELKIN
658   FILES:=$(LINUX_DIR)/drivers/usb/serial/belkin_sa.ko
659   AUTOLOAD:=$(call AutoProbe,belkin_sa)
660   $(call AddDepends/usb-serial)
661 endef
662
663 define KernelPackage/usb-serial-belkin/description
664  Kernel support for Belkin USB-to-Serial converters
665 endef
666
667 $(eval $(call KernelPackage,usb-serial-belkin))
668
669
670 define KernelPackage/usb-serial-ch341
671   TITLE:=Support for CH341 devices
672   KCONFIG:=CONFIG_USB_SERIAL_CH341
673   FILES:=$(LINUX_DIR)/drivers/usb/serial/ch341.ko
674   AUTOLOAD:=$(call AutoProbe,ch341)
675   $(call AddDepends/usb-serial)
676 endef
677
678 define KernelPackage/usb-serial-ch341/description
679  Kernel support for Winchiphead CH341 USB-to-Serial converters
680 endef
681
682 $(eval $(call KernelPackage,usb-serial-ch341))
683
684
685 define KernelPackage/usb-serial-ftdi
686   TITLE:=Support for FTDI devices
687   KCONFIG:=CONFIG_USB_SERIAL_FTDI_SIO
688   FILES:=$(LINUX_DIR)/drivers/usb/serial/ftdi_sio.ko
689   AUTOLOAD:=$(call AutoProbe,ftdi_sio)
690   $(call AddDepends/usb-serial)
691 endef
692
693 define KernelPackage/usb-serial-ftdi/description
694  Kernel support for FTDI USB-to-Serial converters
695 endef
696
697 $(eval $(call KernelPackage,usb-serial-ftdi))
698
699
700 define KernelPackage/usb-serial-garmin
701   TITLE:=Support for Garmin GPS devices
702   KCONFIG:=CONFIG_USB_SERIAL_GARMIN
703   FILES:=$(LINUX_DIR)/drivers/usb/serial/garmin_gps.ko
704   AUTOLOAD:=$(call AutoProbe,garmin_gps)
705   $(call AddDepends/usb-serial)
706 endef
707
708 define KernelPackage/usb-serial-garmin/description
709  Should work with most Garmin GPS devices which have a native USB port.
710 endef
711
712 $(eval $(call KernelPackage,usb-serial-garmin))
713
714
715 define KernelPackage/usb-serial-simple
716   TITLE:=USB Serial Simple (Motorola phone)
717   KCONFIG:=CONFIG_USB_SERIAL_SIMPLE
718   FILES:=$(LINUX_DIR)/drivers/usb/serial/usb-serial-simple.ko
719   AUTOLOAD:=$(call AutoProbe,usb-serial-simple)
720   $(call AddDepends/usb-serial)
721 endef
722
723 define KernelPackage/usb-serial-simple/description
724   Kernel support for "very simple devices".
725
726 Specifically, it supports:
727         - Suunto ANT+ USB device.
728         - Medtronic CareLink USB device (3.18)
729         - Fundamental Software dongle.
730         - Google USB serial devices (3.19)
731         - HP4x calculators
732         - a number of Motorola phones
733         - Novatel Wireless GPS receivers (3.18)
734         - Siemens USB/MPI adapter.
735         - ViVOtech ViVOpay USB device.
736         - Infineon Modem Flashloader USB interface
737         - ZIO Motherboard USB serial interface
738 endef
739
740 $(eval $(call KernelPackage,usb-serial-simple))
741
742
743 define KernelPackage/usb-serial-ti-usb
744   TITLE:=Support for TI USB 3410/5052
745   KCONFIG:=CONFIG_USB_SERIAL_TI
746   FILES:=$(LINUX_DIR)/drivers/usb/serial/ti_usb_3410_5052.ko
747   AUTOLOAD:=$(call AutoProbe,ti_usb_3410_5052)
748   $(call AddDepends/usb-serial)
749 endef
750
751 define KernelPackage/usb-serial-ti-usb/description
752  Kernel support for TI USB 3410/5052 devices
753 endef
754
755 $(eval $(call KernelPackage,usb-serial-ti-usb))
756
757
758 define KernelPackage/usb-serial-ipw
759   TITLE:=Support for IPWireless 3G devices
760   KCONFIG:=CONFIG_USB_SERIAL_IPW
761   FILES:=$(LINUX_DIR)/drivers/usb/serial/ipw.ko
762   AUTOLOAD:=$(call AutoProbe,ipw)
763   $(call AddDepends/usb-serial,+kmod-usb-serial-wwan)
764 endef
765
766 $(eval $(call KernelPackage,usb-serial-ipw))
767
768
769 define KernelPackage/usb-serial-mct
770   TITLE:=Support for Magic Control Tech. devices
771   KCONFIG:=CONFIG_USB_SERIAL_MCT_U232
772   FILES:=$(LINUX_DIR)/drivers/usb/serial/mct_u232.ko
773   AUTOLOAD:=$(call AutoProbe,mct_u232)
774   $(call AddDepends/usb-serial)
775 endef
776
777 define KernelPackage/usb-serial-mct/description
778  Kernel support for Magic Control Technology USB-to-Serial converters
779 endef
780
781 $(eval $(call KernelPackage,usb-serial-mct))
782
783
784 define KernelPackage/usb-serial-mos7720
785   TITLE:=Support for Moschip MOS7720 devices
786   KCONFIG:=CONFIG_USB_SERIAL_MOS7720
787   FILES:=$(LINUX_DIR)/drivers/usb/serial/mos7720.ko
788   AUTOLOAD:=$(call AutoProbe,mos7720)
789   $(call AddDepends/usb-serial)
790 endef
791
792 define KernelPackage/usb-serial-mos7720/description
793  Kernel support for Moschip MOS7720 USB-to-Serial converters
794 endef
795
796 $(eval $(call KernelPackage,usb-serial-mos7720))
797
798
799 define KernelPackage/usb-serial-pl2303
800   TITLE:=Support for Prolific PL2303 devices
801   KCONFIG:=CONFIG_USB_SERIAL_PL2303
802   FILES:=$(LINUX_DIR)/drivers/usb/serial/pl2303.ko
803   AUTOLOAD:=$(call AutoProbe,pl2303)
804   $(call AddDepends/usb-serial)
805 endef
806
807 define KernelPackage/usb-serial-pl2303/description
808  Kernel support for Prolific PL2303 USB-to-Serial converters
809 endef
810
811 $(eval $(call KernelPackage,usb-serial-pl2303))
812
813
814 define KernelPackage/usb-serial-cp210x
815   TITLE:=Support for Silicon Labs cp210x devices
816   KCONFIG:=CONFIG_USB_SERIAL_CP210X
817   FILES:=$(LINUX_DIR)/drivers/usb/serial/cp210x.ko
818   AUTOLOAD:=$(call AutoProbe,cp210x)
819   $(call AddDepends/usb-serial)
820 endef
821
822 define KernelPackage/usb-serial-cp210x/description
823  Kernel support for Silicon Labs cp210x USB-to-Serial converters
824 endef
825
826 $(eval $(call KernelPackage,usb-serial-cp210x))
827
828
829 define KernelPackage/usb-serial-ark3116
830   TITLE:=Support for ArkMicroChips ARK3116 devices
831   KCONFIG:=CONFIG_USB_SERIAL_ARK3116
832   FILES:=$(LINUX_DIR)/drivers/usb/serial/ark3116.ko
833   AUTOLOAD:=$(call AutoProbe,ark3116)
834   $(call AddDepends/usb-serial)
835 endef
836
837 define KernelPackage/usb-serial-ark3116/description
838  Kernel support for ArkMicroChips ARK3116 USB-to-Serial converters
839 endef
840
841 $(eval $(call KernelPackage,usb-serial-ark3116))
842
843
844 define KernelPackage/usb-serial-oti6858
845   TITLE:=Support for Ours Technology OTI6858 devices
846   KCONFIG:=CONFIG_USB_SERIAL_OTI6858
847   FILES:=$(LINUX_DIR)/drivers/usb/serial/oti6858.ko
848   AUTOLOAD:=$(call AutoProbe,oti6858)
849   $(call AddDepends/usb-serial)
850 endef
851
852 define KernelPackage/usb-serial-oti6858/description
853  Kernel support for Ours Technology OTI6858 USB-to-Serial converters
854 endef
855
856 $(eval $(call KernelPackage,usb-serial-oti6858))
857
858
859 define KernelPackage/usb-serial-sierrawireless
860   TITLE:=Support for Sierra Wireless devices
861   KCONFIG:=CONFIG_USB_SERIAL_SIERRAWIRELESS
862   FILES:=$(LINUX_DIR)/drivers/usb/serial/sierra.ko
863   AUTOLOAD:=$(call AutoProbe,sierra)
864   $(call AddDepends/usb-serial)
865 endef
866
867 define KernelPackage/usb-serial-sierrawireless/description
868  Kernel support for Sierra Wireless devices
869 endef
870
871 $(eval $(call KernelPackage,usb-serial-sierrawireless))
872
873
874 define KernelPackage/usb-serial-visor
875   TITLE:=Support for Handspring Visor devices
876   KCONFIG:=CONFIG_USB_SERIAL_VISOR
877   FILES:=$(LINUX_DIR)/drivers/usb/serial/visor.ko
878   AUTOLOAD:=$(call AutoProbe,visor)
879   $(call AddDepends/usb-serial)
880 endef
881
882 define KernelPackage/usb-serial-visor/description
883  Kernel support for Handspring Visor PDAs
884 endef
885
886 $(eval $(call KernelPackage,usb-serial-visor))
887
888
889 define KernelPackage/usb-serial-cypress-m8
890   TITLE:=Support for CypressM8 USB-Serial
891   KCONFIG:=CONFIG_USB_SERIAL_CYPRESS_M8
892   FILES:=$(LINUX_DIR)/drivers/usb/serial/cypress_m8.ko
893   AUTOLOAD:=$(call AutoProbe,cypress_m8)
894   $(call AddDepends/usb-serial)
895 endef
896
897 define KernelPackage/usb-serial-cypress-m8/description
898  Kernel support for devices with Cypress M8 USB to Serial chip
899  (for example, the Delorme Earthmate LT-20 GPS)
900  Supported microcontrollers in the CY4601 family are:
901  CY7C63741 CY7C63742 CY7C63743 CY7C64013
902 endef
903
904 $(eval $(call KernelPackage,usb-serial-cypress-m8))
905
906
907 define KernelPackage/usb-serial-keyspan
908   TITLE:=Support for Keyspan USB-to-Serial devices
909   KCONFIG:= \
910         CONFIG_USB_SERIAL_KEYSPAN \
911         CONFIG_USB_SERIAL_KEYSPAN_USA28 \
912         CONFIG_USB_SERIAL_KEYSPAN_USA28X \
913         CONFIG_USB_SERIAL_KEYSPAN_USA28XA \
914         CONFIG_USB_SERIAL_KEYSPAN_USA28XB \
915         CONFIG_USB_SERIAL_KEYSPAN_USA19 \
916         CONFIG_USB_SERIAL_KEYSPAN_USA18X \
917         CONFIG_USB_SERIAL_KEYSPAN_USA19W \
918         CONFIG_USB_SERIAL_KEYSPAN_USA19QW \
919         CONFIG_USB_SERIAL_KEYSPAN_USA19QI \
920         CONFIG_USB_SERIAL_KEYSPAN_MPR \
921         CONFIG_USB_SERIAL_KEYSPAN_USA49W \
922         CONFIG_USB_SERIAL_KEYSPAN_USA49WLC
923   FILES:= \
924         $(LINUX_DIR)/drivers/usb/serial/keyspan.ko \
925         $(wildcard $(LINUX_DIR)/drivers/usb/misc/ezusb.ko)
926   AUTOLOAD:=$(call AutoProbe,ezusb keyspan)
927   $(call AddDepends/usb-serial)
928 endef
929
930 define KernelPackage/usb-serial-keyspan/description
931  Kernel support for Keyspan USB-to-Serial devices
932 endef
933
934 $(eval $(call KernelPackage,usb-serial-keyspan))
935
936
937 define KernelPackage/usb-serial-wwan
938   TITLE:=Support for GSM and CDMA modems
939   KCONFIG:=CONFIG_USB_SERIAL_WWAN
940   FILES:=$(LINUX_DIR)/drivers/usb/serial/usb_wwan.ko
941   AUTOLOAD:=$(call AutoProbe,usb_wwan)
942   $(call AddDepends/usb-serial)
943 endef
944
945 define KernelPackage/usb-serial-wwan/description
946  Kernel support for USB GSM and CDMA modems
947 endef
948
949 $(eval $(call KernelPackage,usb-serial-wwan))
950
951
952 define KernelPackage/usb-serial-option
953   TITLE:=Support for Option HSDPA modems
954   DEPENDS:=+kmod-usb-serial-wwan
955   KCONFIG:=CONFIG_USB_SERIAL_OPTION
956   FILES:=$(LINUX_DIR)/drivers/usb/serial/option.ko
957   AUTOLOAD:=$(call AutoProbe,option)
958   $(call AddDepends/usb-serial)
959 endef
960
961 define KernelPackage/usb-serial-option/description
962  Kernel support for Option HSDPA modems
963 endef
964
965 $(eval $(call KernelPackage,usb-serial-option))
966
967
968 define KernelPackage/usb-serial-qualcomm
969   TITLE:=Support for Qualcomm USB serial
970   KCONFIG:=CONFIG_USB_SERIAL_QUALCOMM
971   FILES:=$(LINUX_DIR)/drivers/usb/serial/qcserial.ko
972   AUTOLOAD:=$(call AutoProbe,qcserial)
973   $(call AddDepends/usb-serial,+kmod-usb-serial-wwan)
974 endef
975
976 define KernelPackage/usb-serial-qualcomm/description
977  Kernel support for Qualcomm USB Serial devices (Gobi)
978 endef
979
980 $(eval $(call KernelPackage,usb-serial-qualcomm))
981
982
983 define KernelPackage/usb-storage
984   TITLE:=USB Storage support
985   DEPENDS:= +kmod-scsi-core
986   KCONFIG:=CONFIG_USB_STORAGE
987   FILES:=$(LINUX_DIR)/drivers/usb/storage/usb-storage.ko
988   AUTOLOAD:=$(call AutoProbe,usb-storage,1)
989   $(call AddDepends/usb)
990 endef
991
992 define KernelPackage/usb-storage/description
993  Kernel support for USB Mass Storage devices
994 endef
995
996 $(eval $(call KernelPackage,usb-storage))
997
998
999 define KernelPackage/usb-storage-extras
1000   SUBMENU:=$(USB_MENU)
1001   TITLE:=Extra drivers for usb-storage
1002   DEPENDS:=+kmod-usb-storage
1003   KCONFIG:= \
1004         CONFIG_USB_STORAGE_ALAUDA \
1005         CONFIG_USB_STORAGE_CYPRESS_ATACB \
1006         CONFIG_USB_STORAGE_DATAFAB \
1007         CONFIG_USB_STORAGE_FREECOM \
1008         CONFIG_USB_STORAGE_ISD200 \
1009         CONFIG_USB_STORAGE_JUMPSHOT \
1010         CONFIG_USB_STORAGE_KARMA \
1011         CONFIG_USB_STORAGE_SDDR09 \
1012         CONFIG_USB_STORAGE_SDDR55 \
1013         CONFIG_USB_STORAGE_USBAT
1014   FILES:= \
1015         $(LINUX_DIR)/drivers/usb/storage/ums-alauda.ko \
1016         $(LINUX_DIR)/drivers/usb/storage/ums-cypress.ko \
1017         $(LINUX_DIR)/drivers/usb/storage/ums-datafab.ko \
1018         $(LINUX_DIR)/drivers/usb/storage/ums-freecom.ko \
1019         $(LINUX_DIR)/drivers/usb/storage/ums-isd200.ko \
1020         $(LINUX_DIR)/drivers/usb/storage/ums-jumpshot.ko \
1021         $(LINUX_DIR)/drivers/usb/storage/ums-karma.ko \
1022         $(LINUX_DIR)/drivers/usb/storage/ums-sddr09.ko \
1023         $(LINUX_DIR)/drivers/usb/storage/ums-sddr55.ko \
1024         $(LINUX_DIR)/drivers/usb/storage/ums-usbat.ko
1025   AUTOLOAD:=$(call AutoProbe,ums-alauda ums-cypress ums-datafab \
1026                                 ums-freecom ums-isd200 ums-jumpshot \
1027                                 ums-karma ums-sddr09 ums-sddr55 ums-usbat)
1028 endef
1029
1030 define KernelPackage/usb-storage-extras/description
1031  Say Y here if you want to have some more drivers,
1032  such as for SmartMedia card readers
1033 endef
1034
1035 $(eval $(call KernelPackage,usb-storage-extras))
1036
1037
1038 define KernelPackage/usb-atm
1039   TITLE:=Support for ATM on USB bus
1040   DEPENDS:=+kmod-atm
1041   KCONFIG:=CONFIG_USB_ATM
1042   FILES:=$(LINUX_DIR)/drivers/usb/atm/usbatm.ko
1043   AUTOLOAD:=$(call AutoProbe,usbatm)
1044   $(call AddDepends/usb)
1045 endef
1046
1047 define KernelPackage/usb-atm/description
1048  Kernel support for USB DSL modems
1049 endef
1050
1051 $(eval $(call KernelPackage,usb-atm))
1052
1053
1054 define AddDepends/usb-atm
1055   SUBMENU:=$(USB_MENU)
1056   DEPENDS+=kmod-usb-atm $(1)
1057 endef
1058
1059
1060 define KernelPackage/usb-atm-speedtouch
1061   TITLE:=SpeedTouch USB ADSL modems support
1062   KCONFIG:=CONFIG_USB_SPEEDTOUCH
1063   FILES:=$(LINUX_DIR)/drivers/usb/atm/speedtch.ko
1064   AUTOLOAD:=$(call AutoProbe,speedtch)
1065   $(call AddDepends/usb-atm)
1066 endef
1067
1068 define KernelPackage/usb-atm-speedtouch/description
1069  Kernel support for SpeedTouch USB ADSL modems
1070 endef
1071
1072 $(eval $(call KernelPackage,usb-atm-speedtouch))
1073
1074
1075 define KernelPackage/usb-atm-ueagle
1076   TITLE:=Eagle 8051 based USB ADSL modems support
1077   FILES:=$(LINUX_DIR)/drivers/usb/atm/ueagle-atm.ko
1078   KCONFIG:=CONFIG_USB_UEAGLEATM
1079   AUTOLOAD:=$(call AutoProbe,ueagle-atm)
1080   $(call AddDepends/usb-atm)
1081 endef
1082
1083 define KernelPackage/usb-atm-ueagle/description
1084  Kernel support for Eagle 8051 based USB ADSL modems
1085 endef
1086
1087 $(eval $(call KernelPackage,usb-atm-ueagle))
1088
1089
1090 define KernelPackage/usb-atm-cxacru
1091   TITLE:=cxacru
1092   FILES:=$(LINUX_DIR)/drivers/usb/atm/cxacru.ko
1093   KCONFIG:=CONFIG_USB_CXACRU
1094   AUTOLOAD:=$(call AutoProbe,cxacru)
1095   $(call AddDepends/usb-atm)
1096 endef
1097
1098 define KernelPackage/usb-atm-cxacru/description
1099  Kernel support for cxacru based USB ADSL modems
1100 endef
1101
1102 $(eval $(call KernelPackage,usb-atm-cxacru))
1103
1104
1105 define KernelPackage/usb-net
1106   TITLE:=Kernel modules for USB-to-Ethernet convertors
1107   DEPENDS:=+kmod-mii
1108   KCONFIG:=CONFIG_USB_USBNET \
1109         CONFIG_USB_NET_DRIVERS
1110   AUTOLOAD:=$(call AutoProbe,usbnet)
1111   FILES:=$(LINUX_DIR)/drivers/$(USBNET_DIR)/usbnet.ko
1112   $(call AddDepends/usb)
1113 endef
1114
1115 define KernelPackage/usb-net/description
1116  Kernel modules for USB-to-Ethernet convertors
1117 endef
1118
1119 $(eval $(call KernelPackage,usb-net))
1120
1121
1122 define AddDepends/usb-net
1123   SUBMENU:=$(USB_MENU)
1124   DEPENDS+=kmod-usb-net $(1)
1125 endef
1126
1127
1128 define KernelPackage/usb-net-asix
1129   TITLE:=Kernel module for USB-to-Ethernet Asix convertors
1130   DEPENDS:=+kmod-libphy
1131   KCONFIG:=CONFIG_USB_NET_AX8817X
1132   FILES:=$(LINUX_DIR)/drivers/$(USBNET_DIR)/asix.ko
1133   AUTOLOAD:=$(call AutoProbe,asix)
1134   $(call AddDepends/usb-net)
1135 endef
1136
1137 define KernelPackage/usb-net-asix/description
1138  Kernel module for USB-to-Ethernet Asix convertors
1139 endef
1140
1141 $(eval $(call KernelPackage,usb-net-asix))
1142
1143
1144 define KernelPackage/usb-net-asix-ax88179
1145   TITLE:=Kernel module for USB-to-Gigabit-Ethernet Asix convertors
1146   DEPENDS:=+kmod-libphy
1147   KCONFIG:=CONFIG_USB_NET_AX88179_178A
1148   FILES:=$(LINUX_DIR)/drivers/$(USBNET_DIR)/ax88179_178a.ko
1149   AUTOLOAD:=$(call AutoProbe,ax88179_178a)
1150   $(call AddDepends/usb-net)
1151 endef
1152
1153 define KernelPackage/usb-net-asix-ax88179/description
1154  Kernel module for USB-to-Ethernet ASIX AX88179 based USB 3.0/2.0
1155  to Gigabit Ethernet adapters.
1156 endef
1157
1158 $(eval $(call KernelPackage,usb-net-asix-ax88179))
1159
1160
1161 define KernelPackage/usb-net-hso
1162   TITLE:=Kernel module for Option USB High Speed Mobile Devices
1163   KCONFIG:=CONFIG_USB_HSO
1164   FILES:= \
1165         $(LINUX_DIR)/drivers/$(USBNET_DIR)/hso.ko
1166   AUTOLOAD:=$(call AutoProbe,hso)
1167   $(call AddDepends/usb-net)
1168   $(call AddDepends/rfkill)
1169 endef
1170
1171 define KernelPackage/usb-net-hso/description
1172  Kernel module for Option USB High Speed Mobile Devices
1173 endef
1174
1175 $(eval $(call KernelPackage,usb-net-hso))
1176
1177
1178 define KernelPackage/usb-net-kaweth
1179   TITLE:=Kernel module for USB-to-Ethernet Kaweth convertors
1180   KCONFIG:=CONFIG_USB_KAWETH
1181   FILES:=$(LINUX_DIR)/drivers/$(USBNET_DIR)/kaweth.ko
1182   AUTOLOAD:=$(call AutoProbe,kaweth)
1183   $(call AddDepends/usb-net)
1184 endef
1185
1186 define KernelPackage/usb-net-kaweth/description
1187  Kernel module for USB-to-Ethernet Kaweth convertors
1188 endef
1189
1190 $(eval $(call KernelPackage,usb-net-kaweth))
1191
1192
1193 define KernelPackage/usb-net-pegasus
1194   TITLE:=Kernel module for USB-to-Ethernet Pegasus convertors
1195   KCONFIG:=CONFIG_USB_PEGASUS
1196   FILES:=$(LINUX_DIR)/drivers/$(USBNET_DIR)/pegasus.ko
1197   AUTOLOAD:=$(call AutoProbe,pegasus)
1198   $(call AddDepends/usb-net)
1199 endef
1200
1201 define KernelPackage/usb-net-pegasus/description
1202  Kernel module for USB-to-Ethernet Pegasus convertors
1203 endef
1204
1205 $(eval $(call KernelPackage,usb-net-pegasus))
1206
1207
1208 define KernelPackage/usb-net-mcs7830
1209   TITLE:=Kernel module for USB-to-Ethernet MCS7830 convertors
1210   KCONFIG:=CONFIG_USB_NET_MCS7830
1211   FILES:=$(LINUX_DIR)/drivers/$(USBNET_DIR)/mcs7830.ko
1212   AUTOLOAD:=$(call AutoProbe,mcs7830)
1213   $(call AddDepends/usb-net)
1214 endef
1215
1216 define KernelPackage/usb-net-mcs7830/description
1217  Kernel module for USB-to-Ethernet MCS7830 convertors
1218 endef
1219
1220 $(eval $(call KernelPackage,usb-net-mcs7830))
1221
1222
1223 define KernelPackage/usb-net-smsc95xx
1224   TITLE:=SMSC LAN95XX based USB 2.0 10/100 ethernet devices
1225   KCONFIG:=CONFIG_USB_NET_SMSC95XX
1226   FILES:=$(LINUX_DIR)/drivers/$(USBNET_DIR)/smsc95xx.ko
1227   AUTOLOAD:=$(call AutoProbe,smsc95xx)
1228   $(call AddDepends/usb-net, +kmod-lib-crc16)
1229 endef
1230
1231 define KernelPackage/usb-net-smsc95xx/description
1232  Kernel module for SMSC LAN95XX based devices
1233 endef
1234
1235 $(eval $(call KernelPackage,usb-net-smsc95xx))
1236
1237
1238 define KernelPackage/usb-net-dm9601-ether
1239   TITLE:=Support for DM9601 ethernet connections
1240   KCONFIG:=CONFIG_USB_NET_DM9601
1241   FILES:=$(LINUX_DIR)/drivers/$(USBNET_DIR)/dm9601.ko
1242   AUTOLOAD:=$(call AutoProbe,dm9601)
1243   $(call AddDepends/usb-net)
1244 endef
1245
1246 define KernelPackage/usb-net-dm9601-ether/description
1247  Kernel support for USB DM9601 devices
1248 endef
1249
1250 $(eval $(call KernelPackage,usb-net-dm9601-ether))
1251
1252 define KernelPackage/usb-net-cdc-ether
1253   TITLE:=Support for cdc ethernet connections
1254   KCONFIG:=CONFIG_USB_NET_CDCETHER
1255   FILES:=$(LINUX_DIR)/drivers/$(USBNET_DIR)/cdc_ether.ko
1256   AUTOLOAD:=$(call AutoProbe,cdc_ether)
1257   $(call AddDepends/usb-net)
1258 endef
1259
1260 define KernelPackage/usb-net-cdc-ether/description
1261  Kernel support for USB CDC Ethernet devices
1262 endef
1263
1264 $(eval $(call KernelPackage,usb-net-cdc-ether))
1265
1266
1267 define KernelPackage/usb-net-cdc-eem
1268   TITLE:=Support for CDC EEM connections
1269   KCONFIG:=CONFIG_USB_NET_CDC_EEM
1270   FILES:=$(LINUX_DIR)/drivers/$(USBNET_DIR)/cdc_eem.ko
1271   AUTOLOAD:=$(call AutoProbe,cdc_eem)
1272   $(call AddDepends/usb-net)
1273 endef
1274
1275 define KernelPackage/usb-net-cdc-eem/description
1276  Kernel support for USB CDC EEM
1277 endef
1278
1279 $(eval $(call KernelPackage,usb-net-cdc-eem))
1280
1281
1282 define KernelPackage/usb-net-cdc-subset
1283   TITLE:=Support for CDC Ethernet subset connections
1284   KCONFIG:= \
1285         CONFIG_USB_NET_CDC_SUBSET \
1286         CONFIG_USB_ARMLINUX
1287   FILES:=$(LINUX_DIR)/drivers/$(USBNET_DIR)/cdc_subset.ko
1288   AUTOLOAD:=$(call AutoProbe,cdc_subset)
1289   $(call AddDepends/usb-net)
1290 endef
1291
1292 define KernelPackage/usb-net-cdc-subset/description
1293  Kernel support for Simple USB Network Links (CDC Ethernet subset)
1294 endef
1295
1296 $(eval $(call KernelPackage,usb-net-cdc-subset))
1297
1298
1299 define KernelPackage/usb-net-qmi-wwan
1300   TITLE:=QMI WWAN driver
1301   KCONFIG:=CONFIG_USB_NET_QMI_WWAN
1302   FILES:= $(LINUX_DIR)/drivers/$(USBNET_DIR)/qmi_wwan.ko
1303   AUTOLOAD:=$(call AutoProbe,qmi_wwan)
1304   $(call AddDepends/usb-net,+kmod-usb-wdm)
1305 endef
1306
1307 define KernelPackage/usb-net-qmi-wwan/description
1308  QMI WWAN driver for Qualcomm MSM based 3G and LTE modems
1309 endef
1310
1311 $(eval $(call KernelPackage,usb-net-qmi-wwan))
1312
1313
1314 define KernelPackage/usb-net-rtl8150
1315   TITLE:=Kernel module for USB-to-Ethernet Realtek convertors
1316   KCONFIG:=CONFIG_USB_RTL8150
1317   FILES:=$(LINUX_DIR)/drivers/$(USBNET_DIR)/rtl8150.ko
1318   AUTOLOAD:=$(call AutoProbe,rtl8150)
1319   $(call AddDepends/usb-net)
1320 endef
1321
1322 define KernelPackage/usb-net-rtl8150/description
1323  Kernel module for USB-to-Ethernet Realtek 8150 convertors
1324 endef
1325
1326 $(eval $(call KernelPackage,usb-net-rtl8150))
1327
1328
1329 define KernelPackage/usb-net-rtl8152
1330   TITLE:=Kernel module for USB-to-Ethernet Realtek convertors
1331   KCONFIG:=CONFIG_USB_RTL8152
1332   FILES:=$(LINUX_DIR)/drivers/$(USBNET_DIR)/r8152.ko
1333   AUTOLOAD:=$(call AutoProbe,r8152)
1334   $(call AddDepends/usb-net)
1335 endef
1336
1337 define KernelPackage/usb-net-rtl8152/description
1338  Kernel module for USB-to-Ethernet Realtek 8152 USB2.0/3.0 convertors
1339 endef
1340
1341 $(eval $(call KernelPackage,usb-net-rtl8152))
1342
1343
1344 define KernelPackage/usb-net-sr9700
1345   TITLE:=Support for CoreChip SR9700 ethernet devices
1346   KCONFIG:=CONFIG_USB_NET_SR9700
1347   FILES:=$(LINUX_DIR)/drivers/$(USBNET_DIR)/sr9700.ko
1348   AUTOLOAD:=$(call AutoProbe,sr9700)
1349   $(call AddDepends/usb-net)
1350 endef
1351
1352 define KernelPackage/usb-net-sr9700/description
1353  Kernel module for CoreChip-sz SR9700 based USB 1.1 10/100 ethernet devices
1354 endef
1355
1356 $(eval $(call KernelPackage,usb-net-sr9700))
1357
1358
1359 define KernelPackage/usb-net-rndis
1360   TITLE:=Support for RNDIS connections
1361   KCONFIG:=CONFIG_USB_NET_RNDIS_HOST
1362   FILES:= $(LINUX_DIR)/drivers/$(USBNET_DIR)/rndis_host.ko
1363   AUTOLOAD:=$(call AutoProbe,rndis_host)
1364   $(call AddDepends/usb-net,+kmod-usb-net-cdc-ether)
1365 endef
1366
1367 define KernelPackage/usb-net-rndis/description
1368  Kernel support for RNDIS connections
1369 endef
1370
1371 $(eval $(call KernelPackage,usb-net-rndis))
1372
1373
1374 define KernelPackage/usb-net-cdc-mbim
1375   SUBMENU:=$(USB_MENU)
1376   TITLE:=Kernel module for MBIM Devices
1377   KCONFIG:=CONFIG_USB_NET_CDC_MBIM
1378   FILES:= \
1379    $(LINUX_DIR)/drivers/$(USBNET_DIR)/cdc_mbim.ko
1380   AUTOLOAD:=$(call AutoProbe,cdc_mbim)
1381   $(call AddDepends/usb-net,+kmod-usb-wdm +kmod-usb-net-cdc-ncm)
1382 endef
1383
1384 define KernelPackage/usb-net-cdc-mbim/description
1385  Kernel module for Option USB High Speed Mobile Devices
1386 endef
1387
1388 $(eval $(call KernelPackage,usb-net-cdc-mbim))
1389
1390
1391 define KernelPackage/usb-net-cdc-ncm
1392   TITLE:=Support for CDC NCM connections
1393   KCONFIG:=CONFIG_USB_NET_CDC_NCM
1394   FILES:= $(LINUX_DIR)/drivers/$(USBNET_DIR)/cdc_ncm.ko
1395   AUTOLOAD:=$(call AutoProbe,cdc_ncm)
1396   $(call AddDepends/usb-net)
1397 endef
1398
1399 define KernelPackage/usb-net-cdc-ncm/description
1400  Kernel support for CDC NCM connections
1401 endef
1402
1403 $(eval $(call KernelPackage,usb-net-cdc-ncm))
1404
1405
1406 define KernelPackage/usb-net-huawei-cdc-ncm
1407   TITLE:=Support for Huawei CDC NCM connections
1408   KCONFIG:=CONFIG_USB_NET_HUAWEI_CDC_NCM
1409   FILES:= $(LINUX_DIR)/drivers/$(USBNET_DIR)/huawei_cdc_ncm.ko
1410   AUTOLOAD:=$(call AutoProbe,huawei_cdc_ncm)
1411   $(call AddDepends/usb-net,+kmod-usb-net-cdc-ncm +kmod-usb-wdm)
1412 endef
1413
1414 define KernelPackage/usb-net-huawei-cdc-ncm/description
1415  Kernel support for Huawei CDC NCM connections
1416 endef
1417
1418 $(eval $(call KernelPackage,usb-net-huawei-cdc-ncm))
1419
1420
1421 define KernelPackage/usb-net-sierrawireless
1422   TITLE:=Support for Sierra Wireless devices
1423   KCONFIG:=CONFIG_USB_SIERRA_NET
1424   FILES:=$(LINUX_DIR)/drivers/net/usb/sierra_net.ko
1425   AUTOLOAD:=$(call AutoProbe,sierra_net)
1426   $(call AddDepends/usb-net)
1427 endef
1428
1429 define KernelPackage/usb-net-sierrawireless/description
1430  Kernel support for Sierra Wireless devices
1431 endef
1432
1433 $(eval $(call KernelPackage,usb-net-sierrawireless))
1434
1435
1436 define KernelPackage/usb-net-ipheth
1437   TITLE:=Apple iPhone USB Ethernet driver
1438   KCONFIG:=CONFIG_USB_IPHETH
1439   FILES:=$(LINUX_DIR)/drivers/net/usb/ipheth.ko
1440   AUTOLOAD:=$(call AutoProbe,ipheth)
1441   $(call AddDepends/usb-net)
1442 endef
1443
1444 define KernelPackage/usb-net-ipheth/description
1445  Kernel support for Apple iPhone USB Ethernet driver
1446 endef
1447
1448 $(eval $(call KernelPackage,usb-net-ipheth))
1449
1450
1451 define KernelPackage/usb-net-kalmia
1452   TITLE:=Samsung Kalmia based LTE USB modem
1453   KCONFIG:=CONFIG_USB_NET_KALMIA
1454   FILES:=$(LINUX_DIR)/drivers/net/usb/kalmia.ko
1455   AUTOLOAD:=$(call AutoProbe,kalmia)
1456   $(call AddDepends/usb-net)
1457 endef
1458
1459 define KernelPackage/usb-net-kalmia/description
1460  Kernel support for Samsung Kalmia based LTE USB modem
1461 endef
1462
1463 $(eval $(call KernelPackage,usb-net-kalmia))
1464
1465
1466 define KernelPackage/usb-hid
1467   TITLE:=Support for USB Human Input Devices
1468   KCONFIG:=CONFIG_HID_SUPPORT=y CONFIG_USB_HID CONFIG_USB_HIDDEV=y
1469   DEPENDS:=+kmod-hid +kmod-hid-generic +kmod-input-evdev
1470   FILES:=$(LINUX_DIR)/drivers/$(USBHID_DIR)/usbhid.ko
1471   AUTOLOAD:=$(call AutoProbe,usbhid)
1472   $(call AddDepends/usb)
1473 endef
1474
1475 define KernelPackage/usb-hid/description
1476  Kernel support for USB HID devices such as keyboards and mice
1477 endef
1478
1479 $(eval $(call KernelPackage,usb-hid))
1480
1481
1482 define KernelPackage/usb-yealink
1483   TITLE:=USB Yealink VOIP phone
1484   DEPENDS:=+kmod-input-evdev
1485   KCONFIG:=CONFIG_USB_YEALINK CONFIG_INPUT_YEALINK CONFIG_INPUT=m CONFIG_INPUT_MISC=y
1486   FILES:=$(LINUX_DIR)/drivers/$(USBINPUT_DIR)/yealink.ko
1487   AUTOLOAD:=$(call AutoProbe,yealink)
1488   $(call AddDepends/usb)
1489 endef
1490
1491 define KernelPackage/usb-yealink/description
1492  Kernel support for Yealink VOIP phone
1493 endef
1494
1495 $(eval $(call KernelPackage,usb-yealink))
1496
1497
1498 define KernelPackage/usb-cm109
1499   TITLE:=Support for CM109 device
1500   DEPENDS:=+kmod-input-evdev
1501   KCONFIG:=CONFIG_USB_CM109 CONFIG_INPUT_CM109 CONFIG_INPUT=m CONFIG_INPUT_MISC=y
1502   FILES:=$(LINUX_DIR)/drivers/$(USBINPUT_DIR)/cm109.ko
1503   AUTOLOAD:=$(call AutoProbe,cm109)
1504   $(call AddDepends/usb)
1505 endef
1506
1507 define KernelPackage/usb-cm109/description
1508  Kernel support for CM109 VOIP phone
1509 endef
1510
1511 $(eval $(call KernelPackage,usb-cm109))
1512
1513
1514 define KernelPackage/usb-test
1515   TITLE:=USB Testing Driver
1516   DEPENDS:=@DEVEL
1517   KCONFIG:=CONFIG_USB_TEST
1518   FILES:=$(LINUX_DIR)/drivers/usb/misc/usbtest.ko
1519   $(call AddDepends/usb)
1520 endef
1521
1522 define KernelPackage/usb-test/description
1523  Kernel support for testing USB Host Controller software
1524 endef
1525
1526 $(eval $(call KernelPackage,usb-test))
1527
1528
1529 define KernelPackage/usbip
1530   TITLE := USB-over-IP kernel support
1531   KCONFIG:= \
1532         CONFIG_USBIP_CORE \
1533         CONFIG_USBIP_DEBUG=n
1534   FILES:=$(LINUX_DIR)/drivers/usb/usbip/usbip-core.ko
1535   AUTOLOAD:=$(call AutoProbe,usbip-core)
1536   $(call AddDepends/usb)
1537 endef
1538
1539 $(eval $(call KernelPackage,usbip))
1540
1541
1542 define KernelPackage/usbip-client
1543   TITLE := USB-over-IP client driver
1544   DEPENDS := +kmod-usbip
1545   KCONFIG := CONFIG_USBIP_VHCI_HCD
1546   FILES :=$(LINUX_DIR)/drivers/usb/usbip/vhci-hcd.ko
1547   AUTOLOAD := $(call AutoProbe,vhci-hcd)
1548   $(call AddDepends/usb)
1549 endef
1550
1551 $(eval $(call KernelPackage,usbip-client))
1552
1553
1554 define KernelPackage/usbip-server
1555 $(call KernelPackage/usbip/Default)
1556   TITLE := USB-over-IP host driver
1557   DEPENDS := +kmod-usbip
1558   KCONFIG := CONFIG_USBIP_HOST
1559   FILES :=$(LINUX_DIR)/drivers/usb/usbip/usbip-host.ko
1560   AUTOLOAD := $(call AutoProbe,usbip-host)
1561   $(call AddDepends/usb)
1562 endef
1563
1564 $(eval $(call KernelPackage,usbip-server))
1565
1566
1567 define KernelPackage/usb-chipidea-imx
1568   TITLE:=Support for ChipIdea controllers
1569   DEPENDS:=@TARGET_mxs +kmod-usb2 +USB_GADGET_SUPPORT:kmod-usb-gadget
1570   KCONFIG:=\
1571         CONFIG_USB_CHIPIDEA \
1572         CONFIG_USB_CHIPIDEA_HOST=y \
1573         CONFIG_USB_CHIPIDEA_UDC=y \
1574         CONFIG_USB_CHIPIDEA_DEBUG=y
1575   FILES:=\
1576         $(LINUX_DIR)/drivers/usb/chipidea/ci_hdrc.ko \
1577         $(if $(CONFIG_OF),$(LINUX_DIR)/drivers/usb/chipidea/ci_hdrc_imx.ko) \
1578         $(if $(CONFIG_OF),$(LINUX_DIR)/drivers/usb/chipidea/usbmisc_imx.ko)
1579   AUTOLOAD:=$(call AutoLoad,51,ci_hdrc $(if $(CONFIG_OF),ci_hdrc_imx usbmisc_imx),1)
1580   $(call AddDepends/usb)
1581 endef
1582
1583 define KernelPackage/usb-chipidea-imx/description
1584  Kernel support for USB ChipIdea controllers
1585 endef
1586
1587 $(eval $(call KernelPackage,usb-chipidea-imx,1))
1588
1589
1590 define KernelPackage/usb-mxs-phy
1591   TITLE:=Support for Freescale MXS USB PHY
1592   DEPENDS:=@TARGET_mxs +kmod-usb-chipidea-imx
1593   KCONFIG:=CONFIG_USB_MXS_PHY
1594   FILES:=\
1595         $(LINUX_DIR)/drivers/usb/phy/phy-mxs-usb.ko
1596   AUTOLOAD:=$(call AutoLoad,52,phy-mxs-usb,1)
1597   $(call AddDepends/usb)
1598 endef
1599
1600 define KernelPackage/usb-mxs-phy/description
1601  Kernel support for Freescale MXS USB PHY
1602 endef
1603
1604 $(eval $(call KernelPackage,usb-mxs-phy,1))
1605
1606
1607 define KernelPackage/usbmon
1608   TITLE:=USB traffic monitor
1609   KCONFIG:=CONFIG_USB_MON
1610   $(call AddDepends/usb)
1611   FILES:=$(LINUX_DIR)/drivers/usb/mon/usbmon.ko
1612   AUTOLOAD:=$(call AutoProbe,usbmon)
1613 endef
1614
1615 define KernelPackage/usbmon/description
1616  Kernel support for USB traffic monitoring
1617 endef
1618
1619 $(eval $(call KernelPackage,usbmon))
1620
1621 XHCI_MODULES := xhci-hcd xhci-pci xhci-plat-hcd
1622 ifdef CONFIG_TARGET_ramips_mt7621
1623   XHCI_MODULES += xhci-mtk
1624 endif
1625 XHCI_FILES := $(wildcard $(patsubst %,$(LINUX_DIR)/drivers/usb/host/%.ko,$(XHCI_MODULES)))
1626 XHCI_AUTOLOAD := $(patsubst $(LINUX_DIR)/drivers/usb/host/%.ko,%,$(XHCI_FILES))
1627
1628 define KernelPackage/usb3
1629   TITLE:=Support for USB3 controllers
1630   DEPENDS:= \
1631         +TARGET_bcm53xx:kmod-usb-bcma \
1632         +TARGET_bcm53xx:kmod-phy-bcm-ns-usb3 \
1633         +TARGET_omap:kmod-usb-phy-omap-usb3
1634   KCONFIG:= \
1635         CONFIG_USB_XHCI_HCD \
1636         CONFIG_USB_XHCI_PCI \
1637         CONFIG_USB_XHCI_PLATFORM \
1638         CONFIG_USB_XHCI_MVEBU=y \
1639         CONFIG_USB_XHCI_MTK \
1640         CONFIG_USB_XHCI_HCD_DEBUGGING=n
1641   FILES:= \
1642         $(XHCI_FILES)
1643   AUTOLOAD:=$(call AutoLoad,54,$(XHCI_AUTOLOAD),1)
1644   $(call AddDepends/usb)
1645 endef
1646
1647 define KernelPackage/usb3/description
1648  Kernel support for USB3 (XHCI) controllers
1649 endef
1650
1651 $(eval $(call KernelPackage,usb3))
1652
1653
1654 define KernelPackage/usb-net2280
1655   TITLE:=Support for NetChip 228x PCI USB peripheral controller
1656   KCONFIG:= CONFIG_USB_NET2280
1657   DEPENDS:=@PCI_SUPPORT +kmod-usb-gadget
1658   FILES:=$(LINUX_DIR)/drivers/usb/gadget/udc/net2280.ko
1659   AUTOLOAD:=$(call AutoLoad,46,net2280)
1660   $(call AddDepends/usb)
1661 endef
1662
1663 define KernelPackage/usb-net2280/description
1664   Kernel support for NetChip 228x / PLX USB338x PCI USB peripheral controller.
1665 endef
1666
1667 $(eval $(call KernelPackage,usb-net2280))
1668