eb26a8ba081e25f6db396c396f0607f31b4298b6
[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 CONFIG_SOFT_WATCHDOG_PRETIMEOUT=n
416 FILES:=$(LINUX_DIR)/drivers/$(WATCHDOG_DIR)/softdog.ko
417 AUTOLOAD:=$(call AutoLoad,50,softdog,1)
418 endef
419
420 define KernelPackage/softdog/description
421 Software watchdog driver
422 endef
423
424 $(eval $(call KernelPackage,softdog))
425
426
427 define KernelPackage/ssb
428 SUBMENU:=$(OTHER_MENU)
429 TITLE:=Silicon Sonics Backplane glue code
430 DEPENDS:=@PCI_SUPPORT @!TARGET_brcm47xx @!TARGET_brcm63xx
431 KCONFIG:=\
432 CONFIG_SSB \
433 CONFIG_SSB_B43_PCI_BRIDGE=y \
434 CONFIG_SSB_DRIVER_MIPS=n \
435 CONFIG_SSB_DRIVER_PCICORE=y \
436 CONFIG_SSB_DRIVER_PCICORE_POSSIBLE=y \
437 CONFIG_SSB_PCIHOST=y \
438 CONFIG_SSB_PCIHOST_POSSIBLE=y \
439 CONFIG_SSB_POSSIBLE=y \
440 CONFIG_SSB_SPROM=y \
441 CONFIG_SSB_SILENT=y
442 FILES:=$(LINUX_DIR)/drivers/ssb/ssb.ko
443 AUTOLOAD:=$(call AutoLoad,18,ssb,1)
444 endef
445
446 define KernelPackage/ssb/description
447 Silicon Sonics Backplane glue code.
448 endef
449
450 $(eval $(call KernelPackage,ssb))
451
452
453 define KernelPackage/bcma
454 SUBMENU:=$(OTHER_MENU)
455 TITLE:=BCMA support
456 DEPENDS:=@PCI_SUPPORT @!TARGET_brcm47xx @!TARGET_bcm53xx
457 KCONFIG:=\
458 CONFIG_BCMA \
459 CONFIG_BCMA_POSSIBLE=y \
460 CONFIG_BCMA_BLOCKIO=y \
461 CONFIG_BCMA_HOST_PCI_POSSIBLE=y \
462 CONFIG_BCMA_HOST_PCI=y \
463 CONFIG_BCMA_HOST_SOC=n \
464 CONFIG_BCMA_DRIVER_MIPS=n \
465 CONFIG_BCMA_DRIVER_PCI_HOSTMODE=n \
466 CONFIG_BCMA_DRIVER_GMAC_CMN=n \
467 CONFIG_BCMA_DEBUG=n
468 FILES:=$(LINUX_DIR)/drivers/bcma/bcma.ko
469 AUTOLOAD:=$(call AutoLoad,29,bcma)
470 endef
471
472 define KernelPackage/bcma/description
473 Bus driver for Broadcom specific Advanced Microcontroller Bus Architecture
474 endef
475
476 $(eval $(call KernelPackage,bcma))
477
478
479 define KernelPackage/rtc-ds1307
480 SUBMENU:=$(OTHER_MENU)
481 TITLE:=Dallas/Maxim DS1307 (and compatible) RTC support
482 DEFAULT:=m if ALL_KMODS && RTC_SUPPORT
483 DEPENDS:=+kmod-i2c-core +LINUX_4_14:kmod-regmap
484 KCONFIG:=CONFIG_RTC_DRV_DS1307 \
485 CONFIG_RTC_CLASS=y
486 FILES:=$(LINUX_DIR)/drivers/rtc/rtc-ds1307.ko
487 AUTOLOAD:=$(call AutoProbe,rtc-ds1307)
488 endef
489
490 define KernelPackage/rtc-ds1307/description
491 Kernel module for Dallas/Maxim DS1307/DS1337/DS1338/DS1340/DS1388/DS3231,
492 Epson RX-8025 and various other compatible RTC chips connected via I2C.
493 endef
494
495 $(eval $(call KernelPackage,rtc-ds1307))
496
497
498 define KernelPackage/rtc-ds1374
499 SUBMENU:=$(OTHER_MENU)
500 TITLE:=Dallas/Maxim DS1374 RTC support
501 DEFAULT:=m if ALL_KMODS && RTC_SUPPORT
502 DEPENDS:=+kmod-i2c-core
503 KCONFIG:=CONFIG_RTC_DRV_DS1374 \
504 CONFIG_RTC_DRV_DS1374_WDT=n \
505 CONFIG_RTC_CLASS=y
506 FILES:=$(LINUX_DIR)/drivers/rtc/rtc-ds1374.ko
507 AUTOLOAD:=$(call AutoProbe,rtc-ds1374)
508 endef
509
510 define KernelPackage/rtc-ds1374/description
511 Kernel module for Dallas/Maxim DS1374.
512 endef
513
514 $(eval $(call KernelPackage,rtc-ds1374))
515
516
517 define KernelPackage/rtc-ds1672
518 SUBMENU:=$(OTHER_MENU)
519 TITLE:=Dallas/Maxim DS1672 RTC support
520 DEFAULT:=m if ALL_KMODS && RTC_SUPPORT
521 DEPENDS:=+kmod-i2c-core
522 KCONFIG:=CONFIG_RTC_DRV_DS1672 \
523 CONFIG_RTC_CLASS=y
524 FILES:=$(LINUX_DIR)/drivers/rtc/rtc-ds1672.ko
525 AUTOLOAD:=$(call AutoProbe,rtc-ds1672)
526 endef
527
528 define KernelPackage/rtc-ds1672/description
529 Kernel module for Dallas/Maxim DS1672 RTC.
530 endef
531
532 $(eval $(call KernelPackage,rtc-ds1672))
533
534
535 define KernelPackage/rtc-isl1208
536 SUBMENU:=$(OTHER_MENU)
537 TITLE:=Intersil ISL1208 RTC support
538 DEFAULT:=m if ALL_KMODS && RTC_SUPPORT
539 DEPENDS:=+kmod-i2c-core
540 KCONFIG:=CONFIG_RTC_DRV_ISL1208 \
541 CONFIG_RTC_CLASS=y
542 FILES:=$(LINUX_DIR)/drivers/rtc/rtc-isl1208.ko
543 AUTOLOAD:=$(call AutoProbe,rtc-isl1208)
544 endef
545
546 define KernelPackage/rtc-isl1208/description
547 Kernel module for Intersil ISL1208 RTC.
548 endef
549
550 $(eval $(call KernelPackage,rtc-isl1208))
551
552
553 define KernelPackage/rtc-pcf8563
554 SUBMENU:=$(OTHER_MENU)
555 TITLE:=Philips PCF8563/Epson RTC8564 RTC support
556 DEFAULT:=m if ALL_KMODS && RTC_SUPPORT
557 DEPENDS:=+kmod-i2c-core
558 KCONFIG:=CONFIG_RTC_DRV_PCF8563 \
559 CONFIG_RTC_CLASS=y
560 FILES:=$(LINUX_DIR)/drivers/rtc/rtc-pcf8563.ko
561 AUTOLOAD:=$(call AutoProbe,rtc-pcf8563)
562 endef
563
564 define KernelPackage/rtc-pcf8563/description
565 Kernel module for Philips PCF8563 RTC chip.
566 The Epson RTC8564 should work as well.
567 endef
568
569 $(eval $(call KernelPackage,rtc-pcf8563))
570
571
572 define KernelPackage/rtc-pcf2123
573 SUBMENU:=$(OTHER_MENU)
574 TITLE:=Philips PCF2123 RTC support
575 DEFAULT:=m if ALL_KMODS && RTC_SUPPORT
576 KCONFIG:=CONFIG_RTC_DRV_PCF2123 \
577 CONFIG_RTC_CLASS=y
578 FILES:=$(LINUX_DIR)/drivers/rtc/rtc-pcf2123.ko
579 AUTOLOAD:=$(call AutoProbe,rtc-pcf2123)
580 endef
581
582 define KernelPackage/rtc-pcf2123/description
583 Kernel module for Philips PCF2123 RTC chip
584 endef
585
586 $(eval $(call KernelPackage,rtc-pcf2123))
587
588 define KernelPackage/rtc-pt7c4338
589 SUBMENU:=$(OTHER_MENU)
590 TITLE:=Pericom PT7C4338 RTC support
591 DEFAULT:=m if ALL_KMODS && RTC_SUPPORT
592 DEPENDS:=+kmod-i2c-core
593 KCONFIG:=CONFIG_RTC_DRV_PT7C4338 \
594 CONFIG_RTC_CLASS=y
595 FILES:=$(LINUX_DIR)/drivers/rtc/rtc-pt7c4338.ko
596 AUTOLOAD:=$(call AutoProbe,rtc-pt7c4338)
597 endef
598
599 define KernelPackage/rtc-pt7c4338/description
600 Kernel module for Pericom PT7C4338 i2c RTC chip
601 endef
602
603 $(eval $(call KernelPackage,rtc-pt7c4338))
604
605 define KernelPackage/rtc-rs5c372a
606 SUBMENU:=$(OTHER_MENU)
607 TITLE:=Ricoh R2025S/D, RS5C372A/B, RV5C386, RV5C387A
608 DEFAULT:=m if ALL_KMODS && RTC_SUPPORT
609 DEPENDS:=+kmod-i2c-core
610 KCONFIG:=CONFIG_RTC_DRV_RS5C372 \
611 CONFIG_RTC_CLASS=y
612 FILES:=$(LINUX_DIR)/drivers/rtc/rtc-rs5c372.ko
613 AUTOLOAD:=$(call AutoLoad,50,rtc-rs5c372,1)
614 endef
615
616 define KernelPackage/rtc-rs5c372a/description
617 Kernel module for Ricoh R2025S/D, RS5C372A/B, RV5C386, RV5C387A RTC on chip module
618 endef
619
620 $(eval $(call KernelPackage,rtc-rs5c372a))
621
622
623 define KernelPackage/mtdtests
624 SUBMENU:=$(OTHER_MENU)
625 TITLE:=MTD subsystem tests
626 KCONFIG:=CONFIG_MTD_TESTS
627 FILES:=\
628 $(LINUX_DIR)/drivers/mtd/tests/mtd_nandecctest.ko \
629 $(LINUX_DIR)/drivers/mtd/tests/mtd_oobtest.ko \
630 $(LINUX_DIR)/drivers/mtd/tests/mtd_pagetest.ko \
631 $(LINUX_DIR)/drivers/mtd/tests/mtd_readtest.ko \
632 $(LINUX_DIR)/drivers/mtd/tests/mtd_speedtest.ko \
633 $(LINUX_DIR)/drivers/mtd/tests/mtd_stresstest.ko \
634 $(LINUX_DIR)/drivers/mtd/tests/mtd_subpagetest.ko \
635 $(LINUX_DIR)/drivers/mtd/tests/mtd_torturetest.ko
636 endef
637
638 define KernelPackage/mtdtests/description
639 Kernel modules for MTD subsystem/driver testing
640 endef
641
642 $(eval $(call KernelPackage,mtdtests))
643
644
645 define KernelPackage/mtdoops
646 SUBMENU:=$(OTHER_MENU)
647 TITLE:=Log panic/oops to an MTD buffer
648 KCONFIG:=CONFIG_MTD_OOPS
649 FILES:=$(LINUX_DIR)/drivers/mtd/mtdoops.ko
650 endef
651
652 define KernelPackage/mtdoops/description
653 Kernel modules for Log panic/oops to an MTD buffer
654 endef
655
656 $(eval $(call KernelPackage,mtdoops))
657
658
659 define KernelPackage/mtdram
660 SUBMENU:=$(OTHER_MENU)
661 TITLE:=Test MTD driver using RAM
662 KCONFIG:=CONFIG_MTD_MTDRAM \
663 CONFIG_MTDRAM_TOTAL_SIZE=4096 \
664 CONFIG_MTDRAM_ERASE_SIZE=128
665 FILES:=$(LINUX_DIR)/drivers/mtd/devices/mtdram.ko
666 endef
667
668 define KernelPackage/mtdram/description
669 Test MTD driver using RAM
670 endef
671
672 $(eval $(call KernelPackage,mtdram))
673
674
675 define KernelPackage/serial-8250
676 SUBMENU:=$(OTHER_MENU)
677 TITLE:=8250 UARTs
678 KCONFIG:= CONFIG_SERIAL_8250 \
679 CONFIG_SERIAL_8250_PCI \
680 CONFIG_SERIAL_8250_NR_UARTS=16 \
681 CONFIG_SERIAL_8250_RUNTIME_UARTS=16 \
682 CONFIG_SERIAL_8250_EXTENDED=y \
683 CONFIG_SERIAL_8250_MANY_PORTS=y \
684 CONFIG_SERIAL_8250_SHARE_IRQ=y \
685 CONFIG_SERIAL_8250_DETECT_IRQ=n \
686 CONFIG_SERIAL_8250_RSA=n
687 FILES:= \
688 $(LINUX_DIR)/drivers/tty/serial/8250/8250.ko \
689 $(LINUX_DIR)/drivers/tty/serial/8250/8250_base.ko@ge4.4 \
690 $(if $(CONFIG_PCI),$(LINUX_DIR)/drivers/tty/serial/8250/8250_pci.ko@ge4.4)
691 AUTOLOAD:=$(call AutoProbe,8250 8250_base 8250_pci)
692 endef
693
694 define KernelPackage/serial-8250/description
695 Kernel module for 8250 UART based serial ports
696 endef
697
698 $(eval $(call KernelPackage,serial-8250))
699
700
701 define KernelPackage/regmap
702 SUBMENU:=$(OTHER_MENU)
703 TITLE:=Generic register map support
704 DEPENDS:=+kmod-lib-lzo +kmod-i2c-core
705 KCONFIG:=CONFIG_REGMAP \
706 CONFIG_REGMAP_MMIO \
707 CONFIG_REGMAP_SPI \
708 CONFIG_REGMAP_I2C \
709 CONFIG_SPI=y
710 FILES:= \
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 ifeq ($(strip $(CONFIG_EXTERNAL_KERNEL_TREE)),"")
716 ifeq ($(strip $(CONFIG_KERNEL_GIT_CLONE_URI)),"")
717 FILES += $(LINUX_DIR)/drivers/base/regmap/regmap-core.ko
718 endif
719 endif
720 endef
721
722 define KernelPackage/regmap/description
723 Generic register map support
724 endef
725
726 $(eval $(call KernelPackage,regmap))
727
728 define KernelPackage/ikconfig
729 SUBMENU:=$(OTHER_MENU)
730 TITLE:=Kernel configuration via /proc/config.gz
731 KCONFIG:=CONFIG_IKCONFIG \
732 CONFIG_IKCONFIG_PROC=y
733 FILES:=$(LINUX_DIR)/kernel/configs.ko
734 AUTOLOAD:=$(call AutoLoad,70,configs)
735 endef
736
737 define KernelPackage/ikconfig/description
738 Kernel configuration via /proc/config.gz
739 endef
740
741 $(eval $(call KernelPackage,ikconfig))
742
743
744 define KernelPackage/zram
745 SUBMENU:=$(OTHER_MENU)
746 TITLE:=ZRAM
747 DEPENDS:=+kmod-lib-lzo +kmod-lib-lz4
748 KCONFIG:= \
749 CONFIG_ZSMALLOC \
750 CONFIG_ZRAM \
751 CONFIG_ZRAM_DEBUG=n \
752 CONFIG_PGTABLE_MAPPING=n \
753 CONFIG_ZRAM_WRITEBACK=n \
754 CONFIG_ZSMALLOC_STAT=n \
755 CONFIG_ZRAM_LZ4_COMPRESS=y
756 FILES:= \
757 $(LINUX_DIR)/mm/zsmalloc.ko \
758 $(LINUX_DIR)/drivers/block/zram/zram.ko
759 AUTOLOAD:=$(call AutoLoad,20,zsmalloc zram)
760 endef
761
762 define KernelPackage/zram/description
763 Compressed RAM block device support
764 endef
765
766 $(eval $(call KernelPackage,zram))
767
768
769 define KernelPackage/pps
770 SUBMENU:=$(OTHER_MENU)
771 TITLE:=PPS support
772 KCONFIG:=CONFIG_PPS
773 FILES:=$(LINUX_DIR)/drivers/pps/pps_core.ko
774 AUTOLOAD:=$(call AutoLoad,17,pps_core,1)
775 endef
776
777 define KernelPackage/pps/description
778 PPS (Pulse Per Second) is a special pulse provided by some GPS
779 antennae. Userland can use it to get a high-precision time
780 reference.
781 endef
782
783 $(eval $(call KernelPackage,pps))
784
785
786 define KernelPackage/pps-gpio
787 SUBMENU:=$(OTHER_MENU)
788 TITLE:=PPS client using GPIO
789 DEPENDS:=+kmod-pps
790 KCONFIG:=CONFIG_PPS_CLIENT_GPIO
791 FILES:=$(LINUX_DIR)/drivers/pps/clients/pps-gpio.ko
792 AUTOLOAD:=$(call AutoLoad,18,pps-gpio,1)
793 endef
794
795 define KernelPackage/pps-gpio/description
796 Support for a PPS source using GPIO. To be useful you must
797 also register a platform device specifying the GPIO pin and
798 other options, usually in your board setup.
799 endef
800
801 $(eval $(call KernelPackage,pps-gpio))
802
803
804 define KernelPackage/pps-ldisc
805 SUBMENU:=$(OTHER_MENU)
806 TITLE:=PPS line discipline
807 DEPENDS:=+kmod-pps
808 KCONFIG:=CONFIG_PPS_CLIENT_LDISC
809 FILES:=$(LINUX_DIR)/drivers/pps/clients/pps-ldisc.ko
810 AUTOLOAD:=$(call AutoLoad,18,pps-ldisc,1)
811 endef
812
813 define KernelPackage/pps-ldisc/description
814 Support for a PPS source connected with the CD (Carrier
815 Detect) pin of your serial port.
816 endef
817
818 $(eval $(call KernelPackage,pps-ldisc))
819
820
821 define KernelPackage/ptp
822 SUBMENU:=$(OTHER_MENU)
823 TITLE:=PTP clock support
824 DEPENDS:=+kmod-pps
825 KCONFIG:= \
826 CONFIG_PTP_1588_CLOCK \
827 CONFIG_NET_PTP_CLASSIFY=y
828 FILES:=$(LINUX_DIR)/drivers/ptp/ptp.ko
829 AUTOLOAD:=$(call AutoLoad,18,ptp,1)
830 endef
831
832 define KernelPackage/ptp/description
833 The IEEE 1588 standard defines a method to precisely
834 synchronize distributed clocks over Ethernet networks.
835 endef
836
837 $(eval $(call KernelPackage,ptp))
838
839
840 define KernelPackage/ptp-gianfar
841 SUBMENU:=$(OTHER_MENU)
842 TITLE:=Freescale Gianfar PTP support
843 DEPENDS:=@TARGET_mpc85xx +kmod-ptp
844 KCONFIG:=CONFIG_PTP_1588_CLOCK_GIANFAR
845 FILES:=$(LINUX_DIR)/drivers/net/ethernet/freescale/gianfar_ptp.ko
846 AUTOLOAD:=$(call AutoProbe,gianfar_ptp)
847 endef
848
849 define KernelPackage/ptp-gianfar/description
850 Kernel module for IEEE 1588 support for Freescale
851 Gianfar Ethernet drivers
852 endef
853
854 $(eval $(call KernelPackage,ptp-gianfar))
855
856
857 define KernelPackage/random-core
858 SUBMENU:=$(OTHER_MENU)
859 TITLE:=Hardware Random Number Generator Core support
860 KCONFIG:=CONFIG_HW_RANDOM
861 FILES:=$(LINUX_DIR)/drivers/char/hw_random/rng-core.ko
862 endef
863
864 define KernelPackage/random-core/description
865 Kernel module for the HW random number generator core infrastructure
866 endef
867
868 $(eval $(call KernelPackage,random-core))
869
870 define KernelPackage/random-omap
871 SUBMENU:=$(OTHER_MENU)
872 TITLE:=Hardware Random Number Generator OMAP support
873 KCONFIG:=CONFIG_HW_RANDOM_OMAP
874 FILES:=$(LINUX_DIR)/drivers/char/hw_random/omap-rng.ko
875 DEPENDS:=@TARGET_omap24xx +kmod-random-core
876 AUTOLOAD:=$(call AutoProbe,random-omap)
877 endef
878
879 define KernelPackage/random-omap/description
880 Kernel module for the OMAP Random Number Generator
881 found on OMAP16xx, OMAP2/3/4/5 and AM33xx/AM43xx multimedia processors.
882 endef
883
884 $(eval $(call KernelPackage,random-omap))
885
886 define KernelPackage/thermal
887 SUBMENU:=$(OTHER_MENU)
888 TITLE:=Generic Thermal sysfs driver
889 DEPENDS:=+kmod-hwmon-core
890 HIDDEN:=1
891 KCONFIG:= \
892 CONFIG_THERMAL \
893 CONFIG_THERMAL_OF=y \
894 CONFIG_CPU_THERMAL=y \
895 CONFIG_THERMAL_DEFAULT_GOV_STEP_WISE=y \
896 CONFIG_THERMAL_DEFAULT_GOV_FAIR_SHARE=n \
897 CONFIG_THERMAL_DEFAULT_GOV_USER_SPACE=n \
898 CONFIG_THERMAL_GOV_FAIR_SHARE=n \
899 CONFIG_THERMAL_GOV_STEP_WISE=y \
900 CONFIG_THERMAL_GOV_USER_SPACE=n \
901 CONFIG_THERMAL_HWMON=y \
902 CONFIG_THERMAL_EMULATION=n
903 FILES:=$(LINUX_DIR)/drivers/thermal/thermal_sys.ko
904 AUTOLOAD:=$(call AutoProbe,thermal_sys)
905 endef
906
907 define KernelPackage/thermal/description
908 Generic Thermal Sysfs driver offers a generic mechanism for thermal
909 management. Usually it's made up of one or more thermal zone and cooling
910 device.
911 endef
912
913 $(eval $(call KernelPackage,thermal))
914
915
916 define KernelPackage/gpio-beeper
917 SUBMENU:=$(OTHER_MENU)
918 TITLE:=GPIO beeper support
919 DEPENDS:=+kmod-input-core
920 KCONFIG:= \
921 CONFIG_INPUT_MISC=y \
922 CONFIG_INPUT_GPIO_BEEPER
923 FILES:= \
924 $(LINUX_DIR)/drivers/input/misc/gpio-beeper.ko
925 AUTOLOAD:=$(call AutoLoad,50,gpio-beeper)
926 endef
927
928 define KernelPackage/gpio-beeper/description
929 This enables playing beeps through an GPIO-connected buzzer
930 endef
931
932 $(eval $(call KernelPackage,gpio-beeper))
933
934
935 define KernelPackage/echo
936 SUBMENU:=$(OTHER_MENU)
937 TITLE:=Line Echo Canceller
938 KCONFIG:=CONFIG_ECHO
939 FILES:=$(LINUX_DIR)/drivers/misc/echo/echo.ko
940 AUTOLOAD:=$(call AutoLoad,50,echo)
941 endef
942
943 define KernelPackage/echo/description
944 This driver provides line echo cancelling support for mISDN and
945 DAHDI drivers
946 endef
947
948 $(eval $(call KernelPackage,echo))
949
950
951 define KernelPackage/bmp085
952 SUBMENU:=$(OTHER_MENU)
953 TITLE:=BMP085/BMP18x pressure sensor
954 DEPENDS:= +kmod-regmap @!LINUX_3_18 @!LINUX_4_1
955 KCONFIG:= CONFIG_BMP085
956 FILES:= $(LINUX_DIR)/drivers/misc/bmp085.ko
957 endef
958
959 define KernelPackage/bmp085/description
960 This driver adds support for Bosch Sensortec's digital pressure
961 sensors BMP085 and BMP18x.
962 endef
963
964 $(eval $(call KernelPackage,bmp085))
965
966
967 define KernelPackage/bmp085-i2c
968 SUBMENU:=$(OTHER_MENU)
969 TITLE:=BMP085/BMP18x pressure sensor I2C
970 DEPENDS:= +kmod-bmp085
971 KCONFIG:= CONFIG_BMP085_I2C
972 FILES:= $(LINUX_DIR)/drivers/misc/bmp085-i2c.ko
973 AUTOLOAD:=$(call AutoProbe,bmp085-i2c)
974 endef
975 define KernelPackage/bmp085-i2c/description
976 This driver adds support for Bosch Sensortec's digital pressure
977 sensor connected via I2C.
978 endef
979
980 $(eval $(call KernelPackage,bmp085-i2c))
981
982
983 define KernelPackage/bmp085-spi
984 SUBMENU:=$(OTHER_MENU)
985 TITLE:=BMP085/BMP18x pressure sensor SPI
986 DEPENDS:= +kmod-bmp085
987 KCONFIG:= CONFIG_BMP085_SPI
988 FILES:= $(LINUX_DIR)/drivers/misc/bmp085-spi.ko
989 AUTOLOAD:=$(call AutoProbe,bmp085-spi)
990 endef
991 define KernelPackage/bmp085-spi/description
992 This driver adds support for Bosch Sensortec's digital pressure
993 sensor connected via SPI.
994 endef
995
996 $(eval $(call KernelPackage,bmp085-spi))
997
998 define KernelPackage/tpm
999 SUBMENU:=$(OTHER_MENU)
1000 TITLE:=TPM Hardware Support
1001 KCONFIG:= CONFIG_TCG_TPM
1002 FILES:= $(LINUX_DIR)/drivers/char/tpm/tpm.ko
1003 AUTOLOAD:=$(call AutoLoad,10,tpm,1)
1004 endef
1005
1006 define KernelPackage/tpm/description
1007 This enables TPM Hardware Support.
1008 endef
1009
1010 $(eval $(call KernelPackage,tpm))
1011
1012 define KernelPackage/tpm-tis
1013 SUBMENU:=$(OTHER_MENU)
1014 TITLE:=TPM TIS 1.2 Interface / TPM 2.0 FIFO Interface
1015 DEPENDS:= @TARGET_x86 +kmod-tpm
1016 KCONFIG:= CONFIG_TCG_TIS
1017 FILES:= \
1018 $(LINUX_DIR)/drivers/char/tpm/tpm_tis.ko \
1019 $(LINUX_DIR)/drivers/char/tpm/tpm_tis_core.ko
1020 AUTOLOAD:=$(call AutoLoad,20,tpm_tis,1)
1021 endef
1022
1023 define KernelPackage/tpm-tis/description
1024 If you have a TPM security chip that is compliant with the
1025 TCG TIS 1.2 TPM specification (TPM1.2) or the TCG PTP FIFO
1026 specification (TPM2.0) say Yes and it will be accessible from
1027 within Linux.
1028 endef
1029
1030 $(eval $(call KernelPackage,tpm-tis))
1031
1032 define KernelPackage/tpm-i2c-atmel
1033 SUBMENU:=$(OTHER_MENU)
1034 TITLE:=TPM I2C Atmel Support
1035 DEPENDS:= +kmod-tpm +kmod-i2c-core
1036 KCONFIG:= CONFIG_TCG_TIS_I2C_ATMEL
1037 FILES:= $(LINUX_DIR)/drivers/char/tpm/tpm_i2c_atmel.ko
1038 AUTOLOAD:=$(call AutoLoad,40,tpm_i2c_atmel,1)
1039 endef
1040
1041 define KernelPackage/tpm-i2c-atmel/description
1042 This enables the TPM Interface Specification 1.2 Interface (I2C - Atmel)
1043 endef
1044
1045 $(eval $(call KernelPackage,tpm-i2c-atmel))
1046
1047 define KernelPackage/tpm-i2c-infineon
1048 SUBMENU:=$(OTHER_MENU)
1049 TITLE:= TPM I2C Infineon driver
1050 DEPENDS:= +kmod-tpm +kmod-i2c-core
1051 KCONFIG:= CONFIG_TCG_TIS_I2C_INFINEON
1052 FILES:= $(LINUX_DIR)/drivers/char/tpm/tpm_i2c_infineon.ko
1053 AUTOLOAD:= $(call AutoLoad,40,tpm_i2c_infineon,1)
1054 endef
1055
1056 define KernelPackage/tpm-i2c-infineon/description
1057 This enables the TPM Interface Specification 1.2 Interface (I2C - Infineon)
1058 endef
1059
1060 $(eval $(call KernelPackage,tpm-i2c-infineon))
1061
1062
1063 define KernelPackage/w83627hf-wdt
1064 SUBMENU:=$(OTHER_MENU)
1065 TITLE:=Winbond 83627HF Watchdog Timer
1066 KCONFIG:=CONFIG_W83627HF_WDT
1067 FILES:=$(LINUX_DIR)/drivers/$(WATCHDOG_DIR)/w83627hf_wdt.ko
1068 AUTOLOAD:=$(call AutoLoad,50,w83627hf-wdt,1)
1069 endef
1070
1071 define KernelPackage/w83627hf-wdt/description
1072 Kernel module for Winbond 83627HF Watchdog Timer
1073 endef
1074
1075 $(eval $(call KernelPackage,w83627hf-wdt))
1076
1077
1078 define KernelPackage/itco-wdt
1079 SUBMENU:=$(OTHER_MENU)
1080 TITLE:=Intel iTCO Watchdog Timer
1081 KCONFIG:=CONFIG_ITCO_WDT \
1082 CONFIG_ITCO_VENDOR_SUPPORT=y
1083 FILES:=$(LINUX_DIR)/drivers/$(WATCHDOG_DIR)/iTCO_wdt.ko \
1084 $(LINUX_DIR)/drivers/$(WATCHDOG_DIR)/iTCO_vendor_support.ko
1085 AUTOLOAD:=$(call AutoLoad,50,iTCO_vendor_support iTCO_wdt,1)
1086 endef
1087
1088 define KernelPackage/itco-wdt/description
1089 Kernel module for Intel iTCO Watchdog Timer
1090 endef
1091
1092 $(eval $(call KernelPackage,itco-wdt))
1093
1094
1095 define KernelPackage/it87-wdt
1096 SUBMENU:=$(OTHER_MENU)
1097 TITLE:=ITE IT87 Watchdog Timer
1098 KCONFIG:=CONFIG_IT87_WDT
1099 FILES:=$(LINUX_DIR)/drivers/$(WATCHDOG_DIR)/it87_wdt.ko
1100 AUTOLOAD:=$(call AutoLoad,50,it87-wdt,1)
1101 MODPARAMS.it87-wdt:= \
1102 nogameport=1 \
1103 nocir=1
1104 endef
1105
1106 define KernelPackage/it87-wdt/description
1107 Kernel module for ITE IT87 Watchdog Timer
1108 endef
1109
1110 $(eval $(call KernelPackage,it87-wdt))