c22f57261c4c63408f6b19a7cfdff51b8948ef7a
[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_4_4: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/bluetooth-hci-h4p
118 SUBMENU:=$(OTHER_MENU)
119 TITLE:=HCI driver with H4 Nokia extensions
120 DEPENDS:=@TARGET_omap24xx +kmod-bluetooth
121 KCONFIG:=CONFIG_BT_HCIH4P
122 FILES:=$(LINUX_DIR)/drivers/bluetooth/hci_h4p/hci_h4p.ko
123 AUTOLOAD:=$(call AutoProbe,hci_h4p)
124 endef
125
126 define KernelPackage/bluetooth-hci-h4p/description
127 HCI driver with H4 Nokia extensions
128 endef
129
130 $(eval $(call KernelPackage,bluetooth-hci-h4p))
131
132
133 define KernelPackage/dma-buf
134 SUBMENU:=$(OTHER_MENU)
135 TITLE:=DMA shared buffer support
136 HIDDEN:=1
137 KCONFIG:=CONFIG_DMA_SHARED_BUFFER
138 FILES:=$(LINUX_DIR)/drivers/dma-buf/dma-shared-buffer.ko
139 AUTOLOAD:=$(call AutoLoad,20,dma-shared-buffer)
140 endef
141 $(eval $(call KernelPackage,dma-buf))
142
143
144 define KernelPackage/eeprom-93cx6
145 SUBMENU:=$(OTHER_MENU)
146 TITLE:=EEPROM 93CX6 support
147 KCONFIG:=CONFIG_EEPROM_93CX6
148 FILES:=$(LINUX_DIR)/drivers/misc/eeprom/eeprom_93cx6.ko
149 AUTOLOAD:=$(call AutoLoad,20,eeprom_93cx6)
150 endef
151
152 define KernelPackage/eeprom-93cx6/description
153 Kernel module for EEPROM 93CX6 support
154 endef
155
156 $(eval $(call KernelPackage,eeprom-93cx6))
157
158
159 define KernelPackage/eeprom-at24
160 SUBMENU:=$(OTHER_MENU)
161 TITLE:=EEPROM AT24 support
162 KCONFIG:=CONFIG_EEPROM_AT24
163 DEPENDS:=+kmod-i2c-core
164 FILES:=$(LINUX_DIR)/drivers/misc/eeprom/at24.ko
165 AUTOLOAD:=$(call AutoProbe,at24)
166 endef
167
168 define KernelPackage/eeprom-at24/description
169 Kernel module for most I2C EEPROMs
170 endef
171
172 $(eval $(call KernelPackage,eeprom-at24))
173
174
175 define KernelPackage/eeprom-at25
176 SUBMENU:=$(OTHER_MENU)
177 TITLE:=EEPROM AT25 support
178 KCONFIG:=CONFIG_EEPROM_AT25
179 FILES:=$(LINUX_DIR)/drivers/misc/eeprom/at25.ko
180 AUTOLOAD:=$(call AutoProbe,at25)
181 endef
182
183 define KernelPackage/eeprom-at25/description
184 Kernel module for most SPI EEPROMs
185 endef
186
187 $(eval $(call KernelPackage,eeprom-at25))
188
189
190 define KernelPackage/gpio-dev
191 SUBMENU:=$(OTHER_MENU)
192 TITLE:=Generic GPIO char device support
193 DEPENDS:=@GPIO_SUPPORT
194 KCONFIG:=CONFIG_GPIO_DEVICE
195 FILES:=$(LINUX_DIR)/drivers/char/gpio_dev.ko
196 AUTOLOAD:=$(call AutoLoad,40,gpio_dev)
197 endef
198
199 define KernelPackage/gpio-dev/description
200 Kernel module to allows control of GPIO pins using a character device.
201 endef
202
203 $(eval $(call KernelPackage,gpio-dev))
204
205
206 define KernelPackage/gpio-mcp23s08
207 SUBMENU:=$(OTHER_MENU)
208 TITLE:=Microchip MCP23xxx I/O expander
209 DEPENDS:=@GPIO_SUPPORT +PACKAGE_kmod-i2c-core:kmod-i2c-core
210 KCONFIG:=CONFIG_GPIO_MCP23S08
211 FILES:=$(LINUX_DIR)/drivers/gpio/gpio-mcp23s08.ko
212 AUTOLOAD:=$(call AutoLoad,40,gpio-mcp23s08)
213 endef
214
215 define KernelPackage/gpio-mcp23s08/description
216 Kernel module for Microchip MCP23xxx SPI/I2C I/O expander
217 endef
218
219 $(eval $(call KernelPackage,gpio-mcp23s08))
220
221
222 define KernelPackage/gpio-nxp-74hc164
223 SUBMENU:=$(OTHER_MENU)
224 TITLE:=NXP 74HC164 GPIO expander support
225 KCONFIG:=CONFIG_GPIO_NXP_74HC164
226 FILES:=$(LINUX_DIR)/drivers/gpio/nxp_74hc164.ko
227 AUTOLOAD:=$(call AutoProbe,nxp_74hc164)
228 endef
229
230 define KernelPackage/gpio-nxp-74hc164/description
231 Kernel module for NXP 74HC164 GPIO expander
232 endef
233
234 $(eval $(call KernelPackage,gpio-nxp-74hc164))
235
236 define KernelPackage/gpio-pca953x
237 SUBMENU:=$(OTHER_MENU)
238 DEPENDS:=@GPIO_SUPPORT +kmod-i2c-core
239 TITLE:=PCA95xx, TCA64xx, and MAX7310 I/O ports
240 KCONFIG:=CONFIG_GPIO_PCA953X
241 FILES:=$(LINUX_DIR)/drivers/gpio/gpio-pca953x.ko
242 AUTOLOAD:=$(call AutoLoad,55,gpio-pca953x)
243 endef
244
245 define KernelPackage/gpio-pca953x/description
246 Kernel module for MAX731{0,2,3,5}, PCA6107, PCA953{4-9}, PCA955{4-7},
247 PCA957{4,5} and TCA64{08,16} I2C GPIO expanders
248 endef
249
250 $(eval $(call KernelPackage,gpio-pca953x))
251
252 define KernelPackage/gpio-pcf857x
253 SUBMENU:=$(OTHER_MENU)
254 DEPENDS:=@GPIO_SUPPORT +kmod-i2c-core
255 TITLE:=PCX857x, PCA967x and MAX732X I2C GPIO expanders
256 KCONFIG:=CONFIG_GPIO_PCF857X
257 FILES:=$(LINUX_DIR)/drivers/gpio/gpio-pcf857x.ko
258 AUTOLOAD:=$(call AutoLoad,55,gpio-pcf857x)
259 endef
260
261 define KernelPackage/gpio-pcf857x/description
262 Kernel module for PCF857x, PCA{85,96}7x, and MAX732[89] I2C GPIO expanders
263 endef
264
265 $(eval $(call KernelPackage,gpio-pcf857x))
266
267 define KernelPackage/iio-core
268 SUBMENU:=$(OTHER_MENU)
269 TITLE:=Industrial IO core
270 KCONFIG:= \
271 CONFIG_IIO \
272 CONFIG_IIO_BUFFER=y \
273 CONFIG_IIO_KFIFO_BUF \
274 CONFIG_IIO_TRIGGER=y \
275 CONFIG_IIO_TRIGGERED_BUFFER
276 FILES:= \
277 $(LINUX_DIR)/drivers/iio/industrialio.ko \
278 $(if $(CONFIG_IIO_TRIGGERED_BUFFER),$(LINUX_DIR)/drivers/iio/industrialio-triggered-buffer.ko@lt4.4) \
279 $(if $(CONFIG_IIO_TRIGGERED_BUFFER),$(LINUX_DIR)/drivers/iio/buffer/industrialio-triggered-buffer.ko@ge4.4) \
280 $(LINUX_DIR)/drivers/iio/kfifo_buf.ko@lt4.4 \
281 $(LINUX_DIR)/drivers/iio/buffer/kfifo_buf.ko@ge4.4
282 AUTOLOAD:=$(call AutoLoad,55,industrialio kfifo_buf industrialio-triggered-buffer)
283 endef
284
285 define KernelPackage/iio-core/description
286 The industrial I/O subsystem provides a unified framework for
287 drivers for many different types of embedded sensors using a
288 number of different physical interfaces (i2c, spi, etc)
289 endef
290
291 $(eval $(call KernelPackage,iio-core))
292
293
294 define KernelPackage/iio-ad799x
295 SUBMENU:=$(OTHER_MENU)
296 DEPENDS:=kmod-i2c-core kmod-iio-core
297 TITLE:=Analog Devices AD799x ADC driver
298 KCONFIG:= \
299 CONFIG_AD799X_RING_BUFFER=y \
300 CONFIG_AD799X
301 FILES:=$(LINUX_DIR)/drivers/iio/adc/ad799x.ko
302 AUTOLOAD:=$(call AutoLoad,56,ad799x)
303 endef
304
305 define KernelPackage/iio-ad799x/description
306 support for Analog Devices:
307 ad7991, ad7995, ad7999, ad7992, ad7993, ad7994, ad7997, ad7998
308 i2c analog to digital converters (ADC).
309 endef
310
311 $(eval $(call KernelPackage,iio-ad799x))
312
313
314 define KernelPackage/iio-dht11
315 SUBMENU:=$(OTHER_MENU)
316 DEPENDS:=kmod-iio-core @GPIO_SUPPORT @USES_DEVICETREE
317 TITLE:=DHT11 (and compatible) humidity and temperature sensors
318 KCONFIG:= \
319 CONFIG_DHT11
320 FILES:=$(LINUX_DIR)/drivers/iio/humidity/dht11.ko
321 AUTOLOAD:=$(call AutoLoad,56,dht11)
322 endef
323
324 define KernelPackage/iio-dht11/description
325 support for DHT11 and DHT22 digitial humidity and temperature sensors
326 attached at GPIO lines. You will need a custom device tree file to
327 specify the GPIO line to use.
328 endef
329
330 $(eval $(call KernelPackage,iio-dht11))
331
332
333 define KernelPackage/lp
334 SUBMENU:=$(OTHER_MENU)
335 TITLE:=Parallel port and line printer support
336 KCONFIG:= \
337 CONFIG_PARPORT \
338 CONFIG_PRINTER \
339 CONFIG_PPDEV
340 FILES:= \
341 $(LINUX_DIR)/drivers/parport/parport.ko \
342 $(LINUX_DIR)/drivers/char/lp.ko \
343 $(LINUX_DIR)/drivers/char/ppdev.ko
344 AUTOLOAD:=$(call AutoLoad,50,parport lp ppdev)
345 endef
346
347 $(eval $(call KernelPackage,lp))
348
349
350 define KernelPackage/mmc
351 SUBMENU:=$(OTHER_MENU)
352 TITLE:=MMC/SD Card Support
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 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/wdt-omap
486 SUBMENU:=$(OTHER_MENU)
487 TITLE:=OMAP Watchdog timer
488 DEPENDS:=@(TARGET_omap24xx||TARGET_omap35xx)
489 KCONFIG:=CONFIG_OMAP_WATCHDOG
490 FILES:=$(LINUX_DIR)/drivers/$(WATCHDOG_DIR)/omap_wdt.ko
491 AUTOLOAD:=$(call AutoLoad,50,omap_wdt,1)
492 endef
493
494 define KernelPackage/wdt-omap/description
495 Kernel module for TI omap watchdog timer
496 endef
497
498 $(eval $(call KernelPackage,wdt-omap))
499
500
501 define KernelPackage/wdt-orion
502 SUBMENU:=$(OTHER_MENU)
503 TITLE:=Marvell Orion Watchdog timer
504 DEPENDS:=@TARGET_orion||TARGET_kirkwood
505 KCONFIG:=CONFIG_ORION_WATCHDOG
506 FILES:=$(LINUX_DIR)/drivers/$(WATCHDOG_DIR)/orion_wdt.ko
507 AUTOLOAD:=$(call AutoLoad,50,orion_wdt,1)
508 endef
509
510 define KernelPackage/wdt-orion/description
511 Kernel module for Marvell Orion, Kirkwood and Armada XP/370 watchdog timer
512 endef
513
514 $(eval $(call KernelPackage,wdt-orion))
515
516
517 define KernelPackage/rtc-ds1307
518 SUBMENU:=$(OTHER_MENU)
519 TITLE:=Dallas/Maxim DS1307 (and compatible) RTC support
520 DEPENDS:=@RTC_SUPPORT +kmod-i2c-core
521 KCONFIG:=CONFIG_RTC_DRV_DS1307 \
522 CONFIG_RTC_CLASS=y
523 FILES:=$(LINUX_DIR)/drivers/rtc/rtc-ds1307.ko
524 AUTOLOAD:=$(call AutoProbe,rtc-ds1307)
525 endef
526
527 define KernelPackage/rtc-ds1307/description
528 Kernel module for Dallas/Maxim DS1307/DS1337/DS1338/DS1340/DS1388/DS3231,
529 Epson RX-8025 and various other compatible RTC chips connected via I2C.
530 endef
531
532 $(eval $(call KernelPackage,rtc-ds1307))
533
534
535 define KernelPackage/rtc-ds1374
536 SUBMENU:=$(OTHER_MENU)
537 TITLE:=Dallas/Maxim DS1374 RTC support
538 DEPENDS:=@RTC_SUPPORT +kmod-i2c-core
539 KCONFIG:=CONFIG_RTC_DRV_DS1374 \
540 CONFIG_RTC_DRV_DS1374_WDT=n \
541 CONFIG_RTC_CLASS=y
542 FILES:=$(LINUX_DIR)/drivers/rtc/rtc-ds1374.ko
543 AUTOLOAD:=$(call AutoProbe,rtc-ds1374)
544 endef
545
546 define KernelPackage/rtc-ds1374/description
547 Kernel module for Dallas/Maxim DS1374.
548 endef
549
550 $(eval $(call KernelPackage,rtc-ds1374))
551
552
553 define KernelPackage/rtc-ds1672
554 SUBMENU:=$(OTHER_MENU)
555 TITLE:=Dallas/Maxim DS1672 RTC support
556 DEPENDS:=@RTC_SUPPORT +kmod-i2c-core
557 KCONFIG:=CONFIG_RTC_DRV_DS1672 \
558 CONFIG_RTC_CLASS=y
559 FILES:=$(LINUX_DIR)/drivers/rtc/rtc-ds1672.ko
560 AUTOLOAD:=$(call AutoProbe,rtc-ds1672)
561 endef
562
563 define KernelPackage/rtc-ds1672/description
564 Kernel module for Dallas/Maxim DS1672 RTC.
565 endef
566
567 $(eval $(call KernelPackage,rtc-ds1672))
568
569
570 define KernelPackage/rtc-isl1208
571 SUBMENU:=$(OTHER_MENU)
572 TITLE:=Intersil ISL1208 RTC support
573 DEPENDS:=@RTC_SUPPORT +kmod-i2c-core
574 KCONFIG:=CONFIG_RTC_DRV_ISL1208 \
575 CONFIG_RTC_CLASS=y
576 FILES:=$(LINUX_DIR)/drivers/rtc/rtc-isl1208.ko
577 AUTOLOAD:=$(call AutoProbe,rtc-isl1208)
578 endef
579
580 define KernelPackage/rtc-isl1208/description
581 Kernel module for Intersil ISL1208 RTC.
582 endef
583
584 $(eval $(call KernelPackage,rtc-isl1208))
585
586
587 define KernelPackage/rtc-marvell
588 SUBMENU:=$(OTHER_MENU)
589 TITLE:=Marvell SoC built-in RTC support
590 DEPENDS:=@RTC_SUPPORT @TARGET_kirkwood||TARGET_orion
591 KCONFIG:=CONFIG_RTC_DRV_MV \
592 CONFIG_RTC_CLASS=y
593 FILES:=$(LINUX_DIR)/drivers/rtc/rtc-mv.ko
594 AUTOLOAD:=$(call AutoProbe,rtc-mv)
595 endef
596
597 define KernelPackage/rtc-marvell/description
598 Kernel module for Marvell SoC built-in RTC.
599 endef
600
601 $(eval $(call KernelPackage,rtc-marvell))
602
603
604 define KernelPackage/rtc-pcf8563
605 SUBMENU:=$(OTHER_MENU)
606 TITLE:=Philips PCF8563/Epson RTC8564 RTC support
607 DEPENDS:=@RTC_SUPPORT +kmod-i2c-core
608 KCONFIG:=CONFIG_RTC_DRV_PCF8563 \
609 CONFIG_RTC_CLASS=y
610 FILES:=$(LINUX_DIR)/drivers/rtc/rtc-pcf8563.ko
611 AUTOLOAD:=$(call AutoProbe,rtc-pcf8563)
612 endef
613
614 define KernelPackage/rtc-pcf8563/description
615 Kernel module for Philips PCF8563 RTC chip.
616 The Epson RTC8564 should work as well.
617 endef
618
619 $(eval $(call KernelPackage,rtc-pcf8563))
620
621
622 define KernelPackage/rtc-pcf2123
623 SUBMENU:=$(OTHER_MENU)
624 TITLE:=Philips PCF2123 RTC support
625 DEPENDS:=@RTC_SUPPORT
626 KCONFIG:=CONFIG_RTC_DRV_PCF2123 \
627 CONFIG_RTC_CLASS=y
628 FILES:=$(LINUX_DIR)/drivers/rtc/rtc-pcf2123.ko
629 AUTOLOAD:=$(call AutoProbe,rtc-pcf2123)
630 endef
631
632 define KernelPackage/rtc-pcf2123/description
633 Kernel module for Philips PCF2123 RTC chip
634 endef
635
636 $(eval $(call KernelPackage,rtc-pcf2123))
637
638 define KernelPackage/rtc-pt7c4338
639 SUBMENU:=$(OTHER_MENU)
640 TITLE:=Pericom PT7C4338 RTC support
641 DEPENDS:=@RTC_SUPPORT +kmod-i2c-core
642 KCONFIG:=CONFIG_RTC_DRV_PT7C4338 \
643 CONFIG_RTC_CLASS=y
644 FILES:=$(LINUX_DIR)/drivers/rtc/rtc-pt7c4338.ko
645 AUTOLOAD:=$(call AutoProbe,rtc-pt7c4338)
646 endef
647
648 define KernelPackage/rtc-pt7c4338/description
649 Kernel module for Pericom PT7C4338 i2c RTC chip
650 endef
651
652 $(eval $(call KernelPackage,rtc-pt7c4338))
653
654 define KernelPackage/rtc-snvs
655 SUBMENU:=$(OTHER_MENU)
656 TITLE:=Freescale SNVS RTC support
657 DEPENDS:=@TARGET_imx6 @RTC_SUPPORT
658 KCONFIG:=CONFIG_RTC_DRV_SNVS \
659 CONFIG_RTC_CLASS=y
660 FILES:=$(LINUX_DIR)/drivers/rtc/rtc-snvs.ko
661 AUTOLOAD:=$(call AutoLoad,50,rtc-snvs,1)
662 endef
663
664 define KernelPackage/rtc-snvs/description
665 Kernel module for Freescale SNVS RTC on chip module
666 endef
667
668 $(eval $(call KernelPackage,rtc-snvs))
669
670 define KernelPackage/rtc-rs5c372a
671 SUBMENU:=$(OTHER_MENU)
672 TITLE:=Ricoh R2025S/D, RS5C372A/B, RV5C386, RV5C387A
673 DEPENDS:=@RTC_SUPPORT +kmod-i2c-core
674 KCONFIG:=CONFIG_RTC_DRV_RS5C372 \
675 CONFIG_RTC_CLASS=y
676 FILES:=$(LINUX_DIR)/drivers/rtc/rtc-rs5c372.ko
677 AUTOLOAD:=$(call AutoLoad,50,rtc-rs5c372,1)
678 endef
679
680 define KernelPackage/rtc-rs5c372a/description
681 Kernel module for Ricoh R2025S/D, RS5C372A/B, RV5C386, RV5C387A RTC on chip module
682 endef
683
684 $(eval $(call KernelPackage,rtc-rs5c372a))
685
686
687 define KernelPackage/mtdtests
688 SUBMENU:=$(OTHER_MENU)
689 TITLE:=MTD subsystem tests
690 KCONFIG:=CONFIG_MTD_TESTS
691 FILES:=\
692 $(LINUX_DIR)/drivers/mtd/tests/mtd_nandecctest.ko \
693 $(LINUX_DIR)/drivers/mtd/tests/mtd_oobtest.ko \
694 $(LINUX_DIR)/drivers/mtd/tests/mtd_pagetest.ko \
695 $(LINUX_DIR)/drivers/mtd/tests/mtd_readtest.ko \
696 $(LINUX_DIR)/drivers/mtd/tests/mtd_speedtest.ko \
697 $(LINUX_DIR)/drivers/mtd/tests/mtd_stresstest.ko \
698 $(LINUX_DIR)/drivers/mtd/tests/mtd_subpagetest.ko \
699 $(LINUX_DIR)/drivers/mtd/tests/mtd_torturetest.ko
700 endef
701
702 define KernelPackage/mtdtests/description
703 Kernel modules for MTD subsystem/driver testing
704 endef
705
706 $(eval $(call KernelPackage,mtdtests))
707
708
709 define KernelPackage/serial-8250
710 SUBMENU:=$(OTHER_MENU)
711 TITLE:=8250 UARTs
712 KCONFIG:= CONFIG_SERIAL_8250 \
713 CONFIG_SERIAL_8250_NR_UARTS=16 \
714 CONFIG_SERIAL_8250_RUNTIME_UARTS=16 \
715 CONFIG_SERIAL_8250_EXTENDED=y \
716 CONFIG_SERIAL_8250_MANY_PORTS=y \
717 CONFIG_SERIAL_8250_SHARE_IRQ=y \
718 CONFIG_SERIAL_8250_DETECT_IRQ=n \
719 CONFIG_SERIAL_8250_RSA=n
720 FILES:= \
721 $(LINUX_DIR)/drivers/tty/serial/8250/8250.ko \
722 $(LINUX_DIR)/drivers/tty/serial/8250/8250_base.ko@ge4.4
723 endef
724
725 define KernelPackage/serial-8250/description
726 Kernel module for 8250 UART based serial ports
727 endef
728
729 $(eval $(call KernelPackage,serial-8250))
730
731
732 define KernelPackage/regmap
733 SUBMENU:=$(OTHER_MENU)
734 TITLE:=Generic register map support
735 DEPENDS:=+kmod-lib-lzo +kmod-i2c-core
736 KCONFIG:=CONFIG_REGMAP \
737 CONFIG_REGMAP_MMIO \
738 CONFIG_REGMAP_SPI \
739 CONFIG_REGMAP_I2C \
740 CONFIG_SPI=y
741 FILES:= \
742 $(LINUX_DIR)/drivers/base/regmap/regmap-core.ko \
743 $(LINUX_DIR)/drivers/base/regmap/regmap-i2c.ko \
744 $(LINUX_DIR)/drivers/base/regmap/regmap-mmio.ko \
745 $(if $(CONFIG_SPI),$(LINUX_DIR)/drivers/base/regmap/regmap-spi.ko)
746 AUTOLOAD:=$(call AutoLoad,21,regmap-core regmap-i2c regmap-mmio regmap-spi)
747 endef
748
749 define KernelPackage/regmap/description
750 Generic register map support
751 endef
752
753 $(eval $(call KernelPackage,regmap))
754
755 define KernelPackage/ikconfig
756 SUBMENU:=$(OTHER_MENU)
757 TITLE:=Kernel configuration via /proc/config.gz
758 KCONFIG:=CONFIG_IKCONFIG \
759 CONFIG_IKCONFIG_PROC=y
760 FILES:=$(LINUX_DIR)/kernel/configs.ko
761 AUTOLOAD:=$(call AutoLoad,70,configs)
762 endef
763
764 define KernelPackage/ikconfig/description
765 Kernel configuration via /proc/config.gz
766 endef
767
768 $(eval $(call KernelPackage,ikconfig))
769
770
771 define KernelPackage/zram
772 SUBMENU:=$(OTHER_MENU)
773 TITLE:=ZRAM
774 DEPENDS:=+kmod-lib-lzo +kmod-lib-lz4
775 KCONFIG:= \
776 CONFIG_ZSMALLOC \
777 CONFIG_ZRAM \
778 CONFIG_ZRAM_DEBUG=n \
779 CONFIG_PGTABLE_MAPPING=n \
780 CONFIG_ZSMALLOC_STAT=n \
781 CONFIG_ZRAM_LZ4_COMPRESS=y
782 FILES:= \
783 $(LINUX_DIR)/mm/zsmalloc.ko \
784 $(LINUX_DIR)/drivers/block/zram/zram.ko
785 AUTOLOAD:=$(call AutoLoad,20,zsmalloc zram)
786 endef
787
788 define KernelPackage/zram/description
789 Compressed RAM block device support
790 endef
791
792 $(eval $(call KernelPackage,zram))
793
794
795 define KernelPackage/mvsdio
796 SUBMENU:=$(OTHER_MENU)
797 TITLE:=Marvell SDIO support
798 DEPENDS:=@TARGET_orion||TARGET_kirkwood +kmod-mmc
799 KCONFIG:=CONFIG_MMC_MVSDIO
800 FILES:=$(LINUX_DIR)/drivers/mmc/host/mvsdio.ko
801 AUTOLOAD:=$(call AutoProbe,mvsdio)
802 endef
803
804 define KernelPackage/mvsdio/description
805 Kernel support for the Marvell SDIO controller
806 endef
807
808 $(eval $(call KernelPackage,mvsdio))
809
810
811 define KernelPackage/pps
812 SUBMENU:=$(OTHER_MENU)
813 TITLE:=PPS support
814 KCONFIG:=CONFIG_PPS
815 FILES:=$(LINUX_DIR)/drivers/pps/pps_core.ko
816 AUTOLOAD:=$(call AutoLoad,17,pps_core,1)
817 endef
818
819 define KernelPackage/pps/description
820 PPS (Pulse Per Second) is a special pulse provided by some GPS
821 antennae. Userland can use it to get a high-precision time
822 reference.
823 endef
824
825 $(eval $(call KernelPackage,pps))
826
827
828 define KernelPackage/pps-gpio
829 SUBMENU:=$(OTHER_MENU)
830 TITLE:=PPS client using GPIO
831 DEPENDS:=+kmod-pps
832 KCONFIG:=CONFIG_PPS_CLIENT_GPIO
833 FILES:=$(LINUX_DIR)/drivers/pps/clients/pps-gpio.ko
834 AUTOLOAD:=$(call AutoLoad,18,pps-gpio,1)
835 endef
836
837 define KernelPackage/pps-gpio/description
838 Support for a PPS source using GPIO. To be useful you must
839 also register a platform device specifying the GPIO pin and
840 other options, usually in your board setup.
841 endef
842
843 $(eval $(call KernelPackage,pps-gpio))
844
845
846 define KernelPackage/pps-ldisc
847 SUBMENU:=$(OTHER_MENU)
848 TITLE:=PPS line discipline
849 DEPENDS:=+kmod-pps
850 KCONFIG:=CONFIG_PPS_CLIENT_LDISC
851 FILES:=$(LINUX_DIR)/drivers/pps/clients/pps-ldisc.ko
852 AUTOLOAD:=$(call AutoLoad,18,pps-ldisc,1)
853 endef
854
855 define KernelPackage/pps-ldisc/description
856 Support for a PPS source connected with the CD (Carrier
857 Detect) pin of your serial port.
858 endef
859
860 $(eval $(call KernelPackage,pps-ldisc))
861
862
863 define KernelPackage/ptp
864 SUBMENU:=$(OTHER_MENU)
865 TITLE:=PTP clock support
866 DEPENDS:=+kmod-pps
867 KCONFIG:= \
868 CONFIG_PTP_1588_CLOCK \
869 CONFIG_NET_PTP_CLASSIFY=y
870 FILES:=$(LINUX_DIR)/drivers/ptp/ptp.ko
871 AUTOLOAD:=$(call AutoLoad,18,ptp,1)
872 endef
873
874 define KernelPackage/ptp/description
875 The IEEE 1588 standard defines a method to precisely
876 synchronize distributed clocks over Ethernet networks.
877 endef
878
879 $(eval $(call KernelPackage,ptp))
880
881
882 define KernelPackage/ptp-gianfar
883 SUBMENU:=$(OTHER_MENU)
884 TITLE:=Freescale Gianfar PTP support
885 DEPENDS:=@TARGET_mpc85xx +kmod-gianfar +kmod-ptp
886 KCONFIG:=CONFIG_PTP_1588_CLOCK_GIANFAR
887 FILES:=$(LINUX_DIR)/drivers/net/ethernet/freescale/gianfar_ptp.ko
888 AUTOLOAD:=$(call AutoProbe,gianfar_ptp)
889 endef
890
891 define KernelPackage/ptp-gianfar/description
892 Kernel module for IEEE 1588 support for Freescale
893 Gianfar Ethernet drivers
894 endef
895
896 $(eval $(call KernelPackage,ptp-gianfar))
897
898
899 define KernelPackage/random-core
900 SUBMENU:=$(OTHER_MENU)
901 TITLE:=Hardware Random Number Generator Core support
902 KCONFIG:=CONFIG_HW_RANDOM
903 FILES:=$(LINUX_DIR)/drivers/char/hw_random/rng-core.ko
904 endef
905
906 define KernelPackage/random-core/description
907 Kernel module for the HW random number generator core infrastructure
908 endef
909
910 $(eval $(call KernelPackage,random-core))
911
912 define KernelPackage/random-omap
913 SUBMENU:=$(OTHER_MENU)
914 TITLE:=Hardware Random Number Generator OMAP support
915 KCONFIG:=CONFIG_HW_RANDOM_OMAP
916 FILES:=$(LINUX_DIR)/drivers/char/hw_random/omap-rng.ko
917 DEPENDS:=@(TARGET_omap24xx||TARGET_omap) +kmod-random-core
918 AUTOLOAD:=$(call AutoProbe,random-omap)
919 endef
920
921 define KernelPackage/random-omap/description
922 Kernel module for the OMAP Random Number Generator
923 found on OMAP16xx, OMAP2/3/4/5 and AM33xx/AM43xx multimedia processors.
924 endef
925
926 $(eval $(call KernelPackage,random-omap))
927
928 define KernelPackage/thermal
929 SUBMENU:=$(OTHER_MENU)
930 TITLE:=Generic Thermal sysfs driver
931 DEPENDS:=+kmod-hwmon-core
932 HIDDEN:=1
933 KCONFIG:= \
934 CONFIG_THERMAL \
935 CONFIG_THERMAL_OF=y \
936 CONFIG_CPU_THERMAL=y \
937 CONFIG_THERMAL_DEFAULT_GOV_STEP_WISE=y \
938 CONFIG_THERMAL_DEFAULT_GOV_FAIR_SHARE=n \
939 CONFIG_THERMAL_DEFAULT_GOV_USER_SPACE=n \
940 CONFIG_THERMAL_GOV_FAIR_SHARE=n \
941 CONFIG_THERMAL_GOV_STEP_WISE=y \
942 CONFIG_THERMAL_GOV_USER_SPACE=n \
943 CONFIG_THERMAL_HWMON=y \
944 CONFIG_THERMAL_EMULATION=n
945 FILES:=$(LINUX_DIR)/drivers/thermal/thermal_sys.ko
946 AUTOLOAD:=$(call AutoProbe,thermal_sys)
947 endef
948
949 define KernelPackage/thermal/description
950 Generic Thermal Sysfs driver offers a generic mechanism for thermal
951 management. Usually it's made up of one or more thermal zone and cooling
952 device.
953 endef
954
955 $(eval $(call KernelPackage,thermal))
956
957
958 define KernelPackage/thermal-imx
959 SUBMENU:=$(OTHER_MENU)
960 TITLE:=Temperature sensor driver for Freescale i.MX SoCs
961 DEPENDS:=@TARGET_imx6 +kmod-thermal
962 KCONFIG:= \
963 CONFIG_IMX_THERMAL
964 FILES:=$(LINUX_DIR)/drivers/thermal/imx_thermal.ko
965 AUTOLOAD:=$(call AutoProbe,imx_thermal)
966 endef
967
968 define KernelPackage/thermal-imx/description
969 Support for Temperature Monitor (TEMPMON) found on Freescale i.MX SoCs.
970 It supports one critical trip point and one passive trip point. The
971 cpufreq is used as the cooling device to throttle CPUs when the
972 passive trip is crossed.
973 endef
974
975 $(eval $(call KernelPackage,thermal-imx))
976
977
978 define KernelPackage/thermal-kirkwood
979 SUBMENU:=$(OTHER_MENU)
980 TITLE:=Temperature sensor on Marvell Kirkwood SoCs
981 DEPENDS:=@TARGET_kirkwood +kmod-thermal
982 KCONFIG:=CONFIG_KIRKWOOD_THERMAL
983 FILES:=$(LINUX_DIR)/drivers/thermal/kirkwood_thermal.ko
984 AUTOLOAD:=$(call AutoProbe,kirkwood_thermal)
985 endef
986
987 define KernelPackage/thermal-kirkwood/description
988 Support for the Kirkwood thermal sensor driver into the Linux thermal
989 framework. Only kirkwood 88F6282 and 88F6283 have this sensor.
990 endef
991
992 $(eval $(call KernelPackage,thermal-kirkwood))
993
994
995 define KernelPackage/gpio-beeper
996 SUBMENU:=$(OTHER_MENU)
997 TITLE:=GPIO beeper support
998 DEPENDS:=+kmod-input-core
999 KCONFIG:= \
1000 CONFIG_INPUT_MISC=y \
1001 CONFIG_INPUT_GPIO_BEEPER
1002 FILES:= \
1003 $(LINUX_DIR)/drivers/input/misc/gpio-beeper.ko
1004 AUTOLOAD:=$(call AutoLoad,50,gpio-beeper)
1005 endef
1006
1007 define KernelPackage/gpio-beeper/description
1008 This enables playing beeps through an GPIO-connected buzzer
1009 endef
1010
1011 $(eval $(call KernelPackage,gpio-beeper))
1012
1013
1014 define KernelPackage/echo
1015 SUBMENU:=$(OTHER_MENU)
1016 TITLE:=Line Echo Canceller
1017 KCONFIG:=CONFIG_ECHO
1018 FILES:=$(LINUX_DIR)/drivers/misc/echo/echo.ko
1019 AUTOLOAD:=$(call AutoLoad,50,echo)
1020 endef
1021
1022 define KernelPackage/echo/description
1023 This driver provides line echo cancelling support for mISDN and
1024 DAHDI drivers
1025 endef
1026
1027 $(eval $(call KernelPackage,echo))
1028
1029
1030 define KernelPackage/bmp085
1031 SUBMENU:=$(OTHER_MENU)
1032 TITLE:=BMP085/BMP18x pressure sensor
1033 DEPENDS:= +kmod-regmap @!LINUX_3_18 @!LINUX_4_1
1034 KCONFIG:= CONFIG_BMP085
1035 FILES:= $(LINUX_DIR)/drivers/misc/bmp085.ko
1036 endef
1037
1038 define KernelPackage/bmp085/description
1039 This driver adds support for Bosch Sensortec's digital pressure
1040 sensors BMP085 and BMP18x.
1041 endef
1042
1043 $(eval $(call KernelPackage,bmp085))
1044
1045
1046 define KernelPackage/bmp085-i2c
1047 SUBMENU:=$(OTHER_MENU)
1048 TITLE:=BMP085/BMP18x pressure sensor I2C
1049 DEPENDS:= +kmod-bmp085
1050 KCONFIG:= CONFIG_BMP085_I2C
1051 FILES:= $(LINUX_DIR)/drivers/misc/bmp085-i2c.ko
1052 AUTOLOAD:=$(call AutoProbe,bmp085-i2c)
1053 endef
1054 define KernelPackage/bmp085-i2c/description
1055 This driver adds support for Bosch Sensortec's digital pressure
1056 sensor connected via I2C.
1057 endef
1058
1059 $(eval $(call KernelPackage,bmp085-i2c))
1060
1061
1062 define KernelPackage/bmp085-spi
1063 SUBMENU:=$(OTHER_MENU)
1064 TITLE:=BMP085/BMP18x pressure sensor SPI
1065 DEPENDS:= +kmod-bmp085
1066 KCONFIG:= CONFIG_BMP085_SPI
1067 FILES:= $(LINUX_DIR)/drivers/misc/bmp085-spi.ko
1068 AUTOLOAD:=$(call AutoProbe,bmp085-spi)
1069 endef
1070 define KernelPackage/bmp085-spi/description
1071 This driver adds support for Bosch Sensortec's digital pressure
1072 sensor connected via SPI.
1073 endef
1074
1075 $(eval $(call KernelPackage,bmp085-spi))