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