kernel: add kmod packages for Broadcom bcm53xxx switch support
[oweals/openwrt.git] / package / kernel / linux / modules / netdevices.mk
1 #
2 # Copyright (C) 2006-2011 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/sis190
11   SUBMENU:=$(NETWORK_DEVICES_MENU)
12   TITLE:=SiS 190 Fast/Gigabit Ethernet support
13   DEPENDS:=@PCI_SUPPORT +kmod-mii
14   KCONFIG:=CONFIG_SIS190
15   FILES:=$(LINUX_DIR)/drivers/net/ethernet/sis/sis190.ko
16   AUTOLOAD:=$(call AutoProbe,sis190)
17 endef
18
19 $(eval $(call KernelPackage,sis190))
20
21
22 define KernelPackage/skge
23   SUBMENU:=$(NETWORK_DEVICES_MENU)
24   TITLE:=SysKonnect Yukon support
25   DEPENDS:=@PCI_SUPPORT
26   KCONFIG:=CONFIG_SKGE \
27         CONFIG_SKGE_DEBUG=n \
28         CONFIG_SKGE_GENESIS=n
29   FILES:=$(LINUX_DIR)/drivers/net/ethernet/marvell/skge.ko
30   AUTOLOAD:=$(call AutoProbe,skge)
31 endef
32
33 $(eval $(call KernelPackage,skge))
34
35
36 define KernelPackage/alx
37   SUBMENU:=$(NETWORK_DEVICES_MENU)
38   TITLE:=Qualcomm Atheros AR816x/AR817x PCI-E Ethernet Network Driver
39   DEPENDS:=@PCI_SUPPORT +kmod-mdio
40   KCONFIG:=CONFIG_ALX
41   FILES:=$(LINUX_DIR)/drivers/net/ethernet/atheros/alx/alx.ko
42   AUTOLOAD:=$(call AutoProbe,alx)
43 endef
44
45 $(eval $(call KernelPackage,alx))
46
47
48 define KernelPackage/atl2
49   SUBMENU:=$(NETWORK_DEVICES_MENU)
50   TITLE:=Atheros L2 Fast Ethernet support
51   DEPENDS:=@PCI_SUPPORT
52   KCONFIG:=CONFIG_ATL2
53   FILES:=$(LINUX_DIR)/drivers/net/ethernet/atheros/atlx/atl2.ko
54   AUTOLOAD:=$(call AutoProbe,atl2)
55 endef
56
57 $(eval $(call KernelPackage,atl2))
58
59
60 define KernelPackage/atl1
61   SUBMENU:=$(NETWORK_DEVICES_MENU)
62   TITLE:=Atheros L1 Gigabit Ethernet support
63   DEPENDS:=@PCI_SUPPORT +kmod-mii
64   KCONFIG:=CONFIG_ATL1
65   FILES:=$(LINUX_DIR)/drivers/net/ethernet/atheros/atlx/atl1.ko
66   AUTOLOAD:=$(call AutoProbe,atl1)
67 endef
68
69 $(eval $(call KernelPackage,atl1))
70
71
72 define KernelPackage/atl1c
73   SUBMENU:=$(NETWORK_DEVICES_MENU)
74   TITLE:=Atheros L1C
75   DEPENDS:=@PCI_SUPPORT
76   KCONFIG:=CONFIG_ATL1C
77   FILES:=$(LINUX_DIR)/drivers/net/ethernet/atheros/atl1c/atl1c.ko
78   AUTOLOAD:=$(call AutoProbe,atl1c)
79 endef
80
81 $(eval $(call KernelPackage,atl1c))
82
83
84 define KernelPackage/atl1e
85   SUBMENU:=$(NETWORK_DEVICES_MENU)
86   TITLE:=Atheros L1E
87   DEPENDS:=@PCI_SUPPORT
88   KCONFIG:=CONFIG_ATL1E
89   FILES:=$(LINUX_DIR)/drivers/net/ethernet/atheros/atl1e/atl1e.ko
90   AUTOLOAD:=$(call AutoProbe,atl1e)
91 endef
92
93 $(eval $(call KernelPackage,atl1e))
94
95
96 define KernelPackage/libphy
97   SUBMENU:=$(NETWORK_DEVICES_MENU)
98   TITLE:=PHY library
99   KCONFIG:=CONFIG_PHYLIB
100   FILES:=$(LINUX_DIR)/drivers/net/phy/libphy.ko
101   AUTOLOAD:=$(call AutoLoad,15,libphy,1)
102 endef
103
104 define KernelPackage/libphy/description
105  PHY library
106 endef
107
108 $(eval $(call KernelPackage,libphy))
109
110 define KernelPackage/mii
111   SUBMENU:=$(NETWORK_DEVICES_MENU)
112   TITLE:=MII library
113   KCONFIG:=CONFIG_MII
114   FILES:=$(LINUX_DIR)/drivers/net/mii.ko
115   AUTOLOAD:=$(call AutoLoad,15,mii,1)
116 endef
117
118 define KernelPackage/mii/description
119   MII library
120 endef
121
122 $(eval $(call KernelPackage,mii))
123
124
125 define KernelPackage/mdio-gpio
126   SUBMENU:=$(NETWORK_DEVICES_MENU)
127   TITLE:= Supports GPIO lib-based MDIO busses
128   DEPENDS:=+kmod-libphy @GPIO_SUPPORT +(TARGET_armvirt||TARGET_brcm2708_bcm2708||TARGET_samsung||TARGET_tegra):kmod-of-mdio
129   KCONFIG:= \
130         CONFIG_MDIO_BITBANG \
131         CONFIG_MDIO_GPIO
132   FILES:= \
133         $(LINUX_DIR)/drivers/net/phy/mdio-gpio.ko \
134         $(LINUX_DIR)/drivers/net/phy/mdio-bitbang.ko
135   AUTOLOAD:=$(call AutoProbe,mdio-gpio)
136 endef
137
138 define KernelPackage/mdio-gpio/description
139  Supports GPIO lib-based MDIO busses
140 endef
141
142 $(eval $(call KernelPackage,mdio-gpio))
143
144
145 define KernelPackage/et131x
146   SUBMENU:=$(NETWORK_DEVICES_MENU)
147   TITLE:=Agere ET131x Gigabit Ethernet driver
148   URL:=http://sourceforge.net/projects/et131x
149   FILES:= \
150         $(LINUX_DIR)/drivers/net/ethernet/agere/et131x.ko
151   KCONFIG:= \
152         CONFIG_ET131X \
153         CONFIG_ET131X_DEBUG=n
154   DEPENDS:=@PCI_SUPPORT +kmod-libphy
155   AUTOLOAD:=$(call AutoProbe,et131x)
156 endef
157
158 define KernelPackage/et131x/description
159  This package contains the et131x kernel module
160 endef
161
162 $(eval $(call KernelPackage,et131x))
163
164
165 define KernelPackage/phylib-broadcom
166    SUBMENU:=$(NETWORK_DEVICES_MENU)
167    TITLE:=Broadcom Ethernet PHY library
168    KCONFIG:=CONFIG_BCM_NET_PHYLIB
169    HIDDEN:=1
170    DEPENDS:=+kmod-libphy
171    FILES:=$(LINUX_DIR)/drivers/net/phy/bcm-phy-lib.ko
172    AUTOLOAD:=$(call AutoLoad,17,bcm-phy-lib)
173 endef
174
175 $(eval $(call KernelPackage,phylib-broadcom))
176
177
178 define KernelPackage/phy-broadcom
179    SUBMENU:=$(NETWORK_DEVICES_MENU)
180    TITLE:=Broadcom Ethernet PHY driver
181    KCONFIG:=CONFIG_BROADCOM_PHY
182    DEPENDS:=+kmod-libphy +kmod-phylib-broadcom
183    FILES:=$(LINUX_DIR)/drivers/net/phy/broadcom.ko
184    AUTOLOAD:=$(call AutoLoad,18,broadcom,1)
185 endef
186
187 define KernelPackage/phy-broadcom/description
188    Currently supports the BCM5411, BCM5421, BCM5461, BCM5464, BCM5481,
189    BCM5482 and BCM57780 PHYs.
190 endef
191
192 $(eval $(call KernelPackage,phy-broadcom))
193
194
195 define KernelPackage/phy-realtek
196    SUBMENU:=$(NETWORK_DEVICES_MENU)
197    TITLE:=Realtek Ethernet PHY driver
198    KCONFIG:=CONFIG_REALTEK_PHY
199    DEPENDS:=+kmod-libphy
200    FILES:=$(LINUX_DIR)/drivers/net/phy/realtek.ko
201    AUTOLOAD:=$(call AutoLoad,18,realtek,1)
202 endef
203
204 define KernelPackage/phy-realtek/description
205    Supports the Realtek 821x PHY.
206 endef
207
208 $(eval $(call KernelPackage,phy-realtek))
209
210
211 define KernelPackage/swconfig
212   SUBMENU:=$(NETWORK_DEVICES_MENU)
213   TITLE:=switch configuration API
214   DEPENDS:=+kmod-libphy
215   KCONFIG:=CONFIG_SWCONFIG
216   FILES:=$(LINUX_DIR)/drivers/net/phy/swconfig.ko
217   AUTOLOAD:=$(call AutoLoad,41,swconfig)
218 endef
219
220 define KernelPackage/swconfig/description
221  Switch configuration API module
222 endef
223
224 $(eval $(call KernelPackage,swconfig))
225
226 define KernelPackage/switch-bcm53xx
227   SUBMENU:=$(NETWORK_DEVICES_MENU)
228   TITLE:=Broadcom bcm53xx switch support
229   DEPENDS:=+kmod-swconfig
230   KCONFIG:=CONFIG_SWCONFIG_B53
231   FILES:=$(LINUX_DIR)/drivers/net/phy/b53/b53_common.ko
232   AUTOLOAD:=$(call AutoLoad,42,b53_common)
233 endef
234
235 define KernelPackage/switch-bcm53xx/description
236   Broadcom bcm53xx switch support
237 endef
238
239 $(eval $(call KernelPackage,switch-bcm53xx))
240
241 define KernelPackage/switch-bcm53xx-mdio
242   SUBMENU:=$(NETWORK_DEVICES_MENU)
243   TITLE:=Broadcom bcm53xx switch MDIO support
244   DEPENDS:=+kmod-switch-bcm53xx
245   KCONFIG:=CONFIG_SWCONFIG_B53_PHY_DRIVER
246   FILES:=$(LINUX_DIR)/drivers/net/phy/b53/b53_mdio.ko
247   AUTOLOAD:=$(call AutoLoad,42,b53_mdio)
248 endef
249
250 define KernelPackage/switch-bcm53xx-mdio/description
251   Broadcom bcm53xx switch MDIO support
252 endef
253
254 $(eval $(call KernelPackage,switch-bcm53xx-mdio))
255
256 define KernelPackage/switch-mvsw61xx
257   SUBMENU:=$(NETWORK_DEVICES_MENU)
258   TITLE:=Marvell 88E61xx switch support
259   DEPENDS:=+kmod-swconfig
260   KCONFIG:=CONFIG_MVSW61XX_PHY
261   FILES:=$(LINUX_DIR)/drivers/net/phy/mvsw61xx.ko
262   AUTOLOAD:=$(call AutoLoad,42,mvsw61xx)
263 endef
264
265 define KernelPackage/switch-mvsw61xx/description
266  Marvell 88E61xx switch support
267 endef
268
269 $(eval $(call KernelPackage,switch-mvsw61xx))
270
271 define KernelPackage/switch-ip17xx
272   SUBMENU:=$(NETWORK_DEVICES_MENU)
273   TITLE:=IC+ IP17XX switch support
274   DEPENDS:=+kmod-swconfig
275   KCONFIG:=CONFIG_IP17XX_PHY
276   FILES:=$(LINUX_DIR)/drivers/net/phy/ip17xx.ko
277   AUTOLOAD:=$(call AutoLoad,42,ip17xx)
278 endef
279
280 define KernelPackage/switch-ip17xx/description
281  IC+ IP175C/IP178C switch support
282 endef
283
284 $(eval $(call KernelPackage,switch-ip17xx))
285
286
287 define KernelPackage/switch-rtl8306
288   SUBMENU:=$(NETWORK_DEVICES_MENU)
289   TITLE:=Realtek RTL8306S switch support
290   DEPENDS:=+kmod-swconfig
291   KCONFIG:=CONFIG_RTL8306_PHY
292   FILES:=$(LINUX_DIR)/drivers/net/phy/rtl8306.ko
293   AUTOLOAD:=$(call AutoLoad,43,rtl8306)
294 endef
295
296 define KernelPackage/switch-rtl8306/description
297  Realtek RTL8306S switch support
298 endef
299
300 $(eval $(call KernelPackage,switch-rtl8306))
301
302
303 define KernelPackage/switch-rtl8366-smi
304   SUBMENU:=$(NETWORK_DEVICES_MENU)
305   TITLE:=Realtek RTL8366 SMI switch interface support
306   DEPENDS:=@GPIO_SUPPORT +kmod-swconfig +(TARGET_armvirt||TARGET_brcm2708_bcm2708||TARGET_samsung||TARGET_tegra):kmod-of-mdio
307   KCONFIG:=CONFIG_RTL8366_SMI
308   FILES:=$(LINUX_DIR)/drivers/net/phy/rtl8366_smi.ko
309   AUTOLOAD:=$(call AutoLoad,42,rtl8366_smi)
310 endef
311
312 define KernelPackage/switch-rtl8366_smi/description
313   Realtek RTL8366 series SMI switch interface support
314 endef
315
316 $(eval $(call KernelPackage,switch-rtl8366-smi))
317
318
319 define KernelPackage/switch-rtl8366rb
320   SUBMENU:=$(NETWORK_DEVICES_MENU)
321   TITLE:=Realtek RTL8366RB switch support
322   DEPENDS:=+kmod-switch-rtl8366-smi
323   KCONFIG:=CONFIG_RTL8366RB_PHY
324   FILES:=$(LINUX_DIR)/drivers/net/phy/rtl8366rb.ko
325   AUTOLOAD:=$(call AutoLoad,43,rtl8366rb)
326 endef
327
328 define KernelPackage/switch-rtl8366rb/description
329  Realtek RTL8366RB switch support
330 endef
331
332 $(eval $(call KernelPackage,switch-rtl8366rb))
333
334
335 define KernelPackage/switch-rtl8366s
336   SUBMENU:=$(NETWORK_DEVICES_MENU)
337   TITLE:=Realtek RTL8366S switch support
338   DEPENDS:=+kmod-switch-rtl8366-smi
339   KCONFIG:=CONFIG_RTL8366S_PHY
340   FILES:=$(LINUX_DIR)/drivers/net/phy/rtl8366s.ko
341   AUTOLOAD:=$(call AutoLoad,43,rtl8366s)
342 endef
343
344 define KernelPackage/switch-rtl8366s/description
345  Realtek RTL8366S switch support
346 endef
347
348 $(eval $(call KernelPackage,switch-rtl8366s))
349
350
351 define KernelPackage/switch-rtl8367b
352   SUBMENU:=$(NETWORK_DEVICES_MENU)
353   TITLE:=Realtek RTL8367R/B switch support
354   DEPENDS:=+kmod-switch-rtl8366-smi
355   KCONFIG:=CONFIG_RTL8367B_PHY
356   FILES:=$(LINUX_DIR)/drivers/net/phy/rtl8367b.ko
357   AUTOLOAD:=$(call AutoLoad,43,rtl8367b)
358 endef
359
360 define KernelPackage/switch-rtl8367b/description
361  Realtek RTL8367R/B switch support
362 endef
363
364 $(eval $(call KernelPackage,switch-rtl8367b))
365
366
367 define KernelPackage/natsemi
368   SUBMENU:=$(NETWORK_DEVICES_MENU)
369   TITLE:=National Semiconductor DP8381x series
370   DEPENDS:=@PCI_SUPPORT
371   KCONFIG:=CONFIG_NATSEMI
372   FILES:=$(LINUX_DIR)/drivers/net/ethernet/natsemi/natsemi.ko
373   AUTOLOAD:=$(call AutoLoad,20,natsemi)
374 endef
375
376 define KernelPackage/natsemi/description
377  Kernel modules for National Semiconductor DP8381x series PCI Ethernet
378  adapters.
379 endef
380
381 $(eval $(call KernelPackage,natsemi))
382
383
384 define KernelPackage/r6040
385   SUBMENU:=$(NETWORK_DEVICES_MENU)
386   TITLE:=RDC Fast-Ethernet support
387   DEPENDS:=@PCI_SUPPORT +kmod-libphy
388   KCONFIG:=CONFIG_R6040 \
389                 CONFIG_R6040_NAPI=y
390   FILES:=$(LINUX_DIR)/drivers/net/ethernet/rdc/r6040.ko
391   AUTOLOAD:=$(call AutoProbe,r6040)
392 endef
393
394 define KernelPackage/r6040/description
395  Kernel modules for RDC Fast-Ethernet adapters.
396 endef
397
398 $(eval $(call KernelPackage,r6040))
399
400
401 define KernelPackage/niu
402   SUBMENU:=$(NETWORK_DEVICES_MENU)
403   TITLE:=Sun Neptune 10Gbit Ethernet support
404   DEPENDS:=@PCI_SUPPORT
405   KCONFIG:=CONFIG_NIU
406   FILES:=$(LINUX_DIR)/drivers/net/ethernet/sun/niu.ko
407   AUTOLOAD:=$(call AutoProbe,niu)
408 endef
409
410 define KernelPackage/niu/description
411  This enables support for cards based upon Sun's Neptune chipset.
412 endef
413
414 $(eval $(call KernelPackage,niu))
415
416
417 define KernelPackage/sis900
418   SUBMENU:=$(NETWORK_DEVICES_MENU)
419   TITLE:=SiS 900 Ethernet support
420   DEPENDS:=@PCI_SUPPORT +kmod-mii
421   KCONFIG:=CONFIG_SIS900
422   FILES:=$(LINUX_DIR)/drivers/net/ethernet/sis/sis900.ko
423   AUTOLOAD:=$(call AutoProbe,sis900)
424 endef
425
426 define KernelPackage/sis900/description
427  Kernel modules for Sis 900 Ethernet adapters.
428 endef
429
430 $(eval $(call KernelPackage,sis900))
431
432
433 define KernelPackage/sky2
434   SUBMENU:=$(NETWORK_DEVICES_MENU)
435   TITLE:=SysKonnect Yukon2 support
436   DEPENDS:=@PCI_SUPPORT
437   KCONFIG:=CONFIG_SKY2
438   FILES:=$(LINUX_DIR)/drivers/net/ethernet/marvell/sky2.ko
439   AUTOLOAD:=$(call AutoProbe,sky2)
440 endef
441
442 define KernelPackage/sky2/description
443   This driver supports Gigabit Ethernet adapters based on the
444   Marvell Yukon 2 chipset:
445   Marvell 88E8021/88E8022/88E8035/88E8036/88E8038/88E8050/88E8052/
446   88E8053/88E8055/88E8061/88E8062, SysKonnect SK-9E21D/SK-9S21
447
448   There is companion driver for the older Marvell Yukon and
449   Genesis based adapters: skge.
450 endef
451
452 $(eval $(call KernelPackage,sky2))
453
454
455 define KernelPackage/via-rhine
456   SUBMENU:=$(NETWORK_DEVICES_MENU)
457   TITLE:=Via Rhine ethernet support
458   DEPENDS:=@PCI_SUPPORT +kmod-mii
459   KCONFIG:=CONFIG_VIA_RHINE \
460     CONFIG_VIA_RHINE_MMIO=y
461   FILES:=$(LINUX_DIR)/drivers/net/ethernet/via/via-rhine.ko
462   AUTOLOAD:=$(call AutoProbe,via-rhine)
463 endef
464
465 define KernelPackage/via-rhine/description
466  Kernel modules for Via Rhine Ethernet chipsets
467 endef
468
469 $(eval $(call KernelPackage,via-rhine))
470
471
472 define KernelPackage/via-velocity
473   SUBMENU:=$(NETWORK_DEVICES_MENU)
474   TITLE:=VIA Velocity Gigabit Ethernet Adapter kernel support
475   DEPENDS:=@PCI_SUPPORT +kmod-lib-crc-ccitt
476   KCONFIG:=CONFIG_VIA_VELOCITY
477   FILES:=$(LINUX_DIR)/drivers/net/ethernet/via/via-velocity.ko
478   AUTOLOAD:=$(call AutoProbe,via-velocity)
479 endef
480
481 define KernelPackage/via-velocity/description
482  Kernel modules for VIA Velocity Gigabit Ethernet chipsets
483 endef
484
485 $(eval $(call KernelPackage,via-velocity))
486
487
488 define KernelPackage/8139too
489   SUBMENU:=$(NETWORK_DEVICES_MENU)
490   TITLE:=RealTek RTL-8139 PCI Fast Ethernet Adapter kernel support
491   DEPENDS:=@PCI_SUPPORT +kmod-mii
492   KCONFIG:=CONFIG_8139TOO \
493     CONFIG_8139TOO_PIO=y \
494     CONFIG_8139TOO_TUNE_TWISTER=n \
495     CONFIG_8139TOO_8129=n \
496     CONFIG_8139_OLD_RX_RESET=n
497   FILES:=$(LINUX_DIR)/drivers/net/ethernet/realtek/8139too.ko
498   AUTOLOAD:=$(call AutoProbe,8139too)
499 endef
500
501 define KernelPackage/8139too/description
502  Kernel modules for RealTek RTL-8139 PCI Fast Ethernet adapters
503 endef
504
505 $(eval $(call KernelPackage,8139too))
506
507
508 define KernelPackage/8139cp
509   SUBMENU:=$(NETWORK_DEVICES_MENU)
510   TITLE:=RealTek RTL-8139C+ PCI Fast Ethernet Adapter kernel support
511   DEPENDS:=@PCI_SUPPORT +kmod-mii
512   KCONFIG:=CONFIG_8139CP
513   FILES:=$(LINUX_DIR)/drivers/net/ethernet/realtek/8139cp.ko
514   AUTOLOAD:=$(call AutoProbe,8139cp)
515 endef
516
517 define KernelPackage/8139cp/description
518  Kernel module for RealTek RTL-8139C+ PCI Fast Ethernet adapters
519 endef
520
521 $(eval $(call KernelPackage,8139cp))
522
523
524 define KernelPackage/r8169
525   SUBMENU:=$(NETWORK_DEVICES_MENU)
526   TITLE:=RealTek RTL-8169 PCI Gigabit Ethernet Adapter kernel support
527   DEPENDS:=@PCI_SUPPORT +kmod-mii +r8169-firmware +LINUX_4_19:kmod-phy-realtek
528   KCONFIG:=CONFIG_R8169 \
529     CONFIG_R8169_NAPI=y \
530     CONFIG_R8169_VLAN=n
531   FILES:=$(LINUX_DIR)/drivers/net/ethernet/realtek/r8169.ko
532   AUTOLOAD:=$(call AutoProbe,r8169)
533 endef
534
535 define KernelPackage/r8169/description
536  Kernel modules for RealTek RTL-8169 PCI Gigabit Ethernet adapters
537 endef
538
539 $(eval $(call KernelPackage,r8169))
540
541
542 define KernelPackage/ne2k-pci
543   SUBMENU:=$(NETWORK_DEVICES_MENU)
544   TITLE:=ne2k-pci Ethernet Adapter kernel support
545   DEPENDS:=@PCI_SUPPORT
546   KCONFIG:=CONFIG_NE2K_PCI
547   FILES:= \
548         $(LINUX_DIR)/drivers/net/ethernet/8390/ne2k-pci.ko \
549         $(LINUX_DIR)/drivers/net/ethernet/8390/8390.ko
550   AUTOLOAD:=$(call AutoProbe,8390 ne2k-pci)
551 endef
552
553 define KernelPackage/ne2k-pci/description
554  Kernel modules for NE2000 PCI Ethernet Adapter kernel
555 endef
556
557 $(eval $(call KernelPackage,ne2k-pci))
558
559
560 define KernelPackage/e100
561   SUBMENU:=$(NETWORK_DEVICES_MENU)
562   TITLE:=Intel(R) PRO/100+ cards kernel support
563   DEPENDS:=@PCI_SUPPORT +kmod-mii +e100-firmware
564   KCONFIG:=CONFIG_E100
565   FILES:=$(LINUX_DIR)/drivers/net/ethernet/intel/e100.ko
566   AUTOLOAD:=$(call AutoProbe,e100)
567 endef
568
569 define KernelPackage/e100/description
570  Kernel modules for Intel(R) PRO/100+ Ethernet adapters
571 endef
572
573 $(eval $(call KernelPackage,e100))
574
575
576 define KernelPackage/e1000
577   SUBMENU:=$(NETWORK_DEVICES_MENU)
578   TITLE:=Intel(R) PRO/1000 PCI cards kernel support
579   DEPENDS:=@PCI_SUPPORT
580   KCONFIG:=CONFIG_E1000 \
581     CONFIG_E1000_DISABLE_PACKET_SPLIT=n \
582     CONFIG_E1000_NAPI=y
583   FILES:=$(LINUX_DIR)/drivers/net/ethernet/intel/e1000/e1000.ko
584   AUTOLOAD:=$(call AutoLoad,35,e1000)
585 endef
586
587 define KernelPackage/e1000/description
588  Kernel modules for Intel(R) PRO/1000 PCI Ethernet adapters.
589 endef
590
591 $(eval $(call KernelPackage,e1000))
592
593
594 define KernelPackage/e1000e
595   SUBMENU:=$(NETWORK_DEVICES_MENU)
596   TITLE:=Intel(R) PRO/1000 PCIe cards kernel support
597   DEPENDS:=@PCIE_SUPPORT +kmod-ptp
598   KCONFIG:=CONFIG_E1000E
599   FILES:=$(LINUX_DIR)/drivers/net/ethernet/intel/e1000e/e1000e.ko
600   AUTOLOAD:=$(call AutoProbe,e1000e)
601   MODPARAMS.e1000e:= \
602     IntMode=1 \
603     InterruptThrottleRate=4,4,4,4,4,4,4,4
604 endef
605
606 define KernelPackage/e1000e/description
607  Kernel modules for Intel(R) PRO/1000 PCIe Ethernet adapters.
608 endef
609
610 $(eval $(call KernelPackage,e1000e))
611
612
613 define KernelPackage/igb
614   SUBMENU:=$(NETWORK_DEVICES_MENU)
615   TITLE:=Intel(R) 82575/82576 PCI-Express Gigabit Ethernet support
616   DEPENDS:=@PCI_SUPPORT +kmod-i2c-core +kmod-i2c-algo-bit +kmod-ptp +kmod-hwmon-core
617   KCONFIG:=CONFIG_IGB \
618     CONFIG_IGB_HWMON=y \
619     CONFIG_IGB_DCA=n
620   FILES:=$(LINUX_DIR)/drivers/net/ethernet/intel/igb/igb.ko
621   AUTOLOAD:=$(call AutoLoad,35,igb)
622 endef
623
624 define KernelPackage/igb/description
625  Kernel modules for Intel(R) 82575/82576 PCI-Express Gigabit Ethernet adapters.
626 endef
627
628 $(eval $(call KernelPackage,igb))
629
630
631 define KernelPackage/igbvf
632   SUBMENU:=$(NETWORK_DEVICES_MENU)
633   TITLE:=Intel(R) 82576 Virtual Function Ethernet support
634   DEPENDS:=@PCI_SUPPORT @TARGET_x86 +kmod-i2c-core +kmod-i2c-algo-bit +kmod-ptp
635   KCONFIG:=CONFIG_IGBVF \
636     CONFIG_IGB_HWMON=y \
637     CONFIG_IGB_DCA=n
638   FILES:=$(LINUX_DIR)/drivers/net/ethernet/intel/igbvf/igbvf.ko
639   AUTOLOAD:=$(call AutoLoad,35,igbvf)
640 endef
641
642 define KernelPackage/igbvf/description
643  Kernel modules for Intel(R) 82576 Virtual Function Ethernet adapters.
644 endef
645
646 $(eval $(call KernelPackage,igbvf))
647
648
649 define KernelPackage/ixgbe
650   SUBMENU:=$(NETWORK_DEVICES_MENU)
651   TITLE:=Intel(R) 82598/82599 PCI-Express 10 Gigabit Ethernet support
652   DEPENDS:=@PCI_SUPPORT +kmod-mdio +kmod-ptp +kmod-hwmon-core
653   KCONFIG:=CONFIG_IXGBE \
654     CONFIG_IXGBE_VXLAN=n \
655     CONFIG_IXGBE_HWMON=y \
656     CONFIG_IXGBE_DCA=n
657   FILES:=$(LINUX_DIR)/drivers/net/ethernet/intel/ixgbe/ixgbe.ko
658   AUTOLOAD:=$(call AutoLoad,35,ixgbe)
659 endef
660
661 define KernelPackage/ixgbe/description
662  Kernel modules for Intel(R) 82598/82599 PCI-Express 10 Gigabit Ethernet adapters.
663 endef
664
665 $(eval $(call KernelPackage,ixgbe))
666
667
668 define KernelPackage/ixgbevf
669   SUBMENU:=$(NETWORK_DEVICES_MENU)
670   TITLE:=Intel(R) 82599 Virtual Function Ethernet support
671   DEPENDS:=@PCI_SUPPORT +kmod-ixgbe
672   KCONFIG:=CONFIG_IXGBEVF \
673     CONFIG_IXGBE_VXLAN=n \
674     CONFIG_IXGBE_HWMON=y \
675     CONFIG_IXGBE_DCA=n
676   FILES:=$(LINUX_DIR)/drivers/net/ethernet/intel/ixgbevf/ixgbevf.ko
677   AUTOLOAD:=$(call AutoLoad,35,ixgbevf)
678 endef
679
680 define KernelPackage/ixgbevf/description
681  Kernel modules for Intel(R) 82599 Virtual Function Ethernet adapters.
682 endef
683
684 $(eval $(call KernelPackage,ixgbevf))
685
686
687 define KernelPackage/b44
688   TITLE:=Broadcom 44xx driver
689   KCONFIG:=CONFIG_B44
690   DEPENDS:=@PCI_SUPPORT @!TARGET_brcm47xx_mips74k +!TARGET_brcm47xx:kmod-ssb +kmod-mii +kmod-libphy
691   SUBMENU:=$(NETWORK_DEVICES_MENU)
692   FILES:=$(LINUX_DIR)/drivers/net/ethernet/broadcom/b44.ko
693   AUTOLOAD:=$(call AutoLoad,19,b44,1)
694 endef
695
696 define KernelPackage/b44/description
697  Kernel modules for Broadcom 44xx Ethernet adapters.
698 endef
699
700 $(eval $(call KernelPackage,b44))
701
702
703 define KernelPackage/3c59x
704   SUBMENU:=$(NETWORK_DEVICES_MENU)
705   TITLE:=3Com 3c590/3c900 series (592/595/597) Vortex/Boomerang
706   DEPENDS:=@PCI_SUPPORT +kmod-mii
707   KCONFIG:=CONFIG_VORTEX
708   FILES:=$(LINUX_DIR)/drivers/net/ethernet/3com/3c59x.ko
709   AUTOLOAD:=$(call AutoProbe,3c59x)
710 endef
711
712 define KernelPackage/3c59x/description
713  This option enables driver support for a large number of 10mbps and
714  10/100mbps EISA, PCI and PCMCIA 3Com Ethernet adapters:
715  - "Vortex"    (Fast EtherLink 3c590/3c592/3c595/3c597) EISA and PCI
716  - "Boomerang" (EtherLink XL 3c900 or 3c905)            PCI
717  - "Cyclone"   (3c540/3c900/3c905/3c980/3c575/3c656)    PCI and Cardbus
718  - "Tornado"   (3c905)                                  PCI
719  - "Hurricane" (3c555/3cSOHO)                           PCI
720 endef
721
722 $(eval $(call KernelPackage,3c59x))
723
724
725 define KernelPackage/pcnet32
726   SUBMENU:=$(NETWORK_DEVICES_MENU)
727   TITLE:=AMD PCnet32 PCI support
728   DEPENDS:=@(PCI_SUPPORT||TARGET_malta) +kmod-mii
729   KCONFIG:=CONFIG_PCNET32
730   FILES:=$(LINUX_DIR)/drivers/net/ethernet/amd/pcnet32.ko
731   AUTOLOAD:=$(call AutoProbe,pcnet32)
732 endef
733
734 define KernelPackage/pcnet32/description
735  Kernel modules for AMD PCnet32 Ethernet adapters
736 endef
737
738 $(eval $(call KernelPackage,pcnet32))
739
740
741 define KernelPackage/tg3
742   TITLE:=Broadcom Tigon3 Gigabit Ethernet
743   KCONFIG:=CONFIG_TIGON3 \
744         CONFIG_TIGON3_HWMON=n
745   DEPENDS:=+!TARGET_brcm47xx:kmod-libphy +LINUX_4_9:kmod-hwmon-core +kmod-ptp
746   SUBMENU:=$(NETWORK_DEVICES_MENU)
747   FILES:=$(LINUX_DIR)/drivers/net/ethernet/broadcom/tg3.ko
748   AUTOLOAD:=$(call AutoLoad,19,tg3,1)
749 endef
750
751 define KernelPackage/tg3/description
752  Kernel modules for Broadcom Tigon3 Gigabit Ethernet adapters
753 endef
754
755 $(eval $(call KernelPackage,tg3))
756
757
758 define KernelPackage/hfcpci
759   TITLE:=HFC PCI cards (single port) support for mISDN
760   KCONFIG:=CONFIG_MISDN_HFCPCI
761   DEPENDS:=+kmod-misdn
762   SUBMENU:=$(NETWORK_DEVICES_MENU)
763   FILES:=$(LINUX_DIR)/drivers/isdn/hardware/mISDN/hfcpci.ko
764   AUTOLOAD:=$(call AutoLoad,31,hfcpci)
765 endef
766
767 define KernelPackage/hfcpci/description
768  Kernel modules for Cologne AG's HFC pci cards (single port)
769  using the mISDN V2 stack
770 endef
771
772 $(eval $(call KernelPackage,hfcpci))
773
774
775 define KernelPackage/hfcmulti
776   TITLE:=HFC multiport cards (HFC-4S/8S/E1) support for mISDN
777   KCONFIG:=CONFIG_MISDN_HFCMULTI
778   DEPENDS:=+kmod-misdn
779   SUBMENU:=$(NETWORK_DEVICES_MENU)
780   FILES:=$(LINUX_DIR)/drivers/isdn/hardware/mISDN/hfcmulti.ko
781   AUTOLOAD:=$(call AutoLoad,31,hfcmulti)
782 endef
783
784 define KernelPackage/hfcmulti/description
785  Kernel modules for Cologne AG's HFC multiport cards (HFC-4S/8S/E1)
786  using the mISDN V2 stack
787 endef
788
789 $(eval $(call KernelPackage,hfcmulti))
790
791
792 define KernelPackage/gigaset
793   SUBMENU:=$(NETWORK_DEVICES_MENU)
794   TITLE:=Siemens Gigaset support for isdn4linux
795   DEPENDS:=@USB_SUPPORT +kmod-isdn4linux +kmod-lib-crc-ccitt +kmod-usb-core
796   URL:=http://gigaset307x.sourceforge.net/
797   KCONFIG:= \
798     CONFIG_ISDN_DRV_GIGASET \
799     CONFIG_GIGASET_BASE \
800     CONFIG_GIGASET_M101 \
801     CONFIG_GIGASET_M105 \
802     CONFIG_GIGASET_UNDOCREQ=y \
803     CONFIG_GIGASET_I4L=y
804   FILES:= \
805     $(LINUX_DIR)/drivers/isdn/gigaset/gigaset.ko \
806     $(LINUX_DIR)/drivers/isdn/gigaset/bas_gigaset.ko \
807     $(LINUX_DIR)/drivers/isdn/gigaset/ser_gigaset.ko \
808     $(LINUX_DIR)/drivers/isdn/gigaset/usb_gigaset.ko
809   AUTOLOAD:=$(call AutoProbe,gigaset bas_gigaset ser_gigaset usb_gigaset)
810 endef
811
812 define KernelPackage/gigaset/description
813  This driver supports the Siemens Gigaset SX205/255 family of
814  ISDN DECT bases, including the predecessors Gigaset 3070/3075
815  and 4170/4175 and their T-Com versions Sinus 45isdn and Sinus
816  721X.
817 endef
818
819 $(eval $(call KernelPackage,gigaset))
820
821
822 define KernelPackage/macvlan
823   SUBMENU:=$(NETWORK_DEVICES_MENU)
824   TITLE:=MAC-VLAN support
825   KCONFIG:=CONFIG_MACVLAN
826   FILES:=$(LINUX_DIR)/drivers/net/macvlan.ko
827   AUTOLOAD:=$(call AutoProbe,macvlan)
828 endef
829
830 define KernelPackage/macvlan/description
831  A kernel module which allows one to create virtual interfaces that
832  map packets to or from specific MAC addresses to a particular interface
833 endef
834
835 $(eval $(call KernelPackage,macvlan))
836
837
838 define KernelPackage/tulip
839   TITLE:=Tulip family network device support
840   DEPENDS:=@PCI_SUPPORT +kmod-mii
841   SUBMENU:=$(NETWORK_DEVICES_MENU)
842   KCONFIG:= \
843     CONFIG_NET_TULIP=y \
844     CONFIG_DE2104X \
845     CONFIG_DE2104X_DSL=0 \
846     CONFIG_TULIP \
847     CONFIG_TULIP_MWI=y \
848     CONFIG_TULIP_MMIO=y \
849     CONFIG_TULIP_NAPI=y \
850     CONFIG_TULIP_NAPI_HW_MITIGATION=y \
851     CONFIG_DE4X5=n \
852     CONFIG_WINBOND_840 \
853     CONFIG_DM9102 \
854     CONFIG_ULI526X
855   FILES:= \
856         $(LINUX_DIR)/drivers/net/ethernet/dec/tulip/tulip.ko \
857         $(LINUX_DIR)/drivers/net/ethernet/dec/tulip/de2104x.ko \
858         $(LINUX_DIR)/drivers/net/ethernet/dec/tulip/dmfe.ko \
859         $(LINUX_DIR)/drivers/net/ethernet/dec/tulip/uli526x.ko \
860         $(LINUX_DIR)/drivers/net/ethernet/dec/tulip/winbond-840.ko
861   AUTOLOAD:=$(call AutoProbe,tulip)
862 endef
863
864 define KernelPackage/tulip/description
865  Kernel modules for the Tulip family of network cards,
866  including DECchip Tulip, DIGITAL EtherWORKS, Winbond W89c840,
867  Davicom DM910x/DM980x and ULi M526x controller support.
868 endef
869
870 $(eval $(call KernelPackage,tulip))
871
872
873 define KernelPackage/solos-pci
874   SUBMENU:=$(NETWORK_DEVICES_MENU)
875   TITLE:=Solos ADSL2+ multiport modem
876   DEPENDS:=@PCI_SUPPORT +kmod-atm
877   KCONFIG:=CONFIG_ATM_SOLOS
878   FILES:=$(LINUX_DIR)/drivers/atm/solos-pci.ko
879   AUTOLOAD:=$(call AutoProbe,solos-pci)
880 endef
881
882 define KernelPackage/solos-pci/description
883  Kernel module for Traverse Technologies' Solos PCI cards
884  and Geos ADSL2+ x86 motherboard
885 endef
886
887 $(eval $(call KernelPackage,solos-pci))
888
889
890 define KernelPackage/dummy
891   SUBMENU:=$(NETWORK_DEVICES_MENU)
892   TITLE:=Dummy network device
893   KCONFIG:=CONFIG_DUMMY
894   FILES:=$(LINUX_DIR)/drivers/net/dummy.ko
895   AUTOLOAD:=$(call AutoLoad,34,dummy)
896 endef
897
898 define KernelPackage/dummy/description
899  The dummy network device
900 endef
901
902 $(eval $(call KernelPackage,dummy))
903
904
905 define KernelPackage/ifb
906   SUBMENU:=$(NETWORK_DEVICES_MENU)
907   TITLE:=Intermediate Functional Block support
908   KCONFIG:= \
909         CONFIG_IFB \
910         CONFIG_NET_CLS=y
911   FILES:=$(LINUX_DIR)/drivers/net/ifb.ko
912   AUTOLOAD:=$(call AutoLoad,34,ifb)
913 endef
914
915 define KernelPackage/ifb/description
916   The Intermediate Functional Block
917 endef
918
919 $(eval $(call KernelPackage,ifb))
920
921
922 define KernelPackage/dm9000
923   SUBMENU:=$(NETWORK_DEVICES_MENU)
924   TITLE:=Davicom 9000 Ethernet support
925   DEPENDS:=+kmod-mii
926   KCONFIG:=CONFIG_DM9000 \
927     CONFIG_DM9000_DEBUGLEVEL=4 \
928     CONFIG_DM9000_FORCE_SIMPLE_PHY_POLL=y
929   FILES:=$(LINUX_DIR)/drivers/net/ethernet/davicom/dm9000.ko
930   AUTOLOAD:=$(call AutoLoad,34,dm9000)
931 endef
932
933 define KernelPackage/dm9000/description
934  Kernel driver for Davicom 9000 Ethernet adapters.
935 endef
936
937 $(eval $(call KernelPackage,dm9000))
938
939
940 define KernelPackage/forcedeth
941   SUBMENU:=$(NETWORK_DEVICES_MENU)
942   TITLE:=nForce Ethernet support
943   DEPENDS:=@PCI_SUPPORT
944   KCONFIG:=CONFIG_FORCEDETH
945   FILES:=$(LINUX_DIR)/drivers/net/ethernet/nvidia/forcedeth.ko
946   AUTOLOAD:=$(call AutoProbe,forcedeth)
947 endef
948
949 define KernelPackage/forcedeth/description
950  Kernel driver for Nvidia Ethernet support
951 endef
952
953 $(eval $(call KernelPackage,forcedeth))
954
955 define KernelPackage/of-mdio
956   SUBMENU:=$(NETWORK_DEVICES_MENU)
957   TITLE:=OpenFirmware MDIO support
958   DEPENDS:=+kmod-libphy
959   KCONFIG:=CONFIG_OF_MDIO
960   FILES:= \
961         $(LINUX_DIR)/drivers/net/phy/fixed_phy.ko@ge4.9 \
962         $(LINUX_DIR)/drivers/of/of_mdio.ko
963   AUTOLOAD:=$(call AutoLoad,41,of_mdio)
964 endef
965
966 define KernelPackage/of-mdio/description
967  Kernel driver for OpenFirmware MDIO support
968 endef
969
970 $(eval $(call KernelPackage,of-mdio))
971
972
973 define KernelPackage/vmxnet3
974   SUBMENU:=$(NETWORK_DEVICES_MENU)
975   TITLE:=VMware VMXNET3 ethernet driver
976   DEPENDS:=@PCI_SUPPORT
977   KCONFIG:=CONFIG_VMXNET3
978   FILES:=$(LINUX_DIR)/drivers/net/vmxnet3/vmxnet3.ko
979   AUTOLOAD:=$(call AutoLoad,35,vmxnet3)
980 endef
981
982 define KernelPackage/vmxnet3/description
983  Kernel modules for VMware VMXNET3 ethernet adapters.
984 endef
985
986 $(eval $(call KernelPackage,vmxnet3))
987
988
989 define KernelPackage/spi-ks8995
990   SUBMENU:=$(NETWORK_DEVICES_MENU)
991   TITLE:=Micrel/Kendin KS8995 Ethernet switch control
992   FILES:=$(LINUX_DIR)/drivers/net/phy/spi_ks8995.ko
993   KCONFIG:=CONFIG_MICREL_KS8995MA \
994         CONFIG_SPI=y \
995         CONFIG_SPI_MASTER=y
996   AUTOLOAD:=$(call AutoLoad,50,spi_ks8995)
997 endef
998
999 define KernelPackage/spi-ks8995/description
1000   Kernel module for Micrel/Kendin KS8995 ethernet switch
1001 endef
1002
1003 $(eval $(call KernelPackage,spi-ks8995))
1004
1005
1006 define KernelPackage/ethoc
1007   SUBMENU:=$(NETWORK_DEVICES_MENU)
1008   TITLE:=Opencore.org ethoc driver
1009   DEPENDS:=+kmod-libphy
1010   FILES:=$(LINUX_DIR)/drivers/net/ethernet/ethoc.ko
1011   KCONFIG:=CONFIG_ETHOC
1012   AUTOLOAD:=$(call AutoProbe,ethoc)
1013 endef
1014
1015 define KernelPackage/ethoc/description
1016   Kernel module for the Opencores.org ethernet adapter
1017 endef
1018
1019 $(eval $(call KernelPackage,ethoc))
1020
1021
1022 define KernelPackage/bnx2
1023   SUBMENU:=$(NETWORK_DEVICES_MENU)
1024   TITLE:=BCM5706/5708/5709/5716 ethernet adapter driver
1025   DEPENDS:=@PCI_SUPPORT +bnx2-firmware
1026   FILES:=$(LINUX_DIR)/drivers/net/ethernet/broadcom/bnx2.ko
1027   KCONFIG:=CONFIG_BNX2
1028   AUTOLOAD:=$(call AutoProbe,bnx2)
1029 endef
1030
1031 define KernelPackage/bnx2/description
1032   Kernel module for the BCM5706/5708/5709/5716 ethernet adapter
1033 endef
1034
1035 $(eval $(call KernelPackage,bnx2))
1036
1037
1038 define KernelPackage/bnx2x
1039   SUBMENU:=$(NETWORK_DEVICES_MENU)
1040   TITLE:=QLogic 5771x/578xx 10/20-Gigabit ethernet adapter driver
1041   DEPENDS:=@PCI_SUPPORT +bnx2x-firmware +kmod-lib-crc32c +kmod-mdio +kmod-ptp +kmod-lib-zlib-inflate
1042   FILES:=$(LINUX_DIR)/drivers/net/ethernet/broadcom/bnx2x/bnx2x.ko
1043   KCONFIG:= \
1044         CONFIG_BNX2X \
1045         CONFIG_BNX2X_SRIOV=y
1046   AUTOLOAD:=$(call AutoProbe,bnx2x)
1047 endef
1048
1049 define KernelPackage/bnx2x/description
1050   QLogic BCM57710/57711/57711E/57712/57712_MF/57800/57800_MF/57810/57810_MF/57840/57840_MF Driver
1051 endef
1052
1053 $(eval $(call KernelPackage,bnx2x))
1054
1055 define KernelPackage/be2net
1056   SUBMENU:=$(NETWORK_DEVICES_MENU)
1057   TITLE:=Broadcom Emulex OneConnect 10Gbps NIC
1058   DEPENDS:=@PCI_SUPPORT +kmod-hwmon-core
1059   FILES:=$(LINUX_DIR)/drivers/net/ethernet/emulex/benet/be2net.ko
1060   KCONFIG:= \
1061         CONFIG_BE2NET \
1062         CONFIG_BE2NET_BE2=y \
1063         CONFIG_BE2NET_BE3=y \
1064         CONFIG_BE2NET_LANCER=y \
1065         CONFIG_BE2NET_SKYHAWK=y \
1066         CONFIG_BE2NET_HWMON=y
1067   AUTOLOAD:=$(call AutoProbe,be2net)
1068 endef
1069
1070 define KernelPackage/be2net/description
1071   Broadcom Emulex OneConnect 10Gbit SFP+ support, OneConnect OCe10xxx OCe11xxx OCe14xxx, LightPulse LPe12xxx
1072 endef
1073
1074 $(eval $(call KernelPackage,be2net))