package/kernel: add support for industrial-io and AD799x
[openwrt/staging/chunkeey.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
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 $(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_SDHCI=n \
269 CONFIG_MMC_TIFM_SD=n \
270 CONFIG_MMC_WBSD=n \
271 CONFIG_SDIO_UART=n
272 FILES:= \
273 $(LINUX_DIR)/drivers/mmc/core/mmc_core.ko \
274 $(LINUX_DIR)/drivers/mmc/card/mmc_block.ko
275 AUTOLOAD:=$(call AutoProbe,mmc_core mmc_block,1)
276 endef
277
278 define KernelPackage/mmc/description
279 Kernel support for MMC/SD cards
280 endef
281
282 $(eval $(call KernelPackage,mmc))
283
284
285 define KernelPackage/oprofile
286 SUBMENU:=$(OTHER_MENU)
287 TITLE:=OProfile profiling support
288 KCONFIG:=CONFIG_OPROFILE
289 FILES:=$(LINUX_DIR)/arch/$(LINUX_KARCH)/oprofile/oprofile.ko
290 DEPENDS:=@KERNEL_PROFILING
291 endef
292
293 define KernelPackage/oprofile/description
294 Kernel module for support for oprofile system profiling
295 endef
296
297 $(eval $(call KernelPackage,oprofile))
298
299
300 define KernelPackage/rfkill
301 SUBMENU:=$(OTHER_MENU)
302 TITLE:=RF switch subsystem support
303 DEPENDS:=@USE_RFKILL +kmod-input-core
304 KCONFIG:= \
305 CONFIG_RFKILL \
306 CONFIG_RFKILL_INPUT=y \
307 CONFIG_RFKILL_LEDS=y \
308 CONFIG_RFKILL_GPIO=y
309 FILES:= \
310 $(LINUX_DIR)/net/rfkill/rfkill.ko
311 AUTOLOAD:=$(call AutoLoad,20,rfkill)
312 endef
313
314 define KernelPackage/rfkill/description
315 Say Y here if you want to have control over RF switches
316 found on many WiFi and Bluetooth cards
317 endef
318
319 $(eval $(call KernelPackage,rfkill))
320
321
322 define KernelPackage/softdog
323 SUBMENU:=$(OTHER_MENU)
324 TITLE:=Software watchdog driver
325 KCONFIG:=CONFIG_SOFT_WATCHDOG
326 FILES:=$(LINUX_DIR)/drivers/$(WATCHDOG_DIR)/softdog.ko
327 AUTOLOAD:=$(call AutoLoad,50,softdog)
328 endef
329
330 define KernelPackage/softdog/description
331 Software watchdog driver
332 endef
333
334 $(eval $(call KernelPackage,softdog))
335
336
337 define KernelPackage/ssb
338 SUBMENU:=$(OTHER_MENU)
339 TITLE:=Silicon Sonics Backplane glue code
340 DEPENDS:=@PCI_SUPPORT @!TARGET_brcm47xx @!TARGET_brcm63xx
341 KCONFIG:=\
342 CONFIG_SSB \
343 CONFIG_SSB_B43_PCI_BRIDGE=y \
344 CONFIG_SSB_DRIVER_MIPS=n \
345 CONFIG_SSB_DRIVER_PCICORE=y \
346 CONFIG_SSB_DRIVER_PCICORE_POSSIBLE=y \
347 CONFIG_SSB_PCIHOST=y \
348 CONFIG_SSB_PCIHOST_POSSIBLE=y \
349 CONFIG_SSB_POSSIBLE=y \
350 CONFIG_SSB_SPROM=y \
351 CONFIG_SSB_SILENT=y
352 FILES:=$(LINUX_DIR)/drivers/ssb/ssb.ko
353 AUTOLOAD:=$(call AutoLoad,18,ssb,1)
354 endef
355
356 define KernelPackage/ssb/description
357 Silicon Sonics Backplane glue code.
358 endef
359
360 $(eval $(call KernelPackage,ssb))
361
362
363 define KernelPackage/bcma
364 SUBMENU:=$(OTHER_MENU)
365 TITLE:=BCMA support
366 DEPENDS:=@PCI_SUPPORT @!TARGET_brcm47xx
367 KCONFIG:=\
368 CONFIG_BCMA \
369 CONFIG_BCMA_POSSIBLE=y \
370 CONFIG_BCMA_BLOCKIO=y \
371 CONFIG_BCMA_HOST_PCI_POSSIBLE=y \
372 CONFIG_BCMA_HOST_PCI=y \
373 CONFIG_BCMA_HOST_SOC=n \
374 CONFIG_BCMA_DRIVER_MIPS=n \
375 CONFIG_BCMA_DRIVER_PCI_HOSTMODE=n \
376 CONFIG_BCMA_DRIVER_GMAC_CMN=n \
377 CONFIG_BCMA_DEBUG=n
378 FILES:=$(LINUX_DIR)/drivers/bcma/bcma.ko
379 AUTOLOAD:=$(call AutoLoad,29,bcma)
380 endef
381
382 define KernelPackage/bcma/description
383 Bus driver for Broadcom specific Advanced Microcontroller Bus Architecture
384 endef
385
386 $(eval $(call KernelPackage,bcma))
387
388
389 define KernelPackage/wdt-omap
390 SUBMENU:=$(OTHER_MENU)
391 TITLE:=OMAP Watchdog timer
392 DEPENDS:=@(TARGET_omap24xx||TARGET_omap35xx)
393 KCONFIG:=CONFIG_OMAP_WATCHDOG
394 FILES:=$(LINUX_DIR)/drivers/$(WATCHDOG_DIR)/omap_wdt.ko
395 AUTOLOAD:=$(call AutoLoad,50,omap_wdt.ko)
396 endef
397
398 define KernelPackage/wdt-omap/description
399 Kernel module for TI omap watchdog timer
400 endef
401
402 $(eval $(call KernelPackage,wdt-omap))
403
404
405 define KernelPackage/wdt-orion
406 SUBMENU:=$(OTHER_MENU)
407 TITLE:=Marvell Orion Watchdog timer
408 DEPENDS:=@TARGET_orion||TARGET_kirkwood||TARGET_mvebu
409 KCONFIG:=CONFIG_ORION_WATCHDOG
410 FILES:=$(LINUX_DIR)/drivers/$(WATCHDOG_DIR)/orion_wdt.ko
411 AUTOLOAD:=$(call AutoLoad,50,orion_wdt)
412 endef
413
414 define KernelPackage/wdt-orion/description
415 Kernel module for Marvell Orion, Kirkwood and Armada XP/370 watchdog timer
416 endef
417
418 $(eval $(call KernelPackage,wdt-orion))
419
420
421 define KernelPackage/booke-wdt
422 SUBMENU:=$(OTHER_MENU)
423 TITLE:=PowerPC Book-E Watchdog Timer
424 DEPENDS:=@(TARGET_mpc85xx||TARGET_ppc40x||TARGET_ppc44x)
425 KCONFIG:=CONFIG_BOOKE_WDT
426 FILES:=$(LINUX_DIR)/drivers/$(WATCHDOG_DIR)/booke_wdt.ko
427 AUTOLOAD:=$(call AutoLoad,50,booke_wdt)
428 endef
429
430 define KernelPackage/booke-wdt/description
431 Kernel module for PowerPC Book-E Watchdog Timer
432 endef
433
434 $(eval $(call KernelPackage,booke-wdt))
435
436
437 define KernelPackage/pwm
438 SUBMENU:=$(OTHER_MENU)
439 TITLE:=PWM generic API
440 KCONFIG:=CONFIG_GENERIC_PWM
441 FILES:=$(LINUX_DIR)/drivers/pwm/pwm.ko
442 endef
443
444 define KernelPackage/pwm/description
445 Kernel module that implement a generic PWM API
446 endef
447
448 $(eval $(call KernelPackage,pwm))
449
450
451 define KernelPackage/pwm-gpio
452 SUBMENU:=$(OTHER_MENU)
453 TITLE:=PWM over GPIO
454 DEPENDS:=+kmod-pwm
455 KCONFIG:=CONFIG_GPIO_PWM
456 FILES:=$(LINUX_DIR)/drivers/pwm/gpio-pwm.ko
457 AUTOLOAD:=$(call AutoProbe,gpio-pwm)
458 endef
459
460 define KernelPackage/pwm-gpio/description
461 Kernel module to models a single-channel PWM device using a timer and a GPIO pin
462 endef
463
464 $(eval $(call KernelPackage,pwm-gpio))
465
466
467 define KernelPackage/rtc-isl1208
468 SUBMENU:=$(OTHER_MENU)
469 TITLE:=Intersil ISL1208 RTC support
470 $(call AddDepends/rtc)
471 DEPENDS+=+kmod-i2c-core
472 KCONFIG:=CONFIG_RTC_DRV_ISL1208
473 FILES:=$(LINUX_DIR)/drivers/rtc/rtc-isl1208.ko
474 AUTOLOAD:=$(call AutoProbe,rtc-isl1208)
475 endef
476
477 define KernelPackage/rtc-isl1208/description
478 Kernel module for Intersil ISL1208 RTC.
479 endef
480
481 $(eval $(call KernelPackage,rtc-isl1208))
482
483
484 define KernelPackage/rtc-marvell
485 SUBMENU:=$(OTHER_MENU)
486 TITLE:=Marvell SoC built-in RTC support
487 $(call AddDepends/rtc)
488 DEPENDS+=@TARGET_kirkwood||TARGET_orion||TARGET_mvebu
489 KCONFIG:=CONFIG_RTC_DRV_MV
490 FILES:=$(LINUX_DIR)/drivers/rtc/rtc-mv.ko
491 AUTOLOAD:=$(call AutoProbe,rtc-mv)
492 endef
493
494 define KernelPackage/rtc-marvell/description
495 Kernel module for Marvell SoC built-in RTC.
496 endef
497
498 $(eval $(call KernelPackage,rtc-marvell))
499
500 define KernelPackage/rtc-pcf8563
501 SUBMENU:=$(OTHER_MENU)
502 TITLE:=Philips PCF8563/Epson RTC8564 RTC support
503 $(call AddDepends/rtc,+kmod-i2c-core)
504 KCONFIG:=CONFIG_RTC_DRV_PCF8563
505 FILES:=$(LINUX_DIR)/drivers/rtc/rtc-pcf8563.ko
506 AUTOLOAD:=$(call AutoProbe,rtc-pcf8563)
507 endef
508
509 define KernelPackage/rtc-pcf8563/description
510 Kernel module for Philips PCF8563 RTC chip.
511 The Epson RTC8564 should work as well.
512 endef
513
514 $(eval $(call KernelPackage,rtc-pcf8563))
515
516
517 define KernelPackage/rtc-pcf2123
518 SUBMENU:=$(OTHER_MENU)
519 TITLE:=Philips PCF2123 RTC support
520 $(call AddDepends/rtc)
521 KCONFIG:=CONFIG_RTC_DRV_PCF2123
522 FILES:=$(LINUX_DIR)/drivers/rtc/rtc-pcf2123.ko
523 AUTOLOAD:=$(call AutoProbe,rtc-pcf2123)
524 endef
525
526 define KernelPackage/rtc-pcf2123/description
527 Kernel module for Philips PCF2123 RTC chip
528 endef
529
530 $(eval $(call KernelPackage,rtc-pcf2123))
531
532 define KernelPackage/rtc-pt7c4338
533 SUBMENU:=$(OTHER_MENU)
534 TITLE:=Pericom PT7C4338 RTC support
535 $(call AddDepends/rtc,+kmod-i2c-core)
536 KCONFIG:=CONFIG_RTC_DRV_PT7C4338
537 FILES:=$(LINUX_DIR)/drivers/rtc/rtc-pt7c4338.ko
538 AUTOLOAD:=$(call AutoProbe,rtc-pt7c4338)
539 endef
540
541 define KernelPackage/rtc-pt7c4338/description
542 Kernel module for Pericom PT7C4338 i2c RTC chip
543 endef
544
545 $(eval $(call KernelPackage,rtc-pt7c4338))
546
547
548 define KernelPackage/mtdtests
549 SUBMENU:=$(OTHER_MENU)
550 TITLE:=MTD subsystem tests
551 KCONFIG:=CONFIG_MTD_TESTS
552 DEPENDS:=+kmod-nand
553 FILES:=\
554 $(LINUX_DIR)/drivers/mtd/tests/mtd_nandecctest.ko \
555 $(LINUX_DIR)/drivers/mtd/tests/mtd_oobtest.ko \
556 $(LINUX_DIR)/drivers/mtd/tests/mtd_pagetest.ko \
557 $(LINUX_DIR)/drivers/mtd/tests/mtd_readtest.ko \
558 $(LINUX_DIR)/drivers/mtd/tests/mtd_speedtest.ko \
559 $(LINUX_DIR)/drivers/mtd/tests/mtd_stresstest.ko \
560 $(LINUX_DIR)/drivers/mtd/tests/mtd_subpagetest.ko \
561 $(LINUX_DIR)/drivers/mtd/tests/mtd_torturetest.ko
562 endef
563
564 define KernelPackage/mtdtests/description
565 Kernel modules for MTD subsystem/driver testing
566 endef
567
568 $(eval $(call KernelPackage,mtdtests))
569
570
571 define KernelPackage/nand
572 SUBMENU:=$(OTHER_MENU)
573 TITLE:=NAND flash support
574 KCONFIG:=CONFIG_MTD_NAND \
575 CONFIG_MTD_NAND_IDS \
576 CONFIG_MTD_NAND_ECC
577 FILES:= \
578 $(LINUX_DIR)/drivers/mtd/nand/nand_ids.ko \
579 $(LINUX_DIR)/drivers/mtd/nand/nand_ecc.ko \
580 $(LINUX_DIR)/drivers/mtd/nand/nand.ko
581 AUTOLOAD:=$(call AutoLoad,20,nand_ids nand_ecc nand)
582 endef
583
584 define KernelPackage/nand/description
585 Kernel module for NAND support
586 endef
587
588 $(eval $(call KernelPackage,nand))
589
590
591 define KernelPackage/nandsim
592 SUBMENU:=$(OTHER_MENU)
593 TITLE:=NAND simulator
594 DEPENDS:=+kmod-nand
595 KCONFIG:=CONFIG_MTD_NAND_NANDSIM
596 FILES:=$(LINUX_DIR)/drivers/mtd/nand/nandsim.ko
597 endef
598
599 define KernelPackage/nandsim/description
600 Kernel module for NAND flash simulation.
601 endef
602
603 $(eval $(call KernelPackage,nandsim))
604
605 define KernelPackage/serial-8250
606 SUBMENU:=$(OTHER_MENU)
607 TITLE:=8250 UARTs
608 KCONFIG:= CONFIG_SERIAL_8250 \
609 CONFIG_SERIAL_8250_NR_UARTS=16 \
610 CONFIG_SERIAL_8250_RUNTIME_UARTS=16 \
611 CONFIG_SERIAL_8250_EXTENDED=y \
612 CONFIG_SERIAL_8250_MANY_PORTS=y \
613 CONFIG_SERIAL_8250_SHARE_IRQ=y \
614 CONFIG_SERIAL_8250_DETECT_IRQ=n \
615 CONFIG_SERIAL_8250_RSA=n
616 FILES:=$(LINUX_DIR)/drivers/tty/serial/8250/8250$(if $(call kernel_patchver_ge,3.7),$(if $(call kernel_patchver_le,3.8),_core)).ko
617 endef
618
619 define KernelPackage/serial-8250/description
620 Kernel module for 8250 UART based serial ports
621 endef
622
623 $(eval $(call KernelPackage,serial-8250))
624
625
626 define KernelPackage/regmap
627 SUBMENU:=$(OTHER_MENU)
628 TITLE:=Generic register map support
629 DEPENDS:=+kmod-lib-lzo +kmod-i2c-core
630 KCONFIG:=CONFIG_REGMAP \
631 CONFIG_REGMAP_SPI \
632 CONFIG_REGMAP_I2C \
633 CONFIG_SPI=y
634 FILES:= \
635 $(LINUX_DIR)/drivers/base/regmap/regmap-core.ko \
636 $(LINUX_DIR)/drivers/base/regmap/regmap-i2c.ko \
637 $(LINUX_DIR)/drivers/base/regmap/regmap-spi.ko
638 AUTOLOAD:=$(call AutoLoad,21,regmap-core regmap-i2c regmap-spi)
639 endef
640
641 define KernelPackage/regmap/description
642 Generic register map support
643 endef
644
645 $(eval $(call KernelPackage,regmap))
646
647 define KernelPackage/ikconfig
648 SUBMENU:=$(OTHER_MENU)
649 TITLE:=Kernel configuration via /proc/config.gz
650 KCONFIG:=CONFIG_IKCONFIG \
651 CONFIG_IKCONFIG_PROC=y
652 FILES:=$(LINUX_DIR)/kernel/configs.ko
653 AUTOLOAD:=$(call AutoLoad,70,configs)
654 endef
655
656 define KernelPackage/ikconfig/description
657 Kernel configuration via /proc/config.gz
658 endef
659
660 $(eval $(call KernelPackage,ikconfig))
661
662
663 define KernelPackage/zram
664 SUBMENU:=$(OTHER_MENU)
665 TITLE:=ZRAM
666 DEPENDS:=@!LINUX_3_3 +kmod-lib-lzo
667 KCONFIG:= \
668 CONFIG_ZSMALLOC \
669 CONFIG_ZRAM \
670 CONFIG_ZRAM_DEBUG=n
671 FILES:= \
672 $(LINUX_DIR)/drivers/staging/zsmalloc/zsmalloc.ko \
673 $(LINUX_DIR)/drivers/staging/zram/zram.ko
674 AUTOLOAD:=$(call AutoLoad,20,zsmalloc zram)
675 endef
676
677 define KernelPackage/zram/description
678 Compressed RAM block device support
679 endef
680
681 $(eval $(call KernelPackage,zram))
682
683
684 define KernelPackage/mvsdio
685 SUBMENU:=$(OTHER_MENU)
686 TITLE:=Marvell SDIO support
687 DEPENDS:=@TARGET_orion||TARGET_kirkwood||TARGET_mvebu +kmod-mmc
688 KCONFIG:=CONFIG_MMC_MVSDIO
689 FILES:=$(LINUX_DIR)/drivers/mmc/host/mvsdio.ko
690 AUTOLOAD:=$(call AutoProbe,mvsdio)
691 endef
692
693 define KernelPacakge/mvsdio/description
694 Kernel support for the Marvell SDIO controller
695 endef
696
697 $(eval $(call KernelPackage,mvsdio))
698
699
700 define KernelPackage/pps
701 SUBMENU:=$(OTHER_MENU)
702 TITLE:=PPS support
703 KCONFIG:=CONFIG_PPS
704 FILES:=$(LINUX_DIR)/drivers/pps/pps_core.ko
705 AUTOLOAD:=$(call AutoLoad,17,pps_core,1)
706 endef
707
708 define KernelPacakge/pps/description
709 PPS (Pulse Per Second) is a special pulse provided by some GPS
710 antennae. Userland can use it to get a high-precision time
711 reference.
712 endef
713
714 $(eval $(call KernelPackage,pps))
715
716
717 define KernelPackage/ptp
718 SUBMENU:=$(OTHER_MENU)
719 TITLE:=PTP clock support
720 DEPENDS:=+kmod-pps
721 KCONFIG:=CONFIG_PTP_1588_CLOCK
722 FILES:=$(LINUX_DIR)/drivers/ptp/ptp.ko
723 AUTOLOAD:=$(call AutoLoad,18,ptp,1)
724 endef
725
726 define KernelPacakge/ptp/description
727 The IEEE 1588 standard defines a method to precisely
728 synchronize distributed clocks over Ethernet networks.
729 endef
730
731 $(eval $(call KernelPackage,ptp))
732
733
734 define KernelPackage/ptp-gianfar
735 SUBMENU:=$(OTHER_MENU)
736 TITLE:=Freescale Gianfar PTP support
737 DEPENDS:=@TARGET_mpc85xx +kmod-gianfar +kmod-ptp
738 KCONFIG:=CONFIG_PTP_1588_CLOCK_GIANFAR
739 FILES:=$(LINUX_DIR)/drivers/net/ethernet/freescale/gianfar_ptp.ko
740 AUTOLOAD:=$(call AutoProbe,gianfar_ptp)
741 endef
742
743 define KernelPacakge/ptp-gianfar/description
744 Kernel module for IEEE 1588 support for Freescale
745 Gianfar Ethernet drivers
746 endef
747
748 $(eval $(call KernelPackage,ptp-gianfar))
749
750
751 define KernelPackage/random-core
752 SUBMENU:=$(OTHER_MENU)
753 TITLE:=Hardware Random Number Generator Core support
754 KCONFIG:=CONFIG_HW_RANDOM
755 FILES:=$(LINUX_DIR)/drivers/char/hw_random/rng-core.ko
756 endef
757
758 define KernelPackage/random-core/description
759 Kernel module for the HW random number generator core infrastructure
760 endef
761
762 $(eval $(call KernelPackage,random-core))