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