kernel: include firmware in the e100 package
[openwrt.git] / package / kernel / modules / netdevices.mk
1 #
2 # Copyright (C) 2006-2008 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 NETWORK_DEVICES_MENU:=Network Devices
9
10 define KernelPackage/libphy
11   SUBMENU:=$(NETWORK_DEVICES_MENU)
12   TITLE:=PHY library
13   KCONFIG:=CONFIG_PHYLIB
14   FILES:=$(LINUX_DIR)/drivers/net/phy/libphy.ko
15   AUTOLOAD:=$(call AutoLoad,40,libphy)
16 endef
17
18 define KernelPackage/libphy/description
19   PHY library
20 endef
21
22 $(eval $(call KernelPackage,libphy))
23
24 define KernelPackage/swconfig
25   SUBMENU:=$(NETWORK_DEVICES_MENU)
26   TITLE:=switch configuration API
27   DEPENDS:=+kmod-libphy
28   KCONFIG:=CONFIG_SWCONFIG
29   FILES:=$(LINUX_DIR)/drivers/net/phy/swconfig.ko
30   AUTOLOAD:=$(call AutoLoad,41,swconfig)
31 endef
32
33 define KernelPackage/swconfig/description
34   Switch configuration API module
35 endef
36
37 $(eval $(call KernelPackage,swconfig))
38
39 define KernelPackage/mvswitch
40   SUBMENU:=$(NETWORK_DEVICES_MENU)
41   TITLE:=Marvell 88E6060 switch support
42   DEPENDS:=+kmod-swconfig
43   KCONFIG:=CONFIG_MVSWITCH_PHY
44   FILES:=$(LINUX_DIR)/drivers/net/phy/mvswitch.ko
45   AUTOLOAD:=$(call AutoLoad,41,mvswitch)
46 endef
47
48 define KernelPackage/mvswitch/description
49   Marvell 88E6060 switch support
50 endef
51
52 $(eval $(call KernelPackage,mvswitch))
53
54 define KernelPackage/switch-ip17xx
55   SUBMENU:=$(NETWORK_DEVICES_MENU)
56   TITLE:=IC+ IP17XX switch support
57   DEPENDS:=+kmod-swconfig
58   KCONFIG:=CONFIG_IP17XX_PHY
59   FILES:=$(LINUX_DIR)/drivers/net/phy/ip17xx.ko
60   AUTOLOAD:=$(call AutoLoad,42,ip17xx)
61 endef
62
63 define KernelPackage/switch-ip17xx/description
64   IC+ IP175C/IP178C switch support
65 endef
66
67 $(eval $(call KernelPackage,switch-ip17xx))
68
69 define KernelPackage/natsemi
70   SUBMENU:=$(NETWORK_DEVICES_MENU)
71   TITLE:=National Semiconductor DP8381x series
72   DEPENDS:=@TARGET_x86
73   KCONFIG:=CONFIG_NATSEMI
74   FILES:=$(LINUX_DIR)/drivers/net/natsemi.ko
75   AUTOLOAD:=$(call AutoLoad,20,natsemi)
76 endef
77
78 define KernelPackage/natsemi/description
79  Kernel modules for National Semiconductor DP8381x series PCI Ethernet
80  adapters.
81 endef
82
83 $(eval $(call KernelPackage,natsemi))
84
85
86 define KernelPackage/r6040
87   SUBMENU:=$(NETWORK_DEVICES_MENU)
88   TITLE:=RDC Fast-Ethernet support
89   DEPENDS:=@TARGET_rdc
90   KCONFIG:=CONFIG_R6040 \
91                 CONFIG_R6040_NAPI=y
92   FILES:=$(LINUX_DIR)/drivers/net/r6040.ko
93   AUTOLOAD:=$(call AutoLoad,99,r6040)
94 endef
95
96 define KernelPackage/r6040/description
97  Kernel modules for RDC Fast-Ethernet adapters.
98 endef
99
100 $(eval $(call KernelPackage,r6040))
101
102
103 define KernelPackage/sis900
104   SUBMENU:=$(NETWORK_DEVICES_MENU)
105   TITLE:=SiS 900 Ethernet support
106   DEPENDS:=@TARGET_x86
107   KCONFIG:=CONFIG_SIS900
108   FILES:=$(LINUX_DIR)/drivers/net/sis900.ko
109   AUTOLOAD:=$(call AutoLoad,50,sis900)
110 endef
111
112 define KernelPackage/sis900/description
113  Kernel modules for Sis 900 Ethernet adapters.
114 endef
115
116 $(eval $(call KernelPackage,sis900))
117
118
119 define KernelPackage/sky2
120   SUBMENU:=$(NETWORK_DEVICES_MENU)
121   TITLE:=SysKonnect Yukon2 support
122   DEPENDS:=@TARGET_x86
123   KCONFIG:=CONFIG_SKY2
124   FILES:=$(LINUX_DIR)/drivers/net/sky2.ko
125   AUTOLOAD:=$(call AutoLoad,50,sky2)
126 endef
127
128 define KernelPackage/sky2/description
129   This driver supports Gigabit Ethernet adapters based on the
130   Marvell Yukon 2 chipset:
131   Marvell 88E8021/88E8022/88E8035/88E8036/88E8038/88E8050/88E8052/
132   88E8053/88E8055/88E8061/88E8062, SysKonnect SK-9E21D/SK-9S21
133
134   There is companion driver for the older Marvell Yukon and
135   Genesis based adapters: skge.
136 endef
137
138 $(eval $(call KernelPackage,sky2))
139
140
141 define KernelPackage/via-rhine
142   SUBMENU:=$(NETWORK_DEVICES_MENU)
143   TITLE:=Via Rhine ethernet support
144   DEPENDS:=@TARGET_x86
145   KCONFIG:=CONFIG_VIA_RHINE \
146     CONFIG_VIA_RHINE_MMIO=y
147   FILES:=$(LINUX_DIR)/drivers/net/via-rhine.ko
148   AUTOLOAD:=$(call AutoLoad,50,via-rhine)
149 endef
150
151 define KernelPackage/via-rhine/description
152  Kernel modules for Via Rhine Ethernet chipsets.
153 endef
154
155 $(eval $(call KernelPackage,via-rhine))
156
157
158 define KernelPackage/via-velocity
159   SUBMENU:=$(NETWORK_DEVICES_MENU)
160   TITLE:=VIA Velocity Gigabit Ethernet Adapter kernel support
161   DEPENDS:=@TARGET_ixp4xx||TARGET_mpc83xx||TARGET_x86 +kmod-crc-ccitt
162   KCONFIG:=CONFIG_VIA_VELOCITY
163   FILES:=$(LINUX_DIR)/drivers/net/via-velocity.ko
164   AUTOLOAD:=$(call AutoLoad,50,via-velocity)
165 endef
166
167 define KernelPackage/via-velocity/description
168  Kernel modules for VIA Velocity Gigabit Ethernet chipsets.
169 endef
170
171 $(eval $(call KernelPackage,via-velocity))
172
173 define KernelPackage/ixp4xx-eth
174   SUBMENU:=$(NETWORK_DEVICES_MENU)
175   TITLE:=IXP4xxt Ethernet Adapter kernel support
176   DEPENDS:=@TARGET_ixp4xx
177   KCONFIG:=CONFIG_IXP4XX_ETH
178   FILES:=$(LINUX_DIR)/drivers/net/arm/ixp4xx_eth.ko
179   AUTOLOAD:=$(call AutoLoad,50,ixp4xx_eth)
180 endef
181
182 define KernelPackage/ixp4xx-eth/description
183  Kernel modules for Intel IXP4xx Ethernet chipsets.
184 endef
185
186 $(eval $(call KernelPackage,ixp4xx-eth))
187
188 define KernelPackage/8139too
189   SUBMENU:=$(NETWORK_DEVICES_MENU)
190   TITLE:=RealTek RTL-8139 PCI Fast Ethernet Adapter kernel support
191   DEPENDS:=@TARGET_x86
192   KCONFIG:=CONFIG_8139TOO \
193     CONFIG_8139TOO_PIO=y \
194     CONFIG_8139TOO_TUNE_TWISTER=n \
195     CONFIG_8139TOO_8129=n \
196     CONFIG_8139_OLD_RX_RESET=n
197   FILES:=$(LINUX_DIR)/drivers/net/8139too.ko
198   AUTOLOAD:=$(call AutoLoad,50,8139too)
199 endef
200
201 define KernelPackage/8139too/description
202  Kernel modules for RealTek RTL-8139 PCI Fast Ethernet adapters.
203 endef
204
205 $(eval $(call KernelPackage,8139too))
206
207
208 define KernelPackage/8139cp
209   SUBMENU:=$(NETWORK_DEVICES_MENU)
210   TITLE:=RealTek RTL-8139C+ PCI Fast Ethernet Adapter kernel support
211   DEPENDS:=@TARGET_x86
212   KCONFIG:=CONFIG_8139CP
213   FILES:=$(LINUX_DIR)/drivers/net/8139cp.ko
214   AUTOLOAD:=$(call AutoLoad,50,8139cp)
215 endef
216
217 define KernelPackage/8139cp/description
218  Kernel module for RealTek RTL-8139C+ PCI Fast Ethernet adapters.
219 endef
220
221 $(eval $(call KernelPackage,8139cp))
222
223
224 define KernelPackage/r8169
225   SUBMENU:=$(NETWORK_DEVICES_MENU)
226   TITLE:=RealTek RTL-8169 PCI Gigabit Ethernet Adapter kernel support
227   DEPENDS:=@PCI_SUPPORT
228   KCONFIG:=CONFIG_R8169 \
229     CONFIG_R8169_NAPI=y \
230     CONFIG_R8169_VLAN=n
231   FILES:=$(LINUX_DIR)/drivers/net/r8169.ko
232   AUTOLOAD:=$(call AutoLoad,50,r8169)
233 endef
234
235 define KernelPackage/r8169/description
236  Kernel modules for RealTek RTL-8169 PCI Gigabit Ethernet adapters.
237 endef
238
239 $(eval $(call KernelPackage,r8169))
240
241
242 define KernelPackage/ne2k-pci
243   SUBMENU:=$(NETWORK_DEVICES_MENU)
244   TITLE:=ne2k-pci Ethernet Adapter kernel support
245   DEPENDS:=@TARGET_x86
246   KCONFIG:=CONFIG_NE2K_PCI
247   FILES:= \
248         $(LINUX_DIR)/drivers/net/ne2k-pci.ko \
249         $(LINUX_DIR)/drivers/net/8390.ko
250   AUTOLOAD:=$(call AutoLoad,50,8390 ne2k-pci)
251 endef
252
253 define KernelPackage/ne2k-pci/description
254  Kernel modules for NE2000 PCI Ethernet Adapter kernel.
255 endef
256
257 $(eval $(call KernelPackage,ne2k-pci))
258
259
260 define KernelPackage/e100
261   SUBMENU:=$(NETWORK_DEVICES_MENU)
262   TITLE:=Intel(R) PRO/100+ cards kernel support
263   DEPENDS:=@TARGET_x86
264   KCONFIG:=CONFIG_E100
265   FILES:=$(LINUX_DIR)/drivers/net/e100.ko
266   AUTOLOAD:=$(call AutoLoad,50,e100)
267 endef
268
269 define KernelPackage/e100/description
270  Kernel modules for Intel(R) PRO/100+ Ethernet adapters.
271 endef
272
273 define KernelPackage/e100/install
274         $(INSTALL_DIR) $(1)/lib/firmware/e100
275         $(foreach file,d101m_ucode.bin d101s_ucode.bin d102e_ucode.bin, \
276                 $(TARGET_CROSS)objcopy -Iihex -Obinary $(LINUX_DIR)/firmware/e100/$(file).ihex $(1)/lib/firmware/e100/$(file); \
277         )
278 endef
279
280 $(eval $(call KernelPackage,e100))
281
282
283 define KernelPackage/e1000
284   SUBMENU:=$(NETWORK_DEVICES_MENU)
285   TITLE:=Intel(R) PRO/1000 PCI cards kernel support
286   DEPENDS:=@PCI_SUPPORT
287   KCONFIG:=CONFIG_E1000 \
288     CONFIG_E1000_DISABLE_PACKET_SPLIT=n \
289     CONFIG_E1000_NAPI=y
290   FILES:=$(LINUX_DIR)/drivers/net/e1000/e1000.ko
291   AUTOLOAD:=$(call AutoLoad,35,e1000)
292 endef
293
294 define KernelPackage/e1000/description
295  Kernel modules for Intel(R) PRO/1000 PCI Ethernet adapters.
296 endef
297
298 $(eval $(call KernelPackage,e1000))
299
300
301 define KernelPackage/e1000e
302   SUBMENU:=$(NETWORK_DEVICES_MENU)
303   TITLE:=Intel(R) PRO/1000 PCIe cards kernel support
304   DEPENDS:=@PCIE_SUPPORT
305   KCONFIG:=CONFIG_E1000E
306   FILES:=$(LINUX_DIR)/drivers/net/e1000e/e1000e.ko
307   AUTOLOAD:=$(call AutoLoad,50,e1000e)
308 endef
309
310 define KernelPackage/e1000e/description
311  Kernel modules for Intel(R) PRO/1000 PCIe Ethernet adapters.
312 endef
313
314 $(eval $(call KernelPackage,e1000e))
315
316
317 define KernelPackage/b44
318   TITLE:=Broadcom 44xx driver
319   FILES:=$(LINUX_DIR)/drivers/net/b44.ko
320   KCONFIG:=CONFIG_B44
321   DEPENDS:=@TARGET_x86 +kmod-ssb
322   SUBMENU:=$(NETWORK_DEVICES_MENU)
323   AUTOLOAD:=$(call AutoLoad,50,b44)
324 endef
325
326 define KernelPackage/b44/description
327  Kernel modules for Broadcom 44xx Ethernet adapters.
328 endef
329
330 $(eval $(call KernelPackage,b44))
331
332
333 define KernelPackage/3c59x
334   SUBMENU:=$(NETWORK_DEVICES_MENU)
335   TITLE:=3Com 3c590/3c900 series (592/595/597) Vortex/Boomerang
336   DEPENDS:=@TARGET_x86
337   KCONFIG:=CONFIG_VORTEX
338   FILES:=$(LINUX_DIR)/drivers/net/3c59x.ko
339   AUTOLOAD:=$(call AutoLoad,50,3c59x)
340 endef
341
342 define KernelPackage/3c59x/description
343  This option enables driver support for a large number of 10mbps and
344  10/100mbps EISA, PCI and PCMCIA 3Com Ethernet adapters:
345  - "Vortex"    (Fast EtherLink 3c590/3c592/3c595/3c597) EISA and PCI
346  - "Boomerang" (EtherLink XL 3c900 or 3c905)            PCI
347  - "Cyclone"   (3c540/3c900/3c905/3c980/3c575/3c656)    PCI and Cardbus
348  - "Tornado"   (3c905)                                  PCI
349  - "Hurricane" (3c555/3cSOHO)                           PCI
350 endef
351
352 $(eval $(call KernelPackage,3c59x))
353
354
355 define KernelPackage/pcnet32
356   SUBMENU:=$(NETWORK_DEVICES_MENU)
357   TITLE:=AMD PCnet32 PCI support
358   DEPENDS:=@(TARGET_x86||TARGET_malta)
359   KCONFIG:=CONFIG_PCNET32
360   FILES:=$(LINUX_DIR)/drivers/net/pcnet32.ko
361   AUTOLOAD:=$(call AutoLoad,50,pcnet32)
362 endef
363
364 define KernelPackage/pcnet32/description
365  Kernel modules for AMD PCnet32 Ethernet adapters.
366 endef
367
368 $(eval $(call KernelPackage,pcnet32))
369
370
371 define KernelPackage/tg3
372   TITLE:=Broadcom Tigon3 Gigabit Ethernet
373   FILES:=$(LINUX_DIR)/drivers/net/tg3.ko
374   KCONFIG:=CONFIG_TIGON3
375   DEPENDS:=+!TARGET_brcm47xx:kmod-libphy @!TARGET_ubicom32
376   SUBMENU:=$(NETWORK_DEVICES_MENU)
377   AUTOLOAD:=$(call AutoLoad,50,tg3)
378 endef
379
380 define KernelPackage/tg3/description
381  Kernel modules for Broadcom Tigon3 Gigabit Ethernet adapters.
382 endef
383
384 $(eval $(call KernelPackage,tg3))
385
386
387 define KernelPackage/ssb-gige
388   TITLE:=Broadcom SSB Gigabit Ethernet
389   KCONFIG:=CONFIG_SSB_DRIVER_GIGE=y
390   DEPENDS:=@TARGET_brcm47xx +kmod-tg3
391   SUBMENU:=$(NETWORK_DEVICES_MENU)
392 endef
393
394 define KernelPackage/ssb-gige/description
395  Kernel modules for Broadcom SSB Gigabit Ethernet adapters.
396 endef
397
398 $(eval $(call KernelPackage,ssb-gige))
399
400
401 define KernelPackage/hfcpci
402   TITLE:=HFC PCI cards (single port) support for mISDN
403   KCONFIG:=CONFIG_MISDN_HFCPCI
404   DEPENDS:=+kmod-misdn
405   SUBMENU:=$(NETWORK_DEVICES_MENU)
406   FILES:=$(LINUX_DIR)/drivers/isdn/hardware/mISDN/hfcpci.ko
407   AUTOLOAD:=$(call AutoLoad,31,hfcpci)
408 endef
409
410 define KernelPackage/hfcpci/description
411  Kernel modules for Cologne AG's HFC pci cards (single port)
412  using the mISDN V2 stack.
413 endef
414
415 $(eval $(call KernelPackage,hfcpci))
416
417
418 define KernelPackage/hfcmulti
419   TITLE:=HFC multiport cards (HFC-4S/8S/E1) support for mISDN
420   KCONFIG:=CONFIG_MISDN_HFCMULTI
421   DEPENDS:=+kmod-misdn
422   SUBMENU:=$(NETWORK_DEVICES_MENU)
423   FILES:=$(LINUX_DIR)/drivers/isdn/hardware/mISDN/hfcmulti.ko
424   AUTOLOAD:=$(call AutoLoad,31,hfcmulti)
425 endef
426
427 define KernelPackage/hfcmulti/description
428  Kernel modules for Cologne AG's HFC multiport cards (HFC-4S/8S/E1)
429  using the mISDN V2 stack.
430 endef
431
432 $(eval $(call KernelPackage,hfcmulti))
433
434
435 define KernelPackage/gigaset
436   SUBMENU:=$(NETWORK_DEVICES_MENU)
437   TITLE:=Siemens Gigaset support for isdn4linux
438   DEPENDS:=@USB_SUPPORT +kmod-isdn4linux +kmod-crc-ccitt +kmod-usb-core
439   URL:=http://gigaset307x.sourceforge.net/
440   KCONFIG:= \
441     CONFIG_ISDN_DRV_GIGASET \
442     CONFIG_GIGASET_BASE \
443     CONFIG_GIGASET_M101 \
444     CONFIG_GIGASET_M105 \
445     CONFIG_GIGASET_UNDOCREQ=y \
446     CONFIG_GIGASET_I4L=y
447   FILES:= \
448     $(LINUX_DIR)/drivers/isdn/gigaset/gigaset.ko \
449     $(LINUX_DIR)/drivers/isdn/gigaset/bas_gigaset.ko \
450     $(LINUX_DIR)/drivers/isdn/gigaset/ser_gigaset.ko \
451     $(LINUX_DIR)/drivers/isdn/gigaset/usb_gigaset.ko
452   AUTOLOAD:=$(call AutoLoad,50,gigaset bas_gigaset ser_gigaset usb_gigaset)
453 endef
454
455 define KernelPackage/gigaset/description
456  This driver supports the Siemens Gigaset SX205/255 family of
457  ISDN DECT bases, including the predecessors Gigaset 3070/3075
458  and 4170/4175 and their T-Com versions Sinus 45isdn and Sinus
459  721X.
460 endef
461
462 $(eval $(call KernelPackage,gigaset))
463
464
465 define KernelPackage/macvlan
466   SUBMENU:=$(NETWORK_DEVICES_MENU)
467   TITLE:=MAC-VLAN support
468   KCONFIG:=CONFIG_MACVLAN
469   FILES:=$(LINUX_DIR)/drivers/net/macvlan.ko
470   AUTOLOAD:=$(call AutoLoad,50,macvlan)
471 endef
472
473 define KernelPackage/macvlan/description
474  A kernel module which allows one to create virtual interfaces that
475  map packets to or from specific MAC addresses to a particular interface.
476 endef
477
478 $(eval $(call KernelPackage,macvlan))
479
480 define KernelPackage/tulip
481   TITLE:=Tulip family network device support
482   SUBMENU:=$(NETWORK_DEVICES_MENU)
483   KCONFIG:= \
484     CONFIG_NET_TULIP=y \
485     CONFIG_DE2104X \
486     CONFIG_DE2104X_DSL=0 \
487     CONFIG_TULIP \
488     CONFIG_TULIP_MWI=y \
489     CONFIG_TULIP_MMIO=y \
490     CONFIG_TULIP_NAPI=y \
491     CONFIG_TULIP_NAPI_HW_MITIGATION=y \
492     CONFIG_DE4X5 \
493     CONFIG_WINBOND_840 \
494     CONFIG_DM9102 \
495     CONFIG_ULI526X 
496   FILES:= \
497     $(LINUX_DIR)/drivers/net/tulip/tulip.ko \
498     $(LINUX_DIR)/drivers/net/tulip/de2104x.ko \
499     $(LINUX_DIR)/drivers/net/tulip/de4x5.ko \
500     $(LINUX_DIR)/drivers/net/tulip/dmfe.ko \
501     $(LINUX_DIR)/drivers/net/tulip/uli526x.ko \
502     $(LINUX_DIR)/drivers/net/tulip/winbond-840.ko
503   AUTOLOAD:=$(call AutoLoad,50,tulip)
504 endef
505
506 define KernelPackage/tulip/description
507  Kernel modules for the Tulip family of network cards,
508  including DECchip Tulip, DIGITAL EtherWORKS, Winbond W89c840,
509  Davicom DM910x/DM980x and ULi M526x controller support.
510 endef
511
512 $(eval $(call KernelPackage,tulip))
513
514
515 define KernelPackage/solos-pci
516   SUBMENU:=$(NETWORK_DEVICES_MENU)
517   TITLE:=Solos ADSL2+ multiport modem
518   DEPENDS:=@TARGET_x86 +kmod-atm
519   KCONFIG:=CONFIG_ATM_SOLOS
520   FILES:=$(LINUX_DIR)/drivers/atm/solos-pci.ko
521   AUTOLOAD:=$(call AutoLoad,50,solos-pci)
522 endef
523
524 define KernelPackage/solos-pci/description
525  Kernel module for Traverse Technologies' Solos PCI cards
526  and Geos ADSL2+ x86 motherboard.
527 endef
528
529 $(eval $(call KernelPackage,solos-pci))
530
531 define KernelPackage/dummy
532   SUBMENU:=$(NETWORK_DEVICES_MENU)
533   TITLE:=Dummy network device
534   KCONFIG:=CONFIG_DUMMY
535   FILES:=$(LINUX_DIR)/drivers/net/dummy.ko
536   AUTOLOAD:=$(call AutoLoad,34,dummy)
537 endef
538
539 define KernelPackage/dummy/description
540   The dummy network device
541 endef
542
543 $(eval $(call KernelPackage,dummy))
544
545 define KernelPackage/ifb
546   SUBMENU:=$(NETWORK_DEVICES_MENU)
547   TITLE:=Intermediate Functional Block support
548   KCONFIG:= \
549         CONFIG_IFB \
550         CONFIG_NET_CLS=y
551   FILES:=$(LINUX_DIR)/drivers/net/ifb.ko
552   AUTOLOAD:=$(call AutoLoad,34,ifb)
553 endef
554
555 define KernelPackage/ifb/description
556   The Intermediate Functional Block
557 endef
558
559 $(eval $(call KernelPackage,ifb))