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