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