Android.mk 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292
  1. # Android makefile for audio kernel modules
  2. UAPI_OUT := $(PRODUCT_OUT)/obj/vendor/qcom/opensource/audio-kernel/include
  3. ifeq ($(call is-board-platform-in-list,taro), true)
  4. $(shell mkdir -p $(PRODUCT_OUT)/obj/vendor;)
  5. $(shell mkdir -p $(PRODUCT_OUT)/obj/vendor/qcom;)
  6. $(shell mkdir -p $(PRODUCT_OUT)/obj/vendor/qcom/opensource;)
  7. $(shell mkdir -p $(PRODUCT_OUT)/obj/vendor/qcom/opensource/audio-kernel;)
  8. $(shell mkdir -p $(PRODUCT_OUT)/obj/vendor/qcom/opensource/audio-kernel/include;)
  9. $(shell mkdir -p $(UAPI_OUT)/linux;)
  10. $(shell mkdir -p $(UAPI_OUT)/sound;)
  11. $(shell rm -rf $(PRODUCT_OUT)/obj/DLKM_OBJ/vendor/qcom/opensource/audio-kernel/Module.symvers)
  12. endif
  13. ifeq ($(call is-board-platform, taro),true)
  14. AUDIO_SELECT := CONFIG_SND_SOC_WAIPIO=m
  15. endif
  16. # Build/Package only in case of supported target
  17. ifeq ($(call is-board-platform-in-list,taro), true)
  18. LOCAL_PATH := $(call my-dir)
  19. # This makefile is only for DLKM
  20. ifneq ($(findstring vendor,$(LOCAL_PATH)),)
  21. ifneq ($(findstring opensource,$(LOCAL_PATH)),)
  22. AUDIO_BLD_DIR := $(shell pwd)/vendor/qcom/opensource/audio-kernel
  23. endif # opensource
  24. DLKM_DIR := $(TOP)/device/qcom/common/dlkm
  25. ###########################################################
  26. # This is set once per LOCAL_PATH, not per (kernel) module
  27. KBUILD_OPTIONS := AUDIO_ROOT=$(AUDIO_BLD_DIR)
  28. # We are actually building audio.ko here, as per the
  29. # requirement we are specifying <chipset>_audio.ko as LOCAL_MODULE.
  30. # This means we need to rename the module to <chipset>_audio.ko
  31. # after audio.ko is built.
  32. KBUILD_OPTIONS += MODNAME=audio_dlkm
  33. KBUILD_OPTIONS += BOARD_PLATFORM=$(TARGET_BOARD_PLATFORM)
  34. KBUILD_OPTIONS += $(AUDIO_SELECT)
  35. ########################### dsp ################################
  36. include $(CLEAR_VARS)
  37. LOCAL_MODULE := q6_notifier_dlkm.ko
  38. LOCAL_MODULE_KBUILD_NAME := dsp/q6_notifier_dlkm.ko
  39. LOCAL_MODULE_TAGS := optional
  40. LOCAL_MODULE_DEBUG_ENABLE := true
  41. LOCAL_MODULE_PATH := $(KERNEL_MODULES_OUT)
  42. include $(DLKM_DIR)/Build_external_kernelmodule.mk
  43. ###########################################################
  44. include $(CLEAR_VARS)
  45. LOCAL_MODULE := spf_core_dlkm.ko
  46. LOCAL_MODULE_KBUILD_NAME := dsp/spf_core_dlkm.ko
  47. LOCAL_MODULE_TAGS := optional
  48. LOCAL_MODULE_DEBUG_ENABLE := true
  49. LOCAL_MODULE_PATH := $(KERNEL_MODULES_OUT)
  50. include $(DLKM_DIR)/Build_external_kernelmodule.mk
  51. ###########################################################
  52. include $(CLEAR_VARS)
  53. LOCAL_MODULE := audpkt_ion_dlkm.ko
  54. LOCAL_MODULE_KBUILD_NAME := dsp/audpkt_ion_dlkm.ko
  55. LOCAL_MODULE_TAGS := optional
  56. LOCAL_MODULE_DEBUG_ENABLE := true
  57. LOCAL_MODULE_PATH := $(KERNEL_MODULES_OUT)
  58. include $(DLKM_DIR)/Build_external_kernelmodule.mk
  59. ###########################################################
  60. include $(CLEAR_VARS)
  61. LOCAL_MODULE := gpr_dlkm.ko
  62. LOCAL_MODULE_KBUILD_NAME := ipc/gpr_dlkm.ko
  63. LOCAL_MODULE_TAGS := optional
  64. LOCAL_MODULE_DEBUG_ENABLE := true
  65. LOCAL_MODULE_PATH := $(KERNEL_MODULES_OUT)
  66. include $(DLKM_DIR)/Build_external_kernelmodule.mk
  67. ###########################################################
  68. include $(CLEAR_VARS)
  69. LOCAL_MODULE := audio_pkt_dlkm.ko
  70. LOCAL_MODULE_KBUILD_NAME := ipc/audio_pkt_dlkm.ko
  71. LOCAL_MODULE_TAGS := optional
  72. LOCAL_MODULE_DEBUG_ENABLE := true
  73. LOCAL_MODULE_PATH := $(KERNEL_MODULES_OUT)
  74. include $(DLKM_DIR)/Build_external_kernelmodule.mk
  75. ###########################################################
  76. include $(CLEAR_VARS)
  77. LOCAL_MODULE := q6_dlkm.ko
  78. LOCAL_MODULE_KBUILD_NAME := dsp/q6_dlkm.ko
  79. LOCAL_MODULE_TAGS := optional
  80. LOCAL_MODULE_DEBUG_ENABLE := true
  81. LOCAL_MODULE_PATH := $(KERNEL_MODULES_OUT)
  82. include $(DLKM_DIR)/Build_external_kernelmodule.mk
  83. ###########################################################
  84. include $(CLEAR_VARS)
  85. LOCAL_MODULE := adsp_loader_dlkm.ko
  86. LOCAL_MODULE_KBUILD_NAME := dsp/adsp_loader_dlkm.ko
  87. LOCAL_MODULE_TAGS := optional
  88. LOCAL_MODULE_DEBUG_ENABLE := true
  89. LOCAL_MODULE_PATH := $(KERNEL_MODULES_OUT)
  90. include $(DLKM_DIR)/Build_external_kernelmodule.mk
  91. ########################### ipc ################################
  92. include $(CLEAR_VARS)
  93. LOCAL_MODULE := audio_prm_dlkm.ko
  94. LOCAL_MODULE_KBUILD_NAME := dsp/audio_prm_dlkm.ko
  95. LOCAL_MODULE_TAGS := optional
  96. LOCAL_MODULE_DEBUG_ENABLE := true
  97. LOCAL_MODULE_PATH := $(KERNEL_MODULES_OUT)
  98. include $(DLKM_DIR)/Build_external_kernelmodule.mk
  99. ###########################################################
  100. include $(CLEAR_VARS)
  101. LOCAL_MODULE := q6_pdr_dlkm.ko
  102. LOCAL_MODULE_KBUILD_NAME := dsp/q6_pdr_dlkm.ko
  103. LOCAL_MODULE_TAGS := optional
  104. LOCAL_MODULE_DEBUG_ENABLE := true
  105. LOCAL_MODULE_PATH := $(KERNEL_MODULES_OUT)
  106. include $(DLKM_DIR)/Build_external_kernelmodule.mk
  107. ############################ soc ###############################
  108. include $(CLEAR_VARS)
  109. LOCAL_MODULE := pinctrl_lpi_dlkm.ko
  110. LOCAL_MODULE_KBUILD_NAME := soc/pinctrl_lpi_dlkm.ko
  111. LOCAL_MODULE_TAGS := optional
  112. LOCAL_MODULE_DEBUG_ENABLE := true
  113. LOCAL_MODULE_PATH := $(KERNEL_MODULES_OUT)
  114. include $(DLKM_DIR)/Build_external_kernelmodule.mk
  115. ###########################################################
  116. include $(CLEAR_VARS)
  117. LOCAL_MODULE := swr_dlkm.ko
  118. LOCAL_MODULE_KBUILD_NAME := soc/swr_dlkm.ko
  119. LOCAL_MODULE_TAGS := optional
  120. LOCAL_MODULE_DEBUG_ENABLE := true
  121. LOCAL_MODULE_PATH := $(KERNEL_MODULES_OUT)
  122. include $(DLKM_DIR)/Build_external_kernelmodule.mk
  123. ###########################################################
  124. include $(CLEAR_VARS)
  125. LOCAL_MODULE := swr_ctrl_dlkm.ko
  126. LOCAL_MODULE_KBUILD_NAME := soc/swr_ctrl_dlkm.ko
  127. LOCAL_MODULE_TAGS := optional
  128. LOCAL_MODULE_DEBUG_ENABLE := true
  129. LOCAL_MODULE_PATH := $(KERNEL_MODULES_OUT)
  130. include $(DLKM_DIR)/Build_external_kernelmodule.mk
  131. ###########################################################
  132. include $(CLEAR_VARS)
  133. LOCAL_MODULE := snd_event_dlkm.ko
  134. LOCAL_MODULE_KBUILD_NAME := soc/snd_event_dlkm.ko
  135. LOCAL_MODULE_TAGS := optional
  136. LOCAL_MODULE_DEBUG_ENABLE := true
  137. LOCAL_MODULE_PATH := $(KERNEL_MODULES_OUT)
  138. include $(DLKM_DIR)/Build_external_kernelmodule.mk
  139. ########################### ASOC CODEC ################################
  140. include $(CLEAR_VARS)
  141. LOCAL_MODULE := wcd_core_dlkm.ko
  142. LOCAL_MODULE_KBUILD_NAME := asoc/codecs/wcd_core_dlkm.ko
  143. LOCAL_MODULE_TAGS := optional
  144. LOCAL_MODULE_DEBUG_ENABLE := true
  145. LOCAL_MODULE_PATH := $(KERNEL_MODULES_OUT)
  146. include $(DLKM_DIR)/Build_external_kernelmodule.mk
  147. ###########################################################
  148. include $(CLEAR_VARS)
  149. LOCAL_MODULE := mbhc_dlkm.ko
  150. LOCAL_MODULE_KBUILD_NAME := asoc/codecs/mbhc_dlkm.ko
  151. LOCAL_MODULE_TAGS := optional
  152. LOCAL_MODULE_DEBUG_ENABLE := true
  153. LOCAL_MODULE_PATH := $(KERNEL_MODULES_OUT)
  154. include $(DLKM_DIR)/Build_external_kernelmodule.mk
  155. ###########################################################
  156. include $(CLEAR_VARS)
  157. LOCAL_MODULE := swr_dmic_dlkm.ko
  158. LOCAL_MODULE_KBUILD_NAME := asoc/codecs/swr_dmic_dlkm.o
  159. LOCAL_MODULE_TAGS := optional
  160. LOCAL_MODULE_DEBUG_ENABLE := true
  161. LOCAL_MODULE_PATH := $(KERNEL_MODULES_OUT)
  162. include $(DLKM_DIR)/Build_external_kernelmodule.mk
  163. ###########################################################
  164. include $(CLEAR_VARS)
  165. LOCAL_MODULE := wcd9xxx_dlkm.ko
  166. LOCAL_MODULE_KBUILD_NAME := asoc/codecs/wcd9xxx_dlkm.ko
  167. LOCAL_MODULE_TAGS := optional
  168. LOCAL_MODULE_DEBUG_ENABLE := true
  169. LOCAL_MODULE_PATH := $(KERNEL_MODULES_OUT)
  170. include $(DLKM_DIR)/Build_external_kernelmodule.mk
  171. ###########################################################
  172. include $(CLEAR_VARS)
  173. LOCAL_MODULE := swr_haptics_dlkm.ko
  174. LOCAL_MODULE_KBUILD_NAME := asoc/codecs/swr_haptics_dlkm.ko
  175. LOCAL_MODULE_TAGS := optional
  176. LOCAL_MODULE_DEBUG_ENABLE := true
  177. LOCAL_MODULE_PATH := $(KERNEL_MODULES_OUT)
  178. include $(DLKM_DIR)/Build_external_kernelmodule.mk
  179. ###########################################################
  180. include $(CLEAR_VARS)
  181. LOCAL_MODULE := stub_dlkm.ko
  182. LOCAL_MODULE_KBUILD_NAME := asoc/codecs/stub_dlkm.ko
  183. LOCAL_MODULE_TAGS := optional
  184. LOCAL_MODULE_DEBUG_ENABLE := true
  185. LOCAL_MODULE_PATH := $(KERNEL_MODULES_OUT)
  186. include $(DLKM_DIR)/Build_external_kernelmodule.mk
  187. ########################### ASOC MACHINE ################################
  188. include $(CLEAR_VARS)
  189. LOCAL_MODULE := machine_dlkm.ko
  190. LOCAL_MODULE_KBUILD_NAME := asoc/machine_dlkm.ko
  191. LOCAL_MODULE_TAGS := optional
  192. LOCAL_MODULE_DEBUG_ENABLE := true
  193. LOCAL_MODULE_PATH := $(KERNEL_MODULES_OUT)
  194. include $(DLKM_DIR)/Build_external_kernelmodule.mk
  195. ########################### LPASS-CDC CODEC ###########################
  196. include $(CLEAR_VARS)
  197. LOCAL_MODULE := lpass_cdc_dlkm.ko
  198. LOCAL_MODULE_KBUILD_NAME := asoc/codecs/lpass-cdc/lpass_cdc_dlkm.ko
  199. LOCAL_MODULE_TAGS := optional
  200. LOCAL_MODULE_DEBUG_ENABLE := true
  201. LOCAL_MODULE_PATH := $(KERNEL_MODULES_OUT)
  202. include $(DLKM_DIR)/Build_external_kernelmodule.mk
  203. ###########################################################
  204. include $(CLEAR_VARS)
  205. LOCAL_MODULE := lpass_cdc_wsa2_macro_dlkm.ko
  206. LOCAL_MODULE_KBUILD_NAME := asoc/codecs/lpass-cdc/lpass_cdc_wsa2_macro_dlkm.ko
  207. LOCAL_MODULE_TAGS := optional
  208. LOCAL_MODULE_DEBUG_ENABLE := true
  209. LOCAL_MODULE_PATH := $(KERNEL_MODULES_OUT)
  210. include $(DLKM_DIR)/Build_external_kernelmodule.mk
  211. ###########################################################
  212. include $(CLEAR_VARS)
  213. LOCAL_MODULE := lpass_cdc_wsa_macro_dlkm.ko
  214. LOCAL_MODULE_KBUILD_NAME := asoc/codecs/lpass-cdc/lpass_cdc_wsa_macro_dlkm.ko
  215. LOCAL_MODULE_TAGS := optional
  216. LOCAL_MODULE_DEBUG_ENABLE := true
  217. LOCAL_MODULE_PATH := $(KERNEL_MODULES_OUT)
  218. include $(DLKM_DIR)/Build_external_kernelmodule.mk
  219. ###########################################################
  220. include $(CLEAR_VARS)
  221. LOCAL_MODULE := lpass_cdc_va_macro_dlkm.ko
  222. LOCAL_MODULE_KBUILD_NAME := asoc/codecs/lpass-cdc/lpass_cdc_va_macro_dlkm.ko
  223. LOCAL_MODULE_TAGS := optional
  224. LOCAL_MODULE_DEBUG_ENABLE := true
  225. LOCAL_MODULE_PATH := $(KERNEL_MODULES_OUT)
  226. include $(DLKM_DIR)/Build_external_kernelmodule.mk
  227. ###########################################################
  228. include $(CLEAR_VARS)
  229. LOCAL_MODULE := lpass_cdc_tx_macro_dlkm.ko
  230. LOCAL_MODULE_KBUILD_NAME := asoc/codecs/lpass-cdc/lpass_cdc_tx_macro_dlkm.ko
  231. LOCAL_MODULE_TAGS := optional
  232. LOCAL_MODULE_DEBUG_ENABLE := true
  233. LOCAL_MODULE_PATH := $(KERNEL_MODULES_OUT)
  234. include $(DLKM_DIR)/Build_external_kernelmodule.mk
  235. ###########################################################
  236. include $(CLEAR_VARS)
  237. LOCAL_MODULE := lpass_cdc_rx_macro_dlkm.ko
  238. LOCAL_MODULE_KBUILD_NAME := asoc/codecs/lpass-cdc/lpass_cdc_rx_macro_dlkm.ko
  239. LOCAL_MODULE_TAGS := optional
  240. LOCAL_MODULE_DEBUG_ENABLE := true
  241. LOCAL_MODULE_PATH := $(KERNEL_MODULES_OUT)
  242. include $(DLKM_DIR)/Build_external_kernelmodule.mk
  243. ########################### WSA883x CODEC ###########################
  244. include $(CLEAR_VARS)
  245. LOCAL_MODULE := wsa883x_dlkm.ko
  246. LOCAL_MODULE_KBUILD_NAME := asoc/codecs/wsa883x/wsa883x_dlkm.ko
  247. LOCAL_MODULE_TAGS := optional
  248. LOCAL_MODULE_DEBUG_ENABLE := true
  249. LOCAL_MODULE_PATH := $(KERNEL_MODULES_OUT)
  250. include $(DLKM_DIR)/Build_external_kernelmodule.mk
  251. ########################### WCD938x CODEC ################################
  252. include $(CLEAR_VARS)
  253. LOCAL_MODULE := wcd938x_dlkm.ko
  254. LOCAL_MODULE_KBUILD_NAME := asoc/codecs/wcd938x/wcd938x_dlkm.ko
  255. LOCAL_MODULE_TAGS := optional
  256. LOCAL_MODULE_DEBUG_ENABLE := true
  257. LOCAL_MODULE_PATH := $(KERNEL_MODULES_OUT)
  258. include $(DLKM_DIR)/Build_external_kernelmodule.mk
  259. ###########################################################
  260. include $(CLEAR_VARS)
  261. LOCAL_MODULE := wcd938x_slave_dlkm.ko
  262. LOCAL_MODULE_KBUILD_NAME := asoc/codecs/wcd938x/wcd938x_slave_dlkm.ko
  263. LOCAL_MODULE_TAGS := optional
  264. LOCAL_MODULE_DEBUG_ENABLE := true
  265. LOCAL_MODULE_PATH := $(KERNEL_MODULES_OUT)
  266. include $(DLKM_DIR)/Build_external_kernelmodule.mk
  267. ###########################################################
  268. $(shell cp $(LOCAL_PATH)/include/uapi/audio/linux/* $(UAPI_OUT)/linux)
  269. $(shell cp $(LOCAL_PATH)/include/uapi/audio/sound/* $(UAPI_OUT)/sound)
  270. endif # DLKM check
  271. endif # supported target check