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