93051e509adbd9a21a30d14bd5c094c3c1f581e4
[openwrt/svn-archive/archive.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
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/eeprom-93cx6
134 SUBMENU:=$(OTHER_MENU)
135 TITLE:=EEPROM 93CX6 support
136 KCONFIG:=CONFIG_EEPROM_93CX6
137 FILES:=$(LINUX_DIR)/drivers/misc/eeprom/eeprom_93cx6.ko
138 AUTOLOAD:=$(call AutoLoad,20,eeprom_93cx6)
139 endef
140
141 define KernelPackage/eeprom-93cx6/description
142 Kernel module for EEPROM 93CX6 support
143 endef
144
145 $(eval $(call KernelPackage,eeprom-93cx6))
146
147
148 define KernelPackage/eeprom-at24
149 SUBMENU:=$(OTHER_MENU)
150 TITLE:=EEPROM AT24 support
151 KCONFIG:=CONFIG_EEPROM_AT24
152 DEPENDS:=+kmod-i2c-core
153 FILES:=$(LINUX_DIR)/drivers/misc/eeprom/at24.ko
154 AUTOLOAD:=$(call AutoProbe,at24)
155 endef
156
157 define KernelPackage/eeprom-at24/description
158 Kernel module for most I2C EEPROMs
159 endef
160
161 $(eval $(call KernelPackage,eeprom-at24))
162
163
164 define KernelPackage/eeprom-at25
165 SUBMENU:=$(OTHER_MENU)
166 TITLE:=EEPROM AT25 support
167 KCONFIG:=CONFIG_EEPROM_AT25
168 FILES:=$(LINUX_DIR)/drivers/misc/eeprom/at25.ko
169 AUTOLOAD:=$(call AutoProbe,at25)
170 endef
171
172 define KernelPackage/eeprom-at25/description
173 Kernel module for most SPI EEPROMs
174 endef
175
176 $(eval $(call KernelPackage,eeprom-at25))
177
178
179 define KernelPackage/gpio-dev
180 SUBMENU:=$(OTHER_MENU)
181 TITLE:=Generic GPIO char device support
182 DEPENDS:=@GPIO_SUPPORT
183 KCONFIG:=CONFIG_GPIO_DEVICE
184 FILES:=$(LINUX_DIR)/drivers/char/gpio_dev.ko
185 AUTOLOAD:=$(call AutoLoad,40,gpio_dev)
186 endef
187
188 define KernelPackage/gpio-dev/description
189 Kernel module to allows control of GPIO pins using a character device.
190 endef
191
192 $(eval $(call KernelPackage,gpio-dev))
193
194
195 define KernelPackage/gpio-mcp23s08
196 SUBMENU:=$(OTHER_MENU)
197 TITLE:=Microchip MCP23xxx I/O expander
198 DEPENDS:=@GPIO_SUPPORT +PACKAGE_kmod-i2c-core:kmod-i2c-core
199 KCONFIG:=CONFIG_GPIO_MCP23S08
200 FILES:=$(LINUX_DIR)/drivers/gpio/gpio-mcp23s08.ko
201 AUTOLOAD:=$(call AutoLoad,40,gpio-mcp23s08)
202 endef
203
204 define KernelPackage/gpio-mcp23s08/description
205 Kernel module for Microchip MCP23xxx SPI/I2C I/O expander
206 endef
207
208 $(eval $(call KernelPackage,gpio-mcp23s08))
209
210
211 define KernelPackage/gpio-nxp-74hc164
212 SUBMENU:=$(OTHER_MENU)
213 TITLE:=NXP 74HC164 GPIO expander support
214 KCONFIG:=CONFIG_GPIO_NXP_74HC164
215 FILES:=$(LINUX_DIR)/drivers/gpio/nxp_74hc164.ko
216 AUTOLOAD:=$(call AutoProbe,nxp_74hc164)
217 endef
218
219 define KernelPackage/gpio-nxp-74hc164/description
220 Kernel module for NXP 74HC164 GPIO expander
221 endef
222
223 $(eval $(call KernelPackage,gpio-nxp-74hc164))
224
225 define KernelPackage/gpio-pca953x
226 SUBMENU:=$(OTHER_MENU)
227 DEPENDS:=@GPIO_SUPPORT +kmod-i2c-core
228 TITLE:=PCA95xx, TCA64xx, and MAX7310 I/O ports
229 KCONFIG:=CONFIG_GPIO_PCA953X
230 FILES:=$(LINUX_DIR)/drivers/gpio/gpio-pca953x.ko
231 AUTOLOAD:=$(call AutoLoad,55,gpio-pca953x)
232 endef
233
234 define KernelPackage/gpio-pca953x/description
235 Kernel module for MAX731{0,2,3,5}, PCA6107, PCA953{4-9}, PCA955{4-7},
236 PCA957{4,5} and TCA64{08,16} I2C GPIO expanders
237 endef
238
239 $(eval $(call KernelPackage,gpio-pca953x))
240
241 define KernelPackage/gpio-pcf857x
242 SUBMENU:=$(OTHER_MENU)
243 DEPENDS:=@GPIO_SUPPORT +kmod-i2c-core
244 TITLE:=PCX857x, PCA967x and MAX732X I2C GPIO expanders
245 KCONFIG:=CONFIG_GPIO_PCF857X
246 FILES:=$(LINUX_DIR)/drivers/gpio/gpio-pcf857x.ko
247 AUTOLOAD:=$(call AutoLoad,55,gpio-pcf857x)
248 endef
249
250 define KernelPackage/gpio-pcf857x/description
251 Kernel module for PCF857x, PCA{85,96}7x, and MAX732[89] I2C GPIO expanders
252 endef
253
254 $(eval $(call KernelPackage,gpio-pcf857x))
255
256 define KernelPackage/iio-core
257 SUBMENU:=$(OTHER_MENU)
258 TITLE:=Industrial IO core
259 KCONFIG:= \
260 CONFIG_IIO \
261 CONFIG_IIO_BUFFER=y \
262 CONFIG_IIO_KFIFO_BUF \
263 CONFIG_IIO_TRIGGER=y \
264 CONFIG_IIO_TRIGGERED_BUFFER
265 FILES:= \
266 $(LINUX_DIR)/drivers/iio/industrialio.ko \
267 $(if $(CONFIG_IIO_TRIGGERED_BUFFER),$(LINUX_DIR)/drivers/iio/industrialio-triggered-buffer.ko) \
268 $(LINUX_DIR)/drivers/iio/kfifo_buf.ko
269 AUTOLOAD:=$(call AutoLoad,55,industrialio kfifo_buf industrialio-triggered-buffer)
270 endef
271
272 define KernelPackage/iio-core/description
273 The industrial I/O subsystem provides a unified framework for
274 drivers for many different types of embedded sensors using a
275 number of different physical interfaces (i2c, spi, etc)
276 endef
277
278 $(eval $(call KernelPackage,iio-core))
279
280
281 define KernelPackage/iio-ad799x
282 SUBMENU:=$(OTHER_MENU)
283 DEPENDS:=kmod-i2c-core kmod-iio-core
284 TITLE:=Analog Devices AD799x ADC driver
285 KCONFIG:= \
286 CONFIG_AD799X_RING_BUFFER=y \
287 CONFIG_AD799X
288 FILES:=$(LINUX_DIR)/drivers/iio/adc/ad799x.ko
289 AUTOLOAD:=$(call AutoLoad,56,ad799x)
290 endef
291
292 define KernelPackage/iio-ad799x/description
293 support for Analog Devices:
294 ad7991, ad7995, ad7999, ad7992, ad7993, ad7994, ad7997, ad7998
295 i2c analog to digital converters (ADC).
296 endef
297
298 $(eval $(call KernelPackage,iio-ad799x))
299
300
301 define KernelPackage/iio-dht11
302 SUBMENU:=$(OTHER_MENU)
303 DEPENDS:=kmod-iio-core @GPIO_SUPPORT @USES_DEVICETREE
304 TITLE:=DHT11 (and compatible) humidity and temperature sensors
305 KCONFIG:= \
306 CONFIG_DHT11
307 FILES:=$(LINUX_DIR)/drivers/iio/humidity/dht11.ko
308 AUTOLOAD:=$(call AutoLoad,56,dht11)
309 endef
310
311 define KernelPackage/iio-dht11/description
312 support for DHT11 and DHT22 digitial humidity and temperature sensors
313 attached at GPIO lines. You will need a custom device tree file to
314 specify the GPIO line to use.
315 endef
316
317 $(eval $(call KernelPackage,iio-dht11))
318
319
320 define KernelPackage/lp
321 SUBMENU:=$(OTHER_MENU)
322 TITLE:=Parallel port and line printer support
323 KCONFIG:= \
324 CONFIG_PARPORT \
325 CONFIG_PRINTER \
326 CONFIG_PPDEV
327 FILES:= \
328 $(LINUX_DIR)/drivers/parport/parport.ko \
329 $(LINUX_DIR)/drivers/char/lp.ko \
330 $(LINUX_DIR)/drivers/char/ppdev.ko
331 AUTOLOAD:=$(call AutoLoad,50,parport lp ppdev)
332 endef
333
334 $(eval $(call KernelPackage,lp))
335
336
337 define KernelPackage/mmc
338 SUBMENU:=$(OTHER_MENU)
339 TITLE:=MMC/SD Card Support
340 KCONFIG:= \
341 CONFIG_MMC \
342 CONFIG_MMC_BLOCK \
343 CONFIG_MMC_DEBUG=n \
344 CONFIG_MMC_UNSAFE_RESUME=n \
345 CONFIG_MMC_BLOCK_BOUNCE=y \
346 CONFIG_MMC_TIFM_SD=n \
347 CONFIG_MMC_WBSD=n \
348 CONFIG_SDIO_UART=n
349 FILES:= \
350 $(LINUX_DIR)/drivers/mmc/core/mmc_core.ko \
351 $(LINUX_DIR)/drivers/mmc/card/mmc_block.ko
352 AUTOLOAD:=$(call AutoProbe,mmc_core mmc_block,1)
353 endef
354
355 define KernelPackage/mmc/description
356 Kernel support for MMC/SD cards
357 endef
358
359 $(eval $(call KernelPackage,mmc))
360
361
362 define KernelPackage/sdhci
363 SUBMENU:=$(OTHER_MENU)
364 TITLE:=Secure Digital Host Controller Interface support
365 DEPENDS:=+kmod-mmc
366 KCONFIG:= \
367 CONFIG_MMC_SDHCI \
368 CONFIG_MMC_SDHCI_PLTFM \
369 CONFIG_MMC_SDHCI_PCI=n
370 FILES:= \
371 $(LINUX_DIR)/drivers/mmc/host/sdhci.ko \
372 $(LINUX_DIR)/drivers/mmc/host/sdhci-pltfm.ko
373
374 AUTOLOAD:=$(call AutoProbe,sdhci sdhci-pltfm,1)
375 endef
376
377 define KernelPackage/sdhci/description
378 Kernel support for SDHCI Hosts
379 endef
380
381 $(eval $(call KernelPackage,sdhci))
382
383
384 define KernelPackage/rfkill
385 SUBMENU:=$(OTHER_MENU)
386 TITLE:=RF switch subsystem support
387 DEPENDS:=@USE_RFKILL +kmod-input-core
388 KCONFIG:= \
389 CONFIG_RFKILL \
390 CONFIG_RFKILL_INPUT=y \
391 CONFIG_RFKILL_LEDS=y \
392 CONFIG_RFKILL_GPIO=y
393 FILES:= \
394 $(LINUX_DIR)/net/rfkill/rfkill.ko
395 AUTOLOAD:=$(call AutoLoad,20,rfkill)
396 endef
397
398 define KernelPackage/rfkill/description
399 Say Y here if you want to have control over RF switches
400 found on many WiFi and Bluetooth cards
401 endef
402
403 $(eval $(call KernelPackage,rfkill))
404
405
406 define KernelPackage/softdog
407 SUBMENU:=$(OTHER_MENU)
408 TITLE:=Software watchdog driver
409 KCONFIG:=CONFIG_SOFT_WATCHDOG
410 FILES:=$(LINUX_DIR)/drivers/$(WATCHDOG_DIR)/softdog.ko
411 AUTOLOAD:=$(call AutoLoad,50,softdog,1)
412 endef
413
414 define KernelPackage/softdog/description
415 Software watchdog driver
416 endef
417
418 $(eval $(call KernelPackage,softdog))
419
420
421 define KernelPackage/ssb
422 SUBMENU:=$(OTHER_MENU)
423 TITLE:=Silicon Sonics Backplane glue code
424 DEPENDS:=@PCI_SUPPORT @!TARGET_brcm47xx @!TARGET_brcm63xx
425 KCONFIG:=\
426 CONFIG_SSB \
427 CONFIG_SSB_B43_PCI_BRIDGE=y \
428 CONFIG_SSB_DRIVER_MIPS=n \
429 CONFIG_SSB_DRIVER_PCICORE=y \
430 CONFIG_SSB_DRIVER_PCICORE_POSSIBLE=y \
431 CONFIG_SSB_PCIHOST=y \
432 CONFIG_SSB_PCIHOST_POSSIBLE=y \
433 CONFIG_SSB_POSSIBLE=y \
434 CONFIG_SSB_SPROM=y \
435 CONFIG_SSB_SILENT=y
436 FILES:=$(LINUX_DIR)/drivers/ssb/ssb.ko
437 AUTOLOAD:=$(call AutoLoad,18,ssb,1)
438 endef
439
440 define KernelPackage/ssb/description
441 Silicon Sonics Backplane glue code.
442 endef
443
444 $(eval $(call KernelPackage,ssb))
445
446
447 define KernelPackage/bcma
448 SUBMENU:=$(OTHER_MENU)
449 TITLE:=BCMA support
450 DEPENDS:=@PCI_SUPPORT @!TARGET_brcm47xx @!TARGET_bcm53xx
451 KCONFIG:=\
452 CONFIG_BCMA \
453 CONFIG_BCMA_POSSIBLE=y \
454 CONFIG_BCMA_BLOCKIO=y \
455 CONFIG_BCMA_HOST_PCI_POSSIBLE=y \
456 CONFIG_BCMA_HOST_PCI=y \
457 CONFIG_BCMA_HOST_SOC=n \
458 CONFIG_BCMA_DRIVER_MIPS=n \
459 CONFIG_BCMA_DRIVER_PCI_HOSTMODE=n \
460 CONFIG_BCMA_DRIVER_GMAC_CMN=n \
461 CONFIG_BCMA_DEBUG=n
462 FILES:=$(LINUX_DIR)/drivers/bcma/bcma.ko
463 AUTOLOAD:=$(call AutoLoad,29,bcma)
464 endef
465
466 define KernelPackage/bcma/description
467 Bus driver for Broadcom specific Advanced Microcontroller Bus Architecture
468 endef
469
470 $(eval $(call KernelPackage,bcma))
471
472
473 define KernelPackage/wdt-omap
474 SUBMENU:=$(OTHER_MENU)
475 TITLE:=OMAP Watchdog timer
476 DEPENDS:=@(TARGET_omap24xx||TARGET_omap35xx)
477 KCONFIG:=CONFIG_OMAP_WATCHDOG
478 FILES:=$(LINUX_DIR)/drivers/$(WATCHDOG_DIR)/omap_wdt.ko
479 AUTOLOAD:=$(call AutoLoad,50,omap_wdt,1)
480 endef
481
482 define KernelPackage/wdt-omap/description
483 Kernel module for TI omap watchdog timer
484 endef
485
486 $(eval $(call KernelPackage,wdt-omap))
487
488
489 define KernelPackage/wdt-orion
490 SUBMENU:=$(OTHER_MENU)
491 TITLE:=Marvell Orion Watchdog timer
492 DEPENDS:=@TARGET_orion||TARGET_kirkwood||TARGET_mvebu
493 KCONFIG:=CONFIG_ORION_WATCHDOG
494 FILES:=$(LINUX_DIR)/drivers/$(WATCHDOG_DIR)/orion_wdt.ko
495 AUTOLOAD:=$(call AutoLoad,50,orion_wdt,1)
496 endef
497
498 define KernelPackage/wdt-orion/description
499 Kernel module for Marvell Orion, Kirkwood and Armada XP/370 watchdog timer
500 endef
501
502 $(eval $(call KernelPackage,wdt-orion))
503
504
505 define KernelPackage/booke-wdt
506 SUBMENU:=$(OTHER_MENU)
507 TITLE:=PowerPC Book-E Watchdog Timer
508 DEPENDS:=@(TARGET_mpc85xx||TARGET_ppc40x||TARGET_ppc44x)
509 KCONFIG:=CONFIG_BOOKE_WDT
510 FILES:=$(LINUX_DIR)/drivers/$(WATCHDOG_DIR)/booke_wdt.ko
511 AUTOLOAD:=$(call AutoLoad,50,booke_wdt,1)
512 endef
513
514 define KernelPackage/booke-wdt/description
515 Kernel module for PowerPC Book-E Watchdog Timer
516 endef
517
518 $(eval $(call KernelPackage,booke-wdt))
519
520
521 define KernelPackage/rtc-ds1307
522 SUBMENU:=$(OTHER_MENU)
523 TITLE:=Dallas/Maxim DS1307 (and compatible) RTC support
524 DEPENDS:=@RTC_SUPPORT +kmod-i2c-core
525 KCONFIG:=CONFIG_RTC_DRV_DS1307 \
526 CONFIG_RTC_CLASS=y
527 FILES:=$(LINUX_DIR)/drivers/rtc/rtc-ds1307.ko
528 AUTOLOAD:=$(call AutoProbe,rtc-ds1307)
529 endef
530
531 define KernelPackage/rtc-ds1307/description
532 Kernel module for Dallas/Maxim DS1307/DS1337/DS1338/DS1340/DS1388/DS3231,
533 Epson RX-8025 and various other compatible RTC chips connected via I2C.
534 endef
535
536 $(eval $(call KernelPackage,rtc-ds1307))
537
538
539 define KernelPackage/rtc-ds1672
540 SUBMENU:=$(OTHER_MENU)
541 TITLE:=Dallas/Maxim DS1672 RTC support
542 DEPENDS:=@RTC_SUPPORT +kmod-i2c-core
543 KCONFIG:=CONFIG_RTC_DRV_DS1672 \
544 CONFIG_RTC_CLASS=y
545 FILES:=$(LINUX_DIR)/drivers/rtc/rtc-ds1672.ko
546 AUTOLOAD:=$(call AutoProbe,rtc-ds1672)
547 endef
548
549 define KernelPackage/rtc-ds1672/description
550 Kernel module for Dallas/Maxim DS1672 RTC.
551 endef
552
553 $(eval $(call KernelPackage,rtc-ds1672))
554
555
556 define KernelPackage/rtc-isl1208
557 SUBMENU:=$(OTHER_MENU)
558 TITLE:=Intersil ISL1208 RTC support
559 DEPENDS:=@RTC_SUPPORT +kmod-i2c-core
560 KCONFIG:=CONFIG_RTC_DRV_ISL1208 \
561 CONFIG_RTC_CLASS=y
562 FILES:=$(LINUX_DIR)/drivers/rtc/rtc-isl1208.ko
563 AUTOLOAD:=$(call AutoProbe,rtc-isl1208)
564 endef
565
566 define KernelPackage/rtc-isl1208/description
567 Kernel module for Intersil ISL1208 RTC.
568 endef
569
570 $(eval $(call KernelPackage,rtc-isl1208))
571
572
573 define KernelPackage/rtc-marvell
574 SUBMENU:=$(OTHER_MENU)
575 TITLE:=Marvell SoC built-in RTC support
576 DEPENDS:=@RTC_SUPPORT @TARGET_kirkwood||TARGET_orion||TARGET_mvebu
577 KCONFIG:=CONFIG_RTC_DRV_MV \
578 CONFIG_RTC_CLASS=y
579 FILES:=$(LINUX_DIR)/drivers/rtc/rtc-mv.ko
580 AUTOLOAD:=$(call AutoProbe,rtc-mv)
581 endef
582
583 define KernelPackage/rtc-marvell/description
584 Kernel module for Marvell SoC built-in RTC.
585 endef
586
587 $(eval $(call KernelPackage,rtc-marvell))
588
589
590 define KernelPackage/rtc-armada38x
591 SUBMENU:=$(OTHER_MENU)
592 TITLE:=Marvell Armada 38x SoC built-in RTC support
593 DEPENDS:=@RTC_SUPPORT @TARGET_mvebu
594 KCONFIG:=CONFIG_RTC_DRV_ARMADA38X \
595 CONFIG_RTC_CLASS=y
596 FILES:=$(LINUX_DIR)/drivers/rtc/rtc-armada38x.ko
597 AUTOLOAD:=$(call AutoProbe,rtc-armada38x)
598 endef
599
600 define KernelPackage/rtc-armada38x/description
601 Kernel module for Marvell Armada 38x SoC built-in RTC.
602 endef
603
604 $(eval $(call KernelPackage,rtc-armada38x))
605
606
607 define KernelPackage/rtc-pcf8563
608 SUBMENU:=$(OTHER_MENU)
609 TITLE:=Philips PCF8563/Epson RTC8564 RTC support
610 DEPENDS:=@RTC_SUPPORT +kmod-i2c-core
611 KCONFIG:=CONFIG_RTC_DRV_PCF8563 \
612 CONFIG_RTC_CLASS=y
613 FILES:=$(LINUX_DIR)/drivers/rtc/rtc-pcf8563.ko
614 AUTOLOAD:=$(call AutoProbe,rtc-pcf8563)
615 endef
616
617 define KernelPackage/rtc-pcf8563/description
618 Kernel module for Philips PCF8563 RTC chip.
619 The Epson RTC8564 should work as well.
620 endef
621
622 $(eval $(call KernelPackage,rtc-pcf8563))
623
624
625 define KernelPackage/rtc-pcf2123
626 SUBMENU:=$(OTHER_MENU)
627 TITLE:=Philips PCF2123 RTC support
628 DEPENDS:=@RTC_SUPPORT
629 KCONFIG:=CONFIG_RTC_DRV_PCF2123 \
630 CONFIG_RTC_CLASS=y
631 FILES:=$(LINUX_DIR)/drivers/rtc/rtc-pcf2123.ko
632 AUTOLOAD:=$(call AutoProbe,rtc-pcf2123)
633 endef
634
635 define KernelPackage/rtc-pcf2123/description
636 Kernel module for Philips PCF2123 RTC chip
637 endef
638
639 $(eval $(call KernelPackage,rtc-pcf2123))
640
641 define KernelPackage/rtc-pt7c4338
642 SUBMENU:=$(OTHER_MENU)
643 TITLE:=Pericom PT7C4338 RTC support
644 DEPENDS:=@RTC_SUPPORT +kmod-i2c-core
645 KCONFIG:=CONFIG_RTC_DRV_PT7C4338 \
646 CONFIG_RTC_CLASS=y
647 FILES:=$(LINUX_DIR)/drivers/rtc/rtc-pt7c4338.ko
648 AUTOLOAD:=$(call AutoProbe,rtc-pt7c4338)
649 endef
650
651 define KernelPackage/rtc-pt7c4338/description
652 Kernel module for Pericom PT7C4338 i2c RTC chip
653 endef
654
655 $(eval $(call KernelPackage,rtc-pt7c4338))
656
657
658 define KernelPackage/mtdtests
659 SUBMENU:=$(OTHER_MENU)
660 TITLE:=MTD subsystem tests
661 KCONFIG:=CONFIG_MTD_TESTS
662 FILES:=\
663 $(LINUX_DIR)/drivers/mtd/tests/mtd_nandecctest.ko \
664 $(LINUX_DIR)/drivers/mtd/tests/mtd_oobtest.ko \
665 $(LINUX_DIR)/drivers/mtd/tests/mtd_pagetest.ko \
666 $(LINUX_DIR)/drivers/mtd/tests/mtd_readtest.ko \
667 $(LINUX_DIR)/drivers/mtd/tests/mtd_speedtest.ko \
668 $(LINUX_DIR)/drivers/mtd/tests/mtd_stresstest.ko \
669 $(LINUX_DIR)/drivers/mtd/tests/mtd_subpagetest.ko \
670 $(LINUX_DIR)/drivers/mtd/tests/mtd_torturetest.ko
671 endef
672
673 define KernelPackage/mtdtests/description
674 Kernel modules for MTD subsystem/driver testing
675 endef
676
677 $(eval $(call KernelPackage,mtdtests))
678
679
680 define KernelPackage/serial-8250
681 SUBMENU:=$(OTHER_MENU)
682 TITLE:=8250 UARTs
683 KCONFIG:= CONFIG_SERIAL_8250 \
684 CONFIG_SERIAL_8250_NR_UARTS=16 \
685 CONFIG_SERIAL_8250_RUNTIME_UARTS=16 \
686 CONFIG_SERIAL_8250_EXTENDED=y \
687 CONFIG_SERIAL_8250_MANY_PORTS=y \
688 CONFIG_SERIAL_8250_SHARE_IRQ=y \
689 CONFIG_SERIAL_8250_DETECT_IRQ=n \
690 CONFIG_SERIAL_8250_RSA=n
691 FILES:=$(LINUX_DIR)/drivers/tty/serial/8250/8250.ko
692 endef
693
694 define KernelPackage/serial-8250/description
695 Kernel module for 8250 UART based serial ports
696 endef
697
698 $(eval $(call KernelPackage,serial-8250))
699
700
701 define KernelPackage/regmap
702 SUBMENU:=$(OTHER_MENU)
703 TITLE:=Generic register map support
704 DEPENDS:=+kmod-lib-lzo +kmod-i2c-core
705 KCONFIG:=CONFIG_REGMAP \
706 CONFIG_REGMAP_MMIO \
707 CONFIG_REGMAP_SPI \
708 CONFIG_REGMAP_I2C \
709 CONFIG_SPI=y
710 FILES:= \
711 $(LINUX_DIR)/drivers/base/regmap/regmap-core.ko \
712 $(LINUX_DIR)/drivers/base/regmap/regmap-i2c.ko \
713 $(LINUX_DIR)/drivers/base/regmap/regmap-mmio.ko \
714 $(if $(CONFIG_SPI),$(LINUX_DIR)/drivers/base/regmap/regmap-spi.ko)
715 AUTOLOAD:=$(call AutoLoad,21,regmap-core regmap-i2c regmap-mmio regmap-spi)
716 endef
717
718 define KernelPackage/regmap/description
719 Generic register map support
720 endef
721
722 $(eval $(call KernelPackage,regmap))
723
724 define KernelPackage/ikconfig
725 SUBMENU:=$(OTHER_MENU)
726 TITLE:=Kernel configuration via /proc/config.gz
727 KCONFIG:=CONFIG_IKCONFIG \
728 CONFIG_IKCONFIG_PROC=y
729 FILES:=$(LINUX_DIR)/kernel/configs.ko
730 AUTOLOAD:=$(call AutoLoad,70,configs)
731 endef
732
733 define KernelPackage/ikconfig/description
734 Kernel configuration via /proc/config.gz
735 endef
736
737 $(eval $(call KernelPackage,ikconfig))
738
739
740 define KernelPackage/zram
741 SUBMENU:=$(OTHER_MENU)
742 TITLE:=ZRAM
743 DEPENDS:=+kmod-lib-lzo +kmod-lib-lz4
744 KCONFIG:= \
745 CONFIG_ZSMALLOC \
746 CONFIG_ZRAM \
747 CONFIG_ZRAM_DEBUG=n \
748 CONFIG_PGTABLE_MAPPING=n \
749 CONFIG_ZSMALLOC_STAT=n \
750 CONFIG_ZRAM_LZ4_COMPRESS=y
751 FILES:= \
752 $(LINUX_DIR)/mm/zsmalloc.ko \
753 $(LINUX_DIR)/drivers/block/zram/zram.ko
754 AUTOLOAD:=$(call AutoLoad,20,zsmalloc zram)
755 endef
756
757 define KernelPackage/zram/description
758 Compressed RAM block device support
759 endef
760
761 $(eval $(call KernelPackage,zram))
762
763
764 define KernelPackage/mvsdio
765 SUBMENU:=$(OTHER_MENU)
766 TITLE:=Marvell SDIO support
767 DEPENDS:=@TARGET_orion||TARGET_kirkwood||TARGET_mvebu +kmod-mmc
768 KCONFIG:=CONFIG_MMC_MVSDIO
769 FILES:=$(LINUX_DIR)/drivers/mmc/host/mvsdio.ko
770 AUTOLOAD:=$(call AutoProbe,mvsdio)
771 endef
772
773 define KernelPackage/mvsdio/description
774 Kernel support for the Marvell SDIO controller
775 endef
776
777 $(eval $(call KernelPackage,mvsdio))
778
779
780 define KernelPackage/pps
781 SUBMENU:=$(OTHER_MENU)
782 TITLE:=PPS support
783 KCONFIG:=CONFIG_PPS
784 FILES:=$(LINUX_DIR)/drivers/pps/pps_core.ko
785 AUTOLOAD:=$(call AutoLoad,17,pps_core,1)
786 endef
787
788 define KernelPackage/pps/description
789 PPS (Pulse Per Second) is a special pulse provided by some GPS
790 antennae. Userland can use it to get a high-precision time
791 reference.
792 endef
793
794 $(eval $(call KernelPackage,pps))
795
796
797 define KernelPackage/pps-gpio
798 SUBMENU:=$(OTHER_MENU)
799 TITLE:=PPS client using GPIO
800 DEPENDS:=+kmod-pps
801 KCONFIG:=CONFIG_PPS_CLIENT_GPIO
802 FILES:=$(LINUX_DIR)/drivers/pps/clients/pps-gpio.ko
803 AUTOLOAD:=$(call AutoLoad,18,pps-gpio,1)
804 endef
805
806 define KernelPackage/pps-gpio/description
807 Support for a PPS source using GPIO. To be useful you must
808 also register a platform device specifying the GPIO pin and
809 other options, usually in your board setup.
810 endef
811
812 $(eval $(call KernelPackage,pps-gpio))
813
814
815 define KernelPackage/ptp
816 SUBMENU:=$(OTHER_MENU)
817 TITLE:=PTP clock support
818 DEPENDS:=+kmod-pps
819 KCONFIG:=CONFIG_PTP_1588_CLOCK
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-gianfar +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
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_THERMAL_DEFAULT_GOV_STEP_WISE=y \
872 CONFIG_THERMAL_DEFAULT_GOV_FAIR_SHARE=n \
873 CONFIG_THERMAL_DEFAULT_GOV_USER_SPACE=n \
874 CONFIG_THERMAL_GOV_FAIR_SHARE=n \
875 CONFIG_THERMAL_GOV_STEP_WISE=y \
876 CONFIG_THERMAL_GOV_USER_SPACE=n \
877 CONFIG_THERMAL_HWMON=y \
878 CONFIG_THERMAL_EMULATION=n
879 FILES:=$(LINUX_DIR)/drivers/thermal/thermal_sys.ko
880 AUTOLOAD:=$(call AutoProbe,thermal_sys)
881 endef
882
883 define KernelPackage/thermal/description
884 Generic Thermal Sysfs driver offers a generic mechanism for thermal
885 management. Usually it's made up of one or more thermal zone and cooling
886 device.
887 endef
888
889 $(eval $(call KernelPackage,thermal))
890
891
892 define KernelPackage/thermal-armada
893 SUBMENU:=$(OTHER_MENU)
894 TITLE:=Armada 370/XP thermal management
895 DEPENDS:=@TARGET_mvebu +kmod-thermal
896 KCONFIG:=CONFIG_ARMADA_THERMAL
897 FILES:=$(LINUX_DIR)/drivers/thermal/armada_thermal.ko
898 AUTOLOAD:=$(call AutoProbe,armada_thermal)
899 endef
900
901 define KernelPackage/thermal-armada/description
902 Enable this module if you want to have support for thermal management
903 controller present in Armada 370 and Armada XP SoC.
904 endef
905
906 $(eval $(call KernelPackage,thermal-armada))
907
908
909 define KernelPackage/thermal-imx
910 SUBMENU:=$(OTHER_MENU)
911 TITLE:=Temperature sensor driver for Freescale i.MX SoCs
912 DEPENDS:=@TARGET_imx6 +kmod-thermal
913 KCONFIG:= \
914 CONFIG_CPU_THERMAL=y \
915 CONFIG_IMX_THERMAL
916 FILES:=$(LINUX_DIR)/drivers/thermal/imx_thermal.ko
917 AUTOLOAD:=$(call AutoProbe,imx_thermal)
918 endef
919
920 define KernelPackage/thermal-imx/description
921 Support for Temperature Monitor (TEMPMON) found on Freescale i.MX SoCs.
922 It supports one critical trip point and one passive trip point. The
923 cpufreq is used as the cooling device to throttle CPUs when the
924 passive trip is crossed.
925 endef
926
927 $(eval $(call KernelPackage,thermal-imx))
928
929
930 define KernelPackage/thermal-kirkwood
931 SUBMENU:=$(OTHER_MENU)
932 TITLE:=Temperature sensor on Marvell Kirkwood SoCs
933 DEPENDS:=@TARGET_kirkwood +kmod-thermal
934 KCONFIG:=CONFIG_KIRKWOOD_THERMAL
935 FILES:=$(LINUX_DIR)/drivers/thermal/kirkwood_thermal.ko
936 AUTOLOAD:=$(call AutoProbe,kirkwood_thermal)
937 endef
938
939 define KernelPackage/thermal-kirkwood/description
940 Support for the Kirkwood thermal sensor driver into the Linux thermal
941 framework. Only kirkwood 88F6282 and 88F6283 have this sensor.
942 endef
943
944 $(eval $(call KernelPackage,thermal-kirkwood))
945
946
947 define KernelPackage/gpio-beeper
948 SUBMENU:=$(OTHER_MENU)
949 TITLE:=GPIO beeper support
950 DEPENDS:=+kmod-input-core
951 KCONFIG:= \
952 CONFIG_INPUT_MISC=y \
953 CONFIG_INPUT_GPIO_BEEPER
954 FILES:= \
955 $(LINUX_DIR)/drivers/input/misc/gpio-beeper.ko
956 AUTOLOAD:=$(call AutoLoad,50,gpio-beeper)
957 endef
958
959 define KernelPackage/gpio-beeper/description
960 This enables playing beeps through an GPIO-connected buzzer
961 endef
962
963 $(eval $(call KernelPackage,gpio-beeper))
964
965
966 define KernelPackage/echo
967 SUBMENU:=$(OTHER_MENU)
968 TITLE:=Line Echo Canceller
969 KCONFIG:=CONFIG_ECHO
970 FILES:=$(LINUX_DIR)/drivers/misc/echo/echo.ko
971 AUTOLOAD:=$(call AutoLoad,50,echo)
972 endef
973
974 define KernelPackage/echo/description
975 This driver provides line echo cancelling support for mISDN and
976 DAHDI drivers
977 endef
978
979 $(eval $(call KernelPackage,echo))