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