modules.mk 8.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289
  1. # SPDX-License-Identifier: GPL-2.0-only
  2. #
  3. # Copyright (C) 2024 Bootlin
  4. define KernelPackage/bxcan
  5. TITLE:=STM32 Basic Extended CAN (bxCAN) devices
  6. KCONFIG:=CONFIG_CAN_BXCAN
  7. FILES=$(LINUX_DIR)/drivers/net/can/bxcan.ko
  8. AUTOLOAD:=$(call AutoProbe,bxcan)
  9. $(call AddDepends/can,@TARGET_stm32)
  10. endef
  11. $(eval $(call KernelPackage,bxcan))
  12. define KernelPackage/nvmem-stm32-romem
  13. SUBMENU:=$(OTHER_MENU)
  14. TITLE:=STM32 factory-programmed memory support
  15. DEPENDS:=@TARGET_stm32
  16. KCONFIG:=CONFIG_NVMEM_STM32_ROMEM
  17. FILES:=$(LINUX_DIR)/drivers/nvmem/nvmem_stm32_romem.ko
  18. AUTOLOAD:=$(call AutoProbe,nvmem-stm32-romem)
  19. endef
  20. $(eval $(call KernelPackage,nvmem-stm32-romem))
  21. define KernelPackage/phy-stm32-usbphyc
  22. TITLE:=STM32 USB HS PHY Controller driver
  23. DEPENDS:=@TARGET_stm32
  24. SUBMENU:=$(USB_MENU)
  25. KCONFIG:=CONFIG_PHY_STM32_USBPHYC
  26. FILES:=$(LINUX_DIR)/drivers/phy/st/phy-stm32-usbphyc.ko
  27. AUTOLOAD:=$(call AutoProbe,phy-stm32-usbphyc,)
  28. endef
  29. define KernelPackage/phy-stm32-usbphyc/description
  30. Kernel module for STM32 USB HS PHY Controller
  31. endef
  32. $(eval $(call KernelPackage,phy-stm32-usbphyc))
  33. define KernelPackage/scmi-hwmon
  34. TITLE:=ARM SCMI Sensors
  35. KCONFIG:=CONFIG_SENSORS_ARM_SCMI
  36. FILES:=$(LINUX_DIR)/drivers/hwmon/scmi-hwmon.ko
  37. AUTOLOAD:=$(call AutoProbe,scmi-hwmon)
  38. $(call AddDepends/hwmon,@TARGET_stm32 +kmod-thermal)
  39. endef
  40. $(eval $(call KernelPackage,scmi-hwmon))
  41. define KernelPackage/scmi-iio
  42. TITLE:=IIO SCMI
  43. KCONFIG=CONFIG_IIO_SCMI
  44. FILES:=$(LINUX_DIR)/drivers/iio/common/scmi_sensors/scmi_iio.ko
  45. AUTOLOAD:=$(call AutoProbe,scmi_iio)
  46. $(call AddDepends/iio,@TARGET_stm32 +kmod-iio-kfifo-buf)
  47. endef
  48. $(eval $(call KernelPackage,scmi-iio))
  49. define KernelPackage/sound-soc-stm32-dfsdm
  50. TITLE:=SoC Audio support for STM32 DFSDM
  51. KCONFIG:=CONFIG_SND_SOC_STM32_DFSDM
  52. FILES:=$(LINUX_DIR)/sound/soc/stm/stm32_adfsdm.ko
  53. AUTOLOAD:=$(call AutoProbe,stm32_adfsdm)
  54. $(call AddDepends/sound,@TARGET_stm32 +kmod-sound-soc-core +kmod-stm32-dfsdm-adc +kmod-industrialio-buffer-cb)
  55. endef
  56. $(eval $(call KernelPackage,sound-soc-stm32-dfsdm))
  57. define KernelPackage/sound-soc-stm32-i2s
  58. TITLE:=STM32 I2S interface (SPI/I2S block) support
  59. KCONFIG:=CONFIG_SND_SOC_STM32_I2S
  60. FILES:=$(LINUX_DIR)/sound/soc/stm/snd-soc-stm32-i2s.ko
  61. AUTOLOAD:=$(call AutoProbe,snd-soc-stm32-i2s)
  62. $(call AddDepends/sound,@TARGET_stm32 +kmod-sound-soc-core)
  63. endef
  64. $(eval $(call KernelPackage,sound-soc-stm32-i2s))
  65. define KernelPackage/sound-soc-stm32-sai
  66. TITLE:=STM32 SAI interface (Serial Audio Interface) support
  67. KCONFIG:=CONFIG_SND_SOC_STM32_SAI
  68. FILES:=$(LINUX_DIR)/sound/soc/stm/snd-soc-stm32-sai-sub.ko \
  69. $(LINUX_DIR)/sound/soc/stm/snd-soc-stm32-sai.ko
  70. AUTOLOAD:=$(call AutoProbe,snd-soc-stm32-sai-sub snd-soc-stm32-sai)
  71. $(call AddDepends/sound,@TARGET_stm32 +kmod-sound-soc-core)
  72. endef
  73. $(eval $(call KernelPackage,sound-soc-stm32-sai))
  74. define KernelPackage/sound-soc-stm32-spdifrx
  75. TITLE:=STM32 S/PDIF receiver (SPDIFRX) support
  76. KCONFIG:=CONFIG_SND_SOC_STM32_SPDIFRX
  77. FILES:=$(LINUX_DIR)/sound/soc/stm/snd-soc-stm32-spdifrx.ko
  78. AUTOLOAD:=$(call AutoProbe,snd-soc-stm32-spdifrx)
  79. $(call AddDepends/sound,@TARGET_stm32 +kmod-sound-soc-core)
  80. endef
  81. $(eval $(call KernelPackage,sound-soc-stm32-spdifrx))
  82. define KernelPackage/spi-stm32
  83. SUBMENU=$(SPI_MENU)
  84. TITLE:=STM32 SPI controller
  85. DEPENDS:=@TARGET_stm32
  86. KCONFIG:=CONFIG_SPI_STM32 \
  87. CONFIG_SPI=y \
  88. CONFIG_SPI_MASTER=y \
  89. CONFIG_SPI_SLAVE_TIME=n \
  90. CONFIG_SPI_SLAVE_SYSTEM_CONTROL=n
  91. FILES=$(LINUX_DIR)/drivers/spi/spi-stm32.ko
  92. AUTOLOAD:=$(call AutoProbe,spi-stm32)
  93. endef
  94. define KernelPackage/spi-stm32/description
  95. SPI driver for STMicroelectronics STM32 SoCs.
  96. endef
  97. $(eval $(call KernelPackage,spi-stm32))
  98. define KernelPackage/stm32-adc
  99. TITLE:=STM32 ADC
  100. KCONFIG:=CONFIG_STM32_ADC_CORE \
  101. CONFIG_STM32_ADC
  102. FILES:=$(LINUX_DIR)/drivers/iio/adc/stm32-adc-core.ko \
  103. $(LINUX_DIR)/drivers/iio/adc/stm32-adc.ko
  104. AUTOLOAD:=$(call AutoProbe,stm32-adc-core stm32-adc)
  105. $(call AddDepends/iio,@TARGET_stm32 +kmod-stm32-timer-trigger +kmod-industrialio-triggered-buffer)
  106. endef
  107. $(eval $(call KernelPackage,stm32-adc))
  108. define KernelPackage/stm32-crc32
  109. TITLE:=Support for STM32 crc accelerators
  110. KCONFIG:=CONFIG_CRYPTO_DEV_STM32_CRC \
  111. CONFIG_CRYPTO_HW=y
  112. FILES:=$(LINUX_DIR)/drivers/crypto/stm32/stm32-crc32.ko
  113. AUTOLOAD:=$(call AutoProbe,stm32-crc32)
  114. $(call AddDepends/crypto,@TARGET_stm32 +kmod-crypto-crc32)
  115. endef
  116. $(eval $(call KernelPackage,stm32-crc32))
  117. define KernelPackage/stm32-cryp
  118. TITLE:=Support for STM32 cryp accelerators
  119. KCONFIG:=CONFIG_CRYPTO_DEV_STM32_CRYP \
  120. CONFIG_CRYPTO_LIB_DES=y
  121. FILES:=$(LINUX_DIR)/drivers/crypto/stm32/stm32-cryp.ko
  122. AUTOLOAD:=$(call AutoProbe,stm32-cryp)
  123. $(call AddDepends/crypto,@TARGET_stm32 +kmod-crypto-hash +kmod-crypto-des +kmod-crypto-engine)
  124. endef
  125. $(eval $(call KernelPackage,stm32-cryp))
  126. define KernelPackage/stm32-dac
  127. TITLE:=STM32 DAC
  128. DEPENDS:=@TARGET_stm32
  129. KCONFIG:=CONFIG_STM32_DAC_CORE \
  130. CONFIG_STM32_DAC
  131. FILES:=$(LINUX_DIR)/drivers/iio/dac/stm32-dac-core.ko \
  132. $(LINUX_DIR)/drivers/iio/dac/stm32-dac.ko
  133. AUTOLOAD:=$(call AutoProbe,stm32-dac-core stm32-dac)
  134. $(call AddDepends/iio,@TARGET_stm32)
  135. endef
  136. $(eval $(call KernelPackage,stm32-dac))
  137. define KernelPackage/stm32-dcmi
  138. TITLE:=STM32 Digital Camera Memory Interface support
  139. KCONFIG:=CONFIG_VIDEO_STM32_DCMI
  140. FILES:=$(LINUX_DIR)/drivers/media/platform/st/stm32/stm32-dcmi.ko
  141. AUTOLOAD:=$(call AutoProbe,stm32-dcmi)
  142. $(call AddDepends/video,@TARGET_stm32 +kmod-video-videobuf2 +kmod-video-dma-contig +kmod-video-async +kmod-video-fwnode)
  143. endef
  144. $(eval $(call KernelPackage,stm32-dcmi))
  145. define KernelPackage/stm32-dcmipp
  146. TITLE:=STM32 Digital Camera Memory Interface Pixel Processor (DCMIPP) support
  147. KCONFIG:=CONFIG_VIDEO_STM32_DCMIPP
  148. FILES:=$(LINUX_DIR)/drivers/media/platform/st/stm32/stm32-dcmipp/stm32-dcmipp.ko
  149. AUTOLOAD:=$(call AutoProbe,stm32-dcmipp)
  150. $(call AddDepends/video,@TARGET_stm32 \
  151. +kmod-video-videobuf2 \
  152. +kmod-video-dma-contig \
  153. +kmod-video-fwnode)
  154. endef
  155. $(eval $(call KernelPackage,stm32-dcmipp))
  156. define KernelPackage/stm32-dfsdm-adc
  157. TITLE:=STM32 DFSDM ADC
  158. KCONFIG:=CONFIG_STM32_DFSDM_CORE \
  159. CONFIG_STM32_DFSDM_ADC
  160. FILES:=$(LINUX_DIR)/drivers/iio/adc/stm32-dfsdm-core.ko \
  161. $(LINUX_DIR)/drivers/iio/adc/stm32-dfsdm-adc.ko
  162. AUTOLOAD:=$(call AutoProbe,stm32-dfsdm-core stm32-dfsdm-adc)
  163. $(call AddDepends/iio,@TARGET_stm32 \
  164. +kmod-stm32-timer-trigger \
  165. +kmod-industrialio-triggered-buffer \
  166. +kmod-industrialio-hw-consumer \
  167. +kmod-industrialio-backend)
  168. endef
  169. $(eval $(call KernelPackage,stm32-dfsdm-adc))
  170. define KernelPackage/stm32-hash
  171. SUBMENU:=$(CRYPTO_MENU)
  172. TITLE:=Support for STM32 hash accelerators
  173. DEPENDS:=@TARGET_stm32 \
  174. +kmod-crypto-engine \
  175. +kmod-crypto-md5 \
  176. +kmod-crypto-sha1 \
  177. +kmod-crypto-sha256 \
  178. +kmod-crypto-sha3 \
  179. +kmod-crypto-rsa
  180. KCONFIG:=CONFIG_CRYPTO_DEV_STM32_HASH \
  181. CONFIG_CRYPTO_ENGINE=y
  182. FILES:=$(LINUX_DIR)/drivers/crypto/stm32/stm32-hash.ko
  183. AUTOLOAD:=$(call AutoProbe,stm32-hash)
  184. endef
  185. $(eval $(call KernelPackage,stm32-hash))
  186. define KernelPackage/stm32-timers
  187. TITLE:=STM32 Timers
  188. DEPENDS:=@TARGET_stm32 +kmod-mfd
  189. SUBMENU:=$(OTHER_MENU)
  190. KCONFIG:=CONFIG_MFD_STM32_TIMERS
  191. FILES:=$(LINUX_DIR)/drivers/mfd/stm32-timers.ko
  192. AUTOLOAD:=$(call AutoProbe,stm32-timers)
  193. endef
  194. $(eval $(call KernelPackage,stm32-timers))
  195. define KernelPackage/stm32-timer-trigger
  196. TITLE:=STM32 Timer Trigger
  197. KCONFIG:=CONFIG_IIO_STM32_TIMER_TRIGGER
  198. FILES:=$(LINUX_DIR)/drivers/iio/trigger/stm32-timer-trigger.ko
  199. AUTOLOAD:=$(call AutoProbe,stm32-timer-trigger)
  200. $(call AddDepends/iio,@TARGET_stm32 +kmod-stm32-timers)
  201. endef
  202. $(eval $(call KernelPackage,stm32-timer-trigger))
  203. define KernelPackage/stm32-thermal
  204. SUBMENU:=$(OTHER_MENU)
  205. TITLE:=Thermal framework support on STMicroelectronics STM32 series of SoCs
  206. KCONFIG:=CONFIG_STM32_THERMAL
  207. DEPENDS:=@TARGET_stm32_stm32mp1 +kmod-thermal
  208. FILES:=$(LINUX_DIR)/drivers/thermal/st/stm_thermal.ko
  209. AUTOLOAD:=$(call AutoProbe,stm_thermal)
  210. endef
  211. $(eval $(call KernelPackage,stm32-thermal))
  212. define KernelPackage/st-thermal
  213. SUBMENU:=$(OTHER_MENU)
  214. TITLE:=Thermal sensors on STMicroelectronics STi series of SoCs
  215. KCONFIG:=CONFIG_ST_THERMAL \
  216. CONFIG_ST_THERMAL_MEMMAP
  217. DEPENDS:=@TARGET_stm32 +kmod-thermal
  218. FILES:=$(LINUX_DIR)/drivers/thermal/st/st_thermal.ko \
  219. $(LINUX_DIR)/drivers/thermal/st/st_thermal_memmap.ko
  220. AUTOLOAD:=$(call AutoProbe,st_thermal st_thermal_memmap)
  221. endef
  222. $(eval $(call KernelPackage,st-thermal))