modules.mk 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421
  1. #
  2. # Copyright (C) 2012 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/sound-arm-bcm2835
  8. TITLE:=BCM2835 ALSA driver
  9. KCONFIG:= \
  10. CONFIG_SND_ARM=y \
  11. CONFIG_SND_BCM2835 \
  12. CONFIG_SND_ARMAACI=n
  13. FILES:= \
  14. $(LINUX_DIR)/sound/arm/snd-bcm2835.ko
  15. AUTOLOAD:=$(call AutoLoad,68,snd-bcm2835)
  16. DEPENDS:=@TARGET_brcm2708
  17. $(call AddDepends/sound)
  18. endef
  19. define KernelPackage/sound-arm-bcm2835/description
  20. This package contains the BCM2835 ALSA pcm card driver
  21. endef
  22. $(eval $(call KernelPackage,sound-arm-bcm2835))
  23. define KernelPackage/sound-soc-bcm2708-i2s
  24. TITLE:=SoC Audio support for the Broadcom 2708 I2S module
  25. KCONFIG:= \
  26. CONFIG_BCM2708_SPIDEV=n \
  27. CONFIG_MFD_RPISENSE_CORE=n \
  28. CONFIG_SND_BCM2708_SOC_I2S \
  29. CONFIG_SND_SOC_DMAENGINE_PCM=y \
  30. CONFIG_SND_SOC_GENERIC_DMAENGINE_PCM=y
  31. FILES:= \
  32. $(LINUX_DIR)/sound/soc/bcm/snd-soc-bcm2708-i2s.ko
  33. AUTOLOAD:=$(call AutoLoad,68,snd-soc-bcm2708-i2s)
  34. DEPENDS:=@TARGET_brcm2708 @LINUX_4_1 +kmod-regmap +kmod-sound-soc-core
  35. $(call AddDepends/sound)
  36. endef
  37. define KernelPackage/sound-soc-bcm2708-i2s/description
  38. This package contains support for codecs attached to the Broadcom 2708 I2S interface
  39. endef
  40. $(eval $(call KernelPackage,sound-soc-bcm2708-i2s))
  41. define KernelPackage/sound-soc-bcm2835-i2s
  42. TITLE:=SoC Audio support for the Broadcom 2835 I2S module
  43. KCONFIG:= \
  44. CONFIG_SND_BCM2835_SOC_I2S \
  45. CONFIG_SND_SOC_DMAENGINE_PCM=y \
  46. CONFIG_SND_SOC_GENERIC_DMAENGINE_PCM=y
  47. FILES:= \
  48. $(LINUX_DIR)/sound/soc/bcm/snd-soc-bcm2835-i2s.ko
  49. AUTOLOAD:=$(call AutoLoad,68,snd-soc-bcm2835-i2s)
  50. DEPENDS:=@TARGET_brcm2708 @LINUX_4_4 +kmod-regmap +kmod-sound-soc-core
  51. $(call AddDepends/sound)
  52. endef
  53. define KernelPackage/sound-soc-bcm2835-i2s/description
  54. This package contains support for codecs attached to the Broadcom 2835 I2S interface
  55. endef
  56. $(eval $(call KernelPackage,sound-soc-bcm2835-i2s))
  57. define KernelPackage/sound-soc-hifiberry-dac
  58. TITLE:=Support for HifiBerry DAC
  59. KCONFIG:= \
  60. CONFIG_SND_BCM2708_SOC_HIFIBERRY_DAC \
  61. CONFIG_SND_SOC_PCM5102A
  62. FILES:= \
  63. $(LINUX_DIR)/sound/soc/bcm/snd-soc-hifiberry-dac.ko \
  64. $(LINUX_DIR)/sound/soc/codecs/snd-soc-pcm5102a.ko
  65. AUTOLOAD:=$(call AutoLoad,68,snd-soc-pcm5102a snd-soc-hifiberry-dac)
  66. DEPENDS:= \
  67. LINUX_4_1:kmod-sound-soc-bcm2708-i2s \
  68. LINUX_4_4:kmod-sound-soc-bcm2835-i2s \
  69. +kmod-i2c-bcm2708
  70. $(call AddDepends/sound)
  71. endef
  72. define KernelPackage/sound-soc-hifiberry-dac/description
  73. This package contains support for HifiBerry DAC
  74. endef
  75. $(eval $(call KernelPackage,sound-soc-hifiberry-dac))
  76. define KernelPackage/sound-soc-hifiberry-dacplus
  77. TITLE:=Support for HifiBerry DAC+ / DAC+ Pro
  78. KCONFIG:= \
  79. CONFIG_SND_BCM2708_SOC_HIFIBERRY_DACPLUS \
  80. CONFIG_SND_SOC_PCM512x
  81. FILES:= \
  82. $(LINUX_DIR)/drivers/clk/clk-hifiberry-dacpro.ko \
  83. $(LINUX_DIR)/sound/soc/bcm/snd-soc-hifiberry-dacplus.ko \
  84. $(LINUX_DIR)/sound/soc/codecs/snd-soc-pcm512x.ko
  85. AUTOLOAD:=$(call AutoLoad,68,clk-hifiberry-dacpro snd-soc-pcm512x snd-soc-hifiberry-dacplus)
  86. DEPENDS:= \
  87. LINUX_4_1:kmod-sound-soc-bcm2708-i2s \
  88. LINUX_4_4:kmod-sound-soc-bcm2835-i2s \
  89. +kmod-i2c-bcm2708
  90. $(call AddDepends/sound)
  91. endef
  92. define KernelPackage/sound-soc-hifiberry-dacplus/description
  93. This package contains support for HifiBerry DAC+ / DAC+ Pro
  94. endef
  95. $(eval $(call KernelPackage,sound-soc-hifiberry-dacplus))
  96. define KernelPackage/sound-soc-hifiberry-digi
  97. TITLE:=Support for HifiBerry Digi
  98. KCONFIG:= \
  99. CONFIG_SND_BCM2708_SOC_HIFIBERRY_DIGI \
  100. CONFIG_SND_SOC_WM8804
  101. FILES:= \
  102. $(LINUX_DIR)/sound/soc/bcm/snd-soc-hifiberry-digi.ko \
  103. $(LINUX_DIR)/sound/soc/codecs/snd-soc-wm8804.ko
  104. AUTOLOAD:=$(call AutoLoad,68,snd-soc-wm8804 snd-soc-hifiberry-digi)
  105. DEPENDS:= \
  106. LINUX_4_1:kmod-sound-soc-bcm2708-i2s \
  107. LINUX_4_4:kmod-sound-soc-bcm2835-i2s \
  108. +kmod-i2c-bcm2708
  109. $(call AddDepends/sound)
  110. endef
  111. define KernelPackage/sound-soc-hifiberry-digi/description
  112. This package contains support for HifiBerry Digi
  113. endef
  114. $(eval $(call KernelPackage,sound-soc-hifiberry-digi))
  115. define KernelPackage/sound-soc-hifiberry-amp
  116. TITLE:=Support for HifiBerry Amp
  117. KCONFIG:= \
  118. CONFIG_SND_BCM2708_SOC_HIFIBERRY_AMP \
  119. CONFIG_SND_SOC_TAS5713
  120. FILES:= \
  121. $(LINUX_DIR)/sound/soc/bcm/snd-soc-hifiberry-amp.ko \
  122. $(LINUX_DIR)/sound/soc/codecs/snd-soc-tas5713.ko
  123. AUTOLOAD:=$(call AutoLoad,68,snd-soc-tas5713 snd-soc-hifiberry-amp)
  124. DEPENDS:= \
  125. LINUX_4_1:kmod-sound-soc-bcm2708-i2s \
  126. LINUX_4_4:kmod-sound-soc-bcm2835-i2s \
  127. +kmod-i2c-bcm2708
  128. $(call AddDepends/sound)
  129. endef
  130. define KernelPackage/sound-soc-hifiberry-amp/description
  131. This package contains support for HifiBerry Amp
  132. endef
  133. $(eval $(call KernelPackage,sound-soc-hifiberry-amp))
  134. define KernelPackage/sound-soc-rpi-dac
  135. TITLE:=Support for RPi-DAC
  136. KCONFIG:= \
  137. CONFIG_SND_BCM2708_SOC_RPI_DAC \
  138. CONFIG_SND_SOC_PCM1794A
  139. FILES:= \
  140. $(LINUX_DIR)/sound/soc/bcm/snd-soc-rpi-dac.ko \
  141. $(LINUX_DIR)/sound/soc/codecs/snd-soc-pcm1794a.ko
  142. AUTOLOAD:=$(call AutoLoad,68,snd-soc-pcm1794a snd-soc-rpi-dac)
  143. DEPENDS:= \
  144. LINUX_4_1:kmod-sound-soc-bcm2708-i2s \
  145. LINUX_4_4:kmod-sound-soc-bcm2835-i2s \
  146. +kmod-i2c-bcm2708
  147. $(call AddDepends/sound)
  148. endef
  149. define KernelPackage/sound-soc-rpi-dac/description
  150. This package contains support for RPi-DAC
  151. endef
  152. $(eval $(call KernelPackage,sound-soc-rpi-dac))
  153. define KernelPackage/sound-soc-rpi-proto
  154. TITLE:=Support for RPi-PROTO
  155. KCONFIG:= \
  156. CONFIG_SND_BCM2708_SOC_RPI_PROTO \
  157. CONFIG_SND_SOC_WM8731
  158. FILES:= \
  159. $(LINUX_DIR)/sound/soc/bcm/snd-soc-rpi-proto.ko \
  160. $(LINUX_DIR)/sound/soc/codecs/snd-soc-wm8731.ko
  161. AUTOLOAD:=$(call AutoLoad,68,snd-soc-wm8731 snd-soc-rpi-proto)
  162. DEPENDS:= \
  163. LINUX_4_1:kmod-sound-soc-bcm2708-i2s \
  164. LINUX_4_4:kmod-sound-soc-bcm2835-i2s \
  165. +kmod-i2c-bcm2708
  166. $(call AddDepends/sound)
  167. endef
  168. define KernelPackage/sound-soc-rpi-proto/description
  169. This package contains support for RPi-PROTO
  170. endef
  171. $(eval $(call KernelPackage,sound-soc-rpi-proto))
  172. define KernelPackage/sound-soc-iqaudio-dac
  173. TITLE:=Support for IQaudIO-DAC
  174. KCONFIG:= \
  175. CONFIG_SND_BCM2708_SOC_IQAUDIO_DAC \
  176. CONFIG_SND_SOC_PCM512x \
  177. CONFIG_SND_SOC_PCM512x_I2C
  178. FILES:= \
  179. $(LINUX_DIR)/sound/soc/bcm/snd-soc-iqaudio-dac.ko \
  180. $(LINUX_DIR)/sound/soc/codecs/snd-soc-pcm512x.ko \
  181. $(LINUX_DIR)/sound/soc/codecs/snd-soc-pcm512x-i2c.ko
  182. AUTOLOAD:=$(call AutoLoad,68,snd-soc-pcm512x snd-soc-pcm512x-i2c snd-soc-iqaudio-dac)
  183. DEPENDS:= \
  184. LINUX_4_1:kmod-sound-soc-bcm2708-i2s \
  185. LINUX_4_4:kmod-sound-soc-bcm2835-i2s \
  186. +kmod-i2c-bcm2708
  187. $(call AddDepends/sound)
  188. endef
  189. define KernelPackage/sound-soc-iqaudio-dac/description
  190. This package contains support for IQaudIO-DAC
  191. endef
  192. $(eval $(call KernelPackage,sound-soc-iqaudio-dac))
  193. define KernelPackage/sound-soc-raspidac3
  194. TITLE:=Support for RaspiDAC Rev.3x
  195. KCONFIG:= \
  196. CONFIG_SND_BCM2708_SOC_RASPIDAC3 \
  197. CONFIG_SND_SOC_PCM512x \
  198. CONFIG_SND_SOC_PCM512x_I2C \
  199. CONFIG_SND_SOC_TPA6130A2
  200. FILES:= \
  201. $(LINUX_DIR)/sound/soc/bcm/snd-soc-raspidac3.ko \
  202. $(LINUX_DIR)/sound/soc/codecs/snd-soc-pcm512x.ko \
  203. $(LINUX_DIR)/sound/soc/codecs/snd-soc-pcm512x-i2c.ko \
  204. $(LINUX_DIR)/sound/soc/codecs/snd-soc-tpa6130a2.ko
  205. AUTOLOAD:=$(call AutoLoad,68,snd-soc-pcm512x snd-soc-pcm512x-i2c snd-soc-tpa6130a2 snd-soc-raspidac3)
  206. DEPENDS:= \
  207. LINUX_4_1:kmod-sound-soc-bcm2708-i2s \
  208. LINUX_4_4:kmod-sound-soc-bcm2835-i2s \
  209. +kmod-i2c-bcm2708
  210. $(call AddDepends/sound)
  211. endef
  212. define KernelPackage/sound-soc-raspidac3/description
  213. This package contains support for RaspiDAC Rev.3x
  214. endef
  215. $(eval $(call KernelPackage,sound-soc-raspidac3))
  216. define KernelPackage/random-bcm2708
  217. SUBMENU:=$(OTHER_MENU)
  218. TITLE:=BCM2708 HW Random Number Generator
  219. KCONFIG:=CONFIG_HW_RANDOM_BCM2708
  220. FILES:=$(LINUX_DIR)/drivers/char/hw_random/bcm2708-rng.ko
  221. AUTOLOAD:=$(call AutoLoad,11,bcm2708-rng)
  222. DEPENDS:=@TARGET_brcm2708 @LINUX_4_1 +kmod-random-core
  223. endef
  224. define KernelPackage/random-bcm2708/description
  225. This package contains the Broadcom 2708 HW random number generator driver
  226. endef
  227. $(eval $(call KernelPackage,random-bcm2708))
  228. define KernelPackage/random-bcm2835
  229. SUBMENU:=$(OTHER_MENU)
  230. TITLE:=BCM2835 HW Random Number Generator
  231. KCONFIG:=CONFIG_HW_RANDOM_BCM2835
  232. FILES:=$(LINUX_DIR)/drivers/char/hw_random/bcm2835-rng.ko
  233. AUTOLOAD:=$(call AutoLoad,11,bcm2835-rng)
  234. DEPENDS:=@TARGET_brcm2708 +kmod-random-core
  235. endef
  236. define KernelPackage/random-bcm2835/description
  237. This package contains the Broadcom 2835 HW random number generator driver
  238. endef
  239. $(eval $(call KernelPackage,random-bcm2835))
  240. define KernelPackage/smi-bcm2835
  241. SUBMENU:=$(OTHER_MENU)
  242. TITLE:=BCM2835 SMI driver
  243. KCONFIG:=CONFIG_BCM2835_SMI
  244. FILES:=$(LINUX_DIR)/drivers/misc/bcm2835_smi.ko
  245. AUTOLOAD:=$(call AutoLoad,20,bcm2835_smi)
  246. DEPENDS:=@TARGET_brcm2708
  247. endef
  248. define KernelPackage/smi-bcm2835/description
  249. This package contains the Character device driver for Broadcom Secondary
  250. Memory Interface
  251. endef
  252. $(eval $(call KernelPackage,smi-bcm2835))
  253. define KernelPackage/smi-bcm2835-dev
  254. SUBMENU:=$(OTHER_MENU)
  255. TITLE:=BCM2835 SMI device driver
  256. KCONFIG:=CONFIG_BCM2835_SMI_DEV
  257. FILES:=$(LINUX_DIR)/drivers/char/broadcom/bcm2835_smi_dev.ko
  258. AUTOLOAD:=$(call AutoLoad,21,bcm2835_smi_dev)
  259. DEPENDS:=@TARGET_brcm2708 +kmod-smi-bcm2835
  260. endef
  261. define KernelPackage/smi-bcm2835-dev/description
  262. This driver provides a character device interface (ioctl + read/write) to
  263. Broadcom's Secondary Memory interface. The low-level functionality is provided
  264. by the SMI driver itself.
  265. endef
  266. $(eval $(call KernelPackage,smi-bcm2835-dev))
  267. define KernelPackage/spi-bcm2708
  268. SUBMENU:=$(SPI_MENU)
  269. TITLE:=BCM2708 SPI controller driver
  270. KCONFIG:= \
  271. CONFIG_BCM2708_SPIDEV=n \
  272. CONFIG_SPI=y \
  273. CONFIG_SPI_BCM2708 \
  274. CONFIG_SPI_MASTER=y
  275. FILES:=$(LINUX_DIR)/drivers/spi/spi-bcm2708.ko
  276. AUTOLOAD:=$(call AutoLoad,89,spi-bcm2708)
  277. DEPENDS:=@TARGET_brcm2708 @LINUX_4_1
  278. endef
  279. define KernelPackage/spi-bcm2708/description
  280. This package contains the Broadcom 2708 SPI master controller driver
  281. endef
  282. $(eval $(call KernelPackage,spi-bcm2708))
  283. define KernelPackage/spi-bcm2835
  284. SUBMENU:=$(SPI_MENU)
  285. TITLE:=BCM2835 SPI controller driver
  286. KCONFIG:=\
  287. CONFIG_BCM2708_SPIDEV=n \
  288. CONFIG_SPI=y \
  289. CONFIG_SPI_BCM2835 \
  290. CONFIG_SPI_MASTER=y
  291. FILES:=$(LINUX_DIR)/drivers/spi/spi-bcm2835.ko
  292. AUTOLOAD:=$(call AutoLoad,89,spi-bcm2835)
  293. DEPENDS:=@TARGET_brcm2708
  294. endef
  295. define KernelPackage/spi-bcm2835/description
  296. This package contains the Broadcom 2835 SPI master controller driver
  297. endef
  298. $(eval $(call KernelPackage,spi-bcm2835))
  299. define KernelPackage/hwmon-bcm2835
  300. TITLE:=BCM2835 HWMON driver
  301. KCONFIG:=CONFIG_SENSORS_BCM2835
  302. FILES:=$(LINUX_DIR)/drivers/hwmon/bcm2835-hwmon.ko
  303. AUTOLOAD:=$(call AutoLoad,60,bcm2835-hwmon)
  304. $(call AddDepends/hwmon,@TARGET_brcm2708)
  305. endef
  306. define KernelPackage/hwmon-bcm2835/description
  307. Kernel module for BCM2835 thermal monitor chip
  308. endef
  309. $(eval $(call KernelPackage,hwmon-bcm2835))
  310. I2C_BCM2708_MODULES:=\
  311. CONFIG_I2C_BCM2708:drivers/i2c/busses/i2c-bcm2708
  312. define KernelPackage/i2c-bcm2708
  313. $(call i2c_defaults,$(I2C_BCM2708_MODULES),59)
  314. TITLE:=Broadcom BCM2708 I2C master controller driver
  315. KCONFIG+= \
  316. CONFIG_I2C_BCM2708_BAUDRATE=100000 \
  317. CONFIG_MFD_RPISENSE_CORE=n
  318. DEPENDS:=@TARGET_brcm2708 +kmod-i2c-core
  319. endef
  320. define KernelPackage/i2c-bcm2708/description
  321. This package contains the Broadcom 2708 I2C master controller driver
  322. endef
  323. $(eval $(call KernelPackage,i2c-bcm2708))
  324. I2C_BCM2835_MODULES:=\
  325. CONFIG_I2C_BCM2835:drivers/i2c/busses/i2c-bcm2835
  326. define KernelPackage/i2c-bcm2835
  327. $(call i2c_defaults,$(I2C_BCM2835_MODULES),59)
  328. TITLE:=Broadcom BCM2835 I2C master controller driver
  329. KCONFIG+= \
  330. CONFIG_MFD_RPISENSE_CORE=n
  331. DEPENDS:=@TARGET_brcm2708 +kmod-i2c-core
  332. endef
  333. define KernelPackage/i2c-bcm2835/description
  334. This package contains the Broadcom 2835 I2C master controller driver
  335. endef
  336. $(eval $(call KernelPackage,i2c-bcm2835))
  337. define KernelPackage/video-bcm2835
  338. TITLE:=Broadcom BCM2835 camera interface driver
  339. KCONFIG:= \
  340. CONFIG_VIDEO_BCM2835=y \
  341. CONFIG_VIDEO_BCM2835_MMAL
  342. FILES:= $(LINUX_DIR)/drivers/media/platform/bcm2835/bcm2835-v4l2.ko
  343. AUTOLOAD:=$(call AutoLoad,65,bcm2835-v4l2)
  344. $(call AddDepends/video,@TARGET_brcm2708 +kmod-video-videobuf2)
  345. endef
  346. define KernelPackage/video-bcm2835/description
  347. This is a V4L2 driver for the Broadcom 2835 MMAL camera host interface
  348. endef
  349. $(eval $(call KernelPackage,video-bcm2835))