modules.mk 7.5 KB

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