sunxi: prep module support options for 4.4
[openwrt/svn-archive/archive.git] / target / linux / sunxi / modules.mk
1 #
2 # Copyright (C) 2013-2016 OpenWrt.org
3 #
4 # This is free software, licensed under the GNU General Public License v2.
5 # See /LICENSE for more information.
6
7 define KernelPackage/rtc-sunxi
8 SUBMENU:=$(OTHER_MENU)
9 TITLE:=Sunxi SoC built-in RTC support
10 DEPENDS:=@TARGET_sunxi
11 $(call AddDepends/rtc)
12 KCONFIG:= \
13 CONFIG_RTC_CLASS=y \
14 CONFIG_RTC_DRV_SUNXI=m
15 FILES:=$(LINUX_DIR)/drivers/rtc/rtc-sunxi.ko
16 AUTOLOAD:=$(call AutoLoad,50,rtc-sunxi)
17 endef
18
19 define KernelPackage/rtc-sunxi/description
20 Support for the AllWinner sunXi SoC's onboard RTC
21 endef
22
23 $(eval $(call KernelPackage,rtc-sunxi))
24
25 define KernelPackage/sunxi-ir
26 SUBMENU:=$(OTHER_MENU)
27 TITLE:=Sunxi SoC built-in IR support (A20)
28 DEPENDS:=@TARGET_sunxi @!LINUX_4_4 +kmod-input-core
29 $(call AddDepends/rtc)
30 KCONFIG:= \
31 CONFIG_MEDIA_SUPPORT=y \
32 CONFIG_MEDIA_RC_SUPPORT=y \
33 CONFIG_RC_DEVICES=y \
34 CONFIG_IR_SUNXI
35 FILES:=$(LINUX_DIR)/drivers/media/rc/sunxi-cir.ko
36 AUTOLOAD:=$(call AutoLoad,50,sunxi-cir)
37 endef
38
39 define KernelPackage/sunxi-ir/description
40 Support for the AllWinner sunXi SoC's onboard IR (A20)
41 endef
42
43 $(eval $(call KernelPackage,sunxi-ir))
44
45 define KernelPackage/eeprom-sunxi
46 SUBMENU:=$(OTHER_MENU)
47 TITLE:=AllWinner Security ID fuse support
48 DEPENDS:=@TARGET_sunxi @!LINUX_4_4
49 KCONFIG:= \
50 CONFIG_EEPROM_SUNXI_SID
51 FILES:=$(LINUX_DIR)/drivers/misc/eeprom/sunxi_sid.ko
52 AUTOLOAD:=$(call AutoLoad,50,sunxi_sid)
53 endef
54
55 define KernelPackage/eeprom-sunxi/description
56 Support for the AllWinner Security ID fuse support
57 endef
58
59 $(eval $(call KernelPackage,eeprom-sunxi))
60
61 define KernelPackage/ata-sunxi
62 TITLE:=AllWinner sunXi AHCI SATA support
63 SUBMENU:=$(BLOCK_MENU)
64 DEPENDS:=@TARGET_sunxi +kmod-ata-ahci-platform +kmod-scsi-core
65 KCONFIG:=CONFIG_AHCI_SUNXI
66 FILES:=$(LINUX_DIR)/drivers/ata/ahci_sunxi.ko
67 AUTOLOAD:=$(call AutoLoad,41,ahci_sunxi,1)
68 endef
69
70 define KernelPackage/ata-sunxi/description
71 SATA support for the AllWinner sunXi SoC's onboard AHCI SATA
72 endef
73
74 $(eval $(call KernelPackage,ata-sunxi))
75
76 define KernelPackage/sun4i-emac
77 SUBMENU:=$(NETWORK_DEVICES_MENU)
78 TITLE:=AllWinner EMAC Ethernet support
79 DEPENDS:=@TARGET_sunxi +LINUX_4_4:kmod-of-mdio +LINUX_4_4:kmod-libphy
80 KCONFIG:=CONFIG_SUN4I_EMAC
81 FILES:=$(LINUX_DIR)/drivers/net/ethernet/allwinner/sun4i-emac.ko
82 AUTOLOAD:=$(call AutoProbe,sun4i-emac)
83 endef
84
85 $(eval $(call KernelPackage,sun4i-emac))
86
87
88 define KernelPackage/wdt-sunxi
89 SUBMENU:=$(OTHER_MENU)
90 TITLE:=AllWinner sunXi Watchdog timer
91 DEPENDS:=@TARGET_sunxi
92 KCONFIG:=CONFIG_SUNXI_WATCHDOG
93 FILES:=$(LINUX_DIR)/drivers/$(WATCHDOG_DIR)/sunxi_wdt.ko
94 AUTOLOAD:=$(call AutoLoad,51,sunxi_wdt)
95 endef
96
97 define KernelPackage/wdt-sunxi/description
98 Kernel module for AllWinner sunXi watchdog timer.
99 endef
100
101 $(eval $(call KernelPackage,wdt-sunxi))
102
103
104 define KernelPackage/sound-soc-sunxi
105 TITLE:=AllWinner built-in SoC sound support
106 KCONFIG:= \
107 CONFIG_SND_SUNXI_SOC_CODEC \
108 CONFIG_SND_SUN4I_CODEC
109 ifeq ($(strip $(call CompareKernelPatchVer,$(KERNEL_PATCHVER),lt,4.4.0)),1)
110 FILES+=$(LINUX_DIR)/sound/soc/sunxi/sunxi-codec.ko
111 AUTOLOAD:=$(call AutoLoad,65,sunxi-codec)
112 endif
113 ifeq ($(strip $(call CompareKernelPatchVer,$(KERNEL_PATCHVER),ge,4.4.0)),1)
114 FILES:=$(LINUX_DIR)/sound/soc/sunxi/sun4i-codec.ko
115 AUTOLOAD:=$(call AutoLoad,65,sun4i-codec)
116 endif
117 DEPENDS:=@TARGET_sunxi +kmod-sound-soc-core
118 $(call AddDepends/sound)
119 endef
120
121 define KernelPackage/sound-soc-sunxi/description
122 Kernel support for AllWinner built-in SoC audio
123 endef
124
125 $(eval $(call KernelPackage,sound-soc-sunxi))