9bb9dec2bc448868b91466e3fab6dffeb95910a5
[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/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@lt4.4) \
268 $(if $(CONFIG_IIO_TRIGGERED_BUFFER),$(LINUX_DIR)/drivers/iio/buffer/industrialio-triggered-buffer.ko@ge4.4) \
269 $(LINUX_DIR)/drivers/iio/kfifo_buf.ko@lt4.4 \
270 $(LINUX_DIR)/drivers/iio/buffer/kfifo_buf.ko@ge4.4
271 AUTOLOAD:=$(call AutoLoad,55,industrialio kfifo_buf industrialio-triggered-buffer)
272 endef
273
274 define KernelPackage/iio-core/description
275 The industrial I/O subsystem provides a unified framework for
276 drivers for many different types of embedded sensors using a
277 number of different physical interfaces (i2c, spi, etc)
278 endef
279
280 $(eval $(call KernelPackage,iio-core))
281
282
283 define KernelPackage/iio-ad799x
284 SUBMENU:=$(OTHER_MENU)
285 DEPENDS:=kmod-i2c-core kmod-iio-core
286 TITLE:=Analog Devices AD799x ADC driver
287 KCONFIG:= \
288 CONFIG_AD799X_RING_BUFFER=y \
289 CONFIG_AD799X
290 FILES:=$(LINUX_DIR)/drivers/iio/adc/ad799x.ko
291 AUTOLOAD:=$(call AutoLoad,56,ad799x)
292 endef
293
294 define KernelPackage/iio-ad799x/description
295 support for Analog Devices:
296 ad7991, ad7995, ad7999, ad7992, ad7993, ad7994, ad7997, ad7998
297 i2c analog to digital converters (ADC).
298 endef
299
300 $(eval $(call KernelPackage,iio-ad799x))
301
302
303 define KernelPackage/iio-dht11
304 SUBMENU:=$(OTHER_MENU)
305 DEPENDS:=kmod-iio-core @GPIO_SUPPORT @USES_DEVICETREE
306 TITLE:=DHT11 (and compatible) humidity and temperature sensors
307 KCONFIG:= \
308 CONFIG_DHT11
309 FILES:=$(LINUX_DIR)/drivers/iio/humidity/dht11.ko
310 AUTOLOAD:=$(call AutoLoad,56,dht11)
311 endef
312
313 define KernelPackage/iio-dht11/description
314 support for DHT11 and DHT22 digitial humidity and temperature sensors
315 attached at GPIO lines. You will need a custom device tree file to
316 specify the GPIO line to use.
317 endef
318
319 $(eval $(call KernelPackage,iio-dht11))
320
321
322 define KernelPackage/lp
323 SUBMENU:=$(OTHER_MENU)
324 TITLE:=Parallel port and line printer support
325 KCONFIG:= \
326 CONFIG_PARPORT \
327 CONFIG_PRINTER \
328 CONFIG_PPDEV
329 FILES:= \
330 $(LINUX_DIR)/drivers/parport/parport.ko \
331 $(LINUX_DIR)/drivers/char/lp.ko \
332 $(LINUX_DIR)/drivers/char/ppdev.ko
333 AUTOLOAD:=$(call AutoLoad,50,parport lp ppdev)
334 endef
335
336 $(eval $(call KernelPackage,lp))
337
338
339 define KernelPackage/mmc
340 SUBMENU:=$(OTHER_MENU)
341 TITLE:=MMC/SD Card Support
342 KCONFIG:= \
343 CONFIG_MMC \
344 CONFIG_MMC_BLOCK \
345 CONFIG_MMC_DEBUG=n \
346 CONFIG_MMC_UNSAFE_RESUME=n \
347 CONFIG_MMC_BLOCK_BOUNCE=y \
348 CONFIG_MMC_TIFM_SD=n \
349 CONFIG_MMC_WBSD=n \
350 CONFIG_SDIO_UART=n
351 FILES:= \
352 $(LINUX_DIR)/drivers/mmc/core/mmc_core.ko \
353 $(LINUX_DIR)/drivers/mmc/card/mmc_block.ko
354 AUTOLOAD:=$(call AutoProbe,mmc_core mmc_block,1)
355 endef
356
357 define KernelPackage/mmc/description
358 Kernel support for MMC/SD cards
359 endef
360
361 $(eval $(call KernelPackage,mmc))
362
363
364 define KernelPackage/sdhci
365 SUBMENU:=$(OTHER_MENU)
366 TITLE:=Secure Digital Host Controller Interface support
367 DEPENDS:=+kmod-mmc
368 KCONFIG:= \
369 CONFIG_MMC_SDHCI \
370 CONFIG_MMC_SDHCI_PLTFM \
371 CONFIG_MMC_SDHCI_PCI=n
372 FILES:= \
373 $(LINUX_DIR)/drivers/mmc/host/sdhci.ko \
374 $(LINUX_DIR)/drivers/mmc/host/sdhci-pltfm.ko
375
376 AUTOLOAD:=$(call AutoProbe,sdhci sdhci-pltfm,1)
377 endef
378
379 define KernelPackage/sdhci/description
380 Kernel support for SDHCI Hosts
381 endef
382
383 $(eval $(call KernelPackage,sdhci))
384
385
386 define KernelPackage/rfkill
387 SUBMENU:=$(OTHER_MENU)
388 TITLE:=RF switch subsystem support
389 DEPENDS:=@USE_RFKILL +kmod-input-core
390 KCONFIG:= \
391 CONFIG_RFKILL \
392 CONFIG_RFKILL_INPUT=y \
393 CONFIG_RFKILL_LEDS=y \
394 CONFIG_RFKILL_GPIO=y
395 FILES:= \
396 $(LINUX_DIR)/net/rfkill/rfkill.ko
397 AUTOLOAD:=$(call AutoLoad,20,rfkill)
398 endef
399
400 define KernelPackage/rfkill/description
401 Say Y here if you want to have control over RF switches
402 found on many WiFi and Bluetooth cards
403 endef
404
405 $(eval $(call KernelPackage,rfkill))
406
407
408 define KernelPackage/softdog
409 SUBMENU:=$(OTHER_MENU)
410 TITLE:=Software watchdog driver
411 KCONFIG:=CONFIG_SOFT_WATCHDOG
412 FILES:=$(LINUX_DIR)/drivers/$(WATCHDOG_DIR)/softdog.ko
413 AUTOLOAD:=$(call AutoLoad,50,softdog,1)
414 endef
415
416 define KernelPackage/softdog/description
417 Software watchdog driver
418 endef
419
420 $(eval $(call KernelPackage,softdog))
421
422
423 define KernelPackage/ssb
424 SUBMENU:=$(OTHER_MENU)
425 TITLE:=Silicon Sonics Backplane glue code
426 DEPENDS:=@PCI_SUPPORT @!TARGET_brcm47xx @!TARGET_brcm63xx
427 KCONFIG:=\
428 CONFIG_SSB \
429 CONFIG_SSB_B43_PCI_BRIDGE=y \
430 CONFIG_SSB_DRIVER_MIPS=n \
431 CONFIG_SSB_DRIVER_PCICORE=y \
432 CONFIG_SSB_DRIVER_PCICORE_POSSIBLE=y \
433 CONFIG_SSB_PCIHOST=y \
434 CONFIG_SSB_PCIHOST_POSSIBLE=y \
435 CONFIG_SSB_POSSIBLE=y \
436 CONFIG_SSB_SPROM=y \
437 CONFIG_SSB_SILENT=y
438 FILES:=$(LINUX_DIR)/drivers/ssb/ssb.ko
439 AUTOLOAD:=$(call AutoLoad,18,ssb,1)
440 endef
441
442 define KernelPackage/ssb/description
443 Silicon Sonics Backplane glue code.
444 endef
445
446 $(eval $(call KernelPackage,ssb))
447
448
449 define KernelPackage/bcma
450 SUBMENU:=$(OTHER_MENU)
451 TITLE:=BCMA support
452 DEPENDS:=@PCI_SUPPORT @!TARGET_brcm47xx @!TARGET_bcm53xx
453 KCONFIG:=\
454 CONFIG_BCMA \
455 CONFIG_BCMA_POSSIBLE=y \
456 CONFIG_BCMA_BLOCKIO=y \
457 CONFIG_BCMA_HOST_PCI_POSSIBLE=y \
458 CONFIG_BCMA_HOST_PCI=y \
459 CONFIG_BCMA_HOST_SOC=n \
460 CONFIG_BCMA_DRIVER_MIPS=n \
461 CONFIG_BCMA_DRIVER_PCI_HOSTMODE=n \
462 CONFIG_BCMA_DRIVER_GMAC_CMN=n \
463 CONFIG_BCMA_DEBUG=n
464 FILES:=$(LINUX_DIR)/drivers/bcma/bcma.ko
465 AUTOLOAD:=$(call AutoLoad,29,bcma)
466 endef
467
468 define KernelPackage/bcma/description
469 Bus driver for Broadcom specific Advanced Microcontroller Bus Architecture
470 endef
471
472 $(eval $(call KernelPackage,bcma))
473
474
475 define KernelPackage/wdt-omap
476 SUBMENU:=$(OTHER_MENU)
477 TITLE:=OMAP Watchdog timer
478 DEPENDS:=@(TARGET_omap24xx||TARGET_omap35xx)
479 KCONFIG:=CONFIG_OMAP_WATCHDOG
480 FILES:=$(LINUX_DIR)/drivers/$(WATCHDOG_DIR)/omap_wdt.ko
481 AUTOLOAD:=$(call AutoLoad,50,omap_wdt,1)
482 endef
483
484 define KernelPackage/wdt-omap/description
485 Kernel module for TI omap watchdog timer
486 endef
487
488 $(eval $(call KernelPackage,wdt-omap))
489
490
491 define KernelPackage/wdt-orion
492 SUBMENU:=$(OTHER_MENU)
493 TITLE:=Marvell Orion Watchdog timer
494 DEPENDS:=@TARGET_orion||TARGET_kirkwood||TARGET_mvebu
495 KCONFIG:=CONFIG_ORION_WATCHDOG
496 FILES:=$(LINUX_DIR)/drivers/$(WATCHDOG_DIR)/orion_wdt.ko
497 AUTOLOAD:=$(call AutoLoad,50,orion_wdt,1)
498 endef
499
500 define KernelPackage/wdt-orion/description
501 Kernel module for Marvell Orion, Kirkwood and Armada XP/370 watchdog timer
502 endef
503
504 $(eval $(call KernelPackage,wdt-orion))
505
506
507 define KernelPackage/booke-wdt
508 SUBMENU:=$(OTHER_MENU)
509 TITLE:=PowerPC Book-E Watchdog Timer
510 DEPENDS:=@(TARGET_mpc85xx||TARGET_ppc40x||TARGET_ppc44x)
511 KCONFIG:=CONFIG_BOOKE_WDT
512 FILES:=$(LINUX_DIR)/drivers/$(WATCHDOG_DIR)/booke_wdt.ko
513 AUTOLOAD:=$(call AutoLoad,50,booke_wdt,1)
514 endef
515
516 define KernelPackage/booke-wdt/description
517 Kernel module for PowerPC Book-E Watchdog Timer
518 endef
519
520 $(eval $(call KernelPackage,booke-wdt))
521
522
523 define KernelPackage/rtc-ds1307
524 SUBMENU:=$(OTHER_MENU)
525 TITLE:=Dallas/Maxim DS1307 (and compatible) RTC support
526 DEPENDS:=@RTC_SUPPORT +kmod-i2c-core
527 KCONFIG:=CONFIG_RTC_DRV_DS1307 \
528 CONFIG_RTC_CLASS=y
529 FILES:=$(LINUX_DIR)/drivers/rtc/rtc-ds1307.ko
530 AUTOLOAD:=$(call AutoProbe,rtc-ds1307)
531 endef
532
533 define KernelPackage/rtc-ds1307/description
534 Kernel module for Dallas/Maxim DS1307/DS1337/DS1338/DS1340/DS1388/DS3231,
535 Epson RX-8025 and various other compatible RTC chips connected via I2C.
536 endef
537
538 $(eval $(call KernelPackage,rtc-ds1307))
539
540
541 define KernelPackage/rtc-ds1672
542 SUBMENU:=$(OTHER_MENU)
543 TITLE:=Dallas/Maxim DS1672 RTC support
544 DEPENDS:=@RTC_SUPPORT +kmod-i2c-core
545 KCONFIG:=CONFIG_RTC_DRV_DS1672 \
546 CONFIG_RTC_CLASS=y
547 FILES:=$(LINUX_DIR)/drivers/rtc/rtc-ds1672.ko
548 AUTOLOAD:=$(call AutoProbe,rtc-ds1672)
549 endef
550
551 define KernelPackage/rtc-ds1672/description
552 Kernel module for Dallas/Maxim DS1672 RTC.
553 endef
554
555 $(eval $(call KernelPackage,rtc-ds1672))
556
557
558 define KernelPackage/rtc-isl1208
559 SUBMENU:=$(OTHER_MENU)
560 TITLE:=Intersil ISL1208 RTC support
561 DEPENDS:=@RTC_SUPPORT +kmod-i2c-core
562 KCONFIG:=CONFIG_RTC_DRV_ISL1208 \
563 CONFIG_RTC_CLASS=y
564 FILES:=$(LINUX_DIR)/drivers/rtc/rtc-isl1208.ko
565 AUTOLOAD:=$(call AutoProbe,rtc-isl1208)
566 endef
567
568 define KernelPackage/rtc-isl1208/description
569 Kernel module for Intersil ISL1208 RTC.
570 endef
571
572 $(eval $(call KernelPackage,rtc-isl1208))
573
574
575 define KernelPackage/rtc-marvell
576 SUBMENU:=$(OTHER_MENU)
577 TITLE:=Marvell SoC built-in RTC support
578 DEPENDS:=@RTC_SUPPORT @TARGET_kirkwood||TARGET_orion||TARGET_mvebu
579 KCONFIG:=CONFIG_RTC_DRV_MV \
580 CONFIG_RTC_CLASS=y
581 FILES:=$(LINUX_DIR)/drivers/rtc/rtc-mv.ko
582 AUTOLOAD:=$(call AutoProbe,rtc-mv)
583 endef
584
585 define KernelPackage/rtc-marvell/description
586 Kernel module for Marvell SoC built-in RTC.
587 endef
588
589 $(eval $(call KernelPackage,rtc-marvell))
590
591
592 define KernelPackage/rtc-armada38x
593 SUBMENU:=$(OTHER_MENU)
594 TITLE:=Marvell Armada 38x SoC built-in RTC support
595 DEPENDS:=@RTC_SUPPORT @TARGET_mvebu
596 KCONFIG:=CONFIG_RTC_DRV_ARMADA38X \
597 CONFIG_RTC_CLASS=y
598 FILES:=$(LINUX_DIR)/drivers/rtc/rtc-armada38x.ko
599 AUTOLOAD:=$(call AutoProbe,rtc-armada38x)
600 endef
601
602 define KernelPackage/rtc-armada38x/description
603 Kernel module for Marvell Armada 38x SoC built-in RTC.
604 endef
605
606 $(eval $(call KernelPackage,rtc-armada38x))
607
608
609 define KernelPackage/rtc-pcf8563
610 SUBMENU:=$(OTHER_MENU)
611 TITLE:=Philips PCF8563/Epson RTC8564 RTC support
612 DEPENDS:=@RTC_SUPPORT +kmod-i2c-core
613 KCONFIG:=CONFIG_RTC_DRV_PCF8563 \
614 CONFIG_RTC_CLASS=y
615 FILES:=$(LINUX_DIR)/drivers/rtc/rtc-pcf8563.ko
616 AUTOLOAD:=$(call AutoProbe,rtc-pcf8563)
617 endef
618
619 define KernelPackage/rtc-pcf8563/description
620 Kernel module for Philips PCF8563 RTC chip.
621 The Epson RTC8564 should work as well.
622 endef
623
624 $(eval $(call KernelPackage,rtc-pcf8563))
625
626
627 define KernelPackage/rtc-pcf2123
628 SUBMENU:=$(OTHER_MENU)
629 TITLE:=Philips PCF2123 RTC support
630 DEPENDS:=@RTC_SUPPORT
631 KCONFIG:=CONFIG_RTC_DRV_PCF2123 \
632 CONFIG_RTC_CLASS=y
633 FILES:=$(LINUX_DIR)/drivers/rtc/rtc-pcf2123.ko
634 AUTOLOAD:=$(call AutoProbe,rtc-pcf2123)
635 endef
636
637 define KernelPackage/rtc-pcf2123/description
638 Kernel module for Philips PCF2123 RTC chip
639 endef
640
641 $(eval $(call KernelPackage,rtc-pcf2123))
642
643 define KernelPackage/rtc-pt7c4338
644 SUBMENU:=$(OTHER_MENU)
645 TITLE:=Pericom PT7C4338 RTC support
646 DEPENDS:=@RTC_SUPPORT +kmod-i2c-core
647 KCONFIG:=CONFIG_RTC_DRV_PT7C4338 \
648 CONFIG_RTC_CLASS=y
649 FILES:=$(LINUX_DIR)/drivers/rtc/rtc-pt7c4338.ko
650 AUTOLOAD:=$(call AutoProbe,rtc-pt7c4338)
651 endef
652
653 define KernelPackage/rtc-pt7c4338/description
654 Kernel module for Pericom PT7C4338 i2c RTC chip
655 endef
656
657 $(eval $(call KernelPackage,rtc-pt7c4338))
658
659
660 define KernelPackage/mtdtests
661 SUBMENU:=$(OTHER_MENU)
662 TITLE:=MTD subsystem tests
663 KCONFIG:=CONFIG_MTD_TESTS
664 FILES:=\
665 $(LINUX_DIR)/drivers/mtd/tests/mtd_nandecctest.ko \
666 $(LINUX_DIR)/drivers/mtd/tests/mtd_oobtest.ko \
667 $(LINUX_DIR)/drivers/mtd/tests/mtd_pagetest.ko \
668 $(LINUX_DIR)/drivers/mtd/tests/mtd_readtest.ko \
669 $(LINUX_DIR)/drivers/mtd/tests/mtd_speedtest.ko \
670 $(LINUX_DIR)/drivers/mtd/tests/mtd_stresstest.ko \
671 $(LINUX_DIR)/drivers/mtd/tests/mtd_subpagetest.ko \
672 $(LINUX_DIR)/drivers/mtd/tests/mtd_torturetest.ko
673 endef
674
675 define KernelPackage/mtdtests/description
676 Kernel modules for MTD subsystem/driver testing
677 endef
678
679 $(eval $(call KernelPackage,mtdtests))
680
681
682 define KernelPackage/serial-8250
683 SUBMENU:=$(OTHER_MENU)
684 TITLE:=8250 UARTs
685 KCONFIG:= CONFIG_SERIAL_8250 \
686 CONFIG_SERIAL_8250_NR_UARTS=16 \
687 CONFIG_SERIAL_8250_RUNTIME_UARTS=16 \
688 CONFIG_SERIAL_8250_EXTENDED=y \
689 CONFIG_SERIAL_8250_MANY_PORTS=y \
690 CONFIG_SERIAL_8250_SHARE_IRQ=y \
691 CONFIG_SERIAL_8250_DETECT_IRQ=n \
692 CONFIG_SERIAL_8250_RSA=n
693 FILES:= \
694 $(LINUX_DIR)/drivers/tty/serial/8250/8250.ko \
695 $(LINUX_DIR)/drivers/tty/serial/8250/8250_base.ko@ge4.4
696 endef
697
698 define KernelPackage/serial-8250/description
699 Kernel module for 8250 UART based serial ports
700 endef
701
702 $(eval $(call KernelPackage,serial-8250))
703
704
705 define KernelPackage/regmap
706 SUBMENU:=$(OTHER_MENU)
707 TITLE:=Generic register map support
708 DEPENDS:=+kmod-lib-lzo +kmod-i2c-core
709 KCONFIG:=CONFIG_REGMAP \
710 CONFIG_REGMAP_MMIO \
711 CONFIG_REGMAP_SPI \
712 CONFIG_REGMAP_I2C \
713 CONFIG_SPI=y
714 FILES:= \
715 $(LINUX_DIR)/drivers/base/regmap/regmap-core.ko \
716 $(LINUX_DIR)/drivers/base/regmap/regmap-i2c.ko \
717 $(LINUX_DIR)/drivers/base/regmap/regmap-mmio.ko \
718 $(if $(CONFIG_SPI),$(LINUX_DIR)/drivers/base/regmap/regmap-spi.ko)
719 AUTOLOAD:=$(call AutoLoad,21,regmap-core regmap-i2c regmap-mmio regmap-spi)
720 endef
721
722 define KernelPackage/regmap/description
723 Generic register map support
724 endef
725
726 $(eval $(call KernelPackage,regmap))
727
728 define KernelPackage/ikconfig
729 SUBMENU:=$(OTHER_MENU)
730 TITLE:=Kernel configuration via /proc/config.gz
731 KCONFIG:=CONFIG_IKCONFIG \
732 CONFIG_IKCONFIG_PROC=y
733 FILES:=$(LINUX_DIR)/kernel/configs.ko
734 AUTOLOAD:=$(call AutoLoad,70,configs)
735 endef
736
737 define KernelPackage/ikconfig/description
738 Kernel configuration via /proc/config.gz
739 endef
740
741 $(eval $(call KernelPackage,ikconfig))
742
743
744 define KernelPackage/zram
745 SUBMENU:=$(OTHER_MENU)
746 TITLE:=ZRAM
747 DEPENDS:=+kmod-lib-lzo +kmod-lib-lz4
748 KCONFIG:= \
749 CONFIG_ZSMALLOC \
750 CONFIG_ZRAM \
751 CONFIG_ZRAM_DEBUG=n \
752 CONFIG_PGTABLE_MAPPING=n \
753 CONFIG_ZSMALLOC_STAT=n \
754 CONFIG_ZRAM_LZ4_COMPRESS=y
755 FILES:= \
756 $(LINUX_DIR)/mm/zsmalloc.ko \
757 $(LINUX_DIR)/drivers/block/zram/zram.ko
758 AUTOLOAD:=$(call AutoLoad,20,zsmalloc zram)
759 endef
760
761 define KernelPackage/zram/description
762 Compressed RAM block device support
763 endef
764
765 $(eval $(call KernelPackage,zram))
766
767
768 define KernelPackage/mvsdio
769 SUBMENU:=$(OTHER_MENU)
770 TITLE:=Marvell SDIO support
771 DEPENDS:=@TARGET_orion||TARGET_kirkwood||TARGET_mvebu +kmod-mmc
772 KCONFIG:=CONFIG_MMC_MVSDIO
773 FILES:=$(LINUX_DIR)/drivers/mmc/host/mvsdio.ko
774 AUTOLOAD:=$(call AutoProbe,mvsdio)
775 endef
776
777 define KernelPackage/mvsdio/description
778 Kernel support for the Marvell SDIO controller
779 endef
780
781 $(eval $(call KernelPackage,mvsdio))
782
783
784 define KernelPackage/pps
785 SUBMENU:=$(OTHER_MENU)
786 TITLE:=PPS support
787 KCONFIG:=CONFIG_PPS
788 FILES:=$(LINUX_DIR)/drivers/pps/pps_core.ko
789 AUTOLOAD:=$(call AutoLoad,17,pps_core,1)
790 endef
791
792 define KernelPackage/pps/description
793 PPS (Pulse Per Second) is a special pulse provided by some GPS
794 antennae. Userland can use it to get a high-precision time
795 reference.
796 endef
797
798 $(eval $(call KernelPackage,pps))
799
800
801 define KernelPackage/pps-gpio
802 SUBMENU:=$(OTHER_MENU)
803 TITLE:=PPS client using GPIO
804 DEPENDS:=+kmod-pps
805 KCONFIG:=CONFIG_PPS_CLIENT_GPIO
806 FILES:=$(LINUX_DIR)/drivers/pps/clients/pps-gpio.ko
807 AUTOLOAD:=$(call AutoLoad,18,pps-gpio,1)
808 endef
809
810 define KernelPackage/pps-gpio/description
811 Support for a PPS source using GPIO. To be useful you must
812 also register a platform device specifying the GPIO pin and
813 other options, usually in your board setup.
814 endef
815
816 $(eval $(call KernelPackage,pps-gpio))
817
818
819 define KernelPackage/ptp
820 SUBMENU:=$(OTHER_MENU)
821 TITLE:=PTP clock support
822 DEPENDS:=+kmod-pps
823 KCONFIG:=CONFIG_PTP_1588_CLOCK
824 FILES:=$(LINUX_DIR)/drivers/ptp/ptp.ko
825 AUTOLOAD:=$(call AutoLoad,18,ptp,1)
826 endef
827
828 define KernelPackage/ptp/description
829 The IEEE 1588 standard defines a method to precisely
830 synchronize distributed clocks over Ethernet networks.
831 endef
832
833 $(eval $(call KernelPackage,ptp))
834
835
836 define KernelPackage/ptp-gianfar
837 SUBMENU:=$(OTHER_MENU)
838 TITLE:=Freescale Gianfar PTP support
839 DEPENDS:=@TARGET_mpc85xx +kmod-gianfar +kmod-ptp
840 KCONFIG:=CONFIG_PTP_1588_CLOCK_GIANFAR
841 FILES:=$(LINUX_DIR)/drivers/net/ethernet/freescale/gianfar_ptp.ko
842 AUTOLOAD:=$(call AutoProbe,gianfar_ptp)
843 endef
844
845 define KernelPackage/ptp-gianfar/description
846 Kernel module for IEEE 1588 support for Freescale
847 Gianfar Ethernet drivers
848 endef
849
850 $(eval $(call KernelPackage,ptp-gianfar))
851
852
853 define KernelPackage/random-core
854 SUBMENU:=$(OTHER_MENU)
855 TITLE:=Hardware Random Number Generator Core support
856 KCONFIG:=CONFIG_HW_RANDOM
857 FILES:=$(LINUX_DIR)/drivers/char/hw_random/rng-core.ko
858 endef
859
860 define KernelPackage/random-core/description
861 Kernel module for the HW random number generator core infrastructure
862 endef
863
864 $(eval $(call KernelPackage,random-core))
865
866
867 define KernelPackage/thermal
868 SUBMENU:=$(OTHER_MENU)
869 TITLE:=Generic Thermal sysfs driver
870 DEPENDS:=+kmod-hwmon-core
871 HIDDEN:=1
872 KCONFIG:= \
873 CONFIG_THERMAL \
874 CONFIG_THERMAL_OF=y \
875 CONFIG_THERMAL_DEFAULT_GOV_STEP_WISE=y \
876 CONFIG_THERMAL_DEFAULT_GOV_FAIR_SHARE=n \
877 CONFIG_THERMAL_DEFAULT_GOV_USER_SPACE=n \
878 CONFIG_THERMAL_GOV_FAIR_SHARE=n \
879 CONFIG_THERMAL_GOV_STEP_WISE=y \
880 CONFIG_THERMAL_GOV_USER_SPACE=n \
881 CONFIG_THERMAL_HWMON=y \
882 CONFIG_THERMAL_EMULATION=n
883 FILES:=$(LINUX_DIR)/drivers/thermal/thermal_sys.ko
884 AUTOLOAD:=$(call AutoProbe,thermal_sys)
885 endef
886
887 define KernelPackage/thermal/description
888 Generic Thermal Sysfs driver offers a generic mechanism for thermal
889 management. Usually it's made up of one or more thermal zone and cooling
890 device.
891 endef
892
893 $(eval $(call KernelPackage,thermal))
894
895
896 define KernelPackage/thermal-armada
897 SUBMENU:=$(OTHER_MENU)
898 TITLE:=Armada 370/XP thermal management
899 DEPENDS:=@TARGET_mvebu +kmod-thermal
900 KCONFIG:=CONFIG_ARMADA_THERMAL
901 FILES:=$(LINUX_DIR)/drivers/thermal/armada_thermal.ko
902 AUTOLOAD:=$(call AutoProbe,armada_thermal)
903 endef
904
905 define KernelPackage/thermal-armada/description
906 Enable this module if you want to have support for thermal management
907 controller present in Armada 370 and Armada XP SoC.
908 endef
909
910 $(eval $(call KernelPackage,thermal-armada))
911
912
913 define KernelPackage/thermal-imx
914 SUBMENU:=$(OTHER_MENU)
915 TITLE:=Temperature sensor driver for Freescale i.MX SoCs
916 DEPENDS:=@TARGET_imx6 +kmod-thermal
917 KCONFIG:= \
918 CONFIG_CPU_THERMAL=y \
919 CONFIG_IMX_THERMAL
920 FILES:=$(LINUX_DIR)/drivers/thermal/imx_thermal.ko
921 AUTOLOAD:=$(call AutoProbe,imx_thermal)
922 endef
923
924 define KernelPackage/thermal-imx/description
925 Support for Temperature Monitor (TEMPMON) found on Freescale i.MX SoCs.
926 It supports one critical trip point and one passive trip point. The
927 cpufreq is used as the cooling device to throttle CPUs when the
928 passive trip is crossed.
929 endef
930
931 $(eval $(call KernelPackage,thermal-imx))
932
933
934 define KernelPackage/thermal-kirkwood
935 SUBMENU:=$(OTHER_MENU)
936 TITLE:=Temperature sensor on Marvell Kirkwood SoCs
937 DEPENDS:=@TARGET_kirkwood +kmod-thermal
938 KCONFIG:=CONFIG_KIRKWOOD_THERMAL
939 FILES:=$(LINUX_DIR)/drivers/thermal/kirkwood_thermal.ko
940 AUTOLOAD:=$(call AutoProbe,kirkwood_thermal)
941 endef
942
943 define KernelPackage/thermal-kirkwood/description
944 Support for the Kirkwood thermal sensor driver into the Linux thermal
945 framework. Only kirkwood 88F6282 and 88F6283 have this sensor.
946 endef
947
948 $(eval $(call KernelPackage,thermal-kirkwood))
949
950
951 define KernelPackage/gpio-beeper
952 SUBMENU:=$(OTHER_MENU)
953 TITLE:=GPIO beeper support
954 DEPENDS:=+kmod-input-core
955 KCONFIG:= \
956 CONFIG_INPUT_MISC=y \
957 CONFIG_INPUT_GPIO_BEEPER
958 FILES:= \
959 $(LINUX_DIR)/drivers/input/misc/gpio-beeper.ko
960 AUTOLOAD:=$(call AutoLoad,50,gpio-beeper)
961 endef
962
963 define KernelPackage/gpio-beeper/description
964 This enables playing beeps through an GPIO-connected buzzer
965 endef
966
967 $(eval $(call KernelPackage,gpio-beeper))
968
969
970 define KernelPackage/echo
971 SUBMENU:=$(OTHER_MENU)
972 TITLE:=Line Echo Canceller
973 KCONFIG:=CONFIG_ECHO
974 FILES:=$(LINUX_DIR)/drivers/misc/echo/echo.ko
975 AUTOLOAD:=$(call AutoLoad,50,echo)
976 endef
977
978 define KernelPackage/echo/description
979 This driver provides line echo cancelling support for mISDN and
980 DAHDI drivers
981 endef
982
983 $(eval $(call KernelPackage,echo))