usb.mk 42 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587
  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. USB_MENU:=USB Support
  8. USBNET_DIR:=net/usb
  9. USBHID_DIR?=hid/usbhid
  10. USBINPUT_DIR?=input/misc
  11. define KernelPackage/usb-core
  12. SUBMENU:=$(USB_MENU)
  13. TITLE:=Support for USB
  14. DEPENDS:=@USB_SUPPORT
  15. KCONFIG:=CONFIG_USB CONFIG_XPS_USB_HCD_XILINX=n CONFIG_USB_FHCI_HCD=n
  16. FILES:= \
  17. $(LINUX_DIR)/drivers/usb/core/usbcore.ko \
  18. $(LINUX_DIR)/drivers/usb/common/usb-common.ko
  19. AUTOLOAD:=$(call AutoLoad,20,usb-common usbcore,1)
  20. $(call AddDepends/nls)
  21. endef
  22. define KernelPackage/usb-core/description
  23. Kernel support for USB
  24. endef
  25. $(eval $(call KernelPackage,usb-core))
  26. define AddDepends/usb
  27. SUBMENU:=$(USB_MENU)
  28. DEPENDS+=+kmod-usb-core $(1)
  29. endef
  30. define KernelPackage/usb-musb-hdrc
  31. TITLE:=Support for Mentor Graphics silicon dual role USB
  32. KCONFIG:= \
  33. CONFIG_USB_MUSB_HDRC \
  34. CONFIG_USB_INVENTRA_DMA=n \
  35. CONFIG_USB_TI_CPPI41_DMA=n \
  36. CONFIG_MUSB_PIO_ONLY=y \
  37. CONFIG_USB_MUSB_DUAL_ROLE=y \
  38. CONFIG_USB_MUSB_GADGET=n \
  39. CONFIG_USB_MUSB_HOST=n \
  40. CONFIG_USB_MUSB_DEBUG=y
  41. DEPENDS:= \
  42. @(TARGET_omap||TARGET_omap24xx) +kmod-usb-gadget \
  43. +TARGET_omap24xx:kmod-usb-musb-tusb6010
  44. FILES:=$(LINUX_DIR)/drivers/usb/musb/musb_hdrc.ko
  45. AUTOLOAD:=$(call AutoLoad,46,musb_hdrc)
  46. $(call AddDepends/usb)
  47. endef
  48. define KernelPackage/usb-musb-hdrc/description
  49. Kernel support for Mentor Graphics silicon dual role USB device.
  50. endef
  51. $(eval $(call KernelPackage,usb-musb-hdrc))
  52. define KernelPackage/usb-musb-platformglue
  53. TITLE:=MUSB platform glue layer
  54. KCONFIG:= \
  55. CONFIG_USB_MUSB_TUSB6010=n \
  56. CONFIG_USB_MUSB_OMAP2PLUS=n \
  57. CONFIG_USB_MUSB_AM35X=n \
  58. CONFIG_USB_MUSB_DSPS \
  59. CONFIG_USB_MUSB_UX500=n
  60. DEPENDS:=@TARGET_omap +kmod-usb-phy-nop +kmod-usb-musb-hdrc +kmod-usb-phy-am335x
  61. FILES:= \
  62. $(LINUX_DIR)/drivers/usb/musb/musb_dsps.ko \
  63. $(LINUX_DIR)/drivers/usb/musb/musb_am335x.ko
  64. AUTOLOAD:=$(call AutoLoad,45,phy-omap-control musb_dsps musb_am335x)
  65. $(call AddDepends/usb)
  66. endef
  67. define KernelPackage/usb-musb-platformglue/description
  68. MUSB platform glue modules
  69. endef
  70. $(eval $(call KernelPackage,usb-musb-platformglue))
  71. define KernelPackage/usb-musb-tusb6010
  72. TITLE:=Support for TUSB 6010
  73. KCONFIG:=CONFIG_USB_MUSB_TUSB6010
  74. DEPENDS:=@TARGET_omap24xx
  75. $(call AddDepends/usb)
  76. endef
  77. define KernelPackage/usb-musb-tusb6010/description
  78. TUSB6010 support
  79. endef
  80. $(eval $(call KernelPackage,usb-musb-tusb6010))
  81. define KernelPackage/usb-phy-nop
  82. TITLE:=Support for USB NOP transceiver
  83. KCONFIG:=CONFIG_NOP_USB_XCEIV
  84. HIDDEN:=1
  85. FILES:=$(LINUX_DIR)/drivers/usb/phy/phy-generic.ko
  86. AUTOLOAD:=$(call AutoLoad,43,phy-generic)
  87. $(call AddDepends/usb)
  88. endef
  89. define KernelPackage/usb-phy-nop/description
  90. Support for USB NOP transceiver
  91. endef
  92. $(eval $(call KernelPackage,usb-phy-nop))
  93. define KernelPackage/usb-phy-am335x
  94. TITLE:=Support for AM335x USB PHY
  95. KCONFIG:= \
  96. CONFIG_AM335X_PHY_USB \
  97. CONFIG_AM335X_CONTROL_USB
  98. DEPENDS:=@TARGET_omap +kmod-usb-phy-nop
  99. FILES:= \
  100. $(LINUX_DIR)/drivers/usb/phy/phy-am335x.ko \
  101. $(LINUX_DIR)/drivers/usb/phy/phy-am335x-control.ko
  102. AUTOLOAD:=$(call AutoLoad,44,phy-am335x)
  103. $(call AddDepends/usb)
  104. endef
  105. define KernelPackage/usb-phy-am335x/description
  106. Support for AM335x USB PHY
  107. endef
  108. $(eval $(call KernelPackage,usb-phy-am335x))
  109. define KernelPackage/usb-phy-omap-usb2
  110. TITLE:=Support for OMAP2 USB PHY
  111. KCONFIG:= \
  112. CONFIG_OMAP_USB2 \
  113. CONFIG_OMAP_CONTROL_PHY
  114. DEPENDS:=@TARGET_omap
  115. FILES:= \
  116. $(LINUX_DIR)/drivers/phy/phy-omap-usb2.ko \
  117. $(LINUX_DIR)/drivers/phy/phy-omap-control.ko
  118. AUTOLOAD:=$(call AutoLoad,45,phy-omap-control phy-omap-usb2)
  119. $(call AddDepends/usb)
  120. endef
  121. define KernelPackage/usb-phy-omap-usb2/description
  122. Support for AM335x USB PHY
  123. endef
  124. $(eval $(call KernelPackage,usb-phy-omap-usb2))
  125. define KernelPackage/usb-phy-omap-usb3
  126. TITLE:=Support for OMAP USB3 PHY
  127. KCONFIG:=CONFIG_OMAP_USB3
  128. DEPENDS:=@TARGET_omap +kmod-usb-phy-omap-usb2
  129. FILES:=$(LINUX_DIR)/drivers/usb/phy/phy-omap-usb3.ko
  130. AUTOLOAD:=$(call AutoLoad,45,phy-omap-usb3)
  131. $(call AddDepends/usb)
  132. endef
  133. define KernelPackage/usb-phy-omap-usb3/description
  134. Support for OMAP USB3 PHY
  135. endef
  136. $(eval $(call KernelPackage,usb-phy-omap-usb3))
  137. define KernelPackage/usb-phy-twl4030
  138. TITLE:=Support for TWL4030 OTG PHY
  139. KCONFIG:=CONFIG_TWL4030_USB
  140. DEPENDS:=@TARGET_omap +kmod-usb-phy-omap-usb2 +kmod-usb-musb-hdrc
  141. FILES:=$(LINUX_DIR)/drivers/phy/phy-twl4030-usb.ko
  142. AUTOLOAD:=$(call AutoLoad,45,phy-twl4030-usb)
  143. $(call AddDepends/usb)
  144. endef
  145. define KernelPackage/usb-phy-twl4030/description
  146. Support for TWL4030/TWL5030/TPS659x0 OTG PHY
  147. endef
  148. $(eval $(call KernelPackage,usb-phy-twl4030))
  149. define KernelPackage/usb-phy-twl6030
  150. TITLE:=Support for TWL6030 OTG PHY
  151. KCONFIG:=CONFIG_TWL6030_USB
  152. DEPENDS:=@TARGET_omap +kmod-usb-phy-omap-usb2 +kmod-usb-musb-hdrc
  153. FILES:=$(LINUX_DIR)/drivers/usb/phy/phy-twl6030-usb.ko
  154. AUTOLOAD:=$(call AutoLoad,45,phy-twl6030-usb)
  155. $(call AddDepends/usb)
  156. endef
  157. define KernelPackage/usb-phy-twl6030/description
  158. Support for TWL6030 OTG PHY
  159. endef
  160. $(eval $(call KernelPackage,usb-phy-twl6030))
  161. define KernelPackage/usb-gadget
  162. TITLE:=USB Gadget support
  163. KCONFIG:=CONFIG_USB_GADGET
  164. FILES:=\
  165. $(LINUX_DIR)/drivers/usb/gadget/udc/udc-core.ko
  166. AUTOLOAD:=$(call AutoLoad,45,udc-core)
  167. DEPENDS:=@USB_GADGET_SUPPORT
  168. $(call AddDepends/usb)
  169. endef
  170. define KernelPackage/usb-gadget/description
  171. Kernel support for USB Gadget mode
  172. endef
  173. $(eval $(call KernelPackage,usb-gadget))
  174. define KernelPackage/usb-lib-composite
  175. TITLE:=USB lib composite
  176. KCONFIG:=CONFIG_USB_LIBCOMPOSITE
  177. DEPENDS:=+kmod-usb-gadget +kmod-fs-configfs
  178. FILES:=$(LINUX_DIR)/drivers/usb/gadget/libcomposite.ko
  179. AUTOLOAD:=$(call AutoLoad,50,libcomposite)
  180. $(call AddDepends/usb)
  181. endef
  182. define KernelPackage/usb-lib-composite/description
  183. Lib Composite
  184. endef
  185. $(eval $(call KernelPackage,usb-lib-composite))
  186. define KernelPackage/usb-eth-gadget
  187. TITLE:=USB Ethernet Gadget support
  188. KCONFIG:= \
  189. CONFIG_USB_ETH \
  190. CONFIG_USB_ETH_RNDIS=y \
  191. CONFIG_USB_ETH_EEM=n
  192. DEPENDS:=+kmod-usb-gadget +kmod-usb-lib-composite
  193. FILES:= \
  194. $(LINUX_DIR)/drivers/usb/gadget/function/u_ether.ko \
  195. $(LINUX_DIR)/drivers/usb/gadget/function/usb_f_ecm.ko \
  196. $(LINUX_DIR)/drivers/usb/gadget/function/usb_f_ecm_subset.ko \
  197. $(LINUX_DIR)/drivers/usb/gadget/function/usb_f_rndis.ko \
  198. $(LINUX_DIR)/drivers/usb/gadget/legacy/g_ether.ko
  199. AUTOLOAD:=$(call AutoLoad,52,usb_f_ecm g_ether)
  200. $(call AddDepends/usb)
  201. endef
  202. define KernelPackage/usb-eth-gadget/description
  203. Kernel support for USB Ethernet Gadget
  204. endef
  205. $(eval $(call KernelPackage,usb-eth-gadget))
  206. define KernelPackage/usb-serial-gadget
  207. TITLE:=USB Serial Gadget support
  208. KCONFIG:=CONFIG_USB_G_SERIAL
  209. DEPENDS:=+kmod-usb-gadget +kmod-usb-lib-composite
  210. FILES:= \
  211. $(LINUX_DIR)/drivers/usb/gadget/function/u_serial.ko \
  212. $(LINUX_DIR)/drivers/usb/gadget/function/usb_f_acm.ko \
  213. $(LINUX_DIR)/drivers/usb/gadget/function/usb_f_obex.ko \
  214. $(LINUX_DIR)/drivers/usb/gadget/function/usb_f_serial.ko \
  215. $(LINUX_DIR)/drivers/usb/gadget/legacy/g_serial.ko
  216. AUTOLOAD:=$(call AutoLoad,52,usb_f_acm g_serial)
  217. $(call AddDepends/usb)
  218. endef
  219. define KernelPackage/usb-serial-gadget/description
  220. Kernel support for USB Serial Gadget.
  221. endef
  222. $(eval $(call KernelPackage,usb-serial-gadget))
  223. define KernelPackage/usb-uhci
  224. TITLE:=Support for UHCI controllers
  225. KCONFIG:= \
  226. CONFIG_USB_UHCI_ALT \
  227. CONFIG_USB_UHCI_HCD
  228. FILES:=$(LINUX_DIR)/drivers/usb/host/uhci-hcd.ko
  229. AUTOLOAD:=$(call AutoLoad,50,uhci-hcd,1)
  230. $(call AddDepends/usb)
  231. endef
  232. define KernelPackage/usb-uhci/description
  233. Kernel support for USB UHCI controllers
  234. endef
  235. $(eval $(call KernelPackage,usb-uhci,1))
  236. define KernelPackage/usb-ohci
  237. TITLE:=Support for OHCI controllers
  238. DEPENDS:= \
  239. +TARGET_bcm53xx:kmod-usb-bcma \
  240. +TARGET_brcm47xx:kmod-usb-bcma \
  241. +TARGET_brcm47xx:kmod-usb-ssb
  242. KCONFIG:= \
  243. CONFIG_USB_OHCI \
  244. CONFIG_USB_OHCI_HCD \
  245. CONFIG_USB_OHCI_ATH79=y \
  246. CONFIG_USB_OHCI_HCD_AT91=y \
  247. CONFIG_USB_OHCI_BCM63XX=y \
  248. CONFIG_USB_OCTEON_OHCI=y \
  249. CONFIG_USB_OHCI_HCD_OMAP3=y \
  250. CONFIG_USB_OHCI_HCD_PLATFORM=y
  251. FILES:= \
  252. $(LINUX_DIR)/drivers/usb/host/ohci-hcd.ko \
  253. $(LINUX_DIR)/drivers/usb/host/ohci-platform.ko
  254. ifneq ($(wildcard $(LINUX_DIR)/drivers/usb/host/ohci-at91.ko),)
  255. FILES+=$(LINUX_DIR)/drivers/usb/host/ohci-at91.ko
  256. endif
  257. AUTOLOAD:=$(call AutoLoad,50,ohci-hcd ohci-platform ohci-at91,1)
  258. $(call AddDepends/usb)
  259. endef
  260. define KernelPackage/usb-ohci/description
  261. Kernel support for USB OHCI controllers
  262. endef
  263. $(eval $(call KernelPackage,usb-ohci,1))
  264. define KernelPackage/usb-ohci-pci
  265. TITLE:=Support for PCI OHCI controllers
  266. DEPENDS:=@PCI_SUPPORT +kmod-usb-ohci
  267. KCONFIG:=CONFIG_USB_OHCI_HCD_PCI
  268. FILES:=$(LINUX_DIR)/drivers/usb/host/ohci-pci.ko
  269. AUTOLOAD:=$(call AutoLoad,51,ohci-pci,1)
  270. $(call AddDepends/usb)
  271. endef
  272. define KernelPackage/usb-ohci-pci/description
  273. Kernel support for PCI OHCI controllers
  274. endef
  275. $(eval $(call KernelPackage,usb-ohci-pci))
  276. define KernelPackage/usb2-fsl
  277. TITLE:=Support for Freescale USB2 controllers
  278. DEPENDS:=@TARGET_mpc85xx
  279. KCONFIG:=\
  280. CONFIG_USB_FSL_MPH_DR_OF \
  281. CONFIG_USB_EHCI_FSL=y
  282. FILES:=$(LINUX_DIR)/drivers/usb/host/fsl-mph-dr-of.ko
  283. AUTOLOAD:=$(call AutoLoad,39,fsl-mph-dr-of,1)
  284. $(call AddDepends/usb)
  285. endef
  286. define KernelPackage/usb2-fsl/description
  287. Kernel support for Freescale USB2 (EHCI) controllers
  288. endef
  289. $(eval $(call KernelPackage,usb2-fsl))
  290. define KernelPackage/usb2-omap
  291. TITLE:=Support for USB2 for OMAP
  292. DEPENDS:=@TARGET_omap +kmod-usb-phy-nop +kmod-usb-phy-am335x +kmod-usb2
  293. KCONFIG:=\
  294. CONFIG_MFD_OMAP_USB_HOST=y \
  295. CONFIG_USB_EHCI_HCD_OMAP
  296. FILES:=$(LINUX_DIR)/drivers/usb/host/ehci-omap.ko
  297. AUTOLOAD:=$(call AutoLoad,39,ehci-omap)
  298. $(call AddDepends/usb)
  299. endef
  300. define KernelPackage/usb2-omap/description
  301. Kernel support for OMAP USB2 (EHCI) controllers
  302. endef
  303. $(eval $(call KernelPackage,usb2-omap))
  304. define KernelPackage/usb-bcma
  305. TITLE:=Support for BCMA USB controllers
  306. DEPENDS:=@USB_SUPPORT @TARGET_brcm47xx||TARGET_bcm53xx
  307. HIDDEN:=1
  308. KCONFIG:=CONFIG_USB_HCD_BCMA
  309. FILES:= \
  310. $(if $(CONFIG_USB_HCD_BCMA),$(LINUX_DIR)/drivers/usb/host/bcma-hcd.ko)
  311. AUTOLOAD:=$(call AutoLoad,19,$(if $(CONFIG_USB_HCD_BCMA),bcma-hcd),1)
  312. $(call AddDepends/usb)
  313. endef
  314. $(eval $(call KernelPackage,usb-bcma))
  315. define KernelPackage/usb-ssb
  316. TITLE:=Support for SSB USB controllers
  317. DEPENDS:=@USB_SUPPORT @TARGET_brcm47xx
  318. HIDDEN:=1
  319. KCONFIG:=CONFIG_USB_HCD_SSB
  320. FILES:= \
  321. $(if $(CONFIG_USB_HCD_SSB),$(LINUX_DIR)/drivers/usb/host/ssb-hcd.ko)
  322. AUTOLOAD:=$(call AutoLoad,19,$(if $(CONFIG_USB_HCD_SSB),ssb-hcd),1)
  323. $(call AddDepends/usb)
  324. endef
  325. $(eval $(call KernelPackage,usb-ssb))
  326. define KernelPackage/usb2
  327. TITLE:=Support for USB2 controllers
  328. DEPENDS:=\
  329. +TARGET_brcm47xx:kmod-usb-bcma \
  330. +TARGET_brcm47xx:kmod-usb-ssb \
  331. +TARGET_bcm53xx:kmod-usb-bcma \
  332. +TARGET_mpc85xx:kmod-usb2-fsl
  333. KCONFIG:=\
  334. CONFIG_USB_EHCI_HCD \
  335. CONFIG_USB_EHCI_ATH79=y \
  336. CONFIG_USB_EHCI_BCM63XX=y \
  337. CONFIG_USB_IMX21_HCD=y \
  338. CONFIG_USB_EHCI_MXC=y \
  339. CONFIG_USB_OCTEON_EHCI=y \
  340. CONFIG_USB_EHCI_HCD_ORION=y \
  341. CONFIG_USB_EHCI_HCD_PLATFORM=y \
  342. CONFIG_USB_EHCI_HCD_AT91=y
  343. FILES:= \
  344. $(LINUX_DIR)/drivers/usb/host/ehci-hcd.ko \
  345. $(LINUX_DIR)/drivers/usb/host/ehci-platform.ko
  346. ifneq ($(wildcard $(LINUX_DIR)/drivers/usb/host/ehci-orion.ko),)
  347. FILES+=$(LINUX_DIR)/drivers/usb/host/ehci-orion.ko
  348. endif
  349. ifneq ($(wildcard $(LINUX_DIR)/drivers/usb/host/ehci-atmel.ko),)
  350. FILES+=$(LINUX_DIR)/drivers/usb/host/ehci-atmel.ko
  351. endif
  352. AUTOLOAD:=$(call AutoLoad,40,ehci-hcd ehci-platform ehci-orion ehci-atmel,1)
  353. $(call AddDepends/usb)
  354. endef
  355. define KernelPackage/usb2/description
  356. Kernel support for USB2 (EHCI) controllers
  357. endef
  358. $(eval $(call KernelPackage,usb2))
  359. define KernelPackage/usb2-pci
  360. TITLE:=Support for PCI USB2 controllers
  361. DEPENDS:=@PCI_SUPPORT +kmod-usb2
  362. KCONFIG:=CONFIG_USB_EHCI_PCI
  363. FILES:=$(LINUX_DIR)/drivers/usb/host/ehci-pci.ko
  364. AUTOLOAD:=$(call AutoLoad,42,ehci-pci,1)
  365. $(call AddDepends/usb)
  366. endef
  367. define KernelPackage/usb2-pci/description
  368. Kernel support for PCI USB2 (EHCI) controllers
  369. endef
  370. $(eval $(call KernelPackage,usb2-pci))
  371. define KernelPackage/usb-dwc2
  372. TITLE:=DWC2 USB controller driver
  373. DEPENDS:=+(TARGET_brcm2708||TARGET_at91||TARGET_brcm63xx||TARGET_mxs||TARGET_imx6):kmod-usb-gadget
  374. KCONFIG:= \
  375. CONFIG_USB_DWC2 \
  376. CONFIG_USB_DWC2_PCI \
  377. CONFIG_USB_DWC2_PLATFORM \
  378. CONFIG_USB_DWC2_DEBUG=n \
  379. CONFIG_USB_DWC2_VERBOSE=n \
  380. CONFIG_USB_DWC2_TRACK_MISSED_SOFS=n \
  381. CONFIG_USB_DWC2_DEBUG_PERIODIC=n
  382. FILES:= \
  383. $(LINUX_DIR)/drivers/usb/dwc2/dwc2.ko \
  384. $(LINUX_DIR)/drivers/usb/dwc2/dwc2_platform.ko
  385. AUTOLOAD:=$(call AutoLoad,54,dwc2 dwc2_platform,1)
  386. $(call AddDepends/usb)
  387. endef
  388. define KernelPackage/usb-dwc2/description
  389. This driver provides USB Device Controller support for the
  390. Synopsys DesignWare USB OTG Core
  391. endef
  392. $(eval $(call KernelPackage,usb-dwc2))
  393. define KernelPackage/usb2-oxnas
  394. TITLE:=OXNAS USB controller driver
  395. DEPENDS:=@TARGET_oxnas +kmod-usb2
  396. KCONFIG:=CONFIG_USB_EHCI_OXNAS
  397. FILES:=$(LINUX_DIR)/drivers/usb/host/ehci-oxnas.ko
  398. AUTOLOAD:=$(call AutoLoad,55,ehci-oxnas,1)
  399. $(call AddDepends/usb)
  400. endef
  401. define KernelPackage/usb2-oxnas/description
  402. This driver provides USB Device Controller support for the
  403. EHCI USB host built-in to the PLXTECH NAS782x SoC
  404. endef
  405. $(eval $(call KernelPackage,usb2-oxnas))
  406. define KernelPackage/usb-dwc3
  407. TITLE:=DWC3 USB controller driver
  408. KCONFIG:= \
  409. CONFIG_USB_DWC3 \
  410. CONFIG_USB_DWC3_HOST=y \
  411. CONFIG_USB_DWC3_GADGET=n \
  412. CONFIG_USB_DWC3_DUAL_ROLE=n \
  413. CONFIG_USB_DWC3_DEBUG=n \
  414. CONFIG_USB_DWC3_VERBOSE=n
  415. FILES:= $(LINUX_DIR)/drivers/usb/dwc3/dwc3.ko
  416. AUTOLOAD:=$(call AutoLoad,54,dwc3,1)
  417. $(call AddDepends/usb)
  418. endef
  419. define KernelPackage/usb-dwc3/description
  420. This driver provides support for the Dual Role SuperSpeed
  421. USB Controller based on the Synopsys DesignWare USB3 IP Core
  422. endef
  423. $(eval $(call KernelPackage,usb-dwc3))
  424. define KernelPackage/usb-acm
  425. TITLE:=Support for modems/isdn controllers
  426. KCONFIG:=CONFIG_USB_ACM
  427. FILES:=$(LINUX_DIR)/drivers/usb/class/cdc-acm.ko
  428. AUTOLOAD:=$(call AutoProbe,cdc-acm)
  429. $(call AddDepends/usb)
  430. endef
  431. define KernelPackage/usb-acm/description
  432. Kernel support for USB ACM devices (modems/isdn controllers)
  433. endef
  434. $(eval $(call KernelPackage,usb-acm))
  435. define KernelPackage/usb-wdm
  436. TITLE:=USB Wireless Device Management
  437. KCONFIG:=CONFIG_USB_WDM
  438. FILES:=$(LINUX_DIR)/drivers/usb/class/cdc-wdm.ko
  439. AUTOLOAD:=$(call AutoProbe,cdc-wdm)
  440. $(call AddDepends/usb)
  441. $(call AddDepends/usb-net)
  442. endef
  443. define KernelPackage/usb-wdm/description
  444. USB Wireless Device Management support
  445. endef
  446. $(eval $(call KernelPackage,usb-wdm))
  447. define KernelPackage/usb-audio
  448. TITLE:=Support for USB audio devices
  449. KCONFIG:= \
  450. CONFIG_USB_AUDIO \
  451. CONFIG_SND_USB_AUDIO
  452. $(call AddDepends/usb)
  453. $(call AddDepends/sound)
  454. FILES:= \
  455. $(LINUX_DIR)/sound/usb/snd-usbmidi-lib.ko \
  456. $(LINUX_DIR)/sound/usb/snd-usb-audio.ko
  457. AUTOLOAD:=$(call AutoProbe,snd-usbmidi-lib snd-usb-audio)
  458. endef
  459. define KernelPackage/usb-audio/description
  460. Kernel support for USB audio devices
  461. endef
  462. $(eval $(call KernelPackage,usb-audio))
  463. define KernelPackage/usb-printer
  464. TITLE:=Support for printers
  465. KCONFIG:=CONFIG_USB_PRINTER
  466. FILES:=$(LINUX_DIR)/drivers/usb/class/usblp.ko
  467. AUTOLOAD:=$(call AutoProbe,usblp)
  468. $(call AddDepends/usb)
  469. endef
  470. define KernelPackage/usb-printer/description
  471. Kernel support for USB printers
  472. endef
  473. $(eval $(call KernelPackage,usb-printer))
  474. define KernelPackage/usb-serial
  475. TITLE:=Support for USB-to-Serial converters
  476. KCONFIG:=CONFIG_USB_SERIAL
  477. FILES:=$(LINUX_DIR)/drivers/usb/serial/usbserial.ko
  478. AUTOLOAD:=$(call AutoProbe,usbserial)
  479. $(call AddDepends/usb)
  480. endef
  481. define KernelPackage/usb-serial/description
  482. Kernel support for USB-to-Serial converters
  483. endef
  484. $(eval $(call KernelPackage,usb-serial))
  485. define AddDepends/usb-serial
  486. SUBMENU:=$(USB_MENU)
  487. DEPENDS+=kmod-usb-serial $(1)
  488. endef
  489. define KernelPackage/usb-serial-belkin
  490. TITLE:=Support for Belkin devices
  491. KCONFIG:=CONFIG_USB_SERIAL_BELKIN
  492. FILES:=$(LINUX_DIR)/drivers/usb/serial/belkin_sa.ko
  493. AUTOLOAD:=$(call AutoProbe,belkin_sa)
  494. $(call AddDepends/usb-serial)
  495. endef
  496. define KernelPackage/usb-serial-belkin/description
  497. Kernel support for Belkin USB-to-Serial converters
  498. endef
  499. $(eval $(call KernelPackage,usb-serial-belkin))
  500. define KernelPackage/usb-serial-ch341
  501. TITLE:=Support for CH341 devices
  502. KCONFIG:=CONFIG_USB_SERIAL_CH341
  503. FILES:=$(LINUX_DIR)/drivers/usb/serial/ch341.ko
  504. AUTOLOAD:=$(call AutoProbe,ch341)
  505. $(call AddDepends/usb-serial)
  506. endef
  507. define KernelPackage/usb-serial-ch341/description
  508. Kernel support for Winchiphead CH341 USB-to-Serial converters
  509. endef
  510. $(eval $(call KernelPackage,usb-serial-ch341))
  511. define KernelPackage/usb-serial-ftdi
  512. TITLE:=Support for FTDI devices
  513. KCONFIG:=CONFIG_USB_SERIAL_FTDI_SIO
  514. FILES:=$(LINUX_DIR)/drivers/usb/serial/ftdi_sio.ko
  515. AUTOLOAD:=$(call AutoProbe,ftdi_sio)
  516. $(call AddDepends/usb-serial)
  517. endef
  518. define KernelPackage/usb-serial-ftdi/description
  519. Kernel support for FTDI USB-to-Serial converters
  520. endef
  521. $(eval $(call KernelPackage,usb-serial-ftdi))
  522. define KernelPackage/usb-serial-garmin
  523. TITLE:=Support for Garmin GPS devices
  524. KCONFIG:=CONFIG_USB_SERIAL_GARMIN
  525. FILES:=$(LINUX_DIR)/drivers/usb/serial/garmin_gps.ko
  526. AUTOLOAD:=$(call AutoProbe,garmin_gps)
  527. $(call AddDepends/usb-serial)
  528. endef
  529. define KernelPackage/usb-serial-garmin/description
  530. Should work with most Garmin GPS devices which have a native USB port.
  531. endef
  532. $(eval $(call KernelPackage,usb-serial-garmin))
  533. define KernelPackage/usb-serial-simple
  534. TITLE:=USB Serial Simple (Motorola phone)
  535. KCONFIG:=CONFIG_USB_SERIAL_SIMPLE
  536. FILES:=$(LINUX_DIR)/drivers/usb/serial/usb-serial-simple.ko
  537. AUTOLOAD:=$(call AutoProbe,usb-serial-simple)
  538. $(call AddDepends/usb-serial)
  539. endef
  540. define KernelPackage/usb-serial-simple/description
  541. Kernel support for "very simple devices".
  542. Specifically, it supports:
  543. - Suunto ANT+ USB device.
  544. - Medtronic CareLink USB device (3.18)
  545. - Fundamental Software dongle.
  546. - Google USB serial devices (3.19)
  547. - HP4x calculators
  548. - a number of Motorola phones
  549. - Novatel Wireless GPS receivers (3.18)
  550. - Siemens USB/MPI adapter.
  551. - ViVOtech ViVOpay USB device.
  552. - Infineon Modem Flashloader USB interface
  553. - ZIO Motherboard USB serial interface
  554. endef
  555. $(eval $(call KernelPackage,usb-serial-simple))
  556. define KernelPackage/usb-serial-ti-usb
  557. TITLE:=Support for TI USB 3410/5052
  558. KCONFIG:=CONFIG_USB_SERIAL_TI
  559. FILES:=$(LINUX_DIR)/drivers/usb/serial/ti_usb_3410_5052.ko
  560. AUTOLOAD:=$(call AutoProbe,ti_usb_3410_5052)
  561. $(call AddDepends/usb-serial)
  562. endef
  563. define KernelPackage/usb-serial-ti-usb/description
  564. Kernel support for TI USB 3410/5052 devices
  565. endef
  566. $(eval $(call KernelPackage,usb-serial-ti-usb))
  567. define KernelPackage/usb-serial-ipw
  568. TITLE:=Support for IPWireless 3G devices
  569. KCONFIG:=CONFIG_USB_SERIAL_IPW
  570. FILES:=$(LINUX_DIR)/drivers/usb/serial/ipw.ko
  571. AUTOLOAD:=$(call AutoProbe,ipw)
  572. $(call AddDepends/usb-serial,+kmod-usb-serial-wwan)
  573. endef
  574. $(eval $(call KernelPackage,usb-serial-ipw))
  575. define KernelPackage/usb-serial-mct
  576. TITLE:=Support for Magic Control Tech. devices
  577. KCONFIG:=CONFIG_USB_SERIAL_MCT_U232
  578. FILES:=$(LINUX_DIR)/drivers/usb/serial/mct_u232.ko
  579. AUTOLOAD:=$(call AutoProbe,mct_u232)
  580. $(call AddDepends/usb-serial)
  581. endef
  582. define KernelPackage/usb-serial-mct/description
  583. Kernel support for Magic Control Technology USB-to-Serial converters
  584. endef
  585. $(eval $(call KernelPackage,usb-serial-mct))
  586. define KernelPackage/usb-serial-mos7720
  587. TITLE:=Support for Moschip MOS7720 devices
  588. KCONFIG:=CONFIG_USB_SERIAL_MOS7720
  589. FILES:=$(LINUX_DIR)/drivers/usb/serial/mos7720.ko
  590. AUTOLOAD:=$(call AutoProbe,mos7720)
  591. $(call AddDepends/usb-serial)
  592. endef
  593. define KernelPackage/usb-serial-mos7720/description
  594. Kernel support for Moschip MOS7720 USB-to-Serial converters
  595. endef
  596. $(eval $(call KernelPackage,usb-serial-mos7720))
  597. define KernelPackage/usb-serial-pl2303
  598. TITLE:=Support for Prolific PL2303 devices
  599. KCONFIG:=CONFIG_USB_SERIAL_PL2303
  600. FILES:=$(LINUX_DIR)/drivers/usb/serial/pl2303.ko
  601. AUTOLOAD:=$(call AutoProbe,pl2303)
  602. $(call AddDepends/usb-serial)
  603. endef
  604. define KernelPackage/usb-serial-pl2303/description
  605. Kernel support for Prolific PL2303 USB-to-Serial converters
  606. endef
  607. $(eval $(call KernelPackage,usb-serial-pl2303))
  608. define KernelPackage/usb-serial-cp210x
  609. TITLE:=Support for Silicon Labs cp210x devices
  610. KCONFIG:=CONFIG_USB_SERIAL_CP210X
  611. FILES:=$(LINUX_DIR)/drivers/usb/serial/cp210x.ko
  612. AUTOLOAD:=$(call AutoProbe,cp210x)
  613. $(call AddDepends/usb-serial)
  614. endef
  615. define KernelPackage/usb-serial-cp210x/description
  616. Kernel support for Silicon Labs cp210x USB-to-Serial converters
  617. endef
  618. $(eval $(call KernelPackage,usb-serial-cp210x))
  619. define KernelPackage/usb-serial-ark3116
  620. TITLE:=Support for ArkMicroChips ARK3116 devices
  621. KCONFIG:=CONFIG_USB_SERIAL_ARK3116
  622. FILES:=$(LINUX_DIR)/drivers/usb/serial/ark3116.ko
  623. AUTOLOAD:=$(call AutoProbe,ark3116)
  624. $(call AddDepends/usb-serial)
  625. endef
  626. define KernelPackage/usb-serial-ark3116/description
  627. Kernel support for ArkMicroChips ARK3116 USB-to-Serial converters
  628. endef
  629. $(eval $(call KernelPackage,usb-serial-ark3116))
  630. define KernelPackage/usb-serial-oti6858
  631. TITLE:=Support for Ours Technology OTI6858 devices
  632. KCONFIG:=CONFIG_USB_SERIAL_OTI6858
  633. FILES:=$(LINUX_DIR)/drivers/usb/serial/oti6858.ko
  634. AUTOLOAD:=$(call AutoProbe,oti6858)
  635. $(call AddDepends/usb-serial)
  636. endef
  637. define KernelPackage/usb-serial-oti6858/description
  638. Kernel support for Ours Technology OTI6858 USB-to-Serial converters
  639. endef
  640. $(eval $(call KernelPackage,usb-serial-oti6858))
  641. define KernelPackage/usb-serial-sierrawireless
  642. TITLE:=Support for Sierra Wireless devices
  643. KCONFIG:=CONFIG_USB_SERIAL_SIERRAWIRELESS
  644. FILES:=$(LINUX_DIR)/drivers/usb/serial/sierra.ko
  645. AUTOLOAD:=$(call AutoProbe,sierra)
  646. $(call AddDepends/usb-serial)
  647. endef
  648. define KernelPackage/usb-serial-sierrawireless/description
  649. Kernel support for Sierra Wireless devices
  650. endef
  651. $(eval $(call KernelPackage,usb-serial-sierrawireless))
  652. define KernelPackage/usb-serial-visor
  653. TITLE:=Support for Handspring Visor devices
  654. KCONFIG:=CONFIG_USB_SERIAL_VISOR
  655. FILES:=$(LINUX_DIR)/drivers/usb/serial/visor.ko
  656. AUTOLOAD:=$(call AutoProbe,visor)
  657. $(call AddDepends/usb-serial)
  658. endef
  659. define KernelPackage/usb-serial-visor/description
  660. Kernel support for Handspring Visor PDAs
  661. endef
  662. $(eval $(call KernelPackage,usb-serial-visor))
  663. define KernelPackage/usb-serial-cypress-m8
  664. TITLE:=Support for CypressM8 USB-Serial
  665. KCONFIG:=CONFIG_USB_SERIAL_CYPRESS_M8
  666. FILES:=$(LINUX_DIR)/drivers/usb/serial/cypress_m8.ko
  667. AUTOLOAD:=$(call AutoProbe,cypress_m8)
  668. $(call AddDepends/usb-serial)
  669. endef
  670. define KernelPackage/usb-serial-cypress-m8/description
  671. Kernel support for devices with Cypress M8 USB to Serial chip
  672. (for example, the Delorme Earthmate LT-20 GPS)
  673. Supported microcontrollers in the CY4601 family are:
  674. CY7C63741 CY7C63742 CY7C63743 CY7C64013
  675. endef
  676. $(eval $(call KernelPackage,usb-serial-cypress-m8))
  677. define KernelPackage/usb-serial-keyspan
  678. TITLE:=Support for Keyspan USB-to-Serial devices
  679. KCONFIG:= \
  680. CONFIG_USB_SERIAL_KEYSPAN \
  681. CONFIG_USB_SERIAL_KEYSPAN_USA28 \
  682. CONFIG_USB_SERIAL_KEYSPAN_USA28X \
  683. CONFIG_USB_SERIAL_KEYSPAN_USA28XA \
  684. CONFIG_USB_SERIAL_KEYSPAN_USA28XB \
  685. CONFIG_USB_SERIAL_KEYSPAN_USA19 \
  686. CONFIG_USB_SERIAL_KEYSPAN_USA18X \
  687. CONFIG_USB_SERIAL_KEYSPAN_USA19W \
  688. CONFIG_USB_SERIAL_KEYSPAN_USA19QW \
  689. CONFIG_USB_SERIAL_KEYSPAN_USA19QI \
  690. CONFIG_USB_SERIAL_KEYSPAN_MPR \
  691. CONFIG_USB_SERIAL_KEYSPAN_USA49W \
  692. CONFIG_USB_SERIAL_KEYSPAN_USA49WLC
  693. FILES:= \
  694. $(LINUX_DIR)/drivers/usb/serial/keyspan.ko \
  695. $(wildcard $(LINUX_DIR)/drivers/usb/misc/ezusb.ko)
  696. AUTOLOAD:=$(call AutoProbe,ezusb keyspan)
  697. $(call AddDepends/usb-serial)
  698. endef
  699. define KernelPackage/usb-serial-keyspan/description
  700. Kernel support for Keyspan USB-to-Serial devices
  701. endef
  702. $(eval $(call KernelPackage,usb-serial-keyspan))
  703. define KernelPackage/usb-serial-wwan
  704. TITLE:=Support for GSM and CDMA modems
  705. KCONFIG:=CONFIG_USB_SERIAL_WWAN
  706. FILES:=$(LINUX_DIR)/drivers/usb/serial/usb_wwan.ko
  707. AUTOLOAD:=$(call AutoProbe,usb_wwan)
  708. $(call AddDepends/usb-serial)
  709. endef
  710. define KernelPackage/usb-serial-wwan/description
  711. Kernel support for USB GSM and CDMA modems
  712. endef
  713. $(eval $(call KernelPackage,usb-serial-wwan))
  714. define KernelPackage/usb-serial-option
  715. TITLE:=Support for Option HSDPA modems
  716. DEPENDS:=+kmod-usb-serial-wwan
  717. KCONFIG:=CONFIG_USB_SERIAL_OPTION
  718. FILES:=$(LINUX_DIR)/drivers/usb/serial/option.ko
  719. AUTOLOAD:=$(call AutoProbe,option)
  720. $(call AddDepends/usb-serial)
  721. endef
  722. define KernelPackage/usb-serial-option/description
  723. Kernel support for Option HSDPA modems
  724. endef
  725. $(eval $(call KernelPackage,usb-serial-option))
  726. define KernelPackage/usb-serial-qualcomm
  727. TITLE:=Support for Qualcomm USB serial
  728. KCONFIG:=CONFIG_USB_SERIAL_QUALCOMM
  729. FILES:=$(LINUX_DIR)/drivers/usb/serial/qcserial.ko
  730. AUTOLOAD:=$(call AutoProbe,qcserial)
  731. $(call AddDepends/usb-serial,+kmod-usb-serial-wwan)
  732. endef
  733. define KernelPackage/usb-serial-qualcomm/description
  734. Kernel support for Qualcomm USB Serial devices (Gobi)
  735. endef
  736. $(eval $(call KernelPackage,usb-serial-qualcomm))
  737. define KernelPackage/usb-storage
  738. TITLE:=USB Storage support
  739. DEPENDS:= +kmod-scsi-core
  740. KCONFIG:=CONFIG_USB_STORAGE
  741. FILES:=$(LINUX_DIR)/drivers/usb/storage/usb-storage.ko
  742. AUTOLOAD:=$(call AutoProbe,usb-storage,1)
  743. $(call AddDepends/usb)
  744. endef
  745. define KernelPackage/usb-storage/description
  746. Kernel support for USB Mass Storage devices
  747. endef
  748. $(eval $(call KernelPackage,usb-storage))
  749. define KernelPackage/usb-storage-extras
  750. SUBMENU:=$(USB_MENU)
  751. TITLE:=Extra drivers for usb-storage
  752. DEPENDS:=+kmod-usb-storage
  753. KCONFIG:= \
  754. CONFIG_USB_STORAGE_ALAUDA \
  755. CONFIG_USB_STORAGE_CYPRESS_ATACB \
  756. CONFIG_USB_STORAGE_DATAFAB \
  757. CONFIG_USB_STORAGE_FREECOM \
  758. CONFIG_USB_STORAGE_ISD200 \
  759. CONFIG_USB_STORAGE_JUMPSHOT \
  760. CONFIG_USB_STORAGE_KARMA \
  761. CONFIG_USB_STORAGE_SDDR09 \
  762. CONFIG_USB_STORAGE_SDDR55 \
  763. CONFIG_USB_STORAGE_USBAT
  764. FILES:= \
  765. $(LINUX_DIR)/drivers/usb/storage/ums-alauda.ko \
  766. $(LINUX_DIR)/drivers/usb/storage/ums-cypress.ko \
  767. $(LINUX_DIR)/drivers/usb/storage/ums-datafab.ko \
  768. $(LINUX_DIR)/drivers/usb/storage/ums-freecom.ko \
  769. $(LINUX_DIR)/drivers/usb/storage/ums-isd200.ko \
  770. $(LINUX_DIR)/drivers/usb/storage/ums-jumpshot.ko \
  771. $(LINUX_DIR)/drivers/usb/storage/ums-karma.ko \
  772. $(LINUX_DIR)/drivers/usb/storage/ums-sddr09.ko \
  773. $(LINUX_DIR)/drivers/usb/storage/ums-sddr55.ko \
  774. $(LINUX_DIR)/drivers/usb/storage/ums-usbat.ko
  775. AUTOLOAD:=$(call AutoProbe,ums-alauda ums-cypress ums-datafab \
  776. ums-freecom ums-isd200 ums-jumpshot \
  777. ums-karma ums-sddr09 ums-sddr55 ums-usbat)
  778. endef
  779. define KernelPackage/usb-storage-extras/description
  780. Say Y here if you want to have some more drivers,
  781. such as for SmartMedia card readers
  782. endef
  783. $(eval $(call KernelPackage,usb-storage-extras))
  784. define KernelPackage/usb-atm
  785. TITLE:=Support for ATM on USB bus
  786. DEPENDS:=+kmod-atm
  787. KCONFIG:=CONFIG_USB_ATM
  788. FILES:=$(LINUX_DIR)/drivers/usb/atm/usbatm.ko
  789. AUTOLOAD:=$(call AutoProbe,usbatm)
  790. $(call AddDepends/usb)
  791. endef
  792. define KernelPackage/usb-atm/description
  793. Kernel support for USB DSL modems
  794. endef
  795. $(eval $(call KernelPackage,usb-atm))
  796. define AddDepends/usb-atm
  797. SUBMENU:=$(USB_MENU)
  798. DEPENDS+=kmod-usb-atm $(1)
  799. endef
  800. define KernelPackage/usb-atm-speedtouch
  801. TITLE:=SpeedTouch USB ADSL modems support
  802. KCONFIG:=CONFIG_USB_SPEEDTOUCH
  803. FILES:=$(LINUX_DIR)/drivers/usb/atm/speedtch.ko
  804. AUTOLOAD:=$(call AutoProbe,speedtch)
  805. $(call AddDepends/usb-atm)
  806. endef
  807. define KernelPackage/usb-atm-speedtouch/description
  808. Kernel support for SpeedTouch USB ADSL modems
  809. endef
  810. $(eval $(call KernelPackage,usb-atm-speedtouch))
  811. define KernelPackage/usb-atm-ueagle
  812. TITLE:=Eagle 8051 based USB ADSL modems support
  813. FILES:=$(LINUX_DIR)/drivers/usb/atm/ueagle-atm.ko
  814. KCONFIG:=CONFIG_USB_UEAGLEATM
  815. AUTOLOAD:=$(call AutoProbe,ueagle-atm)
  816. $(call AddDepends/usb-atm)
  817. endef
  818. define KernelPackage/usb-atm-ueagle/description
  819. Kernel support for Eagle 8051 based USB ADSL modems
  820. endef
  821. $(eval $(call KernelPackage,usb-atm-ueagle))
  822. define KernelPackage/usb-atm-cxacru
  823. TITLE:=cxacru
  824. FILES:=$(LINUX_DIR)/drivers/usb/atm/cxacru.ko
  825. KCONFIG:=CONFIG_USB_CXACRU
  826. AUTOLOAD:=$(call AutoProbe,cxacru)
  827. $(call AddDepends/usb-atm)
  828. endef
  829. define KernelPackage/usb-atm-cxacru/description
  830. Kernel support for cxacru based USB ADSL modems
  831. endef
  832. $(eval $(call KernelPackage,usb-atm-cxacru))
  833. define KernelPackage/usb-net
  834. TITLE:=Kernel modules for USB-to-Ethernet convertors
  835. DEPENDS:=+kmod-mii
  836. KCONFIG:=CONFIG_USB_USBNET \
  837. CONFIG_USB_NET_DRIVERS
  838. AUTOLOAD:=$(call AutoProbe,usbnet)
  839. FILES:=$(LINUX_DIR)/drivers/$(USBNET_DIR)/usbnet.ko
  840. $(call AddDepends/usb)
  841. endef
  842. define KernelPackage/usb-net/description
  843. Kernel modules for USB-to-Ethernet convertors
  844. endef
  845. $(eval $(call KernelPackage,usb-net))
  846. define AddDepends/usb-net
  847. SUBMENU:=$(USB_MENU)
  848. DEPENDS+=kmod-usb-net $(1)
  849. endef
  850. define KernelPackage/usb-net-asix
  851. TITLE:=Kernel module for USB-to-Ethernet Asix convertors
  852. DEPENDS:=+kmod-libphy
  853. KCONFIG:=CONFIG_USB_NET_AX8817X
  854. FILES:=$(LINUX_DIR)/drivers/$(USBNET_DIR)/asix.ko
  855. AUTOLOAD:=$(call AutoProbe,asix)
  856. $(call AddDepends/usb-net)
  857. endef
  858. define KernelPackage/usb-net-asix/description
  859. Kernel module for USB-to-Ethernet Asix convertors
  860. endef
  861. $(eval $(call KernelPackage,usb-net-asix))
  862. define KernelPackage/usb-net-asix-ax88179
  863. TITLE:=Kernel module for USB-to-Gigabit-Ethernet Asix convertors
  864. DEPENDS:=+kmod-libphy
  865. KCONFIG:=CONFIG_USB_NET_AX88179_178A
  866. FILES:=$(LINUX_DIR)/drivers/$(USBNET_DIR)/ax88179_178a.ko
  867. AUTOLOAD:=$(call AutoProbe,ax88179_178a)
  868. $(call AddDepends/usb-net)
  869. endef
  870. define KernelPackage/usb-net-asix-ax88179/description
  871. Kernel module for USB-to-Ethernet ASIX AX88179 based USB 3.0/2.0
  872. to Gigabit Ethernet adapters.
  873. endef
  874. $(eval $(call KernelPackage,usb-net-asix-ax88179))
  875. define KernelPackage/usb-net-hso
  876. TITLE:=Kernel module for Option USB High Speed Mobile Devices
  877. KCONFIG:=CONFIG_USB_HSO
  878. FILES:= \
  879. $(LINUX_DIR)/drivers/$(USBNET_DIR)/hso.ko
  880. AUTOLOAD:=$(call AutoProbe,hso)
  881. $(call AddDepends/usb-net)
  882. $(call AddDepends/rfkill)
  883. endef
  884. define KernelPackage/usb-net-hso/description
  885. Kernel module for Option USB High Speed Mobile Devices
  886. endef
  887. $(eval $(call KernelPackage,usb-net-hso))
  888. define KernelPackage/usb-net-kaweth
  889. TITLE:=Kernel module for USB-to-Ethernet Kaweth convertors
  890. KCONFIG:=CONFIG_USB_KAWETH
  891. FILES:=$(LINUX_DIR)/drivers/$(USBNET_DIR)/kaweth.ko
  892. AUTOLOAD:=$(call AutoProbe,kaweth)
  893. $(call AddDepends/usb-net)
  894. endef
  895. define KernelPackage/usb-net-kaweth/description
  896. Kernel module for USB-to-Ethernet Kaweth convertors
  897. endef
  898. $(eval $(call KernelPackage,usb-net-kaweth))
  899. define KernelPackage/usb-net-pegasus
  900. TITLE:=Kernel module for USB-to-Ethernet Pegasus convertors
  901. KCONFIG:=CONFIG_USB_PEGASUS
  902. FILES:=$(LINUX_DIR)/drivers/$(USBNET_DIR)/pegasus.ko
  903. AUTOLOAD:=$(call AutoProbe,pegasus)
  904. $(call AddDepends/usb-net)
  905. endef
  906. define KernelPackage/usb-net-pegasus/description
  907. Kernel module for USB-to-Ethernet Pegasus convertors
  908. endef
  909. $(eval $(call KernelPackage,usb-net-pegasus))
  910. define KernelPackage/usb-net-mcs7830
  911. TITLE:=Kernel module for USB-to-Ethernet MCS7830 convertors
  912. KCONFIG:=CONFIG_USB_NET_MCS7830
  913. FILES:=$(LINUX_DIR)/drivers/$(USBNET_DIR)/mcs7830.ko
  914. AUTOLOAD:=$(call AutoProbe,mcs7830)
  915. $(call AddDepends/usb-net)
  916. endef
  917. define KernelPackage/usb-net-mcs7830/description
  918. Kernel module for USB-to-Ethernet MCS7830 convertors
  919. endef
  920. $(eval $(call KernelPackage,usb-net-mcs7830))
  921. define KernelPackage/usb-net-smsc95xx
  922. TITLE:=SMSC LAN95XX based USB 2.0 10/100 ethernet devices
  923. KCONFIG:=CONFIG_USB_NET_SMSC95XX
  924. FILES:=$(LINUX_DIR)/drivers/$(USBNET_DIR)/smsc95xx.ko
  925. AUTOLOAD:=$(call AutoProbe,smsc95xx)
  926. $(call AddDepends/usb-net, +kmod-lib-crc16)
  927. endef
  928. define KernelPackage/usb-net-smsc95xx/description
  929. Kernel module for SMSC LAN95XX based devices
  930. endef
  931. $(eval $(call KernelPackage,usb-net-smsc95xx))
  932. define KernelPackage/usb-net-dm9601-ether
  933. TITLE:=Support for DM9601 ethernet connections
  934. KCONFIG:=CONFIG_USB_NET_DM9601
  935. FILES:=$(LINUX_DIR)/drivers/$(USBNET_DIR)/dm9601.ko
  936. AUTOLOAD:=$(call AutoProbe,dm9601)
  937. $(call AddDepends/usb-net)
  938. endef
  939. define KernelPackage/usb-net-dm9601-ether/description
  940. Kernel support for USB DM9601 devices
  941. endef
  942. $(eval $(call KernelPackage,usb-net-dm9601-ether))
  943. define KernelPackage/usb-net-cdc-ether
  944. TITLE:=Support for cdc ethernet connections
  945. KCONFIG:=CONFIG_USB_NET_CDCETHER
  946. FILES:=$(LINUX_DIR)/drivers/$(USBNET_DIR)/cdc_ether.ko
  947. AUTOLOAD:=$(call AutoProbe,cdc_ether)
  948. $(call AddDepends/usb-net)
  949. endef
  950. define KernelPackage/usb-net-cdc-ether/description
  951. Kernel support for USB CDC Ethernet devices
  952. endef
  953. $(eval $(call KernelPackage,usb-net-cdc-ether))
  954. define KernelPackage/usb-net-cdc-eem
  955. TITLE:=Support for CDC EEM connections
  956. KCONFIG:=CONFIG_USB_NET_CDC_EEM
  957. FILES:=$(LINUX_DIR)/drivers/$(USBNET_DIR)/cdc_eem.ko
  958. AUTOLOAD:=$(call AutoProbe,cdc_eem)
  959. $(call AddDepends/usb-net)
  960. endef
  961. define KernelPackage/usb-net-cdc-eem/description
  962. Kernel support for USB CDC EEM
  963. endef
  964. $(eval $(call KernelPackage,usb-net-cdc-eem))
  965. define KernelPackage/usb-net-cdc-subset
  966. TITLE:=Support for CDC Ethernet subset connections
  967. KCONFIG:= \
  968. CONFIG_USB_NET_CDC_SUBSET \
  969. CONFIG_USB_ARMLINUX
  970. FILES:=$(LINUX_DIR)/drivers/$(USBNET_DIR)/cdc_subset.ko
  971. AUTOLOAD:=$(call AutoProbe,cdc_subset)
  972. $(call AddDepends/usb-net)
  973. endef
  974. define KernelPackage/usb-net-cdc-subset/description
  975. Kernel support for Simple USB Network Links (CDC Ethernet subset)
  976. endef
  977. $(eval $(call KernelPackage,usb-net-cdc-subset))
  978. define KernelPackage/usb-net-qmi-wwan
  979. TITLE:=QMI WWAN driver
  980. KCONFIG:=CONFIG_USB_NET_QMI_WWAN
  981. FILES:= $(LINUX_DIR)/drivers/$(USBNET_DIR)/qmi_wwan.ko
  982. AUTOLOAD:=$(call AutoProbe,qmi_wwan)
  983. $(call AddDepends/usb-net,+kmod-usb-wdm)
  984. endef
  985. define KernelPackage/usb-net-qmi-wwan/description
  986. QMI WWAN driver for Qualcomm MSM based 3G and LTE modems
  987. endef
  988. $(eval $(call KernelPackage,usb-net-qmi-wwan))
  989. define KernelPackage/usb-net-rtl8150
  990. TITLE:=Kernel module for USB-to-Ethernet Realtek convertors
  991. KCONFIG:=CONFIG_USB_RTL8150
  992. FILES:=$(LINUX_DIR)/drivers/$(USBNET_DIR)/rtl8150.ko
  993. AUTOLOAD:=$(call AutoProbe,rtl8150)
  994. $(call AddDepends/usb-net)
  995. endef
  996. define KernelPackage/usb-net-rtl8150/description
  997. Kernel module for USB-to-Ethernet Realtek 8150 convertors
  998. endef
  999. $(eval $(call KernelPackage,usb-net-rtl8150))
  1000. define KernelPackage/usb-net-rtl8152
  1001. TITLE:=Kernel module for USB-to-Ethernet Realtek convertors
  1002. KCONFIG:=CONFIG_USB_RTL8152
  1003. FILES:=$(LINUX_DIR)/drivers/$(USBNET_DIR)/r8152.ko
  1004. AUTOLOAD:=$(call AutoProbe,r8152)
  1005. $(call AddDepends/usb-net)
  1006. endef
  1007. define KernelPackage/usb-net-rtl8152/description
  1008. Kernel module for USB-to-Ethernet Realtek 8152 USB2.0/3.0 convertors
  1009. endef
  1010. $(eval $(call KernelPackage,usb-net-rtl8152))
  1011. define KernelPackage/usb-net-rndis
  1012. TITLE:=Support for RNDIS connections
  1013. KCONFIG:=CONFIG_USB_NET_RNDIS_HOST
  1014. FILES:= $(LINUX_DIR)/drivers/$(USBNET_DIR)/rndis_host.ko
  1015. AUTOLOAD:=$(call AutoProbe,rndis_host)
  1016. $(call AddDepends/usb-net,+kmod-usb-net-cdc-ether)
  1017. endef
  1018. define KernelPackage/usb-net-rndis/description
  1019. Kernel support for RNDIS connections
  1020. endef
  1021. $(eval $(call KernelPackage,usb-net-rndis))
  1022. define KernelPackage/usb-net-cdc-mbim
  1023. SUBMENU:=$(USB_MENU)
  1024. TITLE:=Kernel module for MBIM Devices
  1025. KCONFIG:=CONFIG_USB_NET_CDC_MBIM
  1026. FILES:= \
  1027. $(LINUX_DIR)/drivers/$(USBNET_DIR)/cdc_mbim.ko
  1028. AUTOLOAD:=$(call AutoProbe,cdc_mbim)
  1029. $(call AddDepends/usb-net,+kmod-usb-wdm +kmod-usb-net-cdc-ncm)
  1030. endef
  1031. define KernelPackage/usb-net-cdc-mbim/description
  1032. Kernel module for Option USB High Speed Mobile Devices
  1033. endef
  1034. $(eval $(call KernelPackage,usb-net-cdc-mbim))
  1035. define KernelPackage/usb-net-cdc-ncm
  1036. TITLE:=Support for CDC NCM connections
  1037. KCONFIG:=CONFIG_USB_NET_CDC_NCM
  1038. FILES:= $(LINUX_DIR)/drivers/$(USBNET_DIR)/cdc_ncm.ko
  1039. AUTOLOAD:=$(call AutoProbe,cdc_ncm)
  1040. $(call AddDepends/usb-net)
  1041. endef
  1042. define KernelPackage/usb-net-cdc-ncm/description
  1043. Kernel support for CDC NCM connections
  1044. endef
  1045. $(eval $(call KernelPackage,usb-net-cdc-ncm))
  1046. define KernelPackage/usb-net-huawei-cdc-ncm
  1047. TITLE:=Support for Huawei CDC NCM connections
  1048. KCONFIG:=CONFIG_USB_NET_HUAWEI_CDC_NCM
  1049. FILES:= $(LINUX_DIR)/drivers/$(USBNET_DIR)/huawei_cdc_ncm.ko
  1050. AUTOLOAD:=$(call AutoProbe,huawei_cdc_ncm)
  1051. $(call AddDepends/usb-net,+kmod-usb-net-cdc-ncm +kmod-usb-wdm)
  1052. endef
  1053. define KernelPackage/usb-net-huawei-cdc-ncm/description
  1054. Kernel support for Huawei CDC NCM connections
  1055. endef
  1056. $(eval $(call KernelPackage,usb-net-huawei-cdc-ncm))
  1057. define KernelPackage/usb-net-sierrawireless
  1058. TITLE:=Support for Sierra Wireless devices
  1059. KCONFIG:=CONFIG_USB_SIERRA_NET
  1060. FILES:=$(LINUX_DIR)/drivers/net/usb/sierra_net.ko
  1061. AUTOLOAD:=$(call AutoProbe,sierra_net)
  1062. $(call AddDepends/usb-net)
  1063. endef
  1064. define KernelPackage/usb-net-sierrawireless/description
  1065. Kernel support for Sierra Wireless devices
  1066. endef
  1067. $(eval $(call KernelPackage,usb-net-sierrawireless))
  1068. define KernelPackage/usb-net-ipheth
  1069. TITLE:=Apple iPhone USB Ethernet driver
  1070. KCONFIG:=CONFIG_USB_IPHETH
  1071. FILES:=$(LINUX_DIR)/drivers/net/usb/ipheth.ko
  1072. AUTOLOAD:=$(call AutoProbe,ipheth)
  1073. $(call AddDepends/usb-net)
  1074. endef
  1075. define KernelPackage/usb-net-ipheth/description
  1076. Kernel support for Apple iPhone USB Ethernet driver
  1077. endef
  1078. $(eval $(call KernelPackage,usb-net-ipheth))
  1079. define KernelPackage/usb-net-kalmia
  1080. TITLE:=Samsung Kalmia based LTE USB modem
  1081. KCONFIG:=CONFIG_USB_NET_KALMIA
  1082. FILES:=$(LINUX_DIR)/drivers/net/usb/kalmia.ko
  1083. AUTOLOAD:=$(call AutoProbe,kalmia)
  1084. $(call AddDepends/usb-net)
  1085. endef
  1086. define KernelPackage/usb-net-kalmia/description
  1087. Kernel support for Samsung Kalmia based LTE USB modem
  1088. endef
  1089. $(eval $(call KernelPackage,usb-net-kalmia))
  1090. define KernelPackage/usb-hid
  1091. TITLE:=Support for USB Human Input Devices
  1092. KCONFIG:=CONFIG_HID_SUPPORT=y CONFIG_USB_HID CONFIG_USB_HIDDEV=y
  1093. DEPENDS:=+kmod-hid +kmod-hid-generic +kmod-input-evdev
  1094. FILES:=$(LINUX_DIR)/drivers/$(USBHID_DIR)/usbhid.ko
  1095. AUTOLOAD:=$(call AutoProbe,usbhid)
  1096. $(call AddDepends/usb)
  1097. endef
  1098. define KernelPackage/usb-hid/description
  1099. Kernel support for USB HID devices such as keyboards and mice
  1100. endef
  1101. $(eval $(call KernelPackage,usb-hid))
  1102. define KernelPackage/usb-yealink
  1103. TITLE:=USB Yealink VOIP phone
  1104. DEPENDS:=+kmod-input-evdev
  1105. KCONFIG:=CONFIG_USB_YEALINK CONFIG_INPUT_YEALINK CONFIG_INPUT=m CONFIG_INPUT_MISC=y
  1106. FILES:=$(LINUX_DIR)/drivers/$(USBINPUT_DIR)/yealink.ko
  1107. AUTOLOAD:=$(call AutoProbe,yealink)
  1108. $(call AddDepends/usb)
  1109. endef
  1110. define KernelPackage/usb-yealink/description
  1111. Kernel support for Yealink VOIP phone
  1112. endef
  1113. $(eval $(call KernelPackage,usb-yealink))
  1114. define KernelPackage/usb-cm109
  1115. TITLE:=Support for CM109 device
  1116. DEPENDS:=+kmod-input-evdev
  1117. KCONFIG:=CONFIG_USB_CM109 CONFIG_INPUT_CM109 CONFIG_INPUT=m CONFIG_INPUT_MISC=y
  1118. FILES:=$(LINUX_DIR)/drivers/$(USBINPUT_DIR)/cm109.ko
  1119. AUTOLOAD:=$(call AutoProbe,cm109)
  1120. $(call AddDepends/usb)
  1121. endef
  1122. define KernelPackage/usb-cm109/description
  1123. Kernel support for CM109 VOIP phone
  1124. endef
  1125. $(eval $(call KernelPackage,usb-cm109))
  1126. define KernelPackage/usb-test
  1127. TITLE:=USB Testing Driver
  1128. DEPENDS:=@DEVEL
  1129. KCONFIG:=CONFIG_USB_TEST
  1130. FILES:=$(LINUX_DIR)/drivers/usb/misc/usbtest.ko
  1131. $(call AddDepends/usb)
  1132. endef
  1133. define KernelPackage/usb-test/description
  1134. Kernel support for testing USB Host Controller software
  1135. endef
  1136. $(eval $(call KernelPackage,usb-test))
  1137. define KernelPackage/usbip
  1138. TITLE := USB-over-IP kernel support
  1139. KCONFIG:= \
  1140. CONFIG_USBIP_CORE \
  1141. CONFIG_USBIP_DEBUG=n
  1142. FILES:=$(LINUX_DIR)/drivers/usb/usbip/usbip-core.ko
  1143. AUTOLOAD:=$(call AutoProbe,usbip-core)
  1144. $(call AddDepends/usb)
  1145. endef
  1146. $(eval $(call KernelPackage,usbip))
  1147. define KernelPackage/usbip-client
  1148. TITLE := USB-over-IP client driver
  1149. DEPENDS := +kmod-usbip
  1150. KCONFIG := CONFIG_USBIP_VHCI_HCD
  1151. FILES :=$(LINUX_DIR)/drivers/usb/usbip/vhci-hcd.ko
  1152. AUTOLOAD := $(call AutoProbe,vhci-hcd)
  1153. $(call AddDepends/usb)
  1154. endef
  1155. $(eval $(call KernelPackage,usbip-client))
  1156. define KernelPackage/usbip-server
  1157. $(call KernelPackage/usbip/Default)
  1158. TITLE := USB-over-IP host driver
  1159. DEPENDS := +kmod-usbip
  1160. KCONFIG := CONFIG_USBIP_HOST
  1161. FILES :=$(LINUX_DIR)/drivers/usb/usbip/usbip-host.ko
  1162. AUTOLOAD := $(call AutoProbe,usbip-host)
  1163. $(call AddDepends/usb)
  1164. endef
  1165. $(eval $(call KernelPackage,usbip-server))
  1166. define KernelPackage/usb-chipidea-imx
  1167. TITLE:=Support for ChipIdea controllers
  1168. DEPENDS:=@TARGET_imx6||TARGET_mxs +kmod-usb2 +USB_GADGET_SUPPORT:kmod-usb-gadget
  1169. KCONFIG:=\
  1170. CONFIG_USB_CHIPIDEA \
  1171. CONFIG_USB_CHIPIDEA_HOST=y \
  1172. CONFIG_USB_CHIPIDEA_UDC=y \
  1173. CONFIG_USB_CHIPIDEA_DEBUG=y
  1174. FILES:=\
  1175. $(LINUX_DIR)/drivers/usb/chipidea/ci_hdrc.ko \
  1176. $(if $(CONFIG_OF),$(LINUX_DIR)/drivers/usb/chipidea/ci_hdrc_imx.ko) \
  1177. $(if $(CONFIG_OF),$(LINUX_DIR)/drivers/usb/chipidea/usbmisc_imx.ko)
  1178. AUTOLOAD:=$(call AutoLoad,51,ci_hdrc $(if $(CONFIG_OF),ci_hdrc_imx usbmisc_imx),1)
  1179. $(call AddDepends/usb)
  1180. endef
  1181. define KernelPackage/usb-chipidea-imx/description
  1182. Kernel support for USB ChipIdea controllers
  1183. endef
  1184. $(eval $(call KernelPackage,usb-chipidea-imx,1))
  1185. define KernelPackage/usb-mxs-phy
  1186. TITLE:=Support for Freescale MXS USB PHY
  1187. DEPENDS:=@TARGET_imx6||TARGET_mxs +TARGET_mxs:kmod-usb-chipidea-imx
  1188. KCONFIG:=CONFIG_USB_MXS_PHY
  1189. FILES:=\
  1190. $(LINUX_DIR)/drivers/usb/phy/phy-mxs-usb.ko
  1191. AUTOLOAD:=$(call AutoLoad,52,phy-mxs-usb,1)
  1192. $(call AddDepends/usb)
  1193. endef
  1194. define KernelPackage/usb-mxs-phy/description
  1195. Kernel support for Freescale MXS USB PHY
  1196. endef
  1197. $(eval $(call KernelPackage,usb-mxs-phy,1))
  1198. define KernelPackage/usbmon
  1199. TITLE:=USB traffic monitor
  1200. KCONFIG:=CONFIG_USB_MON
  1201. $(call AddDepends/usb)
  1202. FILES:=$(LINUX_DIR)/drivers/usb/mon/usbmon.ko
  1203. AUTOLOAD:=$(call AutoProbe,usbmon)
  1204. endef
  1205. define KernelPackage/usbmon/description
  1206. Kernel support for USB traffic monitoring
  1207. endef
  1208. $(eval $(call KernelPackage,usbmon))
  1209. XHCI_FILES := $(wildcard $(patsubst %,$(LINUX_DIR)/drivers/usb/host/%.ko,xhci-hcd xhci-pci xhci-plat-hcd))
  1210. XHCI_AUTOLOAD := $(patsubst $(LINUX_DIR)/drivers/usb/host/%.ko,%,$(XHCI_FILES))
  1211. define KernelPackage/usb3
  1212. TITLE:=Support for USB3 controllers
  1213. DEPENDS:= \
  1214. +TARGET_bcm53xx:kmod-usb-bcma \
  1215. +TARGET_omap:kmod-usb-phy-omap-usb3
  1216. KCONFIG:= \
  1217. CONFIG_USB_XHCI_HCD \
  1218. CONFIG_USB_XHCI_PCI \
  1219. CONFIG_USB_XHCI_PLATFORM \
  1220. CONFIG_USB_XHCI_MVEBU=y \
  1221. CONFIG_USB_XHCI_HCD_DEBUGGING=n
  1222. FILES:= \
  1223. $(XHCI_FILES)
  1224. AUTOLOAD:=$(call AutoLoad,54,$(XHCI_AUTOLOAD),1)
  1225. $(call AddDepends/usb)
  1226. endef
  1227. define KernelPackage/usb3/description
  1228. Kernel support for USB3 (XHCI) controllers
  1229. endef
  1230. $(eval $(call KernelPackage,usb3))