ffb7b88ec152211f4b570a461f31a1138fb2ba94
[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 TITLE:=DMA shared buffer support
135 HIDDEN:=1
136 KCONFIG:=CONFIG_DMA_SHARED_BUFFER
137 FILES:=$(LINUX_DIR)/drivers/dma-buf/dma-shared-buffer.ko
138 AUTOLOAD:=$(call AutoLoad,20,dma-shared-buffer)
139 endef
140 $(eval $(call KernelPackage,dma-buf))
141
142
143 define KernelPackage/eeprom-93cx6
144 SUBMENU:=$(OTHER_MENU)
145 TITLE:=EEPROM 93CX6 support
146 KCONFIG:=CONFIG_EEPROM_93CX6
147 FILES:=$(LINUX_DIR)/drivers/misc/eeprom/eeprom_93cx6.ko
148 AUTOLOAD:=$(call AutoLoad,20,eeprom_93cx6)
149 endef
150
151 define KernelPackage/eeprom-93cx6/description
152 Kernel module for EEPROM 93CX6 support
153 endef
154
155 $(eval $(call KernelPackage,eeprom-93cx6))
156
157
158 define KernelPackage/eeprom-at24
159 SUBMENU:=$(OTHER_MENU)
160 TITLE:=EEPROM AT24 support
161 KCONFIG:=CONFIG_EEPROM_AT24
162 DEPENDS:=+kmod-i2c-core
163 FILES:=$(LINUX_DIR)/drivers/misc/eeprom/at24.ko
164 AUTOLOAD:=$(call AutoProbe,at24)
165 endef
166
167 define KernelPackage/eeprom-at24/description
168 Kernel module for most I2C EEPROMs
169 endef
170
171 $(eval $(call KernelPackage,eeprom-at24))
172
173
174 define KernelPackage/eeprom-at25
175 SUBMENU:=$(OTHER_MENU)
176 TITLE:=EEPROM AT25 support
177 KCONFIG:=CONFIG_EEPROM_AT25
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 KCONFIG:= \
353 CONFIG_MMC \
354 CONFIG_MMC_BLOCK \
355 CONFIG_MMC_DEBUG=n \
356 CONFIG_MMC_UNSAFE_RESUME=n \
357 CONFIG_MMC_BLOCK_BOUNCE=y \
358 CONFIG_MMC_TIFM_SD=n \
359 CONFIG_MMC_WBSD=n \
360 CONFIG_SDIO_UART=n
361 FILES:= \
362 $(LINUX_DIR)/drivers/mmc/core/mmc_core.ko \
363 $(LINUX_DIR)/drivers/mmc/card/mmc_block.ko
364 AUTOLOAD:=$(call AutoProbe,mmc_core mmc_block,1)
365 endef
366
367 define KernelPackage/mmc/description
368 Kernel support for MMC/SD cards
369 endef
370
371 $(eval $(call KernelPackage,mmc))
372
373
374 define KernelPackage/sdhci
375 SUBMENU:=$(OTHER_MENU)
376 TITLE:=Secure Digital Host Controller Interface support
377 DEPENDS:=+kmod-mmc
378 KCONFIG:= \
379 CONFIG_MMC_SDHCI \
380 CONFIG_MMC_SDHCI_PLTFM \
381 CONFIG_MMC_SDHCI_PCI=n
382 FILES:= \
383 $(LINUX_DIR)/drivers/mmc/host/sdhci.ko \
384 $(LINUX_DIR)/drivers/mmc/host/sdhci-pltfm.ko
385
386 AUTOLOAD:=$(call AutoProbe,sdhci sdhci-pltfm,1)
387 endef
388
389 define KernelPackage/sdhci/description
390 Kernel support for SDHCI Hosts
391 endef
392
393 $(eval $(call KernelPackage,sdhci))
394
395
396 define KernelPackage/rfkill
397 SUBMENU:=$(OTHER_MENU)
398 TITLE:=RF switch subsystem support
399 DEPENDS:=@USE_RFKILL +kmod-input-core
400 KCONFIG:= \
401 CONFIG_RFKILL_FULL \
402 CONFIG_RFKILL_INPUT=y \
403 CONFIG_RFKILL_LEDS=y \
404 CONFIG_RFKILL_GPIO=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-ds1672
536 SUBMENU:=$(OTHER_MENU)
537 TITLE:=Dallas/Maxim DS1672 RTC support
538 DEPENDS:=@RTC_SUPPORT +kmod-i2c-core
539 KCONFIG:=CONFIG_RTC_DRV_DS1672 \
540 CONFIG_RTC_CLASS=y
541 FILES:=$(LINUX_DIR)/drivers/rtc/rtc-ds1672.ko
542 AUTOLOAD:=$(call AutoProbe,rtc-ds1672)
543 endef
544
545 define KernelPackage/rtc-ds1672/description
546 Kernel module for Dallas/Maxim DS1672 RTC.
547 endef
548
549 $(eval $(call KernelPackage,rtc-ds1672))
550
551
552 define KernelPackage/rtc-isl1208
553 SUBMENU:=$(OTHER_MENU)
554 TITLE:=Intersil ISL1208 RTC support
555 DEPENDS:=@RTC_SUPPORT +kmod-i2c-core
556 KCONFIG:=CONFIG_RTC_DRV_ISL1208 \
557 CONFIG_RTC_CLASS=y
558 FILES:=$(LINUX_DIR)/drivers/rtc/rtc-isl1208.ko
559 AUTOLOAD:=$(call AutoProbe,rtc-isl1208)
560 endef
561
562 define KernelPackage/rtc-isl1208/description
563 Kernel module for Intersil ISL1208 RTC.
564 endef
565
566 $(eval $(call KernelPackage,rtc-isl1208))
567
568
569 define KernelPackage/rtc-marvell
570 SUBMENU:=$(OTHER_MENU)
571 TITLE:=Marvell SoC built-in RTC support
572 DEPENDS:=@RTC_SUPPORT @TARGET_kirkwood||TARGET_orion
573 KCONFIG:=CONFIG_RTC_DRV_MV \
574 CONFIG_RTC_CLASS=y
575 FILES:=$(LINUX_DIR)/drivers/rtc/rtc-mv.ko
576 AUTOLOAD:=$(call AutoProbe,rtc-mv)
577 endef
578
579 define KernelPackage/rtc-marvell/description
580 Kernel module for Marvell SoC built-in RTC.
581 endef
582
583 $(eval $(call KernelPackage,rtc-marvell))
584
585
586 define KernelPackage/rtc-pcf8563
587 SUBMENU:=$(OTHER_MENU)
588 TITLE:=Philips PCF8563/Epson RTC8564 RTC support
589 DEPENDS:=@RTC_SUPPORT +kmod-i2c-core
590 KCONFIG:=CONFIG_RTC_DRV_PCF8563 \
591 CONFIG_RTC_CLASS=y
592 FILES:=$(LINUX_DIR)/drivers/rtc/rtc-pcf8563.ko
593 AUTOLOAD:=$(call AutoProbe,rtc-pcf8563)
594 endef
595
596 define KernelPackage/rtc-pcf8563/description
597 Kernel module for Philips PCF8563 RTC chip.
598 The Epson RTC8564 should work as well.
599 endef
600
601 $(eval $(call KernelPackage,rtc-pcf8563))
602
603
604 define KernelPackage/rtc-pcf2123
605 SUBMENU:=$(OTHER_MENU)
606 TITLE:=Philips PCF2123 RTC support
607 DEPENDS:=@RTC_SUPPORT
608 KCONFIG:=CONFIG_RTC_DRV_PCF2123 \
609 CONFIG_RTC_CLASS=y
610 FILES:=$(LINUX_DIR)/drivers/rtc/rtc-pcf2123.ko
611 AUTOLOAD:=$(call AutoProbe,rtc-pcf2123)
612 endef
613
614 define KernelPackage/rtc-pcf2123/description
615 Kernel module for Philips PCF2123 RTC chip
616 endef
617
618 $(eval $(call KernelPackage,rtc-pcf2123))
619
620 define KernelPackage/rtc-pt7c4338
621 SUBMENU:=$(OTHER_MENU)
622 TITLE:=Pericom PT7C4338 RTC support
623 DEPENDS:=@RTC_SUPPORT +kmod-i2c-core
624 KCONFIG:=CONFIG_RTC_DRV_PT7C4338 \
625 CONFIG_RTC_CLASS=y
626 FILES:=$(LINUX_DIR)/drivers/rtc/rtc-pt7c4338.ko
627 AUTOLOAD:=$(call AutoProbe,rtc-pt7c4338)
628 endef
629
630 define KernelPackage/rtc-pt7c4338/description
631 Kernel module for Pericom PT7C4338 i2c RTC chip
632 endef
633
634 $(eval $(call KernelPackage,rtc-pt7c4338))
635
636 define KernelPackage/rtc-snvs
637 SUBMENU:=$(OTHER_MENU)
638 TITLE:=Freescale SNVS RTC support
639 DEPENDS:=@TARGET_imx6 @RTC_SUPPORT
640 KCONFIG:=CONFIG_RTC_DRV_SNVS \
641 CONFIG_RTC_CLASS=y
642 FILES:=$(LINUX_DIR)/drivers/rtc/rtc-snvs.ko
643 AUTOLOAD:=$(call AutoLoad,50,rtc-snvs,1)
644 endef
645
646 define KernelPackage/rtc-snvs/description
647 Kernel module for Freescale SNVS RTC on chip module
648 endef
649
650 $(eval $(call KernelPackage,rtc-snvs))
651
652
653 define KernelPackage/mtdtests
654 SUBMENU:=$(OTHER_MENU)
655 TITLE:=MTD subsystem tests
656 KCONFIG:=CONFIG_MTD_TESTS
657 FILES:=\
658 $(LINUX_DIR)/drivers/mtd/tests/mtd_nandecctest.ko \
659 $(LINUX_DIR)/drivers/mtd/tests/mtd_oobtest.ko \
660 $(LINUX_DIR)/drivers/mtd/tests/mtd_pagetest.ko \
661 $(LINUX_DIR)/drivers/mtd/tests/mtd_readtest.ko \
662 $(LINUX_DIR)/drivers/mtd/tests/mtd_speedtest.ko \
663 $(LINUX_DIR)/drivers/mtd/tests/mtd_stresstest.ko \
664 $(LINUX_DIR)/drivers/mtd/tests/mtd_subpagetest.ko \
665 $(LINUX_DIR)/drivers/mtd/tests/mtd_torturetest.ko
666 endef
667
668 define KernelPackage/mtdtests/description
669 Kernel modules for MTD subsystem/driver testing
670 endef
671
672 $(eval $(call KernelPackage,mtdtests))
673
674
675 define KernelPackage/serial-8250
676 SUBMENU:=$(OTHER_MENU)
677 TITLE:=8250 UARTs
678 KCONFIG:= CONFIG_SERIAL_8250 \
679 CONFIG_SERIAL_8250_NR_UARTS=16 \
680 CONFIG_SERIAL_8250_RUNTIME_UARTS=16 \
681 CONFIG_SERIAL_8250_EXTENDED=y \
682 CONFIG_SERIAL_8250_MANY_PORTS=y \
683 CONFIG_SERIAL_8250_SHARE_IRQ=y \
684 CONFIG_SERIAL_8250_DETECT_IRQ=n \
685 CONFIG_SERIAL_8250_RSA=n
686 FILES:= \
687 $(LINUX_DIR)/drivers/tty/serial/8250/8250.ko \
688 $(LINUX_DIR)/drivers/tty/serial/8250/8250_base.ko@ge4.4
689 endef
690
691 define KernelPackage/serial-8250/description
692 Kernel module for 8250 UART based serial ports
693 endef
694
695 $(eval $(call KernelPackage,serial-8250))
696
697
698 define KernelPackage/regmap
699 SUBMENU:=$(OTHER_MENU)
700 TITLE:=Generic register map support
701 DEPENDS:=+kmod-lib-lzo +kmod-i2c-core
702 KCONFIG:=CONFIG_REGMAP \
703 CONFIG_REGMAP_MMIO \
704 CONFIG_REGMAP_SPI \
705 CONFIG_REGMAP_I2C \
706 CONFIG_SPI=y
707 FILES:= \
708 $(LINUX_DIR)/drivers/base/regmap/regmap-core.ko \
709 $(LINUX_DIR)/drivers/base/regmap/regmap-i2c.ko \
710 $(LINUX_DIR)/drivers/base/regmap/regmap-mmio.ko \
711 $(if $(CONFIG_SPI),$(LINUX_DIR)/drivers/base/regmap/regmap-spi.ko)
712 AUTOLOAD:=$(call AutoLoad,21,regmap-core regmap-i2c regmap-mmio regmap-spi)
713 endef
714
715 define KernelPackage/regmap/description
716 Generic register map support
717 endef
718
719 $(eval $(call KernelPackage,regmap))
720
721 define KernelPackage/ikconfig
722 SUBMENU:=$(OTHER_MENU)
723 TITLE:=Kernel configuration via /proc/config.gz
724 KCONFIG:=CONFIG_IKCONFIG \
725 CONFIG_IKCONFIG_PROC=y
726 FILES:=$(LINUX_DIR)/kernel/configs.ko
727 AUTOLOAD:=$(call AutoLoad,70,configs)
728 endef
729
730 define KernelPackage/ikconfig/description
731 Kernel configuration via /proc/config.gz
732 endef
733
734 $(eval $(call KernelPackage,ikconfig))
735
736
737 define KernelPackage/zram
738 SUBMENU:=$(OTHER_MENU)
739 TITLE:=ZRAM
740 DEPENDS:=+kmod-lib-lzo +kmod-lib-lz4
741 KCONFIG:= \
742 CONFIG_ZSMALLOC \
743 CONFIG_ZRAM \
744 CONFIG_ZRAM_DEBUG=n \
745 CONFIG_PGTABLE_MAPPING=n \
746 CONFIG_ZSMALLOC_STAT=n \
747 CONFIG_ZRAM_LZ4_COMPRESS=y
748 FILES:= \
749 $(LINUX_DIR)/mm/zsmalloc.ko \
750 $(LINUX_DIR)/drivers/block/zram/zram.ko
751 AUTOLOAD:=$(call AutoLoad,20,zsmalloc zram)
752 endef
753
754 define KernelPackage/zram/description
755 Compressed RAM block device support
756 endef
757
758 $(eval $(call KernelPackage,zram))
759
760
761 define KernelPackage/mvsdio
762 SUBMENU:=$(OTHER_MENU)
763 TITLE:=Marvell SDIO support
764 DEPENDS:=@TARGET_orion||TARGET_kirkwood +kmod-mmc
765 KCONFIG:=CONFIG_MMC_MVSDIO
766 FILES:=$(LINUX_DIR)/drivers/mmc/host/mvsdio.ko
767 AUTOLOAD:=$(call AutoProbe,mvsdio)
768 endef
769
770 define KernelPackage/mvsdio/description
771 Kernel support for the Marvell SDIO controller
772 endef
773
774 $(eval $(call KernelPackage,mvsdio))
775
776
777 define KernelPackage/pps
778 SUBMENU:=$(OTHER_MENU)
779 TITLE:=PPS support
780 KCONFIG:=CONFIG_PPS
781 FILES:=$(LINUX_DIR)/drivers/pps/pps_core.ko
782 AUTOLOAD:=$(call AutoLoad,17,pps_core,1)
783 endef
784
785 define KernelPackage/pps/description
786 PPS (Pulse Per Second) is a special pulse provided by some GPS
787 antennae. Userland can use it to get a high-precision time
788 reference.
789 endef
790
791 $(eval $(call KernelPackage,pps))
792
793
794 define KernelPackage/pps-gpio
795 SUBMENU:=$(OTHER_MENU)
796 TITLE:=PPS client using GPIO
797 DEPENDS:=+kmod-pps
798 KCONFIG:=CONFIG_PPS_CLIENT_GPIO
799 FILES:=$(LINUX_DIR)/drivers/pps/clients/pps-gpio.ko
800 AUTOLOAD:=$(call AutoLoad,18,pps-gpio,1)
801 endef
802
803 define KernelPackage/pps-gpio/description
804 Support for a PPS source using GPIO. To be useful you must
805 also register a platform device specifying the GPIO pin and
806 other options, usually in your board setup.
807 endef
808
809 $(eval $(call KernelPackage,pps-gpio))
810
811
812 define KernelPackage/pps-ldisc
813 SUBMENU:=$(OTHER_MENU)
814 TITLE:=PPS line discipline
815 DEPENDS:=+kmod-pps
816 KCONFIG:=CONFIG_PPS_CLIENT_LDISC
817 FILES:=$(LINUX_DIR)/drivers/pps/clients/pps-ldisc.ko
818 AUTOLOAD:=$(call AutoLoad,18,pps-ldisc,1)
819 endef
820
821 define KernelPackage/pps-ldisc/description
822 Support for a PPS source connected with the CD (Carrier
823 Detect) pin of your serial port.
824 endef
825
826 $(eval $(call KernelPackage,pps-ldisc))
827
828
829 define KernelPackage/ptp
830 SUBMENU:=$(OTHER_MENU)
831 TITLE:=PTP clock support
832 DEPENDS:=+kmod-pps
833 KCONFIG:= \
834 CONFIG_PTP_1588_CLOCK \
835 CONFIG_NET_PTP_CLASSIFY=y
836 FILES:=$(LINUX_DIR)/drivers/ptp/ptp.ko
837 AUTOLOAD:=$(call AutoLoad,18,ptp,1)
838 endef
839
840 define KernelPackage/ptp/description
841 The IEEE 1588 standard defines a method to precisely
842 synchronize distributed clocks over Ethernet networks.
843 endef
844
845 $(eval $(call KernelPackage,ptp))
846
847
848 define KernelPackage/ptp-gianfar
849 SUBMENU:=$(OTHER_MENU)
850 TITLE:=Freescale Gianfar PTP support
851 DEPENDS:=@TARGET_mpc85xx +kmod-gianfar +kmod-ptp
852 KCONFIG:=CONFIG_PTP_1588_CLOCK_GIANFAR
853 FILES:=$(LINUX_DIR)/drivers/net/ethernet/freescale/gianfar_ptp.ko
854 AUTOLOAD:=$(call AutoProbe,gianfar_ptp)
855 endef
856
857 define KernelPackage/ptp-gianfar/description
858 Kernel module for IEEE 1588 support for Freescale
859 Gianfar Ethernet drivers
860 endef
861
862 $(eval $(call KernelPackage,ptp-gianfar))
863
864
865 define KernelPackage/random-core
866 SUBMENU:=$(OTHER_MENU)
867 TITLE:=Hardware Random Number Generator Core support
868 KCONFIG:=CONFIG_HW_RANDOM
869 FILES:=$(LINUX_DIR)/drivers/char/hw_random/rng-core.ko
870 endef
871
872 define KernelPackage/random-core/description
873 Kernel module for the HW random number generator core infrastructure
874 endef
875
876 $(eval $(call KernelPackage,random-core))
877
878 define KernelPackage/random-omap
879 SUBMENU:=$(OTHER_MENU)
880 TITLE:=Hardware Random Number Generator OMAP support
881 KCONFIG:=CONFIG_HW_RANDOM_OMAP
882 FILES:=$(LINUX_DIR)/drivers/char/hw_random/omap-rng.ko
883 DEPENDS:=@(TARGET_omap24xx||TARGET_omap) +kmod-random-core
884 AUTOLOAD:=$(call AutoProbe,random-omap)
885 endef
886
887 define KernelPackage/random-omap/description
888 Kernel module for the OMAP Random Number Generator
889 found on OMAP16xx, OMAP2/3/4/5 and AM33xx/AM43xx multimedia processors.
890 endef
891
892 $(eval $(call KernelPackage,random-omap))
893
894 define KernelPackage/thermal
895 SUBMENU:=$(OTHER_MENU)
896 TITLE:=Generic Thermal sysfs driver
897 DEPENDS:=+kmod-hwmon-core
898 HIDDEN:=1
899 KCONFIG:= \
900 CONFIG_THERMAL \
901 CONFIG_THERMAL_OF=y \
902 CONFIG_CPU_THERMAL=y \
903 CONFIG_THERMAL_DEFAULT_GOV_STEP_WISE=y \
904 CONFIG_THERMAL_DEFAULT_GOV_FAIR_SHARE=n \
905 CONFIG_THERMAL_DEFAULT_GOV_USER_SPACE=n \
906 CONFIG_THERMAL_GOV_FAIR_SHARE=n \
907 CONFIG_THERMAL_GOV_STEP_WISE=y \
908 CONFIG_THERMAL_GOV_USER_SPACE=n \
909 CONFIG_THERMAL_HWMON=y \
910 CONFIG_THERMAL_EMULATION=n
911 FILES:=$(LINUX_DIR)/drivers/thermal/thermal_sys.ko
912 AUTOLOAD:=$(call AutoProbe,thermal_sys)
913 endef
914
915 define KernelPackage/thermal/description
916 Generic Thermal Sysfs driver offers a generic mechanism for thermal
917 management. Usually it's made up of one or more thermal zone and cooling
918 device.
919 endef
920
921 $(eval $(call KernelPackage,thermal))
922
923
924 define KernelPackage/thermal-imx
925 SUBMENU:=$(OTHER_MENU)
926 TITLE:=Temperature sensor driver for Freescale i.MX SoCs
927 DEPENDS:=@TARGET_imx6 +kmod-thermal
928 KCONFIG:= \
929 CONFIG_IMX_THERMAL
930 FILES:=$(LINUX_DIR)/drivers/thermal/imx_thermal.ko
931 AUTOLOAD:=$(call AutoProbe,imx_thermal)
932 endef
933
934 define KernelPackage/thermal-imx/description
935 Support for Temperature Monitor (TEMPMON) found on Freescale i.MX SoCs.
936 It supports one critical trip point and one passive trip point. The
937 cpufreq is used as the cooling device to throttle CPUs when the
938 passive trip is crossed.
939 endef
940
941 $(eval $(call KernelPackage,thermal-imx))
942
943
944 define KernelPackage/thermal-kirkwood
945 SUBMENU:=$(OTHER_MENU)
946 TITLE:=Temperature sensor on Marvell Kirkwood SoCs
947 DEPENDS:=@TARGET_kirkwood +kmod-thermal
948 KCONFIG:=CONFIG_KIRKWOOD_THERMAL
949 FILES:=$(LINUX_DIR)/drivers/thermal/kirkwood_thermal.ko
950 AUTOLOAD:=$(call AutoProbe,kirkwood_thermal)
951 endef
952
953 define KernelPackage/thermal-kirkwood/description
954 Support for the Kirkwood thermal sensor driver into the Linux thermal
955 framework. Only kirkwood 88F6282 and 88F6283 have this sensor.
956 endef
957
958 $(eval $(call KernelPackage,thermal-kirkwood))
959
960
961 define KernelPackage/gpio-beeper
962 SUBMENU:=$(OTHER_MENU)
963 TITLE:=GPIO beeper support
964 DEPENDS:=+kmod-input-core
965 KCONFIG:= \
966 CONFIG_INPUT_MISC=y \
967 CONFIG_INPUT_GPIO_BEEPER
968 FILES:= \
969 $(LINUX_DIR)/drivers/input/misc/gpio-beeper.ko
970 AUTOLOAD:=$(call AutoLoad,50,gpio-beeper)
971 endef
972
973 define KernelPackage/gpio-beeper/description
974 This enables playing beeps through an GPIO-connected buzzer
975 endef
976
977 $(eval $(call KernelPackage,gpio-beeper))
978
979
980 define KernelPackage/echo
981 SUBMENU:=$(OTHER_MENU)
982 TITLE:=Line Echo Canceller
983 KCONFIG:=CONFIG_ECHO
984 FILES:=$(LINUX_DIR)/drivers/misc/echo/echo.ko
985 AUTOLOAD:=$(call AutoLoad,50,echo)
986 endef
987
988 define KernelPackage/echo/description
989 This driver provides line echo cancelling support for mISDN and
990 DAHDI drivers
991 endef
992
993 $(eval $(call KernelPackage,echo))
994
995
996 define KernelPackage/bmp085
997 SUBMENU:=$(OTHER_MENU)
998 TITLE:=BMP085/BMP18x pressure sensor
999 DEPENDS:= +kmod-regmap @!LINUX_3_18 @!LINUX_4_1
1000 KCONFIG:= CONFIG_BMP085
1001 FILES:= $(LINUX_DIR)/drivers/misc/bmp085.ko
1002 endef
1003
1004 define KernelPackage/bmp085/description
1005 This driver adds support for Bosch Sensortec's digital pressure
1006 sensors BMP085 and BMP18x.
1007 endef
1008
1009 $(eval $(call KernelPackage,bmp085))
1010
1011
1012 define KernelPackage/bmp085-i2c
1013 SUBMENU:=$(OTHER_MENU)
1014 TITLE:=BMP085/BMP18x pressure sensor I2C
1015 DEPENDS:= +kmod-bmp085
1016 KCONFIG:= CONFIG_BMP085_I2C
1017 FILES:= $(LINUX_DIR)/drivers/misc/bmp085-i2c.ko
1018 AUTOLOAD:=$(call AutoProbe,bmp085-i2c)
1019 endef
1020 define KernelPackage/bmp085-i2c/description
1021 This driver adds support for Bosch Sensortec's digital pressure
1022 sensor connected via I2C.
1023 endef
1024
1025 $(eval $(call KernelPackage,bmp085-i2c))
1026
1027
1028 define KernelPackage/bmp085-spi
1029 SUBMENU:=$(OTHER_MENU)
1030 TITLE:=BMP085/BMP18x pressure sensor SPI
1031 DEPENDS:= +kmod-bmp085
1032 KCONFIG:= CONFIG_BMP085_SPI
1033 FILES:= $(LINUX_DIR)/drivers/misc/bmp085-spi.ko
1034 AUTOLOAD:=$(call AutoProbe,bmp085-spi)
1035 endef
1036 define KernelPackage/bmp085-spi/description
1037 This driver adds support for Bosch Sensortec's digital pressure
1038 sensor connected via SPI.
1039 endef
1040
1041 $(eval $(call KernelPackage,bmp085-spi))
1042
1043
1044 define KernelPackage/owl-loader
1045 SUBMENU:=$(WIRELESS_MENU)
1046 TITLE:=Owl loader for initializing Atheros PCI(e) Wifi chips
1047 DEPENDS:=@PCI_SUPPORT
1048 KCONFIG:=CONFIG_OWL_LOADER
1049 FILES:=$(LINUX_DIR)/drivers/misc/owl-loader.ko
1050 AUTOLOAD:=$(call AutoProbe,owl-loader)
1051 endef
1052
1053 define KernelPackage/owl-loader/description
1054 Kernel module that helps to initialize certain Qualcomm
1055 Atheros' PCI(e) Wifi chips, which have the init data
1056 (which contains the PCI device ID for example) stored
1057 together with the calibration data in the file system.
1058
1059 This is necessary for devices like the Cisco Meraki Z1.
1060 endef
1061
1062 $(eval $(call KernelPackage,owl-loader))