kernel: add rtc-ds1307 module support
[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_14
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_14: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 define KernelPackage/lp
262 SUBMENU:=$(OTHER_MENU)
263 TITLE:=Parallel port and line printer support
264 DEPENDS:=@BROKEN
265 KCONFIG:= \
266 CONFIG_PARPORT \
267 CONFIG_PRINTER \
268 CONFIG_PPDEV
269 FILES:= \
270 $(LINUX_DIR)/drivers/parport/parport.ko \
271 $(LINUX_DIR)/drivers/char/lp.ko \
272 $(LINUX_DIR)/drivers/char/ppdev.ko
273 AUTOLOAD:=$(call AutoLoad,50,parport lp)
274 endef
275
276 $(eval $(call KernelPackage,lp))
277
278
279 define KernelPackage/mmc
280 SUBMENU:=$(OTHER_MENU)
281 TITLE:=MMC/SD Card Support
282 KCONFIG:= \
283 CONFIG_MMC \
284 CONFIG_MMC_BLOCK \
285 CONFIG_MMC_DEBUG=n \
286 CONFIG_MMC_UNSAFE_RESUME=n \
287 CONFIG_MMC_BLOCK_BOUNCE=y \
288 CONFIG_MMC_TIFM_SD=n \
289 CONFIG_MMC_WBSD=n \
290 CONFIG_SDIO_UART=n
291 FILES:= \
292 $(LINUX_DIR)/drivers/mmc/core/mmc_core.ko \
293 $(LINUX_DIR)/drivers/mmc/card/mmc_block.ko
294 AUTOLOAD:=$(call AutoProbe,mmc_core mmc_block,1)
295 endef
296
297 define KernelPackage/mmc/description
298 Kernel support for MMC/SD cards
299 endef
300
301 $(eval $(call KernelPackage,mmc))
302
303
304 define KernelPackage/sdhci
305 SUBMENU:=$(OTHER_MENU)
306 TITLE:=Secure Digital Host Controller Interface support
307 DEPENDS:=+kmod-mmc
308 KCONFIG:= \
309 CONFIG_MMC_SDHCI \
310 CONFIG_MMC_SDHCI_PLTFM \
311 CONFIG_MMC_SDHCI_PCI=n
312 FILES:= \
313 $(LINUX_DIR)/drivers/mmc/host/sdhci.ko \
314 $(LINUX_DIR)/drivers/mmc/host/sdhci-pltfm.ko
315
316 AUTOLOAD:=$(call AutoProbe,sdhci sdhci-pltfm,1)
317 endef
318
319 define KernelPackage/sdhci/description
320 Kernel support for SDHCI Hosts
321 endef
322
323 $(eval $(call KernelPackage,sdhci))
324
325
326 define KernelPackage/oprofile
327 SUBMENU:=$(OTHER_MENU)
328 TITLE:=OProfile profiling support
329 KCONFIG:=CONFIG_OPROFILE
330 FILES:=$(LINUX_DIR)/arch/$(LINUX_KARCH)/oprofile/oprofile.ko
331 DEPENDS:=@KERNEL_PROFILING
332 endef
333
334 define KernelPackage/oprofile/description
335 Kernel module for support for oprofile system profiling
336 endef
337
338 $(eval $(call KernelPackage,oprofile))
339
340
341 define KernelPackage/rfkill
342 SUBMENU:=$(OTHER_MENU)
343 TITLE:=RF switch subsystem support
344 DEPENDS:=@USE_RFKILL +kmod-input-core
345 KCONFIG:= \
346 CONFIG_RFKILL \
347 CONFIG_RFKILL_INPUT=y \
348 CONFIG_RFKILL_LEDS=y \
349 CONFIG_RFKILL_GPIO=y
350 FILES:= \
351 $(LINUX_DIR)/net/rfkill/rfkill.ko
352 AUTOLOAD:=$(call AutoLoad,20,rfkill)
353 endef
354
355 define KernelPackage/rfkill/description
356 Say Y here if you want to have control over RF switches
357 found on many WiFi and Bluetooth cards
358 endef
359
360 $(eval $(call KernelPackage,rfkill))
361
362
363 define KernelPackage/softdog
364 SUBMENU:=$(OTHER_MENU)
365 TITLE:=Software watchdog driver
366 KCONFIG:=CONFIG_SOFT_WATCHDOG
367 FILES:=$(LINUX_DIR)/drivers/$(WATCHDOG_DIR)/softdog.ko
368 AUTOLOAD:=$(call AutoLoad,50,softdog)
369 endef
370
371 define KernelPackage/softdog/description
372 Software watchdog driver
373 endef
374
375 $(eval $(call KernelPackage,softdog))
376
377
378 define KernelPackage/ssb
379 SUBMENU:=$(OTHER_MENU)
380 TITLE:=Silicon Sonics Backplane glue code
381 DEPENDS:=@PCI_SUPPORT @!TARGET_brcm47xx @!TARGET_brcm63xx
382 KCONFIG:=\
383 CONFIG_SSB \
384 CONFIG_SSB_B43_PCI_BRIDGE=y \
385 CONFIG_SSB_DRIVER_MIPS=n \
386 CONFIG_SSB_DRIVER_PCICORE=y \
387 CONFIG_SSB_DRIVER_PCICORE_POSSIBLE=y \
388 CONFIG_SSB_PCIHOST=y \
389 CONFIG_SSB_PCIHOST_POSSIBLE=y \
390 CONFIG_SSB_POSSIBLE=y \
391 CONFIG_SSB_SPROM=y \
392 CONFIG_SSB_SILENT=y
393 FILES:=$(LINUX_DIR)/drivers/ssb/ssb.ko
394 AUTOLOAD:=$(call AutoLoad,18,ssb,1)
395 endef
396
397 define KernelPackage/ssb/description
398 Silicon Sonics Backplane glue code.
399 endef
400
401 $(eval $(call KernelPackage,ssb))
402
403
404 define KernelPackage/bcma
405 SUBMENU:=$(OTHER_MENU)
406 TITLE:=BCMA support
407 DEPENDS:=@PCI_SUPPORT @!TARGET_brcm47xx
408 KCONFIG:=\
409 CONFIG_BCMA \
410 CONFIG_BCMA_POSSIBLE=y \
411 CONFIG_BCMA_BLOCKIO=y \
412 CONFIG_BCMA_HOST_PCI_POSSIBLE=y \
413 CONFIG_BCMA_HOST_PCI=y \
414 CONFIG_BCMA_HOST_SOC=n \
415 CONFIG_BCMA_DRIVER_MIPS=n \
416 CONFIG_BCMA_DRIVER_PCI_HOSTMODE=n \
417 CONFIG_BCMA_DRIVER_GMAC_CMN=n \
418 CONFIG_BCMA_DEBUG=n
419 FILES:=$(LINUX_DIR)/drivers/bcma/bcma.ko
420 AUTOLOAD:=$(call AutoLoad,29,bcma)
421 endef
422
423 define KernelPackage/bcma/description
424 Bus driver for Broadcom specific Advanced Microcontroller Bus Architecture
425 endef
426
427 $(eval $(call KernelPackage,bcma))
428
429
430 define KernelPackage/wdt-omap
431 SUBMENU:=$(OTHER_MENU)
432 TITLE:=OMAP Watchdog timer
433 DEPENDS:=@(TARGET_omap24xx||TARGET_omap35xx)
434 KCONFIG:=CONFIG_OMAP_WATCHDOG
435 FILES:=$(LINUX_DIR)/drivers/$(WATCHDOG_DIR)/omap_wdt.ko
436 AUTOLOAD:=$(call AutoLoad,50,omap_wdt.ko)
437 endef
438
439 define KernelPackage/wdt-omap/description
440 Kernel module for TI omap watchdog timer
441 endef
442
443 $(eval $(call KernelPackage,wdt-omap))
444
445
446 define KernelPackage/wdt-orion
447 SUBMENU:=$(OTHER_MENU)
448 TITLE:=Marvell Orion Watchdog timer
449 DEPENDS:=@TARGET_orion||TARGET_kirkwood||TARGET_mvebu
450 KCONFIG:=CONFIG_ORION_WATCHDOG
451 FILES:=$(LINUX_DIR)/drivers/$(WATCHDOG_DIR)/orion_wdt.ko
452 AUTOLOAD:=$(call AutoLoad,50,orion_wdt)
453 endef
454
455 define KernelPackage/wdt-orion/description
456 Kernel module for Marvell Orion, Kirkwood and Armada XP/370 watchdog timer
457 endef
458
459 $(eval $(call KernelPackage,wdt-orion))
460
461
462 define KernelPackage/booke-wdt
463 SUBMENU:=$(OTHER_MENU)
464 TITLE:=PowerPC Book-E Watchdog Timer
465 DEPENDS:=@(TARGET_mpc85xx||TARGET_ppc40x||TARGET_ppc44x)
466 KCONFIG:=CONFIG_BOOKE_WDT
467 FILES:=$(LINUX_DIR)/drivers/$(WATCHDOG_DIR)/booke_wdt.ko
468 AUTOLOAD:=$(call AutoLoad,50,booke_wdt)
469 endef
470
471 define KernelPackage/booke-wdt/description
472 Kernel module for PowerPC Book-E Watchdog Timer
473 endef
474
475 $(eval $(call KernelPackage,booke-wdt))
476
477
478 define KernelPackage/pwm
479 SUBMENU:=$(OTHER_MENU)
480 TITLE:=PWM generic API
481 KCONFIG:=CONFIG_GENERIC_PWM
482 FILES:=$(LINUX_DIR)/drivers/pwm/pwm.ko
483 endef
484
485 define KernelPackage/pwm/description
486 Kernel module that implement a generic PWM API
487 endef
488
489 $(eval $(call KernelPackage,pwm))
490
491
492 define KernelPackage/pwm-gpio
493 SUBMENU:=$(OTHER_MENU)
494 TITLE:=PWM over GPIO
495 DEPENDS:=+kmod-pwm
496 KCONFIG:=CONFIG_GPIO_PWM
497 FILES:=$(LINUX_DIR)/drivers/pwm/gpio-pwm.ko
498 AUTOLOAD:=$(call AutoProbe,gpio-pwm)
499 endef
500
501 define KernelPackage/pwm-gpio/description
502 Kernel module to models a single-channel PWM device using a timer and a GPIO pin
503 endef
504
505 $(eval $(call KernelPackage,pwm-gpio))
506
507
508 define KernelPackage/rtc-ds1307
509 SUBMENU:=$(OTHER_MENU)
510 TITLE:=Dallas/Maxim DS1307 (and compatible) RTC support
511 $(call AddDepends/rtc)
512 DEPENDS+=+kmod-i2c-core
513 KCONFIG:=CONFIG_RTC_DRV_DS1307
514 FILES:=$(LINUX_DIR)/drivers/rtc/rtc-ds1307.ko
515 AUTOLOAD:=$(call AutoProbe,rtc-ds1307)
516 endef
517
518 define KernelPackage/rtc-ds1307/description
519 Kernel module for Dallas/Maxim DS1307/DS1337/DS1338/DS1340/DS1388/DS3231,
520 Epson RX-8025 and various other compatible RTC chips connected via I2C.
521 endef
522
523 $(eval $(call KernelPackage,rtc-ds1307))
524
525
526 define KernelPackage/rtc-ds1672
527 SUBMENU:=$(OTHER_MENU)
528 TITLE:=Dallas/Maxim DS1672 RTC support
529 $(call AddDepends/rtc)
530 DEPENDS+=+kmod-i2c-core
531 KCONFIG:=CONFIG_RTC_DRV_DS1672
532 FILES:=$(LINUX_DIR)/drivers/rtc/rtc-ds1672.ko
533 AUTOLOAD:=$(call AutoProbe,rtc-ds1672)
534 endef
535
536 define KernelPackage/rtc-ds1672/description
537 Kernel module for Dallas/Maxim DS1672 RTC.
538 endef
539
540 $(eval $(call KernelPackage,rtc-ds1672))
541
542
543 define KernelPackage/rtc-isl1208
544 SUBMENU:=$(OTHER_MENU)
545 TITLE:=Intersil ISL1208 RTC support
546 $(call AddDepends/rtc)
547 DEPENDS+=+kmod-i2c-core
548 KCONFIG:=CONFIG_RTC_DRV_ISL1208
549 FILES:=$(LINUX_DIR)/drivers/rtc/rtc-isl1208.ko
550 AUTOLOAD:=$(call AutoProbe,rtc-isl1208)
551 endef
552
553 define KernelPackage/rtc-isl1208/description
554 Kernel module for Intersil ISL1208 RTC.
555 endef
556
557 $(eval $(call KernelPackage,rtc-isl1208))
558
559
560 define KernelPackage/rtc-marvell
561 SUBMENU:=$(OTHER_MENU)
562 TITLE:=Marvell SoC built-in RTC support
563 $(call AddDepends/rtc)
564 DEPENDS+=@TARGET_kirkwood||TARGET_orion||TARGET_mvebu
565 KCONFIG:=CONFIG_RTC_DRV_MV
566 FILES:=$(LINUX_DIR)/drivers/rtc/rtc-mv.ko
567 AUTOLOAD:=$(call AutoProbe,rtc-mv)
568 endef
569
570 define KernelPackage/rtc-marvell/description
571 Kernel module for Marvell SoC built-in RTC.
572 endef
573
574 $(eval $(call KernelPackage,rtc-marvell))
575
576 define KernelPackage/rtc-pcf8563
577 SUBMENU:=$(OTHER_MENU)
578 TITLE:=Philips PCF8563/Epson RTC8564 RTC support
579 $(call AddDepends/rtc,+kmod-i2c-core)
580 KCONFIG:=CONFIG_RTC_DRV_PCF8563
581 FILES:=$(LINUX_DIR)/drivers/rtc/rtc-pcf8563.ko
582 AUTOLOAD:=$(call AutoProbe,rtc-pcf8563)
583 endef
584
585 define KernelPackage/rtc-pcf8563/description
586 Kernel module for Philips PCF8563 RTC chip.
587 The Epson RTC8564 should work as well.
588 endef
589
590 $(eval $(call KernelPackage,rtc-pcf8563))
591
592
593 define KernelPackage/rtc-pcf2123
594 SUBMENU:=$(OTHER_MENU)
595 TITLE:=Philips PCF2123 RTC support
596 $(call AddDepends/rtc)
597 KCONFIG:=CONFIG_RTC_DRV_PCF2123
598 FILES:=$(LINUX_DIR)/drivers/rtc/rtc-pcf2123.ko
599 AUTOLOAD:=$(call AutoProbe,rtc-pcf2123)
600 endef
601
602 define KernelPackage/rtc-pcf2123/description
603 Kernel module for Philips PCF2123 RTC chip
604 endef
605
606 $(eval $(call KernelPackage,rtc-pcf2123))
607
608 define KernelPackage/rtc-pt7c4338
609 SUBMENU:=$(OTHER_MENU)
610 TITLE:=Pericom PT7C4338 RTC support
611 $(call AddDepends/rtc,+kmod-i2c-core)
612 KCONFIG:=CONFIG_RTC_DRV_PT7C4338
613 FILES:=$(LINUX_DIR)/drivers/rtc/rtc-pt7c4338.ko
614 AUTOLOAD:=$(call AutoProbe,rtc-pt7c4338)
615 endef
616
617 define KernelPackage/rtc-pt7c4338/description
618 Kernel module for Pericom PT7C4338 i2c RTC chip
619 endef
620
621 $(eval $(call KernelPackage,rtc-pt7c4338))
622
623
624 define KernelPackage/mtdtests
625 SUBMENU:=$(OTHER_MENU)
626 TITLE:=MTD subsystem tests
627 KCONFIG:=CONFIG_MTD_TESTS
628 DEPENDS:=+kmod-nand
629 FILES:=\
630 $(LINUX_DIR)/drivers/mtd/tests/mtd_nandecctest.ko \
631 $(LINUX_DIR)/drivers/mtd/tests/mtd_oobtest.ko \
632 $(LINUX_DIR)/drivers/mtd/tests/mtd_pagetest.ko \
633 $(LINUX_DIR)/drivers/mtd/tests/mtd_readtest.ko \
634 $(LINUX_DIR)/drivers/mtd/tests/mtd_speedtest.ko \
635 $(LINUX_DIR)/drivers/mtd/tests/mtd_stresstest.ko \
636 $(LINUX_DIR)/drivers/mtd/tests/mtd_subpagetest.ko \
637 $(LINUX_DIR)/drivers/mtd/tests/mtd_torturetest.ko
638 endef
639
640 define KernelPackage/mtdtests/description
641 Kernel modules for MTD subsystem/driver testing
642 endef
643
644 $(eval $(call KernelPackage,mtdtests))
645
646
647 define KernelPackage/nand
648 SUBMENU:=$(OTHER_MENU)
649 TITLE:=NAND flash support
650 KCONFIG:=CONFIG_MTD_NAND \
651 CONFIG_MTD_NAND_IDS \
652 CONFIG_MTD_NAND_ECC
653 FILES:= \
654 $(LINUX_DIR)/drivers/mtd/nand/nand_ids.ko \
655 $(LINUX_DIR)/drivers/mtd/nand/nand_ecc.ko \
656 $(LINUX_DIR)/drivers/mtd/nand/nand.ko
657 AUTOLOAD:=$(call AutoLoad,20,nand_ids nand_ecc nand)
658 endef
659
660 define KernelPackage/nand/description
661 Kernel module for NAND support
662 endef
663
664 $(eval $(call KernelPackage,nand))
665
666
667 define KernelPackage/nandsim
668 SUBMENU:=$(OTHER_MENU)
669 TITLE:=NAND simulator
670 DEPENDS:=+kmod-nand
671 KCONFIG:=CONFIG_MTD_NAND_NANDSIM
672 FILES:=$(LINUX_DIR)/drivers/mtd/nand/nandsim.ko
673 endef
674
675 define KernelPackage/nandsim/description
676 Kernel module for NAND flash simulation.
677 endef
678
679 $(eval $(call KernelPackage,nandsim))
680
681 define KernelPackage/serial-8250
682 SUBMENU:=$(OTHER_MENU)
683 TITLE:=8250 UARTs
684 KCONFIG:= CONFIG_SERIAL_8250 \
685 CONFIG_SERIAL_8250_NR_UARTS=16 \
686 CONFIG_SERIAL_8250_RUNTIME_UARTS=16 \
687 CONFIG_SERIAL_8250_EXTENDED=y \
688 CONFIG_SERIAL_8250_MANY_PORTS=y \
689 CONFIG_SERIAL_8250_SHARE_IRQ=y \
690 CONFIG_SERIAL_8250_DETECT_IRQ=n \
691 CONFIG_SERIAL_8250_RSA=n
692 FILES:=$(LINUX_DIR)/drivers/tty/serial/8250/8250$(if $(call kernel_patchver_ge,3.7),$(if $(call kernel_patchver_le,3.8),_core)).ko
693 endef
694
695 define KernelPackage/serial-8250/description
696 Kernel module for 8250 UART based serial ports
697 endef
698
699 $(eval $(call KernelPackage,serial-8250))
700
701
702 define KernelPackage/regmap
703 SUBMENU:=$(OTHER_MENU)
704 TITLE:=Generic register map support
705 DEPENDS:=+kmod-lib-lzo +kmod-i2c-core
706 KCONFIG:=CONFIG_REGMAP \
707 CONFIG_REGMAP_SPI \
708 CONFIG_REGMAP_I2C \
709 CONFIG_SPI=y
710 FILES:= \
711 $(LINUX_DIR)/drivers/base/regmap/regmap-core.ko \
712 $(LINUX_DIR)/drivers/base/regmap/regmap-i2c.ko \
713 $(if $(CONFIG_SPI),$(LINUX_DIR)/drivers/base/regmap/regmap-spi.ko)
714 AUTOLOAD:=$(call AutoLoad,21,regmap-core regmap-i2c regmap-spi)
715 endef
716
717 define KernelPackage/regmap/description
718 Generic register map support
719 endef
720
721 $(eval $(call KernelPackage,regmap))
722
723 define KernelPackage/ikconfig
724 SUBMENU:=$(OTHER_MENU)
725 TITLE:=Kernel configuration via /proc/config.gz
726 KCONFIG:=CONFIG_IKCONFIG \
727 CONFIG_IKCONFIG_PROC=y
728 FILES:=$(LINUX_DIR)/kernel/configs.ko
729 AUTOLOAD:=$(call AutoLoad,70,configs)
730 endef
731
732 define KernelPackage/ikconfig/description
733 Kernel configuration via /proc/config.gz
734 endef
735
736 $(eval $(call KernelPackage,ikconfig))
737
738
739 define KernelPackage/zram
740 SUBMENU:=$(OTHER_MENU)
741 TITLE:=ZRAM
742 DEPENDS:=@!LINUX_3_3 +kmod-lib-lzo
743 KCONFIG:= \
744 CONFIG_ZSMALLOC \
745 CONFIG_ZRAM \
746 CONFIG_ZRAM_DEBUG=n \
747 CONFIG_PGTABLE_MAPPING=n
748 ifeq ($(strip $(call CompareKernelPatchVer,$(KERNEL_PATCHVER),ge,3.14.0)),1)
749 FILES:=\
750 $(LINUX_DIR)/mm/zsmalloc.ko \
751 $(LINUX_DIR)/drivers/block/zram/zram.ko
752 else
753 FILES:= \
754 $(LINUX_DIR)/drivers/staging/zsmalloc/zsmalloc.ko \
755 $(LINUX_DIR)/drivers/staging/zram/zram.ko
756 endif
757 AUTOLOAD:=$(call AutoLoad,20,zsmalloc zram)
758 endef
759
760 define KernelPackage/zram/description
761 Compressed RAM block device support
762 endef
763
764 $(eval $(call KernelPackage,zram))
765
766
767 define KernelPackage/mvsdio
768 SUBMENU:=$(OTHER_MENU)
769 TITLE:=Marvell SDIO support
770 DEPENDS:=@TARGET_orion||TARGET_kirkwood||TARGET_mvebu +kmod-mmc
771 KCONFIG:=CONFIG_MMC_MVSDIO
772 FILES:=$(LINUX_DIR)/drivers/mmc/host/mvsdio.ko
773 AUTOLOAD:=$(call AutoProbe,mvsdio)
774 endef
775
776 define KernelPackage/mvsdio/description
777 Kernel support for the Marvell SDIO controller
778 endef
779
780 $(eval $(call KernelPackage,mvsdio))
781
782
783 define KernelPackage/pps
784 SUBMENU:=$(OTHER_MENU)
785 TITLE:=PPS support
786 KCONFIG:=CONFIG_PPS
787 FILES:=$(LINUX_DIR)/drivers/pps/pps_core.ko
788 AUTOLOAD:=$(call AutoLoad,17,pps_core,1)
789 endef
790
791 define KernelPackage/pps/description
792 PPS (Pulse Per Second) is a special pulse provided by some GPS
793 antennae. Userland can use it to get a high-precision time
794 reference.
795 endef
796
797 $(eval $(call KernelPackage,pps))
798
799
800 define KernelPackage/pps-gpio
801 SUBMENU:=$(OTHER_MENU)
802 TITLE:=PPS client using GPIO
803 DEPENDS:=+kmod-pps
804 KCONFIG:=CONFIG_PPS_CLIENT_GPIO
805 FILES:=$(LINUX_DIR)/drivers/pps/clients/pps-gpio.ko
806 AUTOLOAD:=$(call AutoLoad,18,pps-gpio,1)
807 endef
808
809 define KernelPackage/pps-gpio/description
810 Support for a PPS source using GPIO. To be useful you must
811 also register a platform device specifying the GPIO pin and
812 other options, usually in your board setup.
813 endef
814
815 $(eval $(call KernelPackage,pps-gpio))
816
817
818 define KernelPackage/ptp
819 SUBMENU:=$(OTHER_MENU)
820 TITLE:=PTP clock support
821 DEPENDS:=+kmod-pps
822 KCONFIG:=CONFIG_PTP_1588_CLOCK
823 FILES:=$(LINUX_DIR)/drivers/ptp/ptp.ko
824 AUTOLOAD:=$(call AutoLoad,18,ptp,1)
825 endef
826
827 define KernelPackage/ptp/description
828 The IEEE 1588 standard defines a method to precisely
829 synchronize distributed clocks over Ethernet networks.
830 endef
831
832 $(eval $(call KernelPackage,ptp))
833
834
835 define KernelPackage/ptp-gianfar
836 SUBMENU:=$(OTHER_MENU)
837 TITLE:=Freescale Gianfar PTP support
838 DEPENDS:=@TARGET_mpc85xx +kmod-gianfar +kmod-ptp
839 KCONFIG:=CONFIG_PTP_1588_CLOCK_GIANFAR
840 FILES:=$(LINUX_DIR)/drivers/net/ethernet/freescale/gianfar_ptp.ko
841 AUTOLOAD:=$(call AutoProbe,gianfar_ptp)
842 endef
843
844 define KernelPackage/ptp-gianfar/description
845 Kernel module for IEEE 1588 support for Freescale
846 Gianfar Ethernet drivers
847 endef
848
849 $(eval $(call KernelPackage,ptp-gianfar))
850
851
852 define KernelPackage/random-core
853 SUBMENU:=$(OTHER_MENU)
854 TITLE:=Hardware Random Number Generator Core support
855 KCONFIG:=CONFIG_HW_RANDOM
856 FILES:=$(LINUX_DIR)/drivers/char/hw_random/rng-core.ko
857 endef
858
859 define KernelPackage/random-core/description
860 Kernel module for the HW random number generator core infrastructure
861 endef
862
863 $(eval $(call KernelPackage,random-core))
864
865
866 define KernelPackage/thermal
867 SUBMENU:=$(OTHER_MENU)
868 TITLE:=Generic Thermal sysfs driver
869 DEPENDS:=+kmod-hwmon-core
870 HIDDEN:=1
871 KCONFIG:= \
872 CONFIG_THERMAL \
873 CONFIG_THERMAL_OF=y \
874 CONFIG_THERMAL_DEFAULT_GOV_STEP_WISE=y \
875 CONFIG_THERMAL_DEFAULT_GOV_FAIR_SHARE=n \
876 CONFIG_THERMAL_DEFAULT_GOV_USER_SPACE=n \
877 CONFIG_THERMAL_GOV_FAIR_SHARE=n \
878 CONFIG_THERMAL_GOV_STEP_WISE=y \
879 CONFIG_THERMAL_GOV_USER_SPACE=n \
880 CONFIG_THERMAL_HWMON=y \
881 CONFIG_THERMAL_EMULATION=n
882 FILES:=$(LINUX_DIR)/drivers/thermal/thermal_sys.ko
883 AUTOLOAD:=$(call AutoProbe,thermal_sys)
884 endef
885
886 define KernelPackage/thermal/description
887 Generic Thermal Sysfs driver offers a generic mechanism for thermal
888 management. Usually it's made up of one or more thermal zone and cooling
889 device.
890 endef
891
892 $(eval $(call KernelPackage,thermal))
893
894
895 define KernelPackage/thermal-armada
896 SUBMENU:=$(OTHER_MENU)
897 TITLE:=Armada 370/XP thermal management
898 DEPENDS:=@TARGET_mvebu +kmod-thermal
899 KCONFIG:=CONFIG_ARMADA_THERMAL
900 FILES:=$(LINUX_DIR)/drivers/thermal/armada_thermal.ko
901 AUTOLOAD:=$(call AutoProbe,armada_thermal)
902 endef
903
904 define KernelPackage/thermal-armada/description
905 Enable this module if you want to have support for thermal management
906 controller present in Armada 370 and Armada XP SoC.
907 endef
908
909 $(eval $(call KernelPackage,thermal-armada))
910
911
912 define KernelPackage/thermal-imx
913 SUBMENU:=$(OTHER_MENU)
914 TITLE:=Temperature sensor driver for Freescale i.MX SoCs
915 DEPENDS:=@TARGET_imx6 +kmod-thermal
916 KCONFIG:= \
917 CONFIG_CPU_THERMAL=y \
918 CONFIG_IMX_THERMAL
919 FILES:=$(LINUX_DIR)/drivers/thermal/imx_thermal.ko
920 AUTOLOAD:=$(call AutoProbe,imx_thermal)
921 endef
922
923 define KernelPackage/thermal-imx/description
924 Support for Temperature Monitor (TEMPMON) found on Freescale i.MX SoCs.
925 It supports one critical trip point and one passive trip point. The
926 cpufreq is used as the cooling device to throttle CPUs when the
927 passive trip is crossed.
928 endef
929
930 $(eval $(call KernelPackage,thermal-imx))
931
932
933 define KernelPackage/thermal-kirkwood
934 SUBMENU:=$(OTHER_MENU)
935 TITLE:=Temperature sensor on Marvell Kirkwood SoCs
936 DEPENDS:=@TARGET_kirkwood +kmod-thermal
937 KCONFIG:=CONFIG_KIRKWOOD_THERMAL
938 FILES:=$(LINUX_DIR)/drivers/thermal/kirkwood_thermal.ko
939 AUTOLOAD:=$(call AutoProbe,kirkwood_thermal)
940 endef
941
942 define KernelPackage/thermal-kirkwood/description
943 Support for the Kirkwood thermal sensor driver into the Linux thermal
944 framework. Only kirkwood 88F6282 and 88F6283 have this sensor.
945 endef
946
947 $(eval $(call KernelPackage,thermal-kirkwood))