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