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