30d145d7f21c01f5fb17c2d398dc27cae80b4f62
[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-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/rtc-ds1307
502 SUBMENU:=$(OTHER_MENU)
503 TITLE:=Dallas/Maxim DS1307 (and compatible) RTC support
504 DEPENDS:=@RTC_SUPPORT +kmod-i2c-core
505 KCONFIG:=CONFIG_RTC_DRV_DS1307 \
506 CONFIG_RTC_CLASS=y
507 FILES:=$(LINUX_DIR)/drivers/rtc/rtc-ds1307.ko
508 AUTOLOAD:=$(call AutoProbe,rtc-ds1307)
509 endef
510
511 define KernelPackage/rtc-ds1307/description
512 Kernel module for Dallas/Maxim DS1307/DS1337/DS1338/DS1340/DS1388/DS3231,
513 Epson RX-8025 and various other compatible RTC chips connected via I2C.
514 endef
515
516 $(eval $(call KernelPackage,rtc-ds1307))
517
518
519 define KernelPackage/rtc-ds1374
520 SUBMENU:=$(OTHER_MENU)
521 TITLE:=Dallas/Maxim DS1374 RTC support
522 DEPENDS:=@RTC_SUPPORT +kmod-i2c-core
523 KCONFIG:=CONFIG_RTC_DRV_DS1374 \
524 CONFIG_RTC_DRV_DS1374_WDT=n \
525 CONFIG_RTC_CLASS=y
526 FILES:=$(LINUX_DIR)/drivers/rtc/rtc-ds1374.ko
527 AUTOLOAD:=$(call AutoProbe,rtc-ds1374)
528 endef
529
530 define KernelPackage/rtc-ds1374/description
531 Kernel module for Dallas/Maxim DS1374.
532 endef
533
534 $(eval $(call KernelPackage,rtc-ds1374))
535
536
537 define KernelPackage/rtc-ds1672
538 SUBMENU:=$(OTHER_MENU)
539 TITLE:=Dallas/Maxim DS1672 RTC support
540 DEPENDS:=@RTC_SUPPORT +kmod-i2c-core
541 KCONFIG:=CONFIG_RTC_DRV_DS1672 \
542 CONFIG_RTC_CLASS=y
543 FILES:=$(LINUX_DIR)/drivers/rtc/rtc-ds1672.ko
544 AUTOLOAD:=$(call AutoProbe,rtc-ds1672)
545 endef
546
547 define KernelPackage/rtc-ds1672/description
548 Kernel module for Dallas/Maxim DS1672 RTC.
549 endef
550
551 $(eval $(call KernelPackage,rtc-ds1672))
552
553
554 define KernelPackage/rtc-isl1208
555 SUBMENU:=$(OTHER_MENU)
556 TITLE:=Intersil ISL1208 RTC support
557 DEPENDS:=@RTC_SUPPORT +kmod-i2c-core
558 KCONFIG:=CONFIG_RTC_DRV_ISL1208 \
559 CONFIG_RTC_CLASS=y
560 FILES:=$(LINUX_DIR)/drivers/rtc/rtc-isl1208.ko
561 AUTOLOAD:=$(call AutoProbe,rtc-isl1208)
562 endef
563
564 define KernelPackage/rtc-isl1208/description
565 Kernel module for Intersil ISL1208 RTC.
566 endef
567
568 $(eval $(call KernelPackage,rtc-isl1208))
569
570
571 define KernelPackage/rtc-pcf8563
572 SUBMENU:=$(OTHER_MENU)
573 TITLE:=Philips PCF8563/Epson RTC8564 RTC support
574 DEPENDS:=@RTC_SUPPORT +kmod-i2c-core
575 KCONFIG:=CONFIG_RTC_DRV_PCF8563 \
576 CONFIG_RTC_CLASS=y
577 FILES:=$(LINUX_DIR)/drivers/rtc/rtc-pcf8563.ko
578 AUTOLOAD:=$(call AutoProbe,rtc-pcf8563)
579 endef
580
581 define KernelPackage/rtc-pcf8563/description
582 Kernel module for Philips PCF8563 RTC chip.
583 The Epson RTC8564 should work as well.
584 endef
585
586 $(eval $(call KernelPackage,rtc-pcf8563))
587
588
589 define KernelPackage/rtc-pcf2123
590 SUBMENU:=$(OTHER_MENU)
591 TITLE:=Philips PCF2123 RTC support
592 DEPENDS:=@RTC_SUPPORT
593 KCONFIG:=CONFIG_RTC_DRV_PCF2123 \
594 CONFIG_RTC_CLASS=y
595 FILES:=$(LINUX_DIR)/drivers/rtc/rtc-pcf2123.ko
596 AUTOLOAD:=$(call AutoProbe,rtc-pcf2123)
597 endef
598
599 define KernelPackage/rtc-pcf2123/description
600 Kernel module for Philips PCF2123 RTC chip
601 endef
602
603 $(eval $(call KernelPackage,rtc-pcf2123))
604
605 define KernelPackage/rtc-pt7c4338
606 SUBMENU:=$(OTHER_MENU)
607 TITLE:=Pericom PT7C4338 RTC support
608 DEPENDS:=@RTC_SUPPORT +kmod-i2c-core
609 KCONFIG:=CONFIG_RTC_DRV_PT7C4338 \
610 CONFIG_RTC_CLASS=y
611 FILES:=$(LINUX_DIR)/drivers/rtc/rtc-pt7c4338.ko
612 AUTOLOAD:=$(call AutoProbe,rtc-pt7c4338)
613 endef
614
615 define KernelPackage/rtc-pt7c4338/description
616 Kernel module for Pericom PT7C4338 i2c RTC chip
617 endef
618
619 $(eval $(call KernelPackage,rtc-pt7c4338))
620
621 define KernelPackage/rtc-rs5c372a
622 SUBMENU:=$(OTHER_MENU)
623 TITLE:=Ricoh R2025S/D, RS5C372A/B, RV5C386, RV5C387A
624 DEPENDS:=@RTC_SUPPORT +kmod-i2c-core
625 KCONFIG:=CONFIG_RTC_DRV_RS5C372 \
626 CONFIG_RTC_CLASS=y
627 FILES:=$(LINUX_DIR)/drivers/rtc/rtc-rs5c372.ko
628 AUTOLOAD:=$(call AutoLoad,50,rtc-rs5c372,1)
629 endef
630
631 define KernelPackage/rtc-rs5c372a/description
632 Kernel module for Ricoh R2025S/D, RS5C372A/B, RV5C386, RV5C387A RTC on chip module
633 endef
634
635 $(eval $(call KernelPackage,rtc-rs5c372a))
636
637
638 define KernelPackage/mtdtests
639 SUBMENU:=$(OTHER_MENU)
640 TITLE:=MTD subsystem tests
641 KCONFIG:=CONFIG_MTD_TESTS
642 FILES:=\
643 $(LINUX_DIR)/drivers/mtd/tests/mtd_nandecctest.ko \
644 $(LINUX_DIR)/drivers/mtd/tests/mtd_oobtest.ko \
645 $(LINUX_DIR)/drivers/mtd/tests/mtd_pagetest.ko \
646 $(LINUX_DIR)/drivers/mtd/tests/mtd_readtest.ko \
647 $(LINUX_DIR)/drivers/mtd/tests/mtd_speedtest.ko \
648 $(LINUX_DIR)/drivers/mtd/tests/mtd_stresstest.ko \
649 $(LINUX_DIR)/drivers/mtd/tests/mtd_subpagetest.ko \
650 $(LINUX_DIR)/drivers/mtd/tests/mtd_torturetest.ko
651 endef
652
653 define KernelPackage/mtdtests/description
654 Kernel modules for MTD subsystem/driver testing
655 endef
656
657 $(eval $(call KernelPackage,mtdtests))
658
659
660 define KernelPackage/serial-8250
661 SUBMENU:=$(OTHER_MENU)
662 TITLE:=8250 UARTs
663 KCONFIG:= CONFIG_SERIAL_8250 \
664 CONFIG_SERIAL_8250_NR_UARTS=16 \
665 CONFIG_SERIAL_8250_RUNTIME_UARTS=16 \
666 CONFIG_SERIAL_8250_EXTENDED=y \
667 CONFIG_SERIAL_8250_MANY_PORTS=y \
668 CONFIG_SERIAL_8250_SHARE_IRQ=y \
669 CONFIG_SERIAL_8250_DETECT_IRQ=n \
670 CONFIG_SERIAL_8250_RSA=n
671 FILES:= \
672 $(LINUX_DIR)/drivers/tty/serial/8250/8250.ko \
673 $(LINUX_DIR)/drivers/tty/serial/8250/8250_base.ko@ge4.4
674 endef
675
676 define KernelPackage/serial-8250/description
677 Kernel module for 8250 UART based serial ports
678 endef
679
680 $(eval $(call KernelPackage,serial-8250))
681
682
683 define KernelPackage/regmap
684 SUBMENU:=$(OTHER_MENU)
685 TITLE:=Generic register map support
686 DEPENDS:=+kmod-lib-lzo +kmod-i2c-core
687 KCONFIG:=CONFIG_REGMAP \
688 CONFIG_REGMAP_MMIO \
689 CONFIG_REGMAP_SPI \
690 CONFIG_REGMAP_I2C \
691 CONFIG_SPI=y
692 FILES:= \
693 $(LINUX_DIR)/drivers/base/regmap/regmap-core.ko \
694 $(LINUX_DIR)/drivers/base/regmap/regmap-i2c.ko \
695 $(LINUX_DIR)/drivers/base/regmap/regmap-mmio.ko \
696 $(if $(CONFIG_SPI),$(LINUX_DIR)/drivers/base/regmap/regmap-spi.ko)
697 AUTOLOAD:=$(call AutoLoad,21,regmap-core regmap-i2c regmap-mmio regmap-spi)
698 endef
699
700 define KernelPackage/regmap/description
701 Generic register map support
702 endef
703
704 $(eval $(call KernelPackage,regmap))
705
706 define KernelPackage/ikconfig
707 SUBMENU:=$(OTHER_MENU)
708 TITLE:=Kernel configuration via /proc/config.gz
709 KCONFIG:=CONFIG_IKCONFIG \
710 CONFIG_IKCONFIG_PROC=y
711 FILES:=$(LINUX_DIR)/kernel/configs.ko
712 AUTOLOAD:=$(call AutoLoad,70,configs)
713 endef
714
715 define KernelPackage/ikconfig/description
716 Kernel configuration via /proc/config.gz
717 endef
718
719 $(eval $(call KernelPackage,ikconfig))
720
721
722 define KernelPackage/zram
723 SUBMENU:=$(OTHER_MENU)
724 TITLE:=ZRAM
725 DEPENDS:=+kmod-lib-lzo +kmod-lib-lz4
726 KCONFIG:= \
727 CONFIG_ZSMALLOC \
728 CONFIG_ZRAM \
729 CONFIG_ZRAM_DEBUG=n \
730 CONFIG_PGTABLE_MAPPING=n \
731 CONFIG_ZSMALLOC_STAT=n \
732 CONFIG_ZRAM_LZ4_COMPRESS=y
733 FILES:= \
734 $(LINUX_DIR)/mm/zsmalloc.ko \
735 $(LINUX_DIR)/drivers/block/zram/zram.ko
736 AUTOLOAD:=$(call AutoLoad,20,zsmalloc zram)
737 endef
738
739 define KernelPackage/zram/description
740 Compressed RAM block device support
741 endef
742
743 $(eval $(call KernelPackage,zram))
744
745
746 define KernelPackage/pps
747 SUBMENU:=$(OTHER_MENU)
748 TITLE:=PPS support
749 KCONFIG:=CONFIG_PPS
750 FILES:=$(LINUX_DIR)/drivers/pps/pps_core.ko
751 AUTOLOAD:=$(call AutoLoad,17,pps_core,1)
752 endef
753
754 define KernelPackage/pps/description
755 PPS (Pulse Per Second) is a special pulse provided by some GPS
756 antennae. Userland can use it to get a high-precision time
757 reference.
758 endef
759
760 $(eval $(call KernelPackage,pps))
761
762
763 define KernelPackage/pps-gpio
764 SUBMENU:=$(OTHER_MENU)
765 TITLE:=PPS client using GPIO
766 DEPENDS:=+kmod-pps
767 KCONFIG:=CONFIG_PPS_CLIENT_GPIO
768 FILES:=$(LINUX_DIR)/drivers/pps/clients/pps-gpio.ko
769 AUTOLOAD:=$(call AutoLoad,18,pps-gpio,1)
770 endef
771
772 define KernelPackage/pps-gpio/description
773 Support for a PPS source using GPIO. To be useful you must
774 also register a platform device specifying the GPIO pin and
775 other options, usually in your board setup.
776 endef
777
778 $(eval $(call KernelPackage,pps-gpio))
779
780
781 define KernelPackage/pps-ldisc
782 SUBMENU:=$(OTHER_MENU)
783 TITLE:=PPS line discipline
784 DEPENDS:=+kmod-pps
785 KCONFIG:=CONFIG_PPS_CLIENT_LDISC
786 FILES:=$(LINUX_DIR)/drivers/pps/clients/pps-ldisc.ko
787 AUTOLOAD:=$(call AutoLoad,18,pps-ldisc,1)
788 endef
789
790 define KernelPackage/pps-ldisc/description
791 Support for a PPS source connected with the CD (Carrier
792 Detect) pin of your serial port.
793 endef
794
795 $(eval $(call KernelPackage,pps-ldisc))
796
797
798 define KernelPackage/ptp
799 SUBMENU:=$(OTHER_MENU)
800 TITLE:=PTP clock support
801 DEPENDS:=+kmod-pps
802 KCONFIG:= \
803 CONFIG_PTP_1588_CLOCK \
804 CONFIG_NET_PTP_CLASSIFY=y
805 FILES:=$(LINUX_DIR)/drivers/ptp/ptp.ko
806 AUTOLOAD:=$(call AutoLoad,18,ptp,1)
807 endef
808
809 define KernelPackage/ptp/description
810 The IEEE 1588 standard defines a method to precisely
811 synchronize distributed clocks over Ethernet networks.
812 endef
813
814 $(eval $(call KernelPackage,ptp))
815
816
817 define KernelPackage/ptp-gianfar
818 SUBMENU:=$(OTHER_MENU)
819 TITLE:=Freescale Gianfar PTP support
820 DEPENDS:=@TARGET_mpc85xx +kmod-gianfar +kmod-ptp
821 KCONFIG:=CONFIG_PTP_1588_CLOCK_GIANFAR
822 FILES:=$(LINUX_DIR)/drivers/net/ethernet/freescale/gianfar_ptp.ko
823 AUTOLOAD:=$(call AutoProbe,gianfar_ptp)
824 endef
825
826 define KernelPackage/ptp-gianfar/description
827 Kernel module for IEEE 1588 support for Freescale
828 Gianfar Ethernet drivers
829 endef
830
831 $(eval $(call KernelPackage,ptp-gianfar))
832
833
834 define KernelPackage/random-core
835 SUBMENU:=$(OTHER_MENU)
836 TITLE:=Hardware Random Number Generator Core support
837 KCONFIG:=CONFIG_HW_RANDOM
838 FILES:=$(LINUX_DIR)/drivers/char/hw_random/rng-core.ko
839 endef
840
841 define KernelPackage/random-core/description
842 Kernel module for the HW random number generator core infrastructure
843 endef
844
845 $(eval $(call KernelPackage,random-core))
846
847 define KernelPackage/random-omap
848 SUBMENU:=$(OTHER_MENU)
849 TITLE:=Hardware Random Number Generator OMAP support
850 KCONFIG:=CONFIG_HW_RANDOM_OMAP
851 FILES:=$(LINUX_DIR)/drivers/char/hw_random/omap-rng.ko
852 DEPENDS:=@(TARGET_omap24xx||TARGET_omap) +kmod-random-core
853 AUTOLOAD:=$(call AutoProbe,random-omap)
854 endef
855
856 define KernelPackage/random-omap/description
857 Kernel module for the OMAP Random Number Generator
858 found on OMAP16xx, OMAP2/3/4/5 and AM33xx/AM43xx multimedia processors.
859 endef
860
861 $(eval $(call KernelPackage,random-omap))
862
863 define KernelPackage/thermal
864 SUBMENU:=$(OTHER_MENU)
865 TITLE:=Generic Thermal sysfs driver
866 DEPENDS:=+kmod-hwmon-core
867 HIDDEN:=1
868 KCONFIG:= \
869 CONFIG_THERMAL \
870 CONFIG_THERMAL_OF=y \
871 CONFIG_CPU_THERMAL=y \
872 CONFIG_THERMAL_DEFAULT_GOV_STEP_WISE=y \
873 CONFIG_THERMAL_DEFAULT_GOV_FAIR_SHARE=n \
874 CONFIG_THERMAL_DEFAULT_GOV_USER_SPACE=n \
875 CONFIG_THERMAL_GOV_FAIR_SHARE=n \
876 CONFIG_THERMAL_GOV_STEP_WISE=y \
877 CONFIG_THERMAL_GOV_USER_SPACE=n \
878 CONFIG_THERMAL_HWMON=y \
879 CONFIG_THERMAL_EMULATION=n
880 FILES:=$(LINUX_DIR)/drivers/thermal/thermal_sys.ko
881 AUTOLOAD:=$(call AutoProbe,thermal_sys)
882 endef
883
884 define KernelPackage/thermal/description
885 Generic Thermal Sysfs driver offers a generic mechanism for thermal
886 management. Usually it's made up of one or more thermal zone and cooling
887 device.
888 endef
889
890 $(eval $(call KernelPackage,thermal))
891
892
893 define KernelPackage/thermal-imx
894 SUBMENU:=$(OTHER_MENU)
895 TITLE:=Temperature sensor driver for Freescale i.MX SoCs
896 DEPENDS:=@TARGET_imx6 +kmod-thermal
897 KCONFIG:= \
898 CONFIG_IMX_THERMAL
899 FILES:=$(LINUX_DIR)/drivers/thermal/imx_thermal.ko
900 AUTOLOAD:=$(call AutoProbe,imx_thermal)
901 endef
902
903 define KernelPackage/thermal-imx/description
904 Support for Temperature Monitor (TEMPMON) found on Freescale i.MX SoCs.
905 It supports one critical trip point and one passive trip point. The
906 cpufreq is used as the cooling device to throttle CPUs when the
907 passive trip is crossed.
908 endef
909
910 $(eval $(call KernelPackage,thermal-imx))
911
912
913 define KernelPackage/gpio-beeper
914 SUBMENU:=$(OTHER_MENU)
915 TITLE:=GPIO beeper support
916 DEPENDS:=+kmod-input-core
917 KCONFIG:= \
918 CONFIG_INPUT_MISC=y \
919 CONFIG_INPUT_GPIO_BEEPER
920 FILES:= \
921 $(LINUX_DIR)/drivers/input/misc/gpio-beeper.ko
922 AUTOLOAD:=$(call AutoLoad,50,gpio-beeper)
923 endef
924
925 define KernelPackage/gpio-beeper/description
926 This enables playing beeps through an GPIO-connected buzzer
927 endef
928
929 $(eval $(call KernelPackage,gpio-beeper))
930
931
932 define KernelPackage/echo
933 SUBMENU:=$(OTHER_MENU)
934 TITLE:=Line Echo Canceller
935 KCONFIG:=CONFIG_ECHO
936 FILES:=$(LINUX_DIR)/drivers/misc/echo/echo.ko
937 AUTOLOAD:=$(call AutoLoad,50,echo)
938 endef
939
940 define KernelPackage/echo/description
941 This driver provides line echo cancelling support for mISDN and
942 DAHDI drivers
943 endef
944
945 $(eval $(call KernelPackage,echo))
946
947
948 define KernelPackage/bmp085
949 SUBMENU:=$(OTHER_MENU)
950 TITLE:=BMP085/BMP18x pressure sensor
951 DEPENDS:= +kmod-regmap @!LINUX_3_18 @!LINUX_4_1
952 KCONFIG:= CONFIG_BMP085
953 FILES:= $(LINUX_DIR)/drivers/misc/bmp085.ko
954 endef
955
956 define KernelPackage/bmp085/description
957 This driver adds support for Bosch Sensortec's digital pressure
958 sensors BMP085 and BMP18x.
959 endef
960
961 $(eval $(call KernelPackage,bmp085))
962
963
964 define KernelPackage/bmp085-i2c
965 SUBMENU:=$(OTHER_MENU)
966 TITLE:=BMP085/BMP18x pressure sensor I2C
967 DEPENDS:= +kmod-bmp085
968 KCONFIG:= CONFIG_BMP085_I2C
969 FILES:= $(LINUX_DIR)/drivers/misc/bmp085-i2c.ko
970 AUTOLOAD:=$(call AutoProbe,bmp085-i2c)
971 endef
972 define KernelPackage/bmp085-i2c/description
973 This driver adds support for Bosch Sensortec's digital pressure
974 sensor connected via I2C.
975 endef
976
977 $(eval $(call KernelPackage,bmp085-i2c))
978
979
980 define KernelPackage/bmp085-spi
981 SUBMENU:=$(OTHER_MENU)
982 TITLE:=BMP085/BMP18x pressure sensor SPI
983 DEPENDS:= +kmod-bmp085
984 KCONFIG:= CONFIG_BMP085_SPI
985 FILES:= $(LINUX_DIR)/drivers/misc/bmp085-spi.ko
986 AUTOLOAD:=$(call AutoProbe,bmp085-spi)
987 endef
988 define KernelPackage/bmp085-spi/description
989 This driver adds support for Bosch Sensortec's digital pressure
990 sensor connected via SPI.
991 endef
992
993 $(eval $(call KernelPackage,bmp085-spi))