3460a55b363dd48450abc8b1dc4b0e2b937226d5
[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-iphc
14 USBMENU:=$(OTHER_MENU)
15 TITLE:=6lowpan shared code
16 DEPENDS:=@!LINUX_3_10
17 KCONFIG:=CONFIG_6LOWPAN_IPHC
18 HIDDEN:=1
19 FILES:=$(LINUX_DIR)/net/ieee802154/6lowpan_iphc.ko
20 AUTOLOAD:=$(call Autoprobe,6lowpan_iphc)
21 endef
22
23 define KernelPackage/6lowpan-iphc/description
24 Shared 6lowpan code for IEEE 802.15.4 and Bluetooth.
25 endef
26
27 $(eval $(call KernelPackage,6lowpan-iphc))
28
29 define KernelPackage/bluetooth
30 SUBMENU:=$(OTHER_MENU)
31 TITLE:=Bluetooth support
32 DEPENDS:=@USB_SUPPORT +kmod-usb-core +kmod-crypto-hash +!LINUX_3_10:kmod-6lowpan-iphc +kmod-lib-crc16 +kmod-hid
33 KCONFIG:= \
34 CONFIG_BLUEZ \
35 CONFIG_BLUEZ_L2CAP \
36 CONFIG_BLUEZ_SCO \
37 CONFIG_BLUEZ_RFCOMM \
38 CONFIG_BLUEZ_BNEP \
39 CONFIG_BLUEZ_HCIUART \
40 CONFIG_BLUEZ_HCIUSB \
41 CONFIG_BLUEZ_HIDP \
42 CONFIG_BT \
43 CONFIG_BT_L2CAP=y \
44 CONFIG_BT_SCO=y \
45 CONFIG_BT_RFCOMM \
46 CONFIG_BT_BNEP \
47 CONFIG_BT_HCIBTUSB \
48 CONFIG_BT_HCIUSB \
49 CONFIG_BT_HCIUART \
50 CONFIG_BT_HCIUART_H4 \
51 CONFIG_BT_HIDP \
52 CONFIG_HID_SUPPORT=y
53 $(call AddDepends/rfkill)
54 FILES:= \
55 $(LINUX_DIR)/net/bluetooth/bluetooth.ko \
56 $(LINUX_DIR)/net/bluetooth/rfcomm/rfcomm.ko \
57 $(LINUX_DIR)/net/bluetooth/bnep/bnep.ko \
58 $(LINUX_DIR)/net/bluetooth/hidp/hidp.ko \
59 $(LINUX_DIR)/drivers/bluetooth/hci_uart.ko \
60 $(LINUX_DIR)/drivers/bluetooth/btusb.ko
61 AUTOLOAD:=$(call AutoProbe,bluetooth rfcomm bnep hidp hci_uart btusb)
62 endef
63
64 define KernelPackage/bluetooth/description
65 Kernel support for Bluetooth devices
66 endef
67
68 $(eval $(call KernelPackage,bluetooth))
69
70
71 define KernelPackage/bluetooth_6lowpan
72 SUBMENU:=$(OTHER_MENU)
73 TITLE:=Bluetooth 6LoWPAN support
74 DEPENDS:=+kmod-bluetooth @!LINUX_3_10 @!LINUX_3_14
75 KCONFIG:= \
76 CONFIG_6LOWPAN=m \
77 CONFIG_BT_6LOWPAN=m
78 FILES:= \
79 $(LINUX_DIR)/net/bluetooth/bluetooth_6lowpan.ko \
80 $(LINUX_DIR)/net/6lowpan/6lowpan.ko
81 AUTOLOAD:=$(call AutoProbe,bluetooth)
82 endef
83
84 define KernelPackage/bluetooth_6lowpan/description
85 Kernel support for 6LoWPAN over Bluetooth Low Energy devices
86 endef
87
88 $(eval $(call KernelPackage,bluetooth_6lowpan))
89
90
91 define KernelPackage/bluetooth-hci-h4p
92 SUBMENU:=$(OTHER_MENU)
93 TITLE:=HCI driver with H4 Nokia extensions
94 DEPENDS:=@TARGET_omap24xx +kmod-bluetooth
95 KCONFIG:=CONFIG_BT_HCIH4P
96 FILES:=$(LINUX_DIR)/drivers/bluetooth/hci_h4p/hci_h4p.ko
97 AUTOLOAD:=$(call AutoProbe,hci_h4p)
98 endef
99
100 define KernelPackage/bluetooth-hci-h4p/description
101 HCI driver with H4 Nokia extensions
102 endef
103
104 $(eval $(call KernelPackage,bluetooth-hci-h4p))
105
106
107 define KernelPackage/eeprom-93cx6
108 SUBMENU:=$(OTHER_MENU)
109 TITLE:=EEPROM 93CX6 support
110 KCONFIG:=CONFIG_EEPROM_93CX6
111 FILES:=$(LINUX_DIR)/drivers/misc/eeprom/eeprom_93cx6.ko
112 AUTOLOAD:=$(call AutoLoad,20,eeprom_93cx6)
113 endef
114
115 define KernelPackage/eeprom-93cx6/description
116 Kernel module for EEPROM 93CX6 support
117 endef
118
119 $(eval $(call KernelPackage,eeprom-93cx6))
120
121
122 define KernelPackage/eeprom-at24
123 SUBMENU:=$(OTHER_MENU)
124 TITLE:=EEPROM AT24 support
125 KCONFIG:=CONFIG_EEPROM_AT24
126 DEPENDS:=+kmod-i2c-core
127 FILES:=$(LINUX_DIR)/drivers/misc/eeprom/at24.ko
128 AUTOLOAD:=$(call AutoProbe,at24)
129 endef
130
131 define KernelPackage/eeprom-at24/description
132 Kernel module for most I2C EEPROMs
133 endef
134
135 $(eval $(call KernelPackage,eeprom-at24))
136
137
138 define KernelPackage/eeprom-at25
139 SUBMENU:=$(OTHER_MENU)
140 TITLE:=EEPROM AT25 support
141 KCONFIG:=CONFIG_EEPROM_AT25
142 FILES:=$(LINUX_DIR)/drivers/misc/eeprom/at25.ko
143 AUTOLOAD:=$(call AutoProbe,at25)
144 endef
145
146 define KernelPackage/eeprom-at25/description
147 Kernel module for most SPI EEPROMs
148 endef
149
150 $(eval $(call KernelPackage,eeprom-at25))
151
152
153 define KernelPackage/gpio-dev
154 SUBMENU:=$(OTHER_MENU)
155 TITLE:=Generic GPIO char device support
156 DEPENDS:=@GPIO_SUPPORT
157 KCONFIG:=CONFIG_GPIO_DEVICE
158 FILES:=$(LINUX_DIR)/drivers/char/gpio_dev.ko
159 AUTOLOAD:=$(call AutoLoad,40,gpio_dev)
160 endef
161
162 define KernelPackage/gpio-dev/description
163 Kernel module to allows control of GPIO pins using a character device.
164 endef
165
166 $(eval $(call KernelPackage,gpio-dev))
167
168
169 define KernelPackage/gpio-mcp23s08
170 SUBMENU:=$(OTHER_MENU)
171 TITLE:=Microchip MCP23xxx I/O expander
172 DEPENDS:=@GPIO_SUPPORT +PACKAGE_kmod-i2c-core:kmod-i2c-core
173 KCONFIG:=CONFIG_GPIO_MCP23S08
174 FILES:=$(LINUX_DIR)/drivers/gpio/gpio-mcp23s08.ko
175 AUTOLOAD:=$(call AutoLoad,40,gpio-mcp23s08)
176 endef
177
178 define KernelPackage/gpio-mcp23s08/description
179 Kernel module for Microchip MCP23xxx SPI/I2C I/O expander
180 endef
181
182 $(eval $(call KernelPackage,gpio-mcp23s08))
183
184
185 define KernelPackage/gpio-nxp-74hc164
186 SUBMENU:=$(OTHER_MENU)
187 TITLE:=NXP 74HC164 GPIO expander support
188 KCONFIG:=CONFIG_GPIO_NXP_74HC164
189 FILES:=$(LINUX_DIR)/drivers/gpio/nxp_74hc164.ko
190 AUTOLOAD:=$(call AutoProbe,nxp_74hc164)
191 endef
192
193 define KernelPackage/gpio-nxp-74hc164/description
194 Kernel module for NXP 74HC164 GPIO expander
195 endef
196
197 $(eval $(call KernelPackage,gpio-nxp-74hc164))
198
199 define KernelPackage/gpio-pca953x
200 SUBMENU:=$(OTHER_MENU)
201 DEPENDS:=@GPIO_SUPPORT +kmod-i2c-core
202 TITLE:=PCA95xx, TCA64xx, and MAX7310 I/O ports
203 KCONFIG:=CONFIG_GPIO_PCA953X
204 FILES:=$(LINUX_DIR)/drivers/gpio/gpio-pca953x.ko
205 AUTOLOAD:=$(call AutoLoad,55,gpio-pca953x)
206 endef
207
208 define KernelPackage/gpio-pca953x/description
209 Kernel module for MAX731{0,2,3,5}, PCA6107, PCA953{4-9}, PCA955{4-7},
210 PCA957{4,5} and TCA64{08,16} I2C GPIO expanders
211 endef
212
213 $(eval $(call KernelPackage,gpio-pca953x))
214
215 define KernelPackage/gpio-pcf857x
216 SUBMENU:=$(OTHER_MENU)
217 DEPENDS:=@GPIO_SUPPORT +kmod-i2c-core
218 TITLE:=PCX857x, PCA967x and MAX732X I2C GPIO expanders
219 KCONFIG:=CONFIG_GPIO_PCF857X
220 FILES:=$(LINUX_DIR)/drivers/gpio/gpio-pcf857x.ko
221 AUTOLOAD:=$(call AutoLoad,55,gpio-pcf857x)
222 endef
223
224 define KernelPackage/gpio-pcf857x/description
225 Kernel module for PCF857x, PCA{85,96}7x, and MAX732[89] I2C GPIO expanders
226 endef
227
228 $(eval $(call KernelPackage,gpio-pcf857x))
229
230 define KernelPackage/iio-core
231 SUBMENU:=$(OTHER_MENU)
232 TITLE:=Industrial IO core
233 KCONFIG:= \
234 CONFIG_IIO \
235 CONFIG_IIO_BUFFER=y \
236 CONFIG_IIO_KFIFO_BUF \
237 CONFIG_IIO_TRIGGER=y \
238 CONFIG_IIO_TRIGGERED_BUFFER
239 FILES:= \
240 $(LINUX_DIR)/drivers/iio/industrialio.ko \
241 $(if $(CONFIG_IIO_TRIGGERED_BUFFER),$(LINUX_DIR)/drivers/iio/industrialio-triggered-buffer.ko) \
242 $(LINUX_DIR)/drivers/iio/kfifo_buf.ko
243 AUTOLOAD:=$(call AutoLoad,55,industrialio kfifo_buf industrialio-triggered-buffer)
244 endef
245
246 define KernelPackage/iio-core/description
247 The industrial I/O subsystem provides a unified framework for
248 drivers for many different types of embedded sensors using a
249 number of different physical interfaces (i2c, spi, etc)
250 endef
251
252 $(eval $(call KernelPackage,iio-core))
253
254
255 define KernelPackage/iio-ad799x
256 SUBMENU:=$(OTHER_MENU)
257 DEPENDS:=kmod-i2c-core kmod-iio-core
258 TITLE:=Analog Devices AD799x ADC driver
259 KCONFIG:= \
260 CONFIG_AD799X_RING_BUFFER=y \
261 CONFIG_AD799X
262 FILES:= \
263 $(LINUX_DIR)/drivers/staging/iio/adc/ad799x.ko@lt3.16 \
264 $(LINUX_DIR)/drivers/iio/adc/ad799x.ko@ge3.16
265 AUTOLOAD:=$(call AutoLoad,56,ad799x)
266 endef
267
268 define KernelPackage/iio-ad799x/description
269 support for Analog Devices:
270 ad7991, ad7995, ad7999, ad7992, ad7993, ad7994, ad7997, ad7998
271 i2c analog to digital converters (ADC).
272 endef
273
274 $(eval $(call KernelPackage,iio-ad799x))
275
276
277 define KernelPackage/iio-dht11
278 SUBMENU:=$(OTHER_MENU)
279 DEPENDS:=kmod-iio-core @GPIO_SUPPORT @USES_DEVICETREE
280 TITLE:=DHT11 (and compatible) humidity and temperature sensors
281 KCONFIG:= \
282 CONFIG_DHT11
283 FILES:=$(LINUX_DIR)/drivers/iio/humidity/dht11.ko
284 AUTOLOAD:=$(call AutoLoad,56,dht11)
285 endef
286
287 define KernelPackage/iio-dht11/description
288 support for DHT11 and DHT22 digitial humidity and temperature sensors
289 attached at GPIO lines. You will need a custom device tree file to
290 specify the GPIO line to use.
291 endef
292
293 $(eval $(call KernelPackage,iio-dht11))
294
295
296 define KernelPackage/lp
297 SUBMENU:=$(OTHER_MENU)
298 TITLE:=Parallel port and line printer support
299 DEPENDS:=@BROKEN
300 KCONFIG:= \
301 CONFIG_PARPORT \
302 CONFIG_PRINTER \
303 CONFIG_PPDEV
304 FILES:= \
305 $(LINUX_DIR)/drivers/parport/parport.ko \
306 $(LINUX_DIR)/drivers/char/lp.ko \
307 $(LINUX_DIR)/drivers/char/ppdev.ko
308 AUTOLOAD:=$(call AutoLoad,50,parport lp)
309 endef
310
311 $(eval $(call KernelPackage,lp))
312
313
314 define KernelPackage/mmc
315 SUBMENU:=$(OTHER_MENU)
316 TITLE:=MMC/SD Card Support
317 KCONFIG:= \
318 CONFIG_MMC \
319 CONFIG_MMC_BLOCK \
320 CONFIG_MMC_DEBUG=n \
321 CONFIG_MMC_UNSAFE_RESUME=n \
322 CONFIG_MMC_BLOCK_BOUNCE=y \
323 CONFIG_MMC_TIFM_SD=n \
324 CONFIG_MMC_WBSD=n \
325 CONFIG_SDIO_UART=n
326 FILES:= \
327 $(LINUX_DIR)/drivers/mmc/core/mmc_core.ko \
328 $(LINUX_DIR)/drivers/mmc/card/mmc_block.ko
329 AUTOLOAD:=$(call AutoProbe,mmc_core mmc_block,1)
330 endef
331
332 define KernelPackage/mmc/description
333 Kernel support for MMC/SD cards
334 endef
335
336 $(eval $(call KernelPackage,mmc))
337
338
339 define KernelPackage/sdhci
340 SUBMENU:=$(OTHER_MENU)
341 TITLE:=Secure Digital Host Controller Interface support
342 DEPENDS:=+kmod-mmc
343 KCONFIG:= \
344 CONFIG_MMC_SDHCI \
345 CONFIG_MMC_SDHCI_PLTFM \
346 CONFIG_MMC_SDHCI_PCI=n
347 FILES:= \
348 $(LINUX_DIR)/drivers/mmc/host/sdhci.ko \
349 $(LINUX_DIR)/drivers/mmc/host/sdhci-pltfm.ko
350
351 AUTOLOAD:=$(call AutoProbe,sdhci sdhci-pltfm,1)
352 endef
353
354 define KernelPackage/sdhci/description
355 Kernel support for SDHCI Hosts
356 endef
357
358 $(eval $(call KernelPackage,sdhci))
359
360
361 define KernelPackage/oprofile
362 SUBMENU:=$(OTHER_MENU)
363 TITLE:=OProfile profiling support
364 KCONFIG:=CONFIG_OPROFILE
365 FILES:=$(LINUX_DIR)/arch/$(LINUX_KARCH)/oprofile/oprofile.ko
366 DEPENDS:=@KERNEL_PROFILING
367 endef
368
369 define KernelPackage/oprofile/description
370 Kernel module for support for oprofile system profiling
371 endef
372
373 $(eval $(call KernelPackage,oprofile))
374
375
376 define KernelPackage/rfkill
377 SUBMENU:=$(OTHER_MENU)
378 TITLE:=RF switch subsystem support
379 DEPENDS:=@USE_RFKILL +kmod-input-core
380 KCONFIG:= \
381 CONFIG_RFKILL \
382 CONFIG_RFKILL_INPUT=y \
383 CONFIG_RFKILL_LEDS=y \
384 CONFIG_RFKILL_GPIO=y
385 FILES:= \
386 $(LINUX_DIR)/net/rfkill/rfkill.ko
387 AUTOLOAD:=$(call AutoLoad,20,rfkill)
388 endef
389
390 define KernelPackage/rfkill/description
391 Say Y here if you want to have control over RF switches
392 found on many WiFi and Bluetooth cards
393 endef
394
395 $(eval $(call KernelPackage,rfkill))
396
397
398 define KernelPackage/softdog
399 SUBMENU:=$(OTHER_MENU)
400 TITLE:=Software watchdog driver
401 KCONFIG:=CONFIG_SOFT_WATCHDOG
402 FILES:=$(LINUX_DIR)/drivers/$(WATCHDOG_DIR)/softdog.ko
403 AUTOLOAD:=$(call AutoLoad,50,softdog)
404 endef
405
406 define KernelPackage/softdog/description
407 Software watchdog driver
408 endef
409
410 $(eval $(call KernelPackage,softdog))
411
412
413 define KernelPackage/ssb
414 SUBMENU:=$(OTHER_MENU)
415 TITLE:=Silicon Sonics Backplane glue code
416 DEPENDS:=@PCI_SUPPORT @!TARGET_brcm47xx @!TARGET_brcm63xx
417 KCONFIG:=\
418 CONFIG_SSB \
419 CONFIG_SSB_B43_PCI_BRIDGE=y \
420 CONFIG_SSB_DRIVER_MIPS=n \
421 CONFIG_SSB_DRIVER_PCICORE=y \
422 CONFIG_SSB_DRIVER_PCICORE_POSSIBLE=y \
423 CONFIG_SSB_PCIHOST=y \
424 CONFIG_SSB_PCIHOST_POSSIBLE=y \
425 CONFIG_SSB_POSSIBLE=y \
426 CONFIG_SSB_SPROM=y \
427 CONFIG_SSB_SILENT=y
428 FILES:=$(LINUX_DIR)/drivers/ssb/ssb.ko
429 AUTOLOAD:=$(call AutoLoad,18,ssb,1)
430 endef
431
432 define KernelPackage/ssb/description
433 Silicon Sonics Backplane glue code.
434 endef
435
436 $(eval $(call KernelPackage,ssb))
437
438
439 define KernelPackage/bcma
440 SUBMENU:=$(OTHER_MENU)
441 TITLE:=BCMA support
442 DEPENDS:=@PCI_SUPPORT @!TARGET_brcm47xx
443 KCONFIG:=\
444 CONFIG_BCMA \
445 CONFIG_BCMA_POSSIBLE=y \
446 CONFIG_BCMA_BLOCKIO=y \
447 CONFIG_BCMA_HOST_PCI_POSSIBLE=y \
448 CONFIG_BCMA_HOST_PCI=y \
449 CONFIG_BCMA_HOST_SOC=n \
450 CONFIG_BCMA_DRIVER_MIPS=n \
451 CONFIG_BCMA_DRIVER_PCI_HOSTMODE=n \
452 CONFIG_BCMA_DRIVER_GMAC_CMN=n \
453 CONFIG_BCMA_DEBUG=n
454 FILES:=$(LINUX_DIR)/drivers/bcma/bcma.ko
455 AUTOLOAD:=$(call AutoLoad,29,bcma)
456 endef
457
458 define KernelPackage/bcma/description
459 Bus driver for Broadcom specific Advanced Microcontroller Bus Architecture
460 endef
461
462 $(eval $(call KernelPackage,bcma))
463
464
465 define KernelPackage/wdt-omap
466 SUBMENU:=$(OTHER_MENU)
467 TITLE:=OMAP Watchdog timer
468 DEPENDS:=@(TARGET_omap24xx||TARGET_omap35xx)
469 KCONFIG:=CONFIG_OMAP_WATCHDOG
470 FILES:=$(LINUX_DIR)/drivers/$(WATCHDOG_DIR)/omap_wdt.ko
471 AUTOLOAD:=$(call AutoLoad,50,omap_wdt.ko,1)
472 endef
473
474 define KernelPackage/wdt-omap/description
475 Kernel module for TI omap watchdog timer
476 endef
477
478 $(eval $(call KernelPackage,wdt-omap))
479
480
481 define KernelPackage/wdt-orion
482 SUBMENU:=$(OTHER_MENU)
483 TITLE:=Marvell Orion Watchdog timer
484 DEPENDS:=@TARGET_orion||TARGET_kirkwood||TARGET_mvebu
485 KCONFIG:=CONFIG_ORION_WATCHDOG
486 FILES:=$(LINUX_DIR)/drivers/$(WATCHDOG_DIR)/orion_wdt.ko
487 AUTOLOAD:=$(call AutoLoad,50,orion_wdt,1)
488 endef
489
490 define KernelPackage/wdt-orion/description
491 Kernel module for Marvell Orion, Kirkwood and Armada XP/370 watchdog timer
492 endef
493
494 $(eval $(call KernelPackage,wdt-orion))
495
496
497 define KernelPackage/booke-wdt
498 SUBMENU:=$(OTHER_MENU)
499 TITLE:=PowerPC Book-E Watchdog Timer
500 DEPENDS:=@(TARGET_mpc85xx||TARGET_ppc40x||TARGET_ppc44x)
501 KCONFIG:=CONFIG_BOOKE_WDT
502 FILES:=$(LINUX_DIR)/drivers/$(WATCHDOG_DIR)/booke_wdt.ko
503 AUTOLOAD:=$(call AutoLoad,50,booke_wdt,1)
504 endef
505
506 define KernelPackage/booke-wdt/description
507 Kernel module for PowerPC Book-E Watchdog Timer
508 endef
509
510 $(eval $(call KernelPackage,booke-wdt))
511
512
513 define KernelPackage/rtc-ds1307
514 SUBMENU:=$(OTHER_MENU)
515 TITLE:=Dallas/Maxim DS1307 (and compatible) RTC support
516 DEPENDS:=@RTC_SUPPORT +kmod-i2c-core
517 KCONFIG:=CONFIG_RTC_DRV_DS1307
518 FILES:=$(LINUX_DIR)/drivers/rtc/rtc-ds1307.ko
519 AUTOLOAD:=$(call AutoProbe,rtc-ds1307)
520 endef
521
522 define KernelPackage/rtc-ds1307/description
523 Kernel module for Dallas/Maxim DS1307/DS1337/DS1338/DS1340/DS1388/DS3231,
524 Epson RX-8025 and various other compatible RTC chips connected via I2C.
525 endef
526
527 $(eval $(call KernelPackage,rtc-ds1307))
528
529
530 define KernelPackage/rtc-ds1672
531 SUBMENU:=$(OTHER_MENU)
532 TITLE:=Dallas/Maxim DS1672 RTC support
533 DEPENDS:=@RTC_SUPPORT +kmod-i2c-core
534 KCONFIG:=CONFIG_RTC_DRV_DS1672
535 FILES:=$(LINUX_DIR)/drivers/rtc/rtc-ds1672.ko
536 AUTOLOAD:=$(call AutoProbe,rtc-ds1672)
537 endef
538
539 define KernelPackage/rtc-ds1672/description
540 Kernel module for Dallas/Maxim DS1672 RTC.
541 endef
542
543 $(eval $(call KernelPackage,rtc-ds1672))
544
545
546 define KernelPackage/rtc-isl1208
547 SUBMENU:=$(OTHER_MENU)
548 TITLE:=Intersil ISL1208 RTC support
549 DEPENDS:=@RTC_SUPPORT +kmod-i2c-core
550 KCONFIG:=CONFIG_RTC_DRV_ISL1208
551 FILES:=$(LINUX_DIR)/drivers/rtc/rtc-isl1208.ko
552 AUTOLOAD:=$(call AutoProbe,rtc-isl1208)
553 endef
554
555 define KernelPackage/rtc-isl1208/description
556 Kernel module for Intersil ISL1208 RTC.
557 endef
558
559 $(eval $(call KernelPackage,rtc-isl1208))
560
561
562 define KernelPackage/rtc-marvell
563 SUBMENU:=$(OTHER_MENU)
564 TITLE:=Marvell SoC built-in RTC support
565 DEPENDS:=@RTC_SUPPORT @TARGET_kirkwood||TARGET_orion||TARGET_mvebu
566 KCONFIG:=CONFIG_RTC_DRV_MV
567 FILES:=$(LINUX_DIR)/drivers/rtc/rtc-mv.ko
568 AUTOLOAD:=$(call AutoProbe,rtc-mv)
569 endef
570
571 define KernelPackage/rtc-marvell/description
572 Kernel module for Marvell SoC built-in RTC.
573 endef
574
575 $(eval $(call KernelPackage,rtc-marvell))
576
577 define KernelPackage/rtc-pcf8563
578 SUBMENU:=$(OTHER_MENU)
579 TITLE:=Philips PCF8563/Epson RTC8564 RTC support
580 DEPENDS:=@RTC_SUPPORT +kmod-i2c-core
581 KCONFIG:=CONFIG_RTC_DRV_PCF8563
582 FILES:=$(LINUX_DIR)/drivers/rtc/rtc-pcf8563.ko
583 AUTOLOAD:=$(call AutoProbe,rtc-pcf8563)
584 endef
585
586 define KernelPackage/rtc-pcf8563/description
587 Kernel module for Philips PCF8563 RTC chip.
588 The Epson RTC8564 should work as well.
589 endef
590
591 $(eval $(call KernelPackage,rtc-pcf8563))
592
593
594 define KernelPackage/rtc-pcf2123
595 SUBMENU:=$(OTHER_MENU)
596 TITLE:=Philips PCF2123 RTC support
597 DEPENDS:=@RTC_SUPPORT
598 KCONFIG:=CONFIG_RTC_DRV_PCF2123
599 FILES:=$(LINUX_DIR)/drivers/rtc/rtc-pcf2123.ko
600 AUTOLOAD:=$(call AutoProbe,rtc-pcf2123)
601 endef
602
603 define KernelPackage/rtc-pcf2123/description
604 Kernel module for Philips PCF2123 RTC chip
605 endef
606
607 $(eval $(call KernelPackage,rtc-pcf2123))
608
609 define KernelPackage/rtc-pt7c4338
610 SUBMENU:=$(OTHER_MENU)
611 TITLE:=Pericom PT7C4338 RTC support
612 DEPENDS:=@RTC_SUPPORT +kmod-i2c-core
613 KCONFIG:=CONFIG_RTC_DRV_PT7C4338
614 FILES:=$(LINUX_DIR)/drivers/rtc/rtc-pt7c4338.ko
615 AUTOLOAD:=$(call AutoProbe,rtc-pt7c4338)
616 endef
617
618 define KernelPackage/rtc-pt7c4338/description
619 Kernel module for Pericom PT7C4338 i2c RTC chip
620 endef
621
622 $(eval $(call KernelPackage,rtc-pt7c4338))
623
624
625 define KernelPackage/mtdtests
626 SUBMENU:=$(OTHER_MENU)
627 TITLE:=MTD subsystem tests
628 KCONFIG:=CONFIG_MTD_TESTS
629 DEPENDS:=+kmod-nand
630 FILES:=\
631 $(LINUX_DIR)/drivers/mtd/tests/mtd_nandecctest.ko \
632 $(LINUX_DIR)/drivers/mtd/tests/mtd_oobtest.ko \
633 $(LINUX_DIR)/drivers/mtd/tests/mtd_pagetest.ko \
634 $(LINUX_DIR)/drivers/mtd/tests/mtd_readtest.ko \
635 $(LINUX_DIR)/drivers/mtd/tests/mtd_speedtest.ko \
636 $(LINUX_DIR)/drivers/mtd/tests/mtd_stresstest.ko \
637 $(LINUX_DIR)/drivers/mtd/tests/mtd_subpagetest.ko \
638 $(LINUX_DIR)/drivers/mtd/tests/mtd_torturetest.ko
639 endef
640
641 define KernelPackage/mtdtests/description
642 Kernel modules for MTD subsystem/driver testing
643 endef
644
645 $(eval $(call KernelPackage,mtdtests))
646
647
648 define KernelPackage/nand
649 SUBMENU:=$(OTHER_MENU)
650 TITLE:=NAND flash support
651 KCONFIG:=CONFIG_MTD_NAND \
652 CONFIG_MTD_NAND_IDS \
653 CONFIG_MTD_NAND_ECC
654 FILES:= \
655 $(LINUX_DIR)/drivers/mtd/nand/nand_ids.ko \
656 $(LINUX_DIR)/drivers/mtd/nand/nand_ecc.ko \
657 $(LINUX_DIR)/drivers/mtd/nand/nand.ko
658 AUTOLOAD:=$(call AutoLoad,20,nand_ids nand_ecc nand)
659 endef
660
661 define KernelPackage/nand/description
662 Kernel module for NAND support
663 endef
664
665 $(eval $(call KernelPackage,nand))
666
667
668 define KernelPackage/nandsim
669 SUBMENU:=$(OTHER_MENU)
670 TITLE:=NAND simulator
671 DEPENDS:=+kmod-nand
672 KCONFIG:=CONFIG_MTD_NAND_NANDSIM
673 FILES:=$(LINUX_DIR)/drivers/mtd/nand/nandsim.ko
674 endef
675
676 define KernelPackage/nandsim/description
677 Kernel module for NAND flash simulation.
678 endef
679
680 $(eval $(call KernelPackage,nandsim))
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:=$(LINUX_DIR)/drivers/tty/serial/8250/8250.ko
694 endef
695
696 define KernelPackage/serial-8250/description
697 Kernel module for 8250 UART based serial ports
698 endef
699
700 $(eval $(call KernelPackage,serial-8250))
701
702
703 define KernelPackage/regmap
704 SUBMENU:=$(OTHER_MENU)
705 TITLE:=Generic register map support
706 DEPENDS:=+kmod-lib-lzo +kmod-i2c-core
707 KCONFIG:=CONFIG_REGMAP \
708 CONFIG_REGMAP_SPI \
709 CONFIG_REGMAP_I2C \
710 CONFIG_SPI=y
711 FILES:= \
712 $(LINUX_DIR)/drivers/base/regmap/regmap-core.ko \
713 $(LINUX_DIR)/drivers/base/regmap/regmap-i2c.ko \
714 $(if $(CONFIG_SPI),$(LINUX_DIR)/drivers/base/regmap/regmap-spi.ko)
715 AUTOLOAD:=$(call AutoLoad,21,regmap-core regmap-i2c 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 +(!LINUX_3_10&&!LINUX_3_14):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)/drivers/staging/zsmalloc/zsmalloc.ko@lt3.14 \
753 $(LINUX_DIR)/drivers/staging/zram/zram.ko@lt3.14 \
754 $(LINUX_DIR)/mm/zsmalloc.ko@ge3.14 \
755 $(LINUX_DIR)/drivers/block/zram/zram.ko@ge3.14
756 AUTOLOAD:=$(call AutoLoad,20,zsmalloc zram)
757 endef
758
759 define KernelPackage/zram/description
760 Compressed RAM block device support
761 endef
762
763 $(eval $(call KernelPackage,zram))
764
765
766 define KernelPackage/mvsdio
767 SUBMENU:=$(OTHER_MENU)
768 TITLE:=Marvell SDIO support
769 DEPENDS:=@TARGET_orion||TARGET_kirkwood||TARGET_mvebu +kmod-mmc
770 KCONFIG:=CONFIG_MMC_MVSDIO
771 FILES:=$(LINUX_DIR)/drivers/mmc/host/mvsdio.ko
772 AUTOLOAD:=$(call AutoProbe,mvsdio)
773 endef
774
775 define KernelPackage/mvsdio/description
776 Kernel support for the Marvell SDIO controller
777 endef
778
779 $(eval $(call KernelPackage,mvsdio))
780
781
782 define KernelPackage/pps
783 SUBMENU:=$(OTHER_MENU)
784 TITLE:=PPS support
785 KCONFIG:=CONFIG_PPS
786 FILES:=$(LINUX_DIR)/drivers/pps/pps_core.ko
787 AUTOLOAD:=$(call AutoLoad,17,pps_core,1)
788 endef
789
790 define KernelPackage/pps/description
791 PPS (Pulse Per Second) is a special pulse provided by some GPS
792 antennae. Userland can use it to get a high-precision time
793 reference.
794 endef
795
796 $(eval $(call KernelPackage,pps))
797
798
799 define KernelPackage/pps-gpio
800 SUBMENU:=$(OTHER_MENU)
801 TITLE:=PPS client using GPIO
802 DEPENDS:=+kmod-pps
803 KCONFIG:=CONFIG_PPS_CLIENT_GPIO
804 FILES:=$(LINUX_DIR)/drivers/pps/clients/pps-gpio.ko
805 AUTOLOAD:=$(call AutoLoad,18,pps-gpio,1)
806 endef
807
808 define KernelPackage/pps-gpio/description
809 Support for a PPS source using GPIO. To be useful you must
810 also register a platform device specifying the GPIO pin and
811 other options, usually in your board setup.
812 endef
813
814 $(eval $(call KernelPackage,pps-gpio))
815
816
817 define KernelPackage/ptp
818 SUBMENU:=$(OTHER_MENU)
819 TITLE:=PTP clock support
820 DEPENDS:=+kmod-pps
821 KCONFIG:=CONFIG_PTP_1588_CLOCK
822 FILES:=$(LINUX_DIR)/drivers/ptp/ptp.ko
823 AUTOLOAD:=$(call AutoLoad,18,ptp,1)
824 endef
825
826 define KernelPackage/ptp/description
827 The IEEE 1588 standard defines a method to precisely
828 synchronize distributed clocks over Ethernet networks.
829 endef
830
831 $(eval $(call KernelPackage,ptp))
832
833
834 define KernelPackage/ptp-gianfar
835 SUBMENU:=$(OTHER_MENU)
836 TITLE:=Freescale Gianfar PTP support
837 DEPENDS:=@TARGET_mpc85xx +kmod-gianfar +kmod-ptp
838 KCONFIG:=CONFIG_PTP_1588_CLOCK_GIANFAR
839 FILES:=$(LINUX_DIR)/drivers/net/ethernet/freescale/gianfar_ptp.ko
840 AUTOLOAD:=$(call AutoProbe,gianfar_ptp)
841 endef
842
843 define KernelPackage/ptp-gianfar/description
844 Kernel module for IEEE 1588 support for Freescale
845 Gianfar Ethernet drivers
846 endef
847
848 $(eval $(call KernelPackage,ptp-gianfar))
849
850
851 define KernelPackage/random-core
852 SUBMENU:=$(OTHER_MENU)
853 TITLE:=Hardware Random Number Generator Core support
854 KCONFIG:=CONFIG_HW_RANDOM
855 FILES:=$(LINUX_DIR)/drivers/char/hw_random/rng-core.ko
856 endef
857
858 define KernelPackage/random-core/description
859 Kernel module for the HW random number generator core infrastructure
860 endef
861
862 $(eval $(call KernelPackage,random-core))
863
864
865 define KernelPackage/thermal
866 SUBMENU:=$(OTHER_MENU)
867 TITLE:=Generic Thermal sysfs driver
868 DEPENDS:=+kmod-hwmon-core
869 HIDDEN:=1
870 KCONFIG:= \
871 CONFIG_THERMAL \
872 CONFIG_THERMAL_OF=y \
873 CONFIG_THERMAL_DEFAULT_GOV_STEP_WISE=y \
874 CONFIG_THERMAL_DEFAULT_GOV_FAIR_SHARE=n \
875 CONFIG_THERMAL_DEFAULT_GOV_USER_SPACE=n \
876 CONFIG_THERMAL_GOV_FAIR_SHARE=n \
877 CONFIG_THERMAL_GOV_STEP_WISE=y \
878 CONFIG_THERMAL_GOV_USER_SPACE=n \
879 CONFIG_THERMAL_HWMON=y \
880 CONFIG_THERMAL_EMULATION=n
881 FILES:=$(LINUX_DIR)/drivers/thermal/thermal_sys.ko
882 AUTOLOAD:=$(call AutoProbe,thermal_sys)
883 endef
884
885 define KernelPackage/thermal/description
886 Generic Thermal Sysfs driver offers a generic mechanism for thermal
887 management. Usually it's made up of one or more thermal zone and cooling
888 device.
889 endef
890
891 $(eval $(call KernelPackage,thermal))
892
893
894 define KernelPackage/thermal-armada
895 SUBMENU:=$(OTHER_MENU)
896 TITLE:=Armada 370/XP thermal management
897 DEPENDS:=@TARGET_mvebu +kmod-thermal
898 KCONFIG:=CONFIG_ARMADA_THERMAL
899 FILES:=$(LINUX_DIR)/drivers/thermal/armada_thermal.ko
900 AUTOLOAD:=$(call AutoProbe,armada_thermal)
901 endef
902
903 define KernelPackage/thermal-armada/description
904 Enable this module if you want to have support for thermal management
905 controller present in Armada 370 and Armada XP SoC.
906 endef
907
908 $(eval $(call KernelPackage,thermal-armada))
909
910
911 define KernelPackage/thermal-imx
912 SUBMENU:=$(OTHER_MENU)
913 TITLE:=Temperature sensor driver for Freescale i.MX SoCs
914 DEPENDS:=@TARGET_imx6 +kmod-thermal
915 KCONFIG:= \
916 CONFIG_CPU_THERMAL=y \
917 CONFIG_IMX_THERMAL
918 FILES:=$(LINUX_DIR)/drivers/thermal/imx_thermal.ko
919 AUTOLOAD:=$(call AutoProbe,imx_thermal)
920 endef
921
922 define KernelPackage/thermal-imx/description
923 Support for Temperature Monitor (TEMPMON) found on Freescale i.MX SoCs.
924 It supports one critical trip point and one passive trip point. The
925 cpufreq is used as the cooling device to throttle CPUs when the
926 passive trip is crossed.
927 endef
928
929 $(eval $(call KernelPackage,thermal-imx))
930
931
932 define KernelPackage/thermal-kirkwood
933 SUBMENU:=$(OTHER_MENU)
934 TITLE:=Temperature sensor on Marvell Kirkwood SoCs
935 DEPENDS:=@TARGET_kirkwood +kmod-thermal
936 KCONFIG:=CONFIG_KIRKWOOD_THERMAL
937 FILES:=$(LINUX_DIR)/drivers/thermal/kirkwood_thermal.ko
938 AUTOLOAD:=$(call AutoProbe,kirkwood_thermal)
939 endef
940
941 define KernelPackage/thermal-kirkwood/description
942 Support for the Kirkwood thermal sensor driver into the Linux thermal
943 framework. Only kirkwood 88F6282 and 88F6283 have this sensor.
944 endef
945
946 $(eval $(call KernelPackage,thermal-kirkwood))
947
948
949 define KernelPackage/gpio-beeper
950 SUBMENU:=$(OTHER_MENU)
951 TITLE:=GPIO beeper support
952 DEPENDS:=+kmod-input-core
953 KCONFIG:= \
954 CONFIG_INPUT_MISC=y \
955 CONFIG_INPUT_GPIO_BEEPER
956 FILES:= \
957 $(LINUX_DIR)/drivers/input/misc/gpio-beeper.ko
958 AUTOLOAD:=$(call AutoLoad,50,gpio-beeper)
959 endef
960
961 define KernelPackage/gpio-beeper/description
962 This enables playing beeps through an GPIO-connected buzzer
963 endef
964
965 $(eval $(call KernelPackage,gpio-beeper))
966
967
968 define KernelPackage/echo
969 SUBMENU:=$(OTHER_MENU)
970 TITLE:=Line Echo Canceller
971 KCONFIG:=CONFIG_ECHO
972 FILES:=$(LINUX_DIR)/drivers/staging/echo/echo.ko@lt3.18 \
973 $(LINUX_DIR)/drivers/misc/echo/echo.ko@ge3.18
974 AUTOLOAD:=$(call AutoLoad,50,echo)
975 endef
976
977 define KernelPackage/echo/description
978 This driver provides line echo cancelling support for mISDN and
979 DAHDI drivers
980 endef
981
982 $(eval $(call KernelPackage,echo))