25b274a722676c70bf1a08accdb3c5f79a10ce78
[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 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))