kernel: remove gpio-pwm kmod definition
[openwrt/svn-archive/archive.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/pwm
499 SUBMENU:=$(OTHER_MENU)
500 TITLE:=PWM generic API
501 KCONFIG:=CONFIG_GENERIC_PWM
502 FILES:=$(LINUX_DIR)/drivers/pwm/pwm.ko
503 endef
504
505 define KernelPackage/pwm/description
506 Kernel module that implement a generic PWM API
507 endef
508
509 $(eval $(call KernelPackage,pwm))
510
511
512 define KernelPackage/rtc-ds1307
513 SUBMENU:=$(OTHER_MENU)
514 TITLE:=Dallas/Maxim DS1307 (and compatible) RTC support
515 $(call AddDepends/rtc)
516 DEPENDS+=+kmod-i2c-core
517 KCONFIG:=CONFIG_RTC_DRV_DS1307
518 FILES:=$(LINUX_DIR)/drivers/rtc/rtc-ds1307.ko
519 AUTOLOAD:=$(call AutoProbe,rtc-ds1307)
520 endef
521
522 define KernelPackage/rtc-ds1307/description
523 Kernel module for Dallas/Maxim DS1307/DS1337/DS1338/DS1340/DS1388/DS3231,
524 Epson RX-8025 and various other compatible RTC chips connected via I2C.
525 endef
526
527 $(eval $(call KernelPackage,rtc-ds1307))
528
529
530 define KernelPackage/rtc-ds1672
531 SUBMENU:=$(OTHER_MENU)
532 TITLE:=Dallas/Maxim DS1672 RTC support
533 $(call AddDepends/rtc)
534 DEPENDS+=+kmod-i2c-core
535 KCONFIG:=CONFIG_RTC_DRV_DS1672
536 FILES:=$(LINUX_DIR)/drivers/rtc/rtc-ds1672.ko
537 AUTOLOAD:=$(call AutoProbe,rtc-ds1672)
538 endef
539
540 define KernelPackage/rtc-ds1672/description
541 Kernel module for Dallas/Maxim DS1672 RTC.
542 endef
543
544 $(eval $(call KernelPackage,rtc-ds1672))
545
546
547 define KernelPackage/rtc-isl1208
548 SUBMENU:=$(OTHER_MENU)
549 TITLE:=Intersil ISL1208 RTC support
550 $(call AddDepends/rtc)
551 DEPENDS+=+kmod-i2c-core
552 KCONFIG:=CONFIG_RTC_DRV_ISL1208
553 FILES:=$(LINUX_DIR)/drivers/rtc/rtc-isl1208.ko
554 AUTOLOAD:=$(call AutoProbe,rtc-isl1208)
555 endef
556
557 define KernelPackage/rtc-isl1208/description
558 Kernel module for Intersil ISL1208 RTC.
559 endef
560
561 $(eval $(call KernelPackage,rtc-isl1208))
562
563
564 define KernelPackage/rtc-marvell
565 SUBMENU:=$(OTHER_MENU)
566 TITLE:=Marvell SoC built-in RTC support
567 $(call AddDepends/rtc)
568 DEPENDS+=@TARGET_kirkwood||TARGET_orion||TARGET_mvebu
569 KCONFIG:=CONFIG_RTC_DRV_MV
570 FILES:=$(LINUX_DIR)/drivers/rtc/rtc-mv.ko
571 AUTOLOAD:=$(call AutoProbe,rtc-mv)
572 endef
573
574 define KernelPackage/rtc-marvell/description
575 Kernel module for Marvell SoC built-in RTC.
576 endef
577
578 $(eval $(call KernelPackage,rtc-marvell))
579
580 define KernelPackage/rtc-pcf8563
581 SUBMENU:=$(OTHER_MENU)
582 TITLE:=Philips PCF8563/Epson RTC8564 RTC support
583 $(call AddDepends/rtc,+kmod-i2c-core)
584 KCONFIG:=CONFIG_RTC_DRV_PCF8563
585 FILES:=$(LINUX_DIR)/drivers/rtc/rtc-pcf8563.ko
586 AUTOLOAD:=$(call AutoProbe,rtc-pcf8563)
587 endef
588
589 define KernelPackage/rtc-pcf8563/description
590 Kernel module for Philips PCF8563 RTC chip.
591 The Epson RTC8564 should work as well.
592 endef
593
594 $(eval $(call KernelPackage,rtc-pcf8563))
595
596
597 define KernelPackage/rtc-pcf2123
598 SUBMENU:=$(OTHER_MENU)
599 TITLE:=Philips PCF2123 RTC support
600 $(call AddDepends/rtc)
601 KCONFIG:=CONFIG_RTC_DRV_PCF2123
602 FILES:=$(LINUX_DIR)/drivers/rtc/rtc-pcf2123.ko
603 AUTOLOAD:=$(call AutoProbe,rtc-pcf2123)
604 endef
605
606 define KernelPackage/rtc-pcf2123/description
607 Kernel module for Philips PCF2123 RTC chip
608 endef
609
610 $(eval $(call KernelPackage,rtc-pcf2123))
611
612 define KernelPackage/rtc-pt7c4338
613 SUBMENU:=$(OTHER_MENU)
614 TITLE:=Pericom PT7C4338 RTC support
615 $(call AddDepends/rtc,+kmod-i2c-core)
616 KCONFIG:=CONFIG_RTC_DRV_PT7C4338
617 FILES:=$(LINUX_DIR)/drivers/rtc/rtc-pt7c4338.ko
618 AUTOLOAD:=$(call AutoProbe,rtc-pt7c4338)
619 endef
620
621 define KernelPackage/rtc-pt7c4338/description
622 Kernel module for Pericom PT7C4338 i2c RTC chip
623 endef
624
625 $(eval $(call KernelPackage,rtc-pt7c4338))
626
627
628 define KernelPackage/mtdtests
629 SUBMENU:=$(OTHER_MENU)
630 TITLE:=MTD subsystem tests
631 KCONFIG:=CONFIG_MTD_TESTS
632 DEPENDS:=+kmod-nand
633 FILES:=\
634 $(LINUX_DIR)/drivers/mtd/tests/mtd_nandecctest.ko \
635 $(LINUX_DIR)/drivers/mtd/tests/mtd_oobtest.ko \
636 $(LINUX_DIR)/drivers/mtd/tests/mtd_pagetest.ko \
637 $(LINUX_DIR)/drivers/mtd/tests/mtd_readtest.ko \
638 $(LINUX_DIR)/drivers/mtd/tests/mtd_speedtest.ko \
639 $(LINUX_DIR)/drivers/mtd/tests/mtd_stresstest.ko \
640 $(LINUX_DIR)/drivers/mtd/tests/mtd_subpagetest.ko \
641 $(LINUX_DIR)/drivers/mtd/tests/mtd_torturetest.ko
642 endef
643
644 define KernelPackage/mtdtests/description
645 Kernel modules for MTD subsystem/driver testing
646 endef
647
648 $(eval $(call KernelPackage,mtdtests))
649
650
651 define KernelPackage/nand
652 SUBMENU:=$(OTHER_MENU)
653 TITLE:=NAND flash support
654 KCONFIG:=CONFIG_MTD_NAND \
655 CONFIG_MTD_NAND_IDS \
656 CONFIG_MTD_NAND_ECC
657 FILES:= \
658 $(LINUX_DIR)/drivers/mtd/nand/nand_ids.ko \
659 $(LINUX_DIR)/drivers/mtd/nand/nand_ecc.ko \
660 $(LINUX_DIR)/drivers/mtd/nand/nand.ko
661 AUTOLOAD:=$(call AutoLoad,20,nand_ids nand_ecc nand)
662 endef
663
664 define KernelPackage/nand/description
665 Kernel module for NAND support
666 endef
667
668 $(eval $(call KernelPackage,nand))
669
670
671 define KernelPackage/nandsim
672 SUBMENU:=$(OTHER_MENU)
673 TITLE:=NAND simulator
674 DEPENDS:=+kmod-nand
675 KCONFIG:=CONFIG_MTD_NAND_NANDSIM
676 FILES:=$(LINUX_DIR)/drivers/mtd/nand/nandsim.ko
677 endef
678
679 define KernelPackage/nandsim/description
680 Kernel module for NAND flash simulation.
681 endef
682
683 $(eval $(call KernelPackage,nandsim))
684
685 define KernelPackage/serial-8250
686 SUBMENU:=$(OTHER_MENU)
687 TITLE:=8250 UARTs
688 KCONFIG:= CONFIG_SERIAL_8250 \
689 CONFIG_SERIAL_8250_NR_UARTS=16 \
690 CONFIG_SERIAL_8250_RUNTIME_UARTS=16 \
691 CONFIG_SERIAL_8250_EXTENDED=y \
692 CONFIG_SERIAL_8250_MANY_PORTS=y \
693 CONFIG_SERIAL_8250_SHARE_IRQ=y \
694 CONFIG_SERIAL_8250_DETECT_IRQ=n \
695 CONFIG_SERIAL_8250_RSA=n
696 FILES:=$(LINUX_DIR)/drivers/tty/serial/8250/8250$(if $(call kernel_patchver_ge,3.7),$(if $(call kernel_patchver_le,3.8),_core)).ko
697 endef
698
699 define KernelPackage/serial-8250/description
700 Kernel module for 8250 UART based serial ports
701 endef
702
703 $(eval $(call KernelPackage,serial-8250))
704
705
706 define KernelPackage/regmap
707 SUBMENU:=$(OTHER_MENU)
708 TITLE:=Generic register map support
709 DEPENDS:=+kmod-lib-lzo +kmod-i2c-core
710 KCONFIG:=CONFIG_REGMAP \
711 CONFIG_REGMAP_SPI \
712 CONFIG_REGMAP_I2C \
713 CONFIG_SPI=y
714 FILES:= \
715 $(LINUX_DIR)/drivers/base/regmap/regmap-core.ko \
716 $(LINUX_DIR)/drivers/base/regmap/regmap-i2c.ko \
717 $(if $(CONFIG_SPI),$(LINUX_DIR)/drivers/base/regmap/regmap-spi.ko)
718 AUTOLOAD:=$(call AutoLoad,21,regmap-core regmap-i2c regmap-spi)
719 endef
720
721 define KernelPackage/regmap/description
722 Generic register map support
723 endef
724
725 $(eval $(call KernelPackage,regmap))
726
727 define KernelPackage/ikconfig
728 SUBMENU:=$(OTHER_MENU)
729 TITLE:=Kernel configuration via /proc/config.gz
730 KCONFIG:=CONFIG_IKCONFIG \
731 CONFIG_IKCONFIG_PROC=y
732 FILES:=$(LINUX_DIR)/kernel/configs.ko
733 AUTOLOAD:=$(call AutoLoad,70,configs)
734 endef
735
736 define KernelPackage/ikconfig/description
737 Kernel configuration via /proc/config.gz
738 endef
739
740 $(eval $(call KernelPackage,ikconfig))
741
742
743 define KernelPackage/zram
744 SUBMENU:=$(OTHER_MENU)
745 TITLE:=ZRAM
746 DEPENDS:=@!LINUX_3_3 +kmod-lib-lzo
747 KCONFIG:= \
748 CONFIG_ZSMALLOC \
749 CONFIG_ZRAM \
750 CONFIG_ZRAM_DEBUG=n \
751 CONFIG_PGTABLE_MAPPING=n \
752 CONFIG_ZRAM_LZ4_COMPRESS=y
753 ifeq ($(strip $(call CompareKernelPatchVer,$(KERNEL_PATCHVER),ge,3.14.0)),1)
754 FILES:=\
755 $(LINUX_DIR)/mm/zsmalloc.ko \
756 $(LINUX_DIR)/drivers/block/zram/zram.ko
757 else
758 FILES:= \
759 $(LINUX_DIR)/drivers/staging/zsmalloc/zsmalloc.ko \
760 $(LINUX_DIR)/drivers/staging/zram/zram.ko
761 endif
762 AUTOLOAD:=$(call AutoLoad,20,zsmalloc zram)
763 endef
764
765 define KernelPackage/zram/description
766 Compressed RAM block device support
767 endef
768
769 $(eval $(call KernelPackage,zram))
770
771
772 define KernelPackage/mvsdio
773 SUBMENU:=$(OTHER_MENU)
774 TITLE:=Marvell SDIO support
775 DEPENDS:=@TARGET_orion||TARGET_kirkwood||TARGET_mvebu +kmod-mmc
776 KCONFIG:=CONFIG_MMC_MVSDIO
777 FILES:=$(LINUX_DIR)/drivers/mmc/host/mvsdio.ko
778 AUTOLOAD:=$(call AutoProbe,mvsdio)
779 endef
780
781 define KernelPackage/mvsdio/description
782 Kernel support for the Marvell SDIO controller
783 endef
784
785 $(eval $(call KernelPackage,mvsdio))
786
787
788 define KernelPackage/pps
789 SUBMENU:=$(OTHER_MENU)
790 TITLE:=PPS support
791 KCONFIG:=CONFIG_PPS
792 FILES:=$(LINUX_DIR)/drivers/pps/pps_core.ko
793 AUTOLOAD:=$(call AutoLoad,17,pps_core,1)
794 endef
795
796 define KernelPackage/pps/description
797 PPS (Pulse Per Second) is a special pulse provided by some GPS
798 antennae. Userland can use it to get a high-precision time
799 reference.
800 endef
801
802 $(eval $(call KernelPackage,pps))
803
804
805 define KernelPackage/pps-gpio
806 SUBMENU:=$(OTHER_MENU)
807 TITLE:=PPS client using GPIO
808 DEPENDS:=+kmod-pps
809 KCONFIG:=CONFIG_PPS_CLIENT_GPIO
810 FILES:=$(LINUX_DIR)/drivers/pps/clients/pps-gpio.ko
811 AUTOLOAD:=$(call AutoLoad,18,pps-gpio,1)
812 endef
813
814 define KernelPackage/pps-gpio/description
815 Support for a PPS source using GPIO. To be useful you must
816 also register a platform device specifying the GPIO pin and
817 other options, usually in your board setup.
818 endef
819
820 $(eval $(call KernelPackage,pps-gpio))
821
822
823 define KernelPackage/ptp
824 SUBMENU:=$(OTHER_MENU)
825 TITLE:=PTP clock support
826 DEPENDS:=+kmod-pps
827 KCONFIG:=CONFIG_PTP_1588_CLOCK
828 FILES:=$(LINUX_DIR)/drivers/ptp/ptp.ko
829 AUTOLOAD:=$(call AutoLoad,18,ptp,1)
830 endef
831
832 define KernelPackage/ptp/description
833 The IEEE 1588 standard defines a method to precisely
834 synchronize distributed clocks over Ethernet networks.
835 endef
836
837 $(eval $(call KernelPackage,ptp))
838
839
840 define KernelPackage/ptp-gianfar
841 SUBMENU:=$(OTHER_MENU)
842 TITLE:=Freescale Gianfar PTP support
843 DEPENDS:=@TARGET_mpc85xx +kmod-gianfar +kmod-ptp
844 KCONFIG:=CONFIG_PTP_1588_CLOCK_GIANFAR
845 FILES:=$(LINUX_DIR)/drivers/net/ethernet/freescale/gianfar_ptp.ko
846 AUTOLOAD:=$(call AutoProbe,gianfar_ptp)
847 endef
848
849 define KernelPackage/ptp-gianfar/description
850 Kernel module for IEEE 1588 support for Freescale
851 Gianfar Ethernet drivers
852 endef
853
854 $(eval $(call KernelPackage,ptp-gianfar))
855
856
857 define KernelPackage/random-core
858 SUBMENU:=$(OTHER_MENU)
859 TITLE:=Hardware Random Number Generator Core support
860 KCONFIG:=CONFIG_HW_RANDOM
861 FILES:=$(LINUX_DIR)/drivers/char/hw_random/rng-core.ko
862 endef
863
864 define KernelPackage/random-core/description
865 Kernel module for the HW random number generator core infrastructure
866 endef
867
868 $(eval $(call KernelPackage,random-core))
869
870
871 define KernelPackage/thermal
872 SUBMENU:=$(OTHER_MENU)
873 TITLE:=Generic Thermal sysfs driver
874 DEPENDS:=+kmod-hwmon-core
875 HIDDEN:=1
876 KCONFIG:= \
877 CONFIG_THERMAL \
878 CONFIG_THERMAL_OF=y \
879 CONFIG_THERMAL_DEFAULT_GOV_STEP_WISE=y \
880 CONFIG_THERMAL_DEFAULT_GOV_FAIR_SHARE=n \
881 CONFIG_THERMAL_DEFAULT_GOV_USER_SPACE=n \
882 CONFIG_THERMAL_GOV_FAIR_SHARE=n \
883 CONFIG_THERMAL_GOV_STEP_WISE=y \
884 CONFIG_THERMAL_GOV_USER_SPACE=n \
885 CONFIG_THERMAL_HWMON=y \
886 CONFIG_THERMAL_EMULATION=n
887 FILES:=$(LINUX_DIR)/drivers/thermal/thermal_sys.ko
888 AUTOLOAD:=$(call AutoProbe,thermal_sys)
889 endef
890
891 define KernelPackage/thermal/description
892 Generic Thermal Sysfs driver offers a generic mechanism for thermal
893 management. Usually it's made up of one or more thermal zone and cooling
894 device.
895 endef
896
897 $(eval $(call KernelPackage,thermal))
898
899
900 define KernelPackage/thermal-armada
901 SUBMENU:=$(OTHER_MENU)
902 TITLE:=Armada 370/XP thermal management
903 DEPENDS:=@TARGET_mvebu +kmod-thermal
904 KCONFIG:=CONFIG_ARMADA_THERMAL
905 FILES:=$(LINUX_DIR)/drivers/thermal/armada_thermal.ko
906 AUTOLOAD:=$(call AutoProbe,armada_thermal)
907 endef
908
909 define KernelPackage/thermal-armada/description
910 Enable this module if you want to have support for thermal management
911 controller present in Armada 370 and Armada XP SoC.
912 endef
913
914 $(eval $(call KernelPackage,thermal-armada))
915
916
917 define KernelPackage/thermal-imx
918 SUBMENU:=$(OTHER_MENU)
919 TITLE:=Temperature sensor driver for Freescale i.MX SoCs
920 DEPENDS:=@TARGET_imx6 +kmod-thermal
921 KCONFIG:= \
922 CONFIG_CPU_THERMAL=y \
923 CONFIG_IMX_THERMAL
924 FILES:=$(LINUX_DIR)/drivers/thermal/imx_thermal.ko
925 AUTOLOAD:=$(call AutoProbe,imx_thermal)
926 endef
927
928 define KernelPackage/thermal-imx/description
929 Support for Temperature Monitor (TEMPMON) found on Freescale i.MX SoCs.
930 It supports one critical trip point and one passive trip point. The
931 cpufreq is used as the cooling device to throttle CPUs when the
932 passive trip is crossed.
933 endef
934
935 $(eval $(call KernelPackage,thermal-imx))
936
937
938 define KernelPackage/thermal-kirkwood
939 SUBMENU:=$(OTHER_MENU)
940 TITLE:=Temperature sensor on Marvell Kirkwood SoCs
941 DEPENDS:=@TARGET_kirkwood +kmod-thermal
942 KCONFIG:=CONFIG_KIRKWOOD_THERMAL
943 FILES:=$(LINUX_DIR)/drivers/thermal/kirkwood_thermal.ko
944 AUTOLOAD:=$(call AutoProbe,kirkwood_thermal)
945 endef
946
947 define KernelPackage/thermal-kirkwood/description
948 Support for the Kirkwood thermal sensor driver into the Linux thermal
949 framework. Only kirkwood 88F6282 and 88F6283 have this sensor.
950 endef
951
952 $(eval $(call KernelPackage,thermal-kirkwood))