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