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