2 # Copyright (C) 2006-2012 OpenWrt.org
4 # This is free software, licensed under the GNU General Public License v2.
5 # See /LICENSE for more information.
8 OTHER_MENU
:=Other modules
10 WATCHDOG_DIR
:=watchdog
13 define KernelPackage
/bluetooth
14 SUBMENU
:=$(OTHER_MENU
)
15 TITLE
:=Bluetooth support
16 DEPENDS
:=@USB_SUPPORT
+kmod-usb-core
23 CONFIG_BLUEZ_HCIUART \
34 CONFIG_BT_HCIUART_H4 \
37 $(call AddDepends
/crc16
)
38 $(call AddDepends
/hid
)
39 $(call AddDepends
/rfkill
)
41 $(LINUX_DIR
)/net
/bluetooth
/bluetooth.ko \
42 $(LINUX_DIR
)/net
/bluetooth
/rfcomm
/rfcomm.ko \
43 $(LINUX_DIR
)/net
/bluetooth
/bnep
/bnep.ko \
44 $(LINUX_DIR
)/net
/bluetooth
/hidp
/hidp.ko \
45 $(LINUX_DIR
)/drivers
/bluetooth
/hci_uart.ko \
46 $(LINUX_DIR
)/drivers
/bluetooth
/btusb.ko
47 AUTOLOAD
:=$(call AutoLoad
,90,bluetooth rfcomm bnep hidp hci_uart btusb
)
50 define KernelPackage
/bluetooth
/description
51 Kernel support for Bluetooth devices
54 $(eval
$(call KernelPackage
,bluetooth
))
57 define KernelPackage
/bluetooth-hci-h4p
58 SUBMENU
:=$(OTHER_MENU
)
59 TITLE
:=HCI driver with H4 Nokia extensions
60 DEPENDS
:=@TARGET_omap24xx
+kmod-bluetooth
61 KCONFIG
:=CONFIG_BT_HCIH4P
62 FILES
:=$(LINUX_DIR
)/drivers
/bluetooth
/hci_h4p
/hci_h4p.ko
63 AUTOLOAD
:=$(call AutoLoad
,91,hci_h4p
)
66 define KernelPackage
/bluetooth-hci-h4p
/description
67 HCI driver with H4 Nokia extensions
70 $(eval
$(call KernelPackage
,bluetooth-hci-h4p
))
73 define KernelPackage
/eeprom-93cx6
74 SUBMENU
:=$(OTHER_MENU
)
75 TITLE
:=EEPROM
93CX6 support
76 KCONFIG
:=CONFIG_EEPROM_93CX6
77 FILES
:=$(LINUX_DIR
)/drivers
/misc
/eeprom
/eeprom_93cx6.ko
78 AUTOLOAD
:=$(call AutoLoad
,20,eeprom_93cx6
)
81 define KernelPackage
/eeprom-93cx6
/description
82 Kernel module for EEPROM
93CX6 support
85 $(eval
$(call KernelPackage
,eeprom-93cx6
))
88 define KernelPackage
/eeprom-at24
89 SUBMENU
:=$(OTHER_MENU
)
90 TITLE
:=EEPROM AT24 support
91 KCONFIG
:=CONFIG_EEPROM_AT24
92 DEPENDS
:=+kmod-i2c-core
93 FILES
:=$(LINUX_DIR
)/drivers
/misc
/eeprom
/at24.ko
94 AUTOLOAD
:=$(call AutoLoad
,60,at24
)
97 define KernelPackage
/eeprom-at24
/description
98 Kernel module for most I2C EEPROMs
101 $(eval
$(call KernelPackage
,eeprom-at24
))
104 define KernelPackage
/eeprom-at25
105 SUBMENU
:=$(OTHER_MENU
)
106 TITLE
:=EEPROM AT25 support
107 KCONFIG
:=CONFIG_EEPROM_AT25
108 FILES
:=$(LINUX_DIR
)/drivers
/misc
/eeprom
/at25.ko
109 AUTOLOAD
:=$(call AutoLoad
,61,at25
)
112 define KernelPackage
/eeprom-at25
/description
113 Kernel module for most SPI EEPROMs
116 $(eval
$(call KernelPackage
,eeprom-at25
))
119 define KernelPackage
/gpio-dev
120 SUBMENU
:=$(OTHER_MENU
)
121 TITLE
:=Generic GPIO char device support
122 DEPENDS
:=@GPIO_SUPPORT
123 KCONFIG
:=CONFIG_GPIO_DEVICE
124 FILES
:=$(LINUX_DIR
)/drivers
/char
/gpio_dev.ko
125 AUTOLOAD
:=$(call AutoLoad
,40,gpio_dev
)
128 define KernelPackage
/gpio-dev
/description
129 Kernel module to allows control of GPIO pins using a character device.
132 $(eval
$(call KernelPackage
,gpio-dev
))
135 define KernelPackage
/gpio-nxp-74hc164
136 SUBMENU
:=$(OTHER_MENU
)
137 TITLE
:=NXP
74HC164 GPIO expander support
138 KCONFIG
:=CONFIG_GPIO_NXP_74HC164
139 FILES
:=$(LINUX_DIR
)/drivers
/gpio
/nxp_74hc164.ko
140 AUTOLOAD
:=$(call AutoLoad
,99,nxp_74hc164
)
143 define KernelPackage
/gpio-nxp-74hc164
/description
144 Kernel module for NXP
74HC164 GPIO expander
147 $(eval
$(call KernelPackage
,gpio-nxp-74hc164
))
149 define KernelPackage
/lp
150 SUBMENU
:=$(OTHER_MENU
)
151 TITLE
:=Parallel port and line printer support
158 $(LINUX_DIR
)/drivers
/parport
/parport.ko \
159 $(LINUX_DIR
)/drivers
/char
/lp.ko \
160 $(LINUX_DIR
)/drivers
/char
/ppdev.ko
161 AUTOLOAD
:=$(call AutoLoad
,50,parport lp
)
164 $(eval
$(call KernelPackage
,lp
))
167 define KernelPackage
/mmc
168 SUBMENU
:=$(OTHER_MENU
)
169 TITLE
:=MMC
/SD Card Support
174 CONFIG_MMC_UNSAFE_RESUME
=n \
175 CONFIG_MMC_BLOCK_BOUNCE
=y \
177 CONFIG_MMC_TIFM_SD
=n \
181 $(LINUX_DIR
)/drivers
/mmc
/core
/mmc_core.ko \
182 $(LINUX_DIR
)/drivers
/mmc
/card
/mmc_block.ko
183 AUTOLOAD
:=$(call AutoLoad
,90,mmc_core mmc_block
,1)
186 define KernelPackage
/mmc
/description
187 Kernel support for MMC
/SD cards
190 $(eval
$(call KernelPackage
,mmc
))
193 define KernelPackage
/oprofile
194 SUBMENU
:=$(OTHER_MENU
)
195 TITLE
:=OProfile profiling support
196 KCONFIG
:=CONFIG_OPROFILE
197 FILES
:=$(LINUX_DIR
)/arch
/$(LINUX_KARCH
)/oprofile
/oprofile.ko
198 DEPENDS
:=@KERNEL_PROFILING
201 define KernelPackage
/oprofile
/description
202 Kernel module for support for oprofile system profiling.
205 $(eval
$(call KernelPackage
,oprofile
))
208 define KernelPackage
/rfkill
209 SUBMENU
:=$(OTHER_MENU
)
210 TITLE
:=RF switch subsystem support
213 CONFIG_RFKILL_INPUT
=y \
214 CONFIG_RFKILL_LEDS
=y \
217 $(LINUX_DIR
)/net
/rfkill
/rfkill.ko
218 AUTOLOAD
:=$(call AutoLoad
,20,rfkill
)
219 $(call SetDepends
/rfkill
)
222 define KernelPackage
/rfkill
/description
223 Say Y here if you want to have control over RF switches
224 found on many WiFi and Bluetooth cards.
227 $(eval
$(call KernelPackage
,rfkill
))
230 define KernelPackage
/softdog
231 SUBMENU
:=$(OTHER_MENU
)
232 TITLE
:=Software watchdog driver
233 KCONFIG
:=CONFIG_SOFT_WATCHDOG
234 FILES
:=$(LINUX_DIR
)/drivers
/$(WATCHDOG_DIR
)/softdog.ko
235 AUTOLOAD
:=$(call AutoLoad
,50,softdog
)
238 define KernelPackage
/softdog
/description
239 Software watchdog driver
242 $(eval
$(call KernelPackage
,softdog
))
245 define KernelPackage
/ssb
246 SUBMENU
:=$(OTHER_MENU
)
247 TITLE
:=Silicon Sonics Backplane glue code
248 DEPENDS
:=@PCI_SUPPORT @
!TARGET_brcm47xx @
!TARGET_brcm63xx
251 CONFIG_SSB_B43_PCI_BRIDGE
=y \
252 CONFIG_SSB_DRIVER_MIPS
=n \
253 CONFIG_SSB_DRIVER_PCICORE
=y \
254 CONFIG_SSB_DRIVER_PCICORE_POSSIBLE
=y \
255 CONFIG_SSB_PCIHOST
=y \
256 CONFIG_SSB_PCIHOST_POSSIBLE
=y \
257 CONFIG_SSB_POSSIBLE
=y \
260 FILES
:=$(LINUX_DIR
)/drivers
/ssb
/ssb.ko
261 AUTOLOAD
:=$(call AutoLoad
,29,ssb
)
264 define KernelPackage
/ssb
/description
265 Silicon Sonics Backplane glue code.
268 $(eval
$(call KernelPackage
,ssb
))
271 define KernelPackage
/bcma
272 SUBMENU
:=$(OTHER_MENU
)
274 DEPENDS
:=@PCI_SUPPORT @
!TARGET_brcm47xx
277 CONFIG_BCMA_POSSIBLE
=y \
278 CONFIG_BCMA_BLOCKIO
=y \
279 CONFIG_BCMA_HOST_PCI_POSSIBLE
=y \
280 CONFIG_BCMA_HOST_PCI
=y \
281 CONFIG_BCMA_DRIVER_MIPS
=n \
282 CONFIG_BCMA_DRIVER_PCI_HOSTMODE
=n \
283 CONFIG_BCMA_DRIVER_GMAC_CMN
=n \
285 FILES
:=$(LINUX_DIR
)/drivers
/bcma
/bcma.ko
286 AUTOLOAD
:=$(call AutoLoad
,29,bcma
)
289 define KernelPackage
/bcma
/description
290 Bus driver for Broadcom specific Advanced Microcontroller Bus Architecture.
293 $(eval
$(call KernelPackage
,bcma
))
296 define KernelPackage
/wdt-omap
297 SUBMENU
:=$(OTHER_MENU
)
298 TITLE
:=OMAP Watchdog timer
299 DEPENDS
:=@
(TARGET_omap24xx||TARGET_omap35xx
)
300 KCONFIG
:=CONFIG_OMAP_WATCHDOG
301 FILES
:=$(LINUX_DIR
)/drivers
/$(WATCHDOG_DIR
)/omap_wdt.ko
302 AUTOLOAD
:=$(call AutoLoad
,50,omap_wdt.ko
)
305 define KernelPackage
/wdt-omap
/description
306 Kernel module for TI omap watchdog timer.
309 $(eval
$(call KernelPackage
,wdt-omap
))
312 define KernelPackage
/wdt-orion
313 SUBMENU
:=$(OTHER_MENU
)
314 TITLE
:=Marvell Orion Watchdog timer
315 DEPENDS
:=@TARGET_orion||TARGET_kirkwood||TARGET_mvebu
316 KCONFIG
:=CONFIG_ORION_WATCHDOG
317 FILES
:=$(LINUX_DIR
)/drivers
/$(WATCHDOG_DIR
)/orion_wdt.ko
318 AUTOLOAD
:=$(call AutoLoad
,50,orion_wdt
)
321 define KernelPackage
/wdt-orion
/description
322 Kernel module for Marvell Orion
, Kirkwood and Armada XP
/370 watchdog timer.
325 $(eval
$(call KernelPackage
,wdt-orion
))
328 define KernelPackage
/booke-wdt
329 SUBMENU
:=$(OTHER_MENU
)
330 TITLE
:=PowerPC Book-E Watchdog Timer
331 DEPENDS
:=@
(TARGET_mpc85xx||TARGET_ppc40x||TARGET_ppc44x
)
332 KCONFIG
:=CONFIG_BOOKE_WDT
333 FILES
:=$(LINUX_DIR
)/drivers
/$(WATCHDOG_DIR
)/booke_wdt.ko
334 AUTOLOAD
:=$(call AutoLoad
,50,booke_wdt
)
337 define KernelPackage
/booke-wdt
/description
338 Kernel module for PowerPC Book-E Watchdog Timer.
341 $(eval
$(call KernelPackage
,booke-wdt
))
344 define KernelPackage
/pwm
345 SUBMENU
:=$(OTHER_MENU
)
346 TITLE
:=PWM generic API
347 KCONFIG
:=CONFIG_GENERIC_PWM
348 FILES
:=$(LINUX_DIR
)/drivers
/pwm
/pwm.ko
349 AUTOLOAD
:=$(call AutoLoad
,50,pwm
)
352 define KernelPackage
/pwm
/description
353 Kernel module that implement a generic PWM API
356 $(eval
$(call KernelPackage
,pwm
))
359 define KernelPackage
/pwm-gpio
360 SUBMENU
:=$(OTHER_MENU
)
363 KCONFIG
:=CONFIG_GPIO_PWM
364 FILES
:=$(LINUX_DIR
)/drivers
/pwm
/gpio-pwm.ko
365 AUTOLOAD
:=$(call AutoLoad
,51,gpio-pwm
)
368 define KernelPackage
/pwm-gpio
/description
369 Kernel module to models a single-channel PWM device using a timer and a GPIO pin
372 $(eval
$(call KernelPackage
,pwm-gpio
))
375 define KernelPackage
/rtc-isl1208
376 SUBMENU
:=$(OTHER_MENU
)
377 TITLE
:=Intersil ISL1208 RTC support
378 $(call AddDepends
/rtc
)
379 DEPENDS
+=+kmod-i2c-core
380 KCONFIG
:=CONFIG_RTC_DRV_ISL1208
381 FILES
:=$(LINUX_DIR
)/drivers
/rtc
/rtc-isl1208.ko
382 AUTOLOAD
:=$(call AutoLoad
,60,rtc-isl1208
)
385 define KernelPackage
/rtc-isl1208
/description
386 Kernel module for Intersil ISL1208 RTC.
389 $(eval
$(call KernelPackage
,rtc-isl1208
))
392 define KernelPackage
/rtc-marvell
393 SUBMENU
:=$(OTHER_MENU
)
394 TITLE
:=Marvell SoC built-in RTC support
395 $(call AddDepends
/rtc
)
396 DEPENDS
+=@TARGET_kirkwood||TARGET_orion||TARGET_mvebu
397 KCONFIG
:=CONFIG_RTC_DRV_MV
398 FILES
:=$(LINUX_DIR
)/drivers
/rtc
/rtc-mv.ko
399 AUTOLOAD
:=$(call AutoLoad
,60,rtc-mv
)
402 define KernelPackage
/rtc-marvell
/description
403 Kernel module for Marvell SoC built-in RTC.
406 $(eval
$(call KernelPackage
,rtc-marvell
))
408 define KernelPackage
/rtc-pcf8563
409 SUBMENU
:=$(OTHER_MENU
)
410 TITLE
:=Philips PCF8563
/Epson RTC8564 RTC support
411 $(call AddDepends
/rtc
)
412 KCONFIG
:=CONFIG_RTC_DRV_PCF8563
413 FILES
:=$(LINUX_DIR
)/drivers
/rtc
/rtc-pcf8563.ko
414 AUTOLOAD
:=$(call AutoLoad
,60,rtc-pcf8563
)
417 define KernelPackage
/rtc-pcf8563
/description
418 Kernel module for Philips PCF8563 RTC chip.
419 The Epson RTC8564 should work
as well.
422 $(eval
$(call KernelPackage
,rtc-pcf8563
))
425 define KernelPackage
/rtc-pcf2123
426 SUBMENU
:=$(OTHER_MENU
)
427 TITLE
:=Philips PCF2123 RTC support
428 $(call AddDepends
/rtc
)
429 KCONFIG
:=CONFIG_RTC_DRV_PCF2123
430 FILES
:=$(LINUX_DIR
)/drivers
/rtc
/rtc-pcf2123.ko
431 AUTOLOAD
:=$(call AutoLoad
,60,rtc-pcf2123
)
434 define KernelPackage
/rtc-pcf2123
/description
435 Kernel module for Philips PCF2123 RTC chip.
438 $(eval
$(call KernelPackage
,rtc-pcf2123
))
440 define KernelPackage
/rtc-pt7c4338
441 SUBMENU
:=$(OTHER_MENU
)
442 TITLE
:=Pericom PT7C4338 RTC support
443 $(call AddDepends
/rtc
,+kmod-i2c-core
)
444 KCONFIG
:=CONFIG_RTC_DRV_PT7C4338
445 FILES
:=$(LINUX_DIR
)/drivers
/rtc
/rtc-pt7c4338.ko
446 AUTOLOAD
:=$(call AutoLoad
,60,rtc-pt7c4338
)
449 define KernelPackage
/rtc-pt7c4338
/description
450 Kernel module for Pericom PT7C4338 i2c RTC chip.
453 $(eval
$(call KernelPackage
,rtc-pt7c4338
))
456 define KernelPackage
/mtdtests
457 SUBMENU
:=$(OTHER_MENU
)
458 TITLE
:=MTD subsystem tests
459 KCONFIG
:=CONFIG_MTD_TESTS
461 $(LINUX_DIR
)/drivers
/mtd
/tests
/mtd_nandecctest.ko \
462 $(LINUX_DIR
)/drivers
/mtd
/tests
/mtd_oobtest.ko \
463 $(LINUX_DIR
)/drivers
/mtd
/tests
/mtd_pagetest.ko \
464 $(LINUX_DIR
)/drivers
/mtd
/tests
/mtd_readtest.ko \
465 $(LINUX_DIR
)/drivers
/mtd
/tests
/mtd_speedtest.ko \
466 $(LINUX_DIR
)/drivers
/mtd
/tests
/mtd_stresstest.ko \
467 $(LINUX_DIR
)/drivers
/mtd
/tests
/mtd_subpagetest.ko \
468 $(LINUX_DIR
)/drivers
/mtd
/tests
/mtd_torturetest.ko
471 define KernelPackage
/mtdtests
/description
472 Kernel modules for MTD subsystem
/driver testing.
475 $(eval
$(call KernelPackage
,mtdtests
))
478 define KernelPackage
/nand
479 SUBMENU
:=$(OTHER_MENU
)
480 TITLE
:=NAND flash support
481 KCONFIG
:=CONFIG_MTD_NAND \
482 CONFIG_MTD_NAND_IDS \
485 $(LINUX_DIR
)/drivers
/mtd
/nand
/nand_ids.ko \
486 $(LINUX_DIR
)/drivers
/mtd
/nand
/nand_ecc.ko \
487 $(LINUX_DIR
)/drivers
/mtd
/nand
/nand.ko
488 AUTOLOAD
:=$(call AutoLoad
,20,nand_ids nand_ecc nand
)
491 define KernelPackage
/nand
/description
492 Kernel module for NAND support.
495 $(eval
$(call KernelPackage
,nand
))
498 define KernelPackage
/nandsim
499 SUBMENU
:=$(OTHER_MENU
)
500 TITLE
:=NAND simulator
502 KCONFIG
:=CONFIG_MTD_NAND_NANDSIM
503 FILES
:=$(LINUX_DIR
)/drivers
/mtd
/nand
/nandsim.ko
506 define KernelPackage
/nandsim
/description
507 Kernel module for NAND flash simulation.
510 $(eval
$(call KernelPackage
,nandsim
))
512 define KernelPackage
/serial-8250
513 SUBMENU
:=$(OTHER_MENU
)
515 KCONFIG
:= CONFIG_SERIAL_8250 \
516 CONFIG_SERIAL_8250_NR_UARTS
=16 \
517 CONFIG_SERIAL_8250_RUNTIME_UARTS
=16 \
518 CONFIG_SERIAL_8250_EXTENDED
=y \
519 CONFIG_SERIAL_8250_MANY_PORTS
=y \
520 CONFIG_SERIAL_8250_SHARE_IRQ
=y \
521 CONFIG_SERIAL_8250_DETECT_IRQ
=n \
522 CONFIG_SERIAL_8250_RSA
=n
523 FILES
:=$(LINUX_DIR
)/drivers
/tty
/serial
/8250/8250$(if
$(call kernel_patchver_ge
,3.7),_core
).ko
526 define KernelPackage
/serial-8250
/description
527 Kernel module for
8250 UART based serial ports.
530 $(eval
$(call KernelPackage
,serial-8250
))
533 define KernelPackage
/regmap
534 SUBMENU
:=$(OTHER_MENU
)
535 TITLE
:=Generic register map support
536 DEPENDS
:=+kmod-lib-lzo
+kmod-i2c-core
537 KCONFIG
:=CONFIG_REGMAP \
542 $(LINUX_DIR
)/drivers
/base
/regmap
/regmap-core.ko \
543 $(LINUX_DIR
)/drivers
/base
/regmap
/regmap-i2c.ko \
544 $(LINUX_DIR
)/drivers
/base
/regmap
/regmap-spi.ko
545 AUTOLOAD
:=$(call AutoLoad
,10,regmap-core regmap-i2c regmap-spi
)
548 define KernelPackage
/regmap
/description
549 Generic register map support
552 $(eval
$(call KernelPackage
,regmap
))
554 define KernelPackage
/ikconfig
555 SUBMENU
:=$(OTHER_MENU
)
556 TITLE
:=Kernel configuration via
/proc
/config.gz
557 KCONFIG
:=CONFIG_IKCONFIG \
558 CONFIG_IKCONFIG_PROC
=y
559 FILES
:=$(LINUX_DIR
)/kernel
/configs.ko
560 AUTOLOAD
:=$(call AutoLoad
,70,configs
)
563 define KernelPackage
/ikconfig
/description
564 Kernel configuration via
/proc
/config.gz
567 $(eval
$(call KernelPackage
,ikconfig
))
570 define KernelPackage
/zram
571 SUBMENU
:=$(OTHER_MENU
)
573 DEPENDS
:=@
!LINUX_3_3
+kmod-lib-lzo
579 $(LINUX_DIR
)/drivers
/staging
/zsmalloc
/zsmalloc.ko \
580 $(LINUX_DIR
)/drivers
/staging
/zram
/zram.ko
581 AUTOLOAD
:=$(call AutoLoad
,20,zsmalloc zram
)
584 define KernelPackage
/zram
/description
585 Compressed RAM block device support
588 $(eval
$(call KernelPackage
,zram
))
591 define KernelPackage
/mvsdio
592 SUBMENU
:=$(OTHER_MENU
)
593 TITLE
:=Marvell SDIO support
594 DEPENDS
:=@TARGET_orion||TARGET_kirkwood||TARGET_mvebu
+kmod-mmc
595 KCONFIG
:=CONFIG_MMC_MVSDIO
596 FILES
:=$(LINUX_DIR
)/drivers
/mmc
/host
/mvsdio.ko
597 AUTOLOAD
:=$(call AutoLoad
,91,mvsdio
)
600 define KernelPacakge
/mvsdio
/description
601 Kernel support for the Marvell SDIO controller
604 $(eval
$(call KernelPackage
,mvsdio
))
607 define KernelPackage
/pps
608 SUBMENU
:=$(OTHER_MENU
)
611 FILES
:=$(LINUX_DIR
)/drivers
/pps
/pps_core.ko
612 AUTOLOAD
:=$(call AutoLoad
,20,pps_core
)
615 define KernelPacakge
/pps
/description
616 PPS
(Pulse Per Second
) is a special pulse provided by some GPS
617 antennae. Userland can use it to
get a high-precision time
621 $(eval
$(call KernelPackage
,pps
))
624 define KernelPackage
/ptp
625 SUBMENU
:=$(OTHER_MENU
)
626 TITLE
:=PTP clock support
628 KCONFIG
:=CONFIG_PTP_1588_CLOCK
629 FILES
:=$(LINUX_DIR
)/drivers
/ptp
/ptp.ko
630 AUTOLOAD
:=$(call AutoLoad
,25,ptp
)
633 define KernelPacakge
/ptp
/description
634 The IEEE
1588 standard defines a method to precisely
635 synchronize distributed clocks over Ethernet networks.
638 $(eval
$(call KernelPackage
,ptp
))