11f28f43199ed5c9f4119380f370945bea5e359d
[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-i2c.ko \
711 $(LINUX_DIR)/drivers/base/regmap/regmap-mmio.ko \
712 $(if $(CONFIG_SPI),$(LINUX_DIR)/drivers/base/regmap/regmap-spi.ko)
713 AUTOLOAD:=$(call AutoLoad,21,regmap-core regmap-i2c regmap-mmio regmap-spi)
714 ifeq ($(strip $(CONFIG_EXTERNAL_KERNEL_TREE)),"")
715 ifeq ($(strip $(CONFIG_KERNEL_GIT_CLONE_URI)),"")
716 FILES += $(LINUX_DIR)/drivers/base/regmap/regmap-core.ko
717 endif
718 endif
719 endef
720
721 define KernelPackage/regmap/description
722 Generic register map support
723 endef
724
725 $(eval $(call KernelPackage,regmap))
726
727 define KernelPackage/ikconfig
728 SUBMENU:=$(OTHER_MENU)
729 TITLE:=Kernel configuration via /proc/config.gz
730 KCONFIG:=CONFIG_IKCONFIG \
731 CONFIG_IKCONFIG_PROC=y
732 FILES:=$(LINUX_DIR)/kernel/configs.ko
733 AUTOLOAD:=$(call AutoLoad,70,configs)
734 endef
735
736 define KernelPackage/ikconfig/description
737 Kernel configuration via /proc/config.gz
738 endef
739
740 $(eval $(call KernelPackage,ikconfig))
741
742
743 define KernelPackage/zram
744 SUBMENU:=$(OTHER_MENU)
745 TITLE:=ZRAM
746 DEPENDS:=+kmod-lib-lzo +kmod-lib-lz4
747 KCONFIG:= \
748 CONFIG_ZSMALLOC \
749 CONFIG_ZRAM \
750 CONFIG_ZRAM_DEBUG=n \
751 CONFIG_PGTABLE_MAPPING=n \
752 CONFIG_ZRAM_WRITEBACK=n \
753 CONFIG_ZSMALLOC_STAT=n \
754 CONFIG_ZRAM_LZ4_COMPRESS=y
755 FILES:= \
756 $(LINUX_DIR)/mm/zsmalloc.ko \
757 $(LINUX_DIR)/drivers/block/zram/zram.ko
758 AUTOLOAD:=$(call AutoLoad,20,zsmalloc zram)
759 endef
760
761 define KernelPackage/zram/description
762 Compressed RAM block device support
763 endef
764
765 $(eval $(call KernelPackage,zram))
766
767
768 define KernelPackage/pps
769 SUBMENU:=$(OTHER_MENU)
770 TITLE:=PPS support
771 KCONFIG:=CONFIG_PPS
772 FILES:=$(LINUX_DIR)/drivers/pps/pps_core.ko
773 AUTOLOAD:=$(call AutoLoad,17,pps_core,1)
774 endef
775
776 define KernelPackage/pps/description
777 PPS (Pulse Per Second) is a special pulse provided by some GPS
778 antennae. Userland can use it to get a high-precision time
779 reference.
780 endef
781
782 $(eval $(call KernelPackage,pps))
783
784
785 define KernelPackage/pps-gpio
786 SUBMENU:=$(OTHER_MENU)
787 TITLE:=PPS client using GPIO
788 DEPENDS:=+kmod-pps
789 KCONFIG:=CONFIG_PPS_CLIENT_GPIO
790 FILES:=$(LINUX_DIR)/drivers/pps/clients/pps-gpio.ko
791 AUTOLOAD:=$(call AutoLoad,18,pps-gpio,1)
792 endef
793
794 define KernelPackage/pps-gpio/description
795 Support for a PPS source using GPIO. To be useful you must
796 also register a platform device specifying the GPIO pin and
797 other options, usually in your board setup.
798 endef
799
800 $(eval $(call KernelPackage,pps-gpio))
801
802
803 define KernelPackage/pps-ldisc
804 SUBMENU:=$(OTHER_MENU)
805 TITLE:=PPS line discipline
806 DEPENDS:=+kmod-pps
807 KCONFIG:=CONFIG_PPS_CLIENT_LDISC
808 FILES:=$(LINUX_DIR)/drivers/pps/clients/pps-ldisc.ko
809 AUTOLOAD:=$(call AutoLoad,18,pps-ldisc,1)
810 endef
811
812 define KernelPackage/pps-ldisc/description
813 Support for a PPS source connected with the CD (Carrier
814 Detect) pin of your serial port.
815 endef
816
817 $(eval $(call KernelPackage,pps-ldisc))
818
819
820 define KernelPackage/ptp
821 SUBMENU:=$(OTHER_MENU)
822 TITLE:=PTP clock support
823 DEPENDS:=+kmod-pps
824 KCONFIG:= \
825 CONFIG_PTP_1588_CLOCK \
826 CONFIG_NET_PTP_CLASSIFY=y
827 FILES:=$(LINUX_DIR)/drivers/ptp/ptp.ko
828 AUTOLOAD:=$(call AutoLoad,18,ptp,1)
829 endef
830
831 define KernelPackage/ptp/description
832 The IEEE 1588 standard defines a method to precisely
833 synchronize distributed clocks over Ethernet networks.
834 endef
835
836 $(eval $(call KernelPackage,ptp))
837
838
839 define KernelPackage/ptp-gianfar
840 SUBMENU:=$(OTHER_MENU)
841 TITLE:=Freescale Gianfar PTP support
842 DEPENDS:=@TARGET_mpc85xx +kmod-ptp
843 KCONFIG:=CONFIG_PTP_1588_CLOCK_GIANFAR
844 FILES:=$(LINUX_DIR)/drivers/net/ethernet/freescale/gianfar_ptp.ko
845 AUTOLOAD:=$(call AutoProbe,gianfar_ptp)
846 endef
847
848 define KernelPackage/ptp-gianfar/description
849 Kernel module for IEEE 1588 support for Freescale
850 Gianfar Ethernet drivers
851 endef
852
853 $(eval $(call KernelPackage,ptp-gianfar))
854
855
856 define KernelPackage/random-core
857 SUBMENU:=$(OTHER_MENU)
858 TITLE:=Hardware Random Number Generator Core support
859 KCONFIG:=CONFIG_HW_RANDOM
860 FILES:=$(LINUX_DIR)/drivers/char/hw_random/rng-core.ko
861 endef
862
863 define KernelPackage/random-core/description
864 Kernel module for the HW random number generator core infrastructure
865 endef
866
867 $(eval $(call KernelPackage,random-core))
868
869 define KernelPackage/random-omap
870 SUBMENU:=$(OTHER_MENU)
871 TITLE:=Hardware Random Number Generator OMAP support
872 KCONFIG:=CONFIG_HW_RANDOM_OMAP
873 FILES:=$(LINUX_DIR)/drivers/char/hw_random/omap-rng.ko
874 DEPENDS:=@TARGET_omap24xx +kmod-random-core
875 AUTOLOAD:=$(call AutoProbe,random-omap)
876 endef
877
878 define KernelPackage/random-omap/description
879 Kernel module for the OMAP Random Number Generator
880 found on OMAP16xx, OMAP2/3/4/5 and AM33xx/AM43xx multimedia processors.
881 endef
882
883 $(eval $(call KernelPackage,random-omap))
884
885 define KernelPackage/thermal
886 SUBMENU:=$(OTHER_MENU)
887 TITLE:=Generic Thermal sysfs driver
888 DEPENDS:=+kmod-hwmon-core
889 HIDDEN:=1
890 KCONFIG:= \
891 CONFIG_THERMAL \
892 CONFIG_THERMAL_OF=y \
893 CONFIG_CPU_THERMAL=y \
894 CONFIG_THERMAL_DEFAULT_GOV_STEP_WISE=y \
895 CONFIG_THERMAL_DEFAULT_GOV_FAIR_SHARE=n \
896 CONFIG_THERMAL_DEFAULT_GOV_USER_SPACE=n \
897 CONFIG_THERMAL_GOV_FAIR_SHARE=n \
898 CONFIG_THERMAL_GOV_STEP_WISE=y \
899 CONFIG_THERMAL_GOV_USER_SPACE=n \
900 CONFIG_THERMAL_HWMON=y \
901 CONFIG_THERMAL_EMULATION=n
902 FILES:=$(LINUX_DIR)/drivers/thermal/thermal_sys.ko
903 AUTOLOAD:=$(call AutoProbe,thermal_sys)
904 endef
905
906 define KernelPackage/thermal/description
907 Generic Thermal Sysfs driver offers a generic mechanism for thermal
908 management. Usually it's made up of one or more thermal zone and cooling
909 device.
910 endef
911
912 $(eval $(call KernelPackage,thermal))
913
914
915 define KernelPackage/gpio-beeper
916 SUBMENU:=$(OTHER_MENU)
917 TITLE:=GPIO beeper support
918 DEPENDS:=+kmod-input-core
919 KCONFIG:= \
920 CONFIG_INPUT_MISC=y \
921 CONFIG_INPUT_GPIO_BEEPER
922 FILES:= \
923 $(LINUX_DIR)/drivers/input/misc/gpio-beeper.ko
924 AUTOLOAD:=$(call AutoLoad,50,gpio-beeper)
925 endef
926
927 define KernelPackage/gpio-beeper/description
928 This enables playing beeps through an GPIO-connected buzzer
929 endef
930
931 $(eval $(call KernelPackage,gpio-beeper))
932
933
934 define KernelPackage/echo
935 SUBMENU:=$(OTHER_MENU)
936 TITLE:=Line Echo Canceller
937 KCONFIG:=CONFIG_ECHO
938 FILES:=$(LINUX_DIR)/drivers/misc/echo/echo.ko
939 AUTOLOAD:=$(call AutoLoad,50,echo)
940 endef
941
942 define KernelPackage/echo/description
943 This driver provides line echo cancelling support for mISDN and
944 DAHDI drivers
945 endef
946
947 $(eval $(call KernelPackage,echo))
948
949
950 define KernelPackage/bmp085
951 SUBMENU:=$(OTHER_MENU)
952 TITLE:=BMP085/BMP18x pressure sensor
953 DEPENDS:= +kmod-regmap @!LINUX_3_18 @!LINUX_4_1
954 KCONFIG:= CONFIG_BMP085
955 FILES:= $(LINUX_DIR)/drivers/misc/bmp085.ko
956 endef
957
958 define KernelPackage/bmp085/description
959 This driver adds support for Bosch Sensortec's digital pressure
960 sensors BMP085 and BMP18x.
961 endef
962
963 $(eval $(call KernelPackage,bmp085))
964
965
966 define KernelPackage/bmp085-i2c
967 SUBMENU:=$(OTHER_MENU)
968 TITLE:=BMP085/BMP18x pressure sensor I2C
969 DEPENDS:= +kmod-bmp085
970 KCONFIG:= CONFIG_BMP085_I2C
971 FILES:= $(LINUX_DIR)/drivers/misc/bmp085-i2c.ko
972 AUTOLOAD:=$(call AutoProbe,bmp085-i2c)
973 endef
974 define KernelPackage/bmp085-i2c/description
975 This driver adds support for Bosch Sensortec's digital pressure
976 sensor connected via I2C.
977 endef
978
979 $(eval $(call KernelPackage,bmp085-i2c))
980
981
982 define KernelPackage/bmp085-spi
983 SUBMENU:=$(OTHER_MENU)
984 TITLE:=BMP085/BMP18x pressure sensor SPI
985 DEPENDS:= +kmod-bmp085
986 KCONFIG:= CONFIG_BMP085_SPI
987 FILES:= $(LINUX_DIR)/drivers/misc/bmp085-spi.ko
988 AUTOLOAD:=$(call AutoProbe,bmp085-spi)
989 endef
990 define KernelPackage/bmp085-spi/description
991 This driver adds support for Bosch Sensortec's digital pressure
992 sensor connected via SPI.
993 endef
994
995 $(eval $(call KernelPackage,bmp085-spi))
996
997 define KernelPackage/tpm
998 SUBMENU:=$(OTHER_MENU)
999 TITLE:=TPM Hardware Support
1000 KCONFIG:= CONFIG_TCG_TPM
1001 FILES:= $(LINUX_DIR)/drivers/char/tpm/tpm.ko
1002 AUTOLOAD:=$(call AutoLoad,10,tpm,1)
1003 endef
1004
1005 define KernelPackage/tpm/description
1006 This enables TPM Hardware Support.
1007 endef
1008
1009 $(eval $(call KernelPackage,tpm))
1010
1011 define KernelPackage/tpm-tis
1012 SUBMENU:=$(OTHER_MENU)
1013 TITLE:=TPM TIS 1.2 Interface / TPM 2.0 FIFO Interface
1014 DEPENDS:= @TARGET_x86 +kmod-tpm
1015 KCONFIG:= CONFIG_TCG_TIS
1016 FILES:= \
1017 $(LINUX_DIR)/drivers/char/tpm/tpm_tis.ko \
1018 $(LINUX_DIR)/drivers/char/tpm/tpm_tis_core.ko
1019 AUTOLOAD:=$(call AutoLoad,20,tpm_tis,1)
1020 endef
1021
1022 define KernelPackage/tpm-tis/description
1023 If you have a TPM security chip that is compliant with the
1024 TCG TIS 1.2 TPM specification (TPM1.2) or the TCG PTP FIFO
1025 specification (TPM2.0) say Yes and it will be accessible from
1026 within Linux.
1027 endef
1028
1029 $(eval $(call KernelPackage,tpm-tis))
1030
1031 define KernelPackage/tpm-i2c-atmel
1032 SUBMENU:=$(OTHER_MENU)
1033 TITLE:=TPM I2C Atmel Support
1034 DEPENDS:= +kmod-tpm +kmod-i2c-core
1035 KCONFIG:= CONFIG_TCG_TIS_I2C_ATMEL
1036 FILES:= $(LINUX_DIR)/drivers/char/tpm/tpm_i2c_atmel.ko
1037 AUTOLOAD:=$(call AutoLoad,40,tpm_i2c_atmel,1)
1038 endef
1039
1040 define KernelPackage/tpm-i2c-atmel/description
1041 This enables the TPM Interface Specification 1.2 Interface (I2C - Atmel)
1042 endef
1043
1044 $(eval $(call KernelPackage,tpm-i2c-atmel))
1045
1046 define KernelPackage/tpm-i2c-infineon
1047 SUBMENU:=$(OTHER_MENU)
1048 TITLE:= TPM I2C Infineon driver
1049 DEPENDS:= +kmod-tpm +kmod-i2c-core
1050 KCONFIG:= CONFIG_TCG_TIS_I2C_INFINEON
1051 FILES:= $(LINUX_DIR)/drivers/char/tpm/tpm_i2c_infineon.ko
1052 AUTOLOAD:= $(call AutoLoad,40,tpm_i2c_infineon,1)
1053 endef
1054
1055 define KernelPackage/tpm-i2c-infineon/description
1056 This enables the TPM Interface Specification 1.2 Interface (I2C - Infineon)
1057 endef
1058
1059 $(eval $(call KernelPackage,tpm-i2c-infineon))
1060
1061
1062 define KernelPackage/w83627hf-wdt
1063 SUBMENU:=$(OTHER_MENU)
1064 TITLE:=Winbond 83627HF Watchdog Timer
1065 KCONFIG:=CONFIG_W83627HF_WDT
1066 FILES:=$(LINUX_DIR)/drivers/$(WATCHDOG_DIR)/w83627hf_wdt.ko
1067 AUTOLOAD:=$(call AutoLoad,50,w83627hf-wdt,1)
1068 endef
1069
1070 define KernelPackage/w83627hf-wdt/description
1071 Kernel module for Winbond 83627HF Watchdog Timer
1072 endef
1073
1074 $(eval $(call KernelPackage,w83627hf-wdt))
1075
1076
1077 define KernelPackage/itco-wdt
1078 SUBMENU:=$(OTHER_MENU)
1079 TITLE:=Intel iTCO Watchdog Timer
1080 KCONFIG:=CONFIG_ITCO_WDT \
1081 CONFIG_ITCO_VENDOR_SUPPORT=y
1082 FILES:=$(LINUX_DIR)/drivers/$(WATCHDOG_DIR)/iTCO_wdt.ko \
1083 $(LINUX_DIR)/drivers/$(WATCHDOG_DIR)/iTCO_vendor_support.ko
1084 AUTOLOAD:=$(call AutoLoad,50,iTCO_vendor_support iTCO_wdt,1)
1085 endef
1086
1087 define KernelPackage/itco-wdt/description
1088 Kernel module for Intel iTCO Watchdog Timer
1089 endef
1090
1091 $(eval $(call KernelPackage,itco-wdt))
1092
1093
1094 define KernelPackage/it87-wdt
1095 SUBMENU:=$(OTHER_MENU)
1096 TITLE:=ITE IT87 Watchdog Timer
1097 KCONFIG:=CONFIG_IT87_WDT
1098 FILES:=$(LINUX_DIR)/drivers/$(WATCHDOG_DIR)/it87_wdt.ko
1099 AUTOLOAD:=$(call AutoLoad,50,it87-wdt,1)
1100 MODPARAMS.it87-wdt:= \
1101 nogameport=1 \
1102 nocir=1
1103 endef
1104
1105 define KernelPackage/it87-wdt/description
1106 Kernel module for ITE IT87 Watchdog Timer
1107 endef
1108
1109 $(eval $(call KernelPackage,it87-wdt))