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