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