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