4aee820c91d13cf9858645ab48b9af624b533224
[openwrt/openwrt.git] / package / kernel / linux / modules / other.mk
1 #
2 # Copyright (C) 2006-2015 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 OTHER_MENU:=Other modules
9
10 WATCHDOG_DIR:=watchdog
11
12
13 define KernelPackage/6lowpan
14 SUBMENU:=$(OTHER_MENU)
15 TITLE:=6LoWPAN shared code
16 KCONFIG:= \
17 CONFIG_6LOWPAN \
18 CONFIG_6LOWPAN_NHC=n
19 FILES:=$(LINUX_DIR)/net/6lowpan/6lowpan.ko
20 AUTOLOAD:=$(call AutoProbe,6lowpan)
21 endef
22
23 define KernelPackage/6lowpan/description
24 Shared 6lowpan code for IEEE 802.15.4 and Bluetooth.
25 endef
26
27 $(eval $(call KernelPackage,6lowpan))
28
29
30 define KernelPackage/bluetooth
31 SUBMENU:=$(OTHER_MENU)
32 TITLE:=Bluetooth support
33 DEPENDS:=@USB_SUPPORT +kmod-usb-core +kmod-crypto-hash +kmod-crypto-ecb +kmod-lib-crc16 +kmod-hid +!LINUX_3_18:kmod-crypto-cmac +!LINUX_3_18:kmod-regmap +LINUX_4_14:kmod-crypto-ecdh
34 KCONFIG:= \
35 CONFIG_BLUEZ \
36 CONFIG_BLUEZ_L2CAP \
37 CONFIG_BLUEZ_SCO \
38 CONFIG_BLUEZ_RFCOMM \
39 CONFIG_BLUEZ_BNEP \
40 CONFIG_BLUEZ_HCIUART \
41 CONFIG_BLUEZ_HCIUSB \
42 CONFIG_BLUEZ_HIDP \
43 CONFIG_BT \
44 CONFIG_BT_BREDR=y \
45 CONFIG_BT_DEBUGFS=n \
46 CONFIG_BT_L2CAP=y \
47 CONFIG_BT_LE=y \
48 CONFIG_BT_SCO=y \
49 CONFIG_BT_RFCOMM \
50 CONFIG_BT_BNEP \
51 CONFIG_BT_HCIBTUSB \
52 CONFIG_BT_HCIBTUSB_BCM=n \
53 CONFIG_BT_HCIUSB \
54 CONFIG_BT_HCIUART \
55 CONFIG_BT_HCIUART_BCM=n \
56 CONFIG_BT_HCIUART_INTEL=n \
57 CONFIG_BT_HCIUART_H4 \
58 CONFIG_BT_HCIUART_NOKIA=n \
59 CONFIG_BT_HIDP \
60 CONFIG_HID_SUPPORT=y
61 $(call AddDepends/rfkill)
62 FILES:= \
63 $(LINUX_DIR)/net/bluetooth/bluetooth.ko \
64 $(LINUX_DIR)/net/bluetooth/rfcomm/rfcomm.ko \
65 $(LINUX_DIR)/net/bluetooth/bnep/bnep.ko \
66 $(LINUX_DIR)/net/bluetooth/hidp/hidp.ko \
67 $(LINUX_DIR)/drivers/bluetooth/hci_uart.ko \
68 $(LINUX_DIR)/drivers/bluetooth/btusb.ko
69 ifeq ($(strip $(call CompareKernelPatchVer,$(KERNEL_PATCHVER),ge,4.1.0)),1)
70 FILES+= \
71 $(LINUX_DIR)/drivers/bluetooth/btintel.ko
72 endif
73 AUTOLOAD:=$(call AutoProbe,bluetooth rfcomm bnep hidp hci_uart btusb)
74 endef
75
76 define KernelPackage/bluetooth/description
77 Kernel support for Bluetooth devices
78 endef
79
80 $(eval $(call KernelPackage,bluetooth))
81
82 define KernelPackage/ath3k
83 SUBMENU:=$(OTHER_MENU)
84 TITLE:=ATH3K Kernel Module support
85 DEPENDS:=+kmod-bluetooth +ar3k-firmware
86 KCONFIG:= \
87 CONFIG_BT_ATH3K \
88 CONFIG_BT_HCIUART_ATH3K=y
89 $(call AddDepends/bluetooth)
90 FILES:= \
91 $(LINUX_DIR)/drivers/bluetooth/ath3k.ko
92 AUTOLOAD:=$(call AutoProbe,ath3k)
93 endef
94
95 define KernelPackage/ath3k/description
96 Kernel support for ATH3K Module
97 endef
98
99 $(eval $(call KernelPackage,ath3k))
100
101
102 define KernelPackage/bluetooth_6lowpan
103 SUBMENU:=$(OTHER_MENU)
104 TITLE:=Bluetooth 6LoWPAN support
105 DEPENDS:=+kmod-6lowpan +kmod-bluetooth
106 KCONFIG:=CONFIG_BT_6LOWPAN
107 FILES:=$(LINUX_DIR)/net/bluetooth/bluetooth_6lowpan.ko
108 AUTOLOAD:=$(call AutoProbe,bluetooth_6lowpan)
109 endef
110
111 define KernelPackage/bluetooth_6lowpan/description
112 Kernel support for 6LoWPAN over Bluetooth Low Energy devices
113 endef
114
115 $(eval $(call KernelPackage,bluetooth_6lowpan))
116
117
118 define KernelPackage/btmrvl
119 SUBMENU:=$(OTHER_MENU)
120 TITLE:=Marvell Bluetooth Kernel Module support
121 DEPENDS:=+kmod-mmc +kmod-bluetooth +mwifiex-sdio-firmware
122 KCONFIG:= \
123 CONFIG_BT_MRVL \
124 CONFIG_BT_MRVL_SDIO
125 $(call AddDepends/bluetooth)
126 FILES:= \
127 $(LINUX_DIR)/drivers/bluetooth/btmrvl.ko \
128 $(LINUX_DIR)/drivers/bluetooth/btmrvl_sdio.ko
129 AUTOLOAD:=$(call AutoProbe,btmrvl btmrvl_sdio)
130 endef
131
132 define KernelPackage/btmrvl/description
133 Kernel support for Marvell SDIO Bluetooth Module
134 endef
135
136 $(eval $(call KernelPackage,btmrvl))
137
138
139 define KernelPackage/dma-buf
140 SUBMENU:=$(OTHER_MENU)
141 TITLE:=DMA shared buffer support
142 HIDDEN:=1
143 KCONFIG:=CONFIG_DMA_SHARED_BUFFER
144 FILES:=$(LINUX_DIR)/drivers/dma-buf/dma-shared-buffer.ko
145 AUTOLOAD:=$(call AutoLoad,20,dma-shared-buffer)
146 endef
147 $(eval $(call KernelPackage,dma-buf))
148
149
150 define KernelPackage/nvmem
151 SUBMENU:=$(OTHER_MENU)
152 TITLE:=Non Volatile Memory support
153 KCONFIG:=CONFIG_NVMEM
154 HIDDEN:=1
155 FILES:=$(LINUX_DIR)/drivers/nvmem/nvmem_core.ko@ge4.9
156 endef
157
158 define KernelPackage/nvmem/description
159 Support for NVMEM(Non Volatile Memory) devices like EEPROM, EFUSES, etc.
160 endef
161
162 $(eval $(call KernelPackage,nvmem))
163
164 define KernelPackage/eeprom-93cx6
165 SUBMENU:=$(OTHER_MENU)
166 TITLE:=EEPROM 93CX6 support
167 KCONFIG:=CONFIG_EEPROM_93CX6
168 FILES:=$(LINUX_DIR)/drivers/misc/eeprom/eeprom_93cx6.ko
169 AUTOLOAD:=$(call AutoLoad,20,eeprom_93cx6)
170 endef
171
172 define KernelPackage/eeprom-93cx6/description
173 Kernel module for EEPROM 93CX6 support
174 endef
175
176 $(eval $(call KernelPackage,eeprom-93cx6))
177
178
179 define KernelPackage/eeprom-at24
180 SUBMENU:=$(OTHER_MENU)
181 TITLE:=EEPROM AT24 support
182 KCONFIG:=CONFIG_EEPROM_AT24
183 DEPENDS:=+kmod-i2c-core +kmod-nvmem
184 FILES:=$(LINUX_DIR)/drivers/misc/eeprom/at24.ko
185 AUTOLOAD:=$(call AutoProbe,at24)
186 endef
187
188 define KernelPackage/eeprom-at24/description
189 Kernel module for most I2C EEPROMs
190 endef
191
192 $(eval $(call KernelPackage,eeprom-at24))
193
194
195 define KernelPackage/eeprom-at25
196 SUBMENU:=$(OTHER_MENU)
197 TITLE:=EEPROM AT25 support
198 KCONFIG:=CONFIG_EEPROM_AT25
199 DEPENDS:=+kmod-nvmem
200 FILES:=$(LINUX_DIR)/drivers/misc/eeprom/at25.ko
201 AUTOLOAD:=$(call AutoProbe,at25)
202 endef
203
204 define KernelPackage/eeprom-at25/description
205 Kernel module for most SPI EEPROMs
206 endef
207
208 $(eval $(call KernelPackage,eeprom-at25))
209
210
211 define KernelPackage/gpio-dev
212 SUBMENU:=$(OTHER_MENU)
213 TITLE:=Generic GPIO char device support
214 DEPENDS:=@GPIO_SUPPORT
215 KCONFIG:=CONFIG_GPIO_DEVICE
216 FILES:=$(LINUX_DIR)/drivers/char/gpio_dev.ko
217 AUTOLOAD:=$(call AutoLoad,40,gpio_dev)
218 endef
219
220 define KernelPackage/gpio-dev/description
221 Kernel module to allows control of GPIO pins using a character device.
222 endef
223
224 $(eval $(call KernelPackage,gpio-dev))
225
226
227 define KernelPackage/gpio-mcp23s08
228 SUBMENU:=$(OTHER_MENU)
229 TITLE:=Microchip MCP23xxx I/O expander
230 DEPENDS:=@GPIO_SUPPORT +kmod-i2c-core
231 KCONFIG:=CONFIG_GPIO_MCP23S08
232 FILES:=$(LINUX_DIR)/drivers/gpio/gpio-mcp23s08.ko
233 AUTOLOAD:=$(call AutoLoad,40,gpio-mcp23s08)
234 endef
235
236 define KernelPackage/gpio-mcp23s08/description
237 Kernel module for Microchip MCP23xxx SPI/I2C I/O expander
238 endef
239
240 $(eval $(call KernelPackage,gpio-mcp23s08))
241
242
243 define KernelPackage/gpio-nxp-74hc164
244 SUBMENU:=$(OTHER_MENU)
245 TITLE:=NXP 74HC164 GPIO expander support
246 KCONFIG:=CONFIG_GPIO_74X164
247 FILES:=$(LINUX_DIR)/drivers/gpio/gpio-74x164.ko
248 AUTOLOAD:=$(call AutoProbe,gpio-74x164)
249 endef
250
251 define KernelPackage/gpio-nxp-74hc164/description
252 Kernel module for NXP 74HC164 GPIO expander
253 endef
254
255 $(eval $(call KernelPackage,gpio-nxp-74hc164))
256
257 define KernelPackage/gpio-pca953x
258 SUBMENU:=$(OTHER_MENU)
259 DEPENDS:=@GPIO_SUPPORT +kmod-i2c-core
260 TITLE:=PCA95xx, TCA64xx, and MAX7310 I/O ports
261 KCONFIG:=CONFIG_GPIO_PCA953X
262 FILES:=$(LINUX_DIR)/drivers/gpio/gpio-pca953x.ko
263 AUTOLOAD:=$(call AutoLoad,55,gpio-pca953x)
264 endef
265
266 define KernelPackage/gpio-pca953x/description
267 Kernel module for MAX731{0,2,3,5}, PCA6107, PCA953{4-9}, PCA955{4-7},
268 PCA957{4,5} and TCA64{08,16} I2C GPIO expanders
269 endef
270
271 $(eval $(call KernelPackage,gpio-pca953x))
272
273 define KernelPackage/gpio-pcf857x
274 SUBMENU:=$(OTHER_MENU)
275 DEPENDS:=@GPIO_SUPPORT +kmod-i2c-core
276 TITLE:=PCX857x, PCA967x and MAX732X I2C GPIO expanders
277 KCONFIG:=CONFIG_GPIO_PCF857X
278 FILES:=$(LINUX_DIR)/drivers/gpio/gpio-pcf857x.ko
279 AUTOLOAD:=$(call AutoLoad,55,gpio-pcf857x)
280 endef
281
282 define KernelPackage/gpio-pcf857x/description
283 Kernel module for PCF857x, PCA{85,96}7x, and MAX732[89] I2C GPIO expanders
284 endef
285
286 $(eval $(call KernelPackage,gpio-pcf857x))
287
288
289 define KernelPackage/ppdev
290 SUBMENU:=$(OTHER_MENU)
291 TITLE:=Parallel port support
292 KCONFIG:= \
293 CONFIG_PARPORT \
294 CONFIG_PPDEV
295 FILES:= \
296 $(LINUX_DIR)/drivers/parport/parport.ko \
297 $(LINUX_DIR)/drivers/char/ppdev.ko
298 AUTOLOAD:=$(call AutoLoad,50,parport ppdev)
299 endef
300
301 $(eval $(call KernelPackage,ppdev))
302
303
304 define KernelPackage/parport-pc
305 SUBMENU:=$(OTHER_MENU)
306 TITLE:=Parallel port interface (PC-style) support
307 DEPENDS:=+kmod-ppdev
308 KCONFIG:= \
309 CONFIG_KS0108=n \
310 CONFIG_PARPORT_PC \
311 CONFIG_PARPORT_1284=y \
312 CONFIG_PARPORT_PC_FIFO=y \
313 CONFIG_PARPORT_PC_PCMCIA=n \
314 CONFIG_PARPORT_PC_SUPERIO=y \
315 CONFIG_PARPORT_SERIAL=n \
316 CONFIG_PARIDE=n \
317 CONFIG_SCSI_IMM=n \
318 CONFIG_SCSI_PPA=n
319 FILES:= \
320 $(LINUX_DIR)/drivers/parport/parport_pc.ko
321 AUTOLOAD:=$(call AutoLoad,51,parport_pc)
322 endef
323
324 $(eval $(call KernelPackage,parport-pc))
325
326
327 define KernelPackage/lp
328 SUBMENU:=$(OTHER_MENU)
329 TITLE:=Parallel port line printer device support
330 DEPENDS:=+kmod-ppdev
331 KCONFIG:= \
332 CONFIG_PRINTER
333 FILES:= \
334 $(LINUX_DIR)/drivers/char/lp.ko
335 AUTOLOAD:=$(call AutoLoad,52,lp)
336 endef
337
338 $(eval $(call KernelPackage,lp))
339
340
341 define KernelPackage/mmc
342 SUBMENU:=$(OTHER_MENU)
343 TITLE:=MMC/SD Card Support
344 DEPENDS:=@!TARGET_uml
345 KCONFIG:= \
346 CONFIG_MMC \
347 CONFIG_MMC_BLOCK \
348 CONFIG_MMC_DEBUG=n \
349 CONFIG_MMC_UNSAFE_RESUME=n \
350 CONFIG_MMC_BLOCK_BOUNCE=y \
351 CONFIG_MMC_TIFM_SD=n \
352 CONFIG_MMC_WBSD=n \
353 CONFIG_SDIO_UART=n
354 FILES:= \
355 $(LINUX_DIR)/drivers/mmc/core/mmc_core.ko \
356 $(LINUX_DIR)/drivers/mmc/card/mmc_block.ko@lt4.10 \
357 $(LINUX_DIR)/drivers/mmc/core/mmc_block.ko@ge4.10
358 AUTOLOAD:=$(call AutoProbe,mmc_core mmc_block,1)
359 endef
360
361 define KernelPackage/mmc/description
362 Kernel support for MMC/SD cards
363 endef
364
365 $(eval $(call KernelPackage,mmc))
366
367
368 define KernelPackage/sdhci
369 SUBMENU:=$(OTHER_MENU)
370 TITLE:=Secure Digital Host Controller Interface support
371 DEPENDS:=+kmod-mmc
372 KCONFIG:= \
373 CONFIG_MMC_SDHCI \
374 CONFIG_MMC_SDHCI_PLTFM \
375 CONFIG_MMC_SDHCI_PCI=n
376 FILES:= \
377 $(LINUX_DIR)/drivers/mmc/host/sdhci.ko \
378 $(LINUX_DIR)/drivers/mmc/host/sdhci-pltfm.ko
379
380 AUTOLOAD:=$(call AutoProbe,sdhci-pltfm,1)
381 endef
382
383 define KernelPackage/sdhci/description
384 Kernel support for SDHCI Hosts
385 endef
386
387 $(eval $(call KernelPackage,sdhci))
388
389
390 define KernelPackage/rfkill
391 SUBMENU:=$(OTHER_MENU)
392 TITLE:=RF switch subsystem support
393 DEPENDS:=@USE_RFKILL +kmod-input-core
394 KCONFIG:= \
395 CONFIG_RFKILL_FULL \
396 CONFIG_RFKILL_INPUT=y \
397 CONFIG_RFKILL_LEDS=y
398 FILES:= \
399 $(LINUX_DIR)/net/rfkill/rfkill.ko
400 AUTOLOAD:=$(call AutoLoad,20,rfkill)
401 endef
402
403 define KernelPackage/rfkill/description
404 Say Y here if you want to have control over RF switches
405 found on many WiFi and Bluetooth cards
406 endef
407
408 $(eval $(call KernelPackage,rfkill))
409
410
411 define KernelPackage/softdog
412 SUBMENU:=$(OTHER_MENU)
413 TITLE:=Software watchdog driver
414 KCONFIG:=CONFIG_SOFT_WATCHDOG
415 FILES:=$(LINUX_DIR)/drivers/$(WATCHDOG_DIR)/softdog.ko
416 AUTOLOAD:=$(call AutoLoad,50,softdog,1)
417 endef
418
419 define KernelPackage/softdog/description
420 Software watchdog driver
421 endef
422
423 $(eval $(call KernelPackage,softdog))
424
425
426 define KernelPackage/ssb
427 SUBMENU:=$(OTHER_MENU)
428 TITLE:=Silicon Sonics Backplane glue code
429 DEPENDS:=@PCI_SUPPORT @!TARGET_brcm47xx @!TARGET_brcm63xx
430 KCONFIG:=\
431 CONFIG_SSB \
432 CONFIG_SSB_B43_PCI_BRIDGE=y \
433 CONFIG_SSB_DRIVER_MIPS=n \
434 CONFIG_SSB_DRIVER_PCICORE=y \
435 CONFIG_SSB_DRIVER_PCICORE_POSSIBLE=y \
436 CONFIG_SSB_PCIHOST=y \
437 CONFIG_SSB_PCIHOST_POSSIBLE=y \
438 CONFIG_SSB_POSSIBLE=y \
439 CONFIG_SSB_SPROM=y \
440 CONFIG_SSB_SILENT=y
441 FILES:=$(LINUX_DIR)/drivers/ssb/ssb.ko
442 AUTOLOAD:=$(call AutoLoad,18,ssb,1)
443 endef
444
445 define KernelPackage/ssb/description
446 Silicon Sonics Backplane glue code.
447 endef
448
449 $(eval $(call KernelPackage,ssb))
450
451
452 define KernelPackage/bcma
453 SUBMENU:=$(OTHER_MENU)
454 TITLE:=BCMA support
455 DEPENDS:=@PCI_SUPPORT @!TARGET_brcm47xx @!TARGET_bcm53xx
456 KCONFIG:=\
457 CONFIG_BCMA \
458 CONFIG_BCMA_POSSIBLE=y \
459 CONFIG_BCMA_BLOCKIO=y \
460 CONFIG_BCMA_HOST_PCI_POSSIBLE=y \
461 CONFIG_BCMA_HOST_PCI=y \
462 CONFIG_BCMA_HOST_SOC=n \
463 CONFIG_BCMA_DRIVER_MIPS=n \
464 CONFIG_BCMA_DRIVER_PCI_HOSTMODE=n \
465 CONFIG_BCMA_DRIVER_GMAC_CMN=n \
466 CONFIG_BCMA_DEBUG=n
467 FILES:=$(LINUX_DIR)/drivers/bcma/bcma.ko
468 AUTOLOAD:=$(call AutoLoad,29,bcma)
469 endef
470
471 define KernelPackage/bcma/description
472 Bus driver for Broadcom specific Advanced Microcontroller Bus Architecture
473 endef
474
475 $(eval $(call KernelPackage,bcma))
476
477
478 define KernelPackage/rtc-ds1307
479 SUBMENU:=$(OTHER_MENU)
480 TITLE:=Dallas/Maxim DS1307 (and compatible) RTC support
481 DEFAULT:=m if ALL_KMODS && RTC_SUPPORT
482 DEPENDS:=+kmod-i2c-core +LINUX_4_14:kmod-regmap
483 KCONFIG:=CONFIG_RTC_DRV_DS1307 \
484 CONFIG_RTC_CLASS=y
485 FILES:=$(LINUX_DIR)/drivers/rtc/rtc-ds1307.ko
486 AUTOLOAD:=$(call AutoProbe,rtc-ds1307)
487 endef
488
489 define KernelPackage/rtc-ds1307/description
490 Kernel module for Dallas/Maxim DS1307/DS1337/DS1338/DS1340/DS1388/DS3231,
491 Epson RX-8025 and various other compatible RTC chips connected via I2C.
492 endef
493
494 $(eval $(call KernelPackage,rtc-ds1307))
495
496
497 define KernelPackage/rtc-ds1374
498 SUBMENU:=$(OTHER_MENU)
499 TITLE:=Dallas/Maxim DS1374 RTC support
500 DEFAULT:=m if ALL_KMODS && RTC_SUPPORT
501 DEPENDS:=+kmod-i2c-core
502 KCONFIG:=CONFIG_RTC_DRV_DS1374 \
503 CONFIG_RTC_DRV_DS1374_WDT=n \
504 CONFIG_RTC_CLASS=y
505 FILES:=$(LINUX_DIR)/drivers/rtc/rtc-ds1374.ko
506 AUTOLOAD:=$(call AutoProbe,rtc-ds1374)
507 endef
508
509 define KernelPackage/rtc-ds1374/description
510 Kernel module for Dallas/Maxim DS1374.
511 endef
512
513 $(eval $(call KernelPackage,rtc-ds1374))
514
515
516 define KernelPackage/rtc-ds1672
517 SUBMENU:=$(OTHER_MENU)
518 TITLE:=Dallas/Maxim DS1672 RTC support
519 DEFAULT:=m if ALL_KMODS && RTC_SUPPORT
520 DEPENDS:=+kmod-i2c-core
521 KCONFIG:=CONFIG_RTC_DRV_DS1672 \
522 CONFIG_RTC_CLASS=y
523 FILES:=$(LINUX_DIR)/drivers/rtc/rtc-ds1672.ko
524 AUTOLOAD:=$(call AutoProbe,rtc-ds1672)
525 endef
526
527 define KernelPackage/rtc-ds1672/description
528 Kernel module for Dallas/Maxim DS1672 RTC.
529 endef
530
531 $(eval $(call KernelPackage,rtc-ds1672))
532
533
534 define KernelPackage/rtc-isl1208
535 SUBMENU:=$(OTHER_MENU)
536 TITLE:=Intersil ISL1208 RTC support
537 DEFAULT:=m if ALL_KMODS && RTC_SUPPORT
538 DEPENDS:=+kmod-i2c-core
539 KCONFIG:=CONFIG_RTC_DRV_ISL1208 \
540 CONFIG_RTC_CLASS=y
541 FILES:=$(LINUX_DIR)/drivers/rtc/rtc-isl1208.ko
542 AUTOLOAD:=$(call AutoProbe,rtc-isl1208)
543 endef
544
545 define KernelPackage/rtc-isl1208/description
546 Kernel module for Intersil ISL1208 RTC.
547 endef
548
549 $(eval $(call KernelPackage,rtc-isl1208))
550
551
552 define KernelPackage/rtc-pcf8563
553 SUBMENU:=$(OTHER_MENU)
554 TITLE:=Philips PCF8563/Epson RTC8564 RTC support
555 DEFAULT:=m if ALL_KMODS && RTC_SUPPORT
556 DEPENDS:=+kmod-i2c-core
557 KCONFIG:=CONFIG_RTC_DRV_PCF8563 \
558 CONFIG_RTC_CLASS=y
559 FILES:=$(LINUX_DIR)/drivers/rtc/rtc-pcf8563.ko
560 AUTOLOAD:=$(call AutoProbe,rtc-pcf8563)
561 endef
562
563 define KernelPackage/rtc-pcf8563/description
564 Kernel module for Philips PCF8563 RTC chip.
565 The Epson RTC8564 should work as well.
566 endef
567
568 $(eval $(call KernelPackage,rtc-pcf8563))
569
570
571 define KernelPackage/rtc-pcf2123
572 SUBMENU:=$(OTHER_MENU)
573 TITLE:=Philips PCF2123 RTC support
574 DEFAULT:=m if ALL_KMODS && RTC_SUPPORT
575 KCONFIG:=CONFIG_RTC_DRV_PCF2123 \
576 CONFIG_RTC_CLASS=y
577 FILES:=$(LINUX_DIR)/drivers/rtc/rtc-pcf2123.ko
578 AUTOLOAD:=$(call AutoProbe,rtc-pcf2123)
579 endef
580
581 define KernelPackage/rtc-pcf2123/description
582 Kernel module for Philips PCF2123 RTC chip
583 endef
584
585 $(eval $(call KernelPackage,rtc-pcf2123))
586
587 define KernelPackage/rtc-pt7c4338
588 SUBMENU:=$(OTHER_MENU)
589 TITLE:=Pericom PT7C4338 RTC support
590 DEFAULT:=m if ALL_KMODS && RTC_SUPPORT
591 DEPENDS:=+kmod-i2c-core
592 KCONFIG:=CONFIG_RTC_DRV_PT7C4338 \
593 CONFIG_RTC_CLASS=y
594 FILES:=$(LINUX_DIR)/drivers/rtc/rtc-pt7c4338.ko
595 AUTOLOAD:=$(call AutoProbe,rtc-pt7c4338)
596 endef
597
598 define KernelPackage/rtc-pt7c4338/description
599 Kernel module for Pericom PT7C4338 i2c RTC chip
600 endef
601
602 $(eval $(call KernelPackage,rtc-pt7c4338))
603
604 define KernelPackage/rtc-rs5c372a
605 SUBMENU:=$(OTHER_MENU)
606 TITLE:=Ricoh R2025S/D, RS5C372A/B, RV5C386, RV5C387A
607 DEFAULT:=m if ALL_KMODS && RTC_SUPPORT
608 DEPENDS:=+kmod-i2c-core
609 KCONFIG:=CONFIG_RTC_DRV_RS5C372 \
610 CONFIG_RTC_CLASS=y
611 FILES:=$(LINUX_DIR)/drivers/rtc/rtc-rs5c372.ko
612 AUTOLOAD:=$(call AutoLoad,50,rtc-rs5c372,1)
613 endef
614
615 define KernelPackage/rtc-rs5c372a/description
616 Kernel module for Ricoh R2025S/D, RS5C372A/B, RV5C386, RV5C387A RTC on chip module
617 endef
618
619 $(eval $(call KernelPackage,rtc-rs5c372a))
620
621
622 define KernelPackage/mtdtests
623 SUBMENU:=$(OTHER_MENU)
624 TITLE:=MTD subsystem tests
625 KCONFIG:=CONFIG_MTD_TESTS
626 FILES:=\
627 $(LINUX_DIR)/drivers/mtd/tests/mtd_nandecctest.ko \
628 $(LINUX_DIR)/drivers/mtd/tests/mtd_oobtest.ko \
629 $(LINUX_DIR)/drivers/mtd/tests/mtd_pagetest.ko \
630 $(LINUX_DIR)/drivers/mtd/tests/mtd_readtest.ko \
631 $(LINUX_DIR)/drivers/mtd/tests/mtd_speedtest.ko \
632 $(LINUX_DIR)/drivers/mtd/tests/mtd_stresstest.ko \
633 $(LINUX_DIR)/drivers/mtd/tests/mtd_subpagetest.ko \
634 $(LINUX_DIR)/drivers/mtd/tests/mtd_torturetest.ko
635 endef
636
637 define KernelPackage/mtdtests/description
638 Kernel modules for MTD subsystem/driver testing
639 endef
640
641 $(eval $(call KernelPackage,mtdtests))
642
643
644 define KernelPackage/mtdoops
645 SUBMENU:=$(OTHER_MENU)
646 TITLE:=Log panic/oops to an MTD buffer
647 KCONFIG:=CONFIG_MTD_OOPS
648 FILES:=$(LINUX_DIR)/drivers/mtd/mtdoops.ko
649 endef
650
651 define KernelPackage/mtdoops/description
652 Kernel modules for Log panic/oops to an MTD buffer
653 endef
654
655 $(eval $(call KernelPackage,mtdoops))
656
657
658 define KernelPackage/mtdram
659 SUBMENU:=$(OTHER_MENU)
660 TITLE:=Test MTD driver using RAM
661 KCONFIG:=CONFIG_MTD_MTDRAM \
662 CONFIG_MTDRAM_TOTAL_SIZE=4096 \
663 CONFIG_MTDRAM_ERASE_SIZE=128
664 FILES:=$(LINUX_DIR)/drivers/mtd/devices/mtdram.ko
665 endef
666
667 define KernelPackage/mtdram/description
668 Test MTD driver using RAM
669 endef
670
671 $(eval $(call KernelPackage,mtdram))
672
673
674 define KernelPackage/serial-8250
675 SUBMENU:=$(OTHER_MENU)
676 TITLE:=8250 UARTs
677 KCONFIG:= CONFIG_SERIAL_8250 \
678 CONFIG_SERIAL_8250_PCI \
679 CONFIG_SERIAL_8250_NR_UARTS=16 \
680 CONFIG_SERIAL_8250_RUNTIME_UARTS=16 \
681 CONFIG_SERIAL_8250_EXTENDED=y \
682 CONFIG_SERIAL_8250_MANY_PORTS=y \
683 CONFIG_SERIAL_8250_SHARE_IRQ=y \
684 CONFIG_SERIAL_8250_DETECT_IRQ=n \
685 CONFIG_SERIAL_8250_RSA=n
686 FILES:= \
687 $(LINUX_DIR)/drivers/tty/serial/8250/8250.ko \
688 $(LINUX_DIR)/drivers/tty/serial/8250/8250_base.ko@ge4.4 \
689 $(if $(CONFIG_PCI),$(LINUX_DIR)/drivers/tty/serial/8250/8250_pci.ko@ge4.4)
690 AUTOLOAD:=$(call AutoProbe,8250 8250_base 8250_pci)
691 endef
692
693 define KernelPackage/serial-8250/description
694 Kernel module for 8250 UART based serial ports
695 endef
696
697 $(eval $(call KernelPackage,serial-8250))
698
699
700 define KernelPackage/regmap
701 SUBMENU:=$(OTHER_MENU)
702 TITLE:=Generic register map support
703 DEPENDS:=+kmod-lib-lzo +kmod-i2c-core
704 KCONFIG:=CONFIG_REGMAP \
705 CONFIG_REGMAP_MMIO \
706 CONFIG_REGMAP_SPI \
707 CONFIG_REGMAP_I2C \
708 CONFIG_SPI=y
709 FILES:= \
710 $(LINUX_DIR)/drivers/base/regmap/regmap-core.ko \
711 $(LINUX_DIR)/drivers/base/regmap/regmap-i2c.ko \
712 $(LINUX_DIR)/drivers/base/regmap/regmap-mmio.ko \
713 $(if $(CONFIG_SPI),$(LINUX_DIR)/drivers/base/regmap/regmap-spi.ko)
714 AUTOLOAD:=$(call AutoLoad,21,regmap-core regmap-i2c regmap-mmio regmap-spi)
715 endef
716
717 define KernelPackage/regmap/description
718 Generic register map support
719 endef
720
721 $(eval $(call KernelPackage,regmap))
722
723 define KernelPackage/ikconfig
724 SUBMENU:=$(OTHER_MENU)
725 TITLE:=Kernel configuration via /proc/config.gz
726 KCONFIG:=CONFIG_IKCONFIG \
727 CONFIG_IKCONFIG_PROC=y
728 FILES:=$(LINUX_DIR)/kernel/configs.ko
729 AUTOLOAD:=$(call AutoLoad,70,configs)
730 endef
731
732 define KernelPackage/ikconfig/description
733 Kernel configuration via /proc/config.gz
734 endef
735
736 $(eval $(call KernelPackage,ikconfig))
737
738
739 define KernelPackage/zram
740 SUBMENU:=$(OTHER_MENU)
741 TITLE:=ZRAM
742 DEPENDS:=+kmod-lib-lzo +kmod-lib-lz4
743 KCONFIG:= \
744 CONFIG_ZSMALLOC \
745 CONFIG_ZRAM \
746 CONFIG_ZRAM_DEBUG=n \
747 CONFIG_PGTABLE_MAPPING=n \
748 CONFIG_ZRAM_WRITEBACK=n \
749 CONFIG_ZSMALLOC_STAT=n \
750 CONFIG_ZRAM_LZ4_COMPRESS=y
751 FILES:= \
752 $(LINUX_DIR)/mm/zsmalloc.ko \
753 $(LINUX_DIR)/drivers/block/zram/zram.ko
754 AUTOLOAD:=$(call AutoLoad,20,zsmalloc zram)
755 endef
756
757 define KernelPackage/zram/description
758 Compressed RAM block device support
759 endef
760
761 $(eval $(call KernelPackage,zram))
762
763
764 define KernelPackage/pps
765 SUBMENU:=$(OTHER_MENU)
766 TITLE:=PPS support
767 KCONFIG:=CONFIG_PPS
768 FILES:=$(LINUX_DIR)/drivers/pps/pps_core.ko
769 AUTOLOAD:=$(call AutoLoad,17,pps_core,1)
770 endef
771
772 define KernelPackage/pps/description
773 PPS (Pulse Per Second) is a special pulse provided by some GPS
774 antennae. Userland can use it to get a high-precision time
775 reference.
776 endef
777
778 $(eval $(call KernelPackage,pps))
779
780
781 define KernelPackage/pps-gpio
782 SUBMENU:=$(OTHER_MENU)
783 TITLE:=PPS client using GPIO
784 DEPENDS:=+kmod-pps
785 KCONFIG:=CONFIG_PPS_CLIENT_GPIO
786 FILES:=$(LINUX_DIR)/drivers/pps/clients/pps-gpio.ko
787 AUTOLOAD:=$(call AutoLoad,18,pps-gpio,1)
788 endef
789
790 define KernelPackage/pps-gpio/description
791 Support for a PPS source using GPIO. To be useful you must
792 also register a platform device specifying the GPIO pin and
793 other options, usually in your board setup.
794 endef
795
796 $(eval $(call KernelPackage,pps-gpio))
797
798
799 define KernelPackage/pps-ldisc
800 SUBMENU:=$(OTHER_MENU)
801 TITLE:=PPS line discipline
802 DEPENDS:=+kmod-pps
803 KCONFIG:=CONFIG_PPS_CLIENT_LDISC
804 FILES:=$(LINUX_DIR)/drivers/pps/clients/pps-ldisc.ko
805 AUTOLOAD:=$(call AutoLoad,18,pps-ldisc,1)
806 endef
807
808 define KernelPackage/pps-ldisc/description
809 Support for a PPS source connected with the CD (Carrier
810 Detect) pin of your serial port.
811 endef
812
813 $(eval $(call KernelPackage,pps-ldisc))
814
815
816 define KernelPackage/ptp
817 SUBMENU:=$(OTHER_MENU)
818 TITLE:=PTP clock support
819 DEPENDS:=+kmod-pps
820 KCONFIG:= \
821 CONFIG_PTP_1588_CLOCK \
822 CONFIG_NET_PTP_CLASSIFY=y
823 FILES:=$(LINUX_DIR)/drivers/ptp/ptp.ko
824 AUTOLOAD:=$(call AutoLoad,18,ptp,1)
825 endef
826
827 define KernelPackage/ptp/description
828 The IEEE 1588 standard defines a method to precisely
829 synchronize distributed clocks over Ethernet networks.
830 endef
831
832 $(eval $(call KernelPackage,ptp))
833
834
835 define KernelPackage/ptp-gianfar
836 SUBMENU:=$(OTHER_MENU)
837 TITLE:=Freescale Gianfar PTP support
838 DEPENDS:=@TARGET_mpc85xx +kmod-ptp
839 KCONFIG:=CONFIG_PTP_1588_CLOCK_GIANFAR
840 FILES:=$(LINUX_DIR)/drivers/net/ethernet/freescale/gianfar_ptp.ko
841 AUTOLOAD:=$(call AutoProbe,gianfar_ptp)
842 endef
843
844 define KernelPackage/ptp-gianfar/description
845 Kernel module for IEEE 1588 support for Freescale
846 Gianfar Ethernet drivers
847 endef
848
849 $(eval $(call KernelPackage,ptp-gianfar))
850
851
852 define KernelPackage/random-core
853 SUBMENU:=$(OTHER_MENU)
854 TITLE:=Hardware Random Number Generator Core support
855 KCONFIG:=CONFIG_HW_RANDOM
856 FILES:=$(LINUX_DIR)/drivers/char/hw_random/rng-core.ko
857 endef
858
859 define KernelPackage/random-core/description
860 Kernel module for the HW random number generator core infrastructure
861 endef
862
863 $(eval $(call KernelPackage,random-core))
864
865 define KernelPackage/random-omap
866 SUBMENU:=$(OTHER_MENU)
867 TITLE:=Hardware Random Number Generator OMAP support
868 KCONFIG:=CONFIG_HW_RANDOM_OMAP
869 FILES:=$(LINUX_DIR)/drivers/char/hw_random/omap-rng.ko
870 DEPENDS:=@TARGET_omap24xx +kmod-random-core
871 AUTOLOAD:=$(call AutoProbe,random-omap)
872 endef
873
874 define KernelPackage/random-omap/description
875 Kernel module for the OMAP Random Number Generator
876 found on OMAP16xx, OMAP2/3/4/5 and AM33xx/AM43xx multimedia processors.
877 endef
878
879 $(eval $(call KernelPackage,random-omap))
880
881 define KernelPackage/thermal
882 SUBMENU:=$(OTHER_MENU)
883 TITLE:=Generic Thermal sysfs driver
884 DEPENDS:=+kmod-hwmon-core
885 HIDDEN:=1
886 KCONFIG:= \
887 CONFIG_THERMAL \
888 CONFIG_THERMAL_OF=y \
889 CONFIG_CPU_THERMAL=y \
890 CONFIG_THERMAL_DEFAULT_GOV_STEP_WISE=y \
891 CONFIG_THERMAL_DEFAULT_GOV_FAIR_SHARE=n \
892 CONFIG_THERMAL_DEFAULT_GOV_USER_SPACE=n \
893 CONFIG_THERMAL_GOV_FAIR_SHARE=n \
894 CONFIG_THERMAL_GOV_STEP_WISE=y \
895 CONFIG_THERMAL_GOV_USER_SPACE=n \
896 CONFIG_THERMAL_HWMON=y \
897 CONFIG_THERMAL_EMULATION=n
898 FILES:=$(LINUX_DIR)/drivers/thermal/thermal_sys.ko
899 AUTOLOAD:=$(call AutoProbe,thermal_sys)
900 endef
901
902 define KernelPackage/thermal/description
903 Generic Thermal Sysfs driver offers a generic mechanism for thermal
904 management. Usually it's made up of one or more thermal zone and cooling
905 device.
906 endef
907
908 $(eval $(call KernelPackage,thermal))
909
910
911 define KernelPackage/gpio-beeper
912 SUBMENU:=$(OTHER_MENU)
913 TITLE:=GPIO beeper support
914 DEPENDS:=+kmod-input-core
915 KCONFIG:= \
916 CONFIG_INPUT_MISC=y \
917 CONFIG_INPUT_GPIO_BEEPER
918 FILES:= \
919 $(LINUX_DIR)/drivers/input/misc/gpio-beeper.ko
920 AUTOLOAD:=$(call AutoLoad,50,gpio-beeper)
921 endef
922
923 define KernelPackage/gpio-beeper/description
924 This enables playing beeps through an GPIO-connected buzzer
925 endef
926
927 $(eval $(call KernelPackage,gpio-beeper))
928
929
930 define KernelPackage/echo
931 SUBMENU:=$(OTHER_MENU)
932 TITLE:=Line Echo Canceller
933 KCONFIG:=CONFIG_ECHO
934 FILES:=$(LINUX_DIR)/drivers/misc/echo/echo.ko
935 AUTOLOAD:=$(call AutoLoad,50,echo)
936 endef
937
938 define KernelPackage/echo/description
939 This driver provides line echo cancelling support for mISDN and
940 DAHDI drivers
941 endef
942
943 $(eval $(call KernelPackage,echo))
944
945
946 define KernelPackage/bmp085
947 SUBMENU:=$(OTHER_MENU)
948 TITLE:=BMP085/BMP18x pressure sensor
949 DEPENDS:= +kmod-regmap @!LINUX_3_18 @!LINUX_4_1
950 KCONFIG:= CONFIG_BMP085
951 FILES:= $(LINUX_DIR)/drivers/misc/bmp085.ko
952 endef
953
954 define KernelPackage/bmp085/description
955 This driver adds support for Bosch Sensortec's digital pressure
956 sensors BMP085 and BMP18x.
957 endef
958
959 $(eval $(call KernelPackage,bmp085))
960
961
962 define KernelPackage/bmp085-i2c
963 SUBMENU:=$(OTHER_MENU)
964 TITLE:=BMP085/BMP18x pressure sensor I2C
965 DEPENDS:= +kmod-bmp085
966 KCONFIG:= CONFIG_BMP085_I2C
967 FILES:= $(LINUX_DIR)/drivers/misc/bmp085-i2c.ko
968 AUTOLOAD:=$(call AutoProbe,bmp085-i2c)
969 endef
970 define KernelPackage/bmp085-i2c/description
971 This driver adds support for Bosch Sensortec's digital pressure
972 sensor connected via I2C.
973 endef
974
975 $(eval $(call KernelPackage,bmp085-i2c))
976
977
978 define KernelPackage/bmp085-spi
979 SUBMENU:=$(OTHER_MENU)
980 TITLE:=BMP085/BMP18x pressure sensor SPI
981 DEPENDS:= +kmod-bmp085
982 KCONFIG:= CONFIG_BMP085_SPI
983 FILES:= $(LINUX_DIR)/drivers/misc/bmp085-spi.ko
984 AUTOLOAD:=$(call AutoProbe,bmp085-spi)
985 endef
986 define KernelPackage/bmp085-spi/description
987 This driver adds support for Bosch Sensortec's digital pressure
988 sensor connected via SPI.
989 endef
990
991 $(eval $(call KernelPackage,bmp085-spi))
992
993 define KernelPackage/tpm
994 SUBMENU:=$(OTHER_MENU)
995 TITLE:=TPM Hardware Support
996 KCONFIG:= CONFIG_TCG_TPM
997 FILES:= $(LINUX_DIR)/drivers/char/tpm/tpm.ko
998 AUTOLOAD:=$(call AutoLoad,10,tpm,1)
999 endef
1000
1001 define KernelPackage/tpm/description
1002 This enables TPM Hardware Support.
1003 endef
1004
1005 $(eval $(call KernelPackage,tpm))
1006
1007 define KernelPackage/tpm-tis
1008 SUBMENU:=$(OTHER_MENU)
1009 TITLE:=TPM TIS 1.2 Interface / TPM 2.0 FIFO Interface
1010 DEPENDS:= @TARGET_x86 +kmod-tpm
1011 KCONFIG:= CONFIG_TCG_TIS
1012 FILES:= \
1013 $(LINUX_DIR)/drivers/char/tpm/tpm_tis.ko \
1014 $(LINUX_DIR)/drivers/char/tpm/tpm_tis_core.ko
1015 AUTOLOAD:=$(call AutoLoad,20,tpm_tis,1)
1016 endef
1017
1018 define KernelPackage/tpm-tis/description
1019 If you have a TPM security chip that is compliant with the
1020 TCG TIS 1.2 TPM specification (TPM1.2) or the TCG PTP FIFO
1021 specification (TPM2.0) say Yes and it will be accessible from
1022 within Linux.
1023 endef
1024
1025 $(eval $(call KernelPackage,tpm-tis))
1026
1027 define KernelPackage/tpm-i2c-atmel
1028 SUBMENU:=$(OTHER_MENU)
1029 TITLE:=TPM I2C Atmel Support
1030 DEPENDS:= +kmod-tpm +kmod-i2c-core
1031 KCONFIG:= CONFIG_TCG_TIS_I2C_ATMEL
1032 FILES:= $(LINUX_DIR)/drivers/char/tpm/tpm_i2c_atmel.ko
1033 AUTOLOAD:=$(call AutoLoad,40,tpm_i2c_atmel,1)
1034 endef
1035
1036 define KernelPackage/tpm-i2c-atmel/description
1037 This enables the TPM Interface Specification 1.2 Interface (I2C - Atmel)
1038 endef
1039
1040 $(eval $(call KernelPackage,tpm-i2c-atmel))
1041
1042 define KernelPackage/tpm-i2c-infineon
1043 SUBMENU:=$(OTHER_MENU)
1044 TITLE:= TPM I2C Infineon driver
1045 DEPENDS:= +kmod-tpm +kmod-i2c-core
1046 KCONFIG:= CONFIG_TCG_TIS_I2C_INFINEON
1047 FILES:= $(LINUX_DIR)/drivers/char/tpm/tpm_i2c_infineon.ko
1048 AUTOLOAD:= $(call AutoLoad,40,tpm_i2c_infineon,1)
1049 endef
1050
1051 define KernelPackage/tpm-i2c-infineon/description
1052 This enables the TPM Interface Specification 1.2 Interface (I2C - Infineon)
1053 endef
1054
1055 $(eval $(call KernelPackage,tpm-i2c-infineon))
1056
1057
1058 define KernelPackage/w83627hf-wdt
1059 SUBMENU:=$(OTHER_MENU)
1060 TITLE:=Winbond 83627HF Watchdog Timer
1061 KCONFIG:=CONFIG_W83627HF_WDT
1062 FILES:=$(LINUX_DIR)/drivers/$(WATCHDOG_DIR)/w83627hf_wdt.ko
1063 AUTOLOAD:=$(call AutoLoad,50,w83627hf-wdt,1)
1064 endef
1065
1066 define KernelPackage/w83627hf-wdt/description
1067 Kernel module for Winbond 83627HF Watchdog Timer
1068 endef
1069
1070 $(eval $(call KernelPackage,w83627hf-wdt))
1071
1072
1073 define KernelPackage/itco-wdt
1074 SUBMENU:=$(OTHER_MENU)
1075 TITLE:=Intel iTCO Watchdog Timer
1076 KCONFIG:=CONFIG_ITCO_WDT \
1077 CONFIG_ITCO_VENDOR_SUPPORT=y
1078 FILES:=$(LINUX_DIR)/drivers/$(WATCHDOG_DIR)/iTCO_wdt.ko \
1079 $(LINUX_DIR)/drivers/$(WATCHDOG_DIR)/iTCO_vendor_support.ko
1080 AUTOLOAD:=$(call AutoLoad,50,iTCO_vendor_support iTCO_wdt,1)
1081 endef
1082
1083 define KernelPackage/itco-wdt/description
1084 Kernel module for Intel iTCO Watchdog Timer
1085 endef
1086
1087 $(eval $(call KernelPackage,itco-wdt))
1088
1089
1090 define KernelPackage/it87-wdt
1091 SUBMENU:=$(OTHER_MENU)
1092 TITLE:=ITE IT87 Watchdog Timer
1093 KCONFIG:=CONFIG_IT87_WDT
1094 FILES:=$(LINUX_DIR)/drivers/$(WATCHDOG_DIR)/it87_wdt.ko
1095 AUTOLOAD:=$(call AutoLoad,50,it87-wdt,1)
1096 MODPARAMS.it87-wdt:= \
1097 nogameport=1 \
1098 nocir=1
1099 endef
1100
1101 define KernelPackage/it87-wdt/description
1102 Kernel module for ITE IT87 Watchdog Timer
1103 endef
1104
1105 $(eval $(call KernelPackage,it87-wdt))