audio_modules.bzl 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439
  1. load(":module_mgr.bzl", "create_module_registry")
  2. DSP_PATH = "dsp"
  3. IPC_PATH = "ipc"
  4. SOC_PATH = "soc"
  5. ASOC_PATH = "asoc"
  6. ASOC_CODECS_PATH = ASOC_PATH + "/codecs"
  7. ASOC_CODECS_LPASS_CDC_PATH = ASOC_CODECS_PATH + "/lpass-cdc"
  8. ASOC_CODECS_BOLERO_PATH = ASOC_CODECS_PATH + "/bolero"
  9. audio_modules = create_module_registry([":audio_headers"])
  10. # ------------------------------------ AUDIO MODULE DEFINITIONS ---------------------------------
  11. # >>>> DSP MODULES <<<<
  12. audio_modules.register(
  13. name = "q6_dlkm",
  14. path = DSP_PATH,
  15. conditional_srcs = {
  16. "CONFIG_SND_SOC_MSM_QDSP6V2_INTF": [
  17. "msm-audio-event-notify.c",
  18. "q6_init.c",
  19. ],
  20. "CONFIG_SND_SOC_MSM_QDSP6V2_VM": [
  21. "msm-audio-event-notify.c",
  22. "msm_audio_ion_vm.c",
  23. "q6_init.c",
  24. ],
  25. "CONFIG_MSM_AVTIMER": [
  26. "avtimer.c"
  27. ],
  28. "CONFIG_XT_LOGGING": [
  29. "sp_params.c"
  30. ]
  31. }
  32. )
  33. audio_modules.register(
  34. name = "spf_core_dlkm",
  35. path = DSP_PATH,
  36. config_option = "CONFIG_SPF_CORE",
  37. srcs = ["spf-core.c"],
  38. conditional_srcs = {
  39. "CONFIG_DIGITAL_CDC_RSC_MGR": [
  40. "digital-cdc-rsc-mgr.c"
  41. ]
  42. }
  43. )
  44. audio_modules.register(
  45. name = "audpkt_ion_dlkm",
  46. path = DSP_PATH,
  47. config_option = "CONFIG_AUDIO_PKT_ION",
  48. srcs = ["msm_audio_ion.c"]
  49. )
  50. audio_modules.register(
  51. name = "q6_notifier_dlkm",
  52. path = DSP_PATH,
  53. config_option = "CONFIG_MSM_QDSP6_NOTIFIER",
  54. srcs = [
  55. "audio_notifier.c",
  56. "audio_ssr.c"
  57. ],
  58. )
  59. audio_modules.register(
  60. name = "adsp_loader_dlkm",
  61. path = DSP_PATH,
  62. config_option = "CONFIG_MSM_ADSP_LOADER",
  63. srcs = ["adsp-loader.c"],
  64. )
  65. audio_modules.register(
  66. name = "audio_prm_dlkm",
  67. path = DSP_PATH,
  68. config_option = "CONFIG_AUDIO_PRM",
  69. srcs = ["audio_prm.c"],
  70. )
  71. audio_modules.register(
  72. name = "q6_pdr_dlkm",
  73. path = DSP_PATH,
  74. config_option = "CONFIG_MSM_QDSP6_PDR",
  75. srcs = ["audio_pdr.c"]
  76. )
  77. # >>>> IPC MODULES <<<<
  78. audio_modules.register(
  79. name = "gpr_dlkm",
  80. path = IPC_PATH,
  81. config_option = "CONFIG_MSM_QDSP6_GPR_RPMSG",
  82. srcs = ["gpr-lite.c"],
  83. )
  84. audio_modules.register(
  85. name = "audio_pkt_dlkm",
  86. path = IPC_PATH,
  87. config_option = "CONFIG_AUDIO_PKT",
  88. srcs = ["audio-pkt.c"],
  89. )
  90. # >>>> SOC MODULES <<<<
  91. audio_modules.register(
  92. name = "pinctrl_lpi_dlkm",
  93. path = SOC_PATH,
  94. config_option = "CONFIG_PINCTRL_LPI",
  95. srcs = ["pinctrl-lpi.c"],
  96. )
  97. audio_modules.register(
  98. name = "swr_dlkm",
  99. path = SOC_PATH,
  100. config_option = "CONFIG_SOUNDWIRE",
  101. srcs = [
  102. "regmap-swr.c",
  103. "soundwire.c"
  104. ]
  105. )
  106. audio_modules.register(
  107. name = "swr_ctrl_dlkm",
  108. path = SOC_PATH,
  109. conditional_srcs = {
  110. "CONFIG_SOUNDWIRE_WCD_CTRL": [
  111. "swr-wcd-ctrl.c"
  112. ],
  113. "CONFIG_SOUNDWIRE_MSTR_CTRL": [
  114. "swr-mstr-ctrl.c"
  115. ]
  116. },
  117. )
  118. audio_modules.register(
  119. name = "snd_event_dlkm",
  120. path = SOC_PATH,
  121. config_option = "CONFIG_SND_EVENT",
  122. srcs = ["snd_event.c"]
  123. )
  124. # >>>> ASOC MODULES <<<<
  125. audio_modules.register(
  126. name = "machine_dlkm",
  127. path = ASOC_PATH,
  128. srcs = [
  129. "msm_common.c",
  130. ],
  131. conditional_srcs = {
  132. "CONFIG_SND_SOC_SM8150": [
  133. "sm8150.c",
  134. "machine_815x_init.c"
  135. ],
  136. "CONFIG_SND_SOC_SM6150": [
  137. "sm6150.c",
  138. "machine_615x_init.c"
  139. ],
  140. "CONFIG_SND_SOC_SA6155": [
  141. "sa6155.c"
  142. ],
  143. "CONFIG_SND_SOC_QCS405": [
  144. "qcs405.c"
  145. ],
  146. "CONFIG_SND_SOC_KONA": [
  147. "kona.c"
  148. ],
  149. "CONFIG_SND_SOC_LAHAINA": [
  150. "lahaina.c"
  151. ],
  152. "CONFIG_SND_SOC_WAIPIO": [
  153. "waipio.c"
  154. ],
  155. "CONFIG_SND_SOC_KALAMA": [
  156. "kalama.c"
  157. ],
  158. "CONFIG_SND_SOC_PINEAPPLE": [
  159. "pineapple.c"
  160. ],
  161. "CONFIG_SND_SOC_HOLI": [
  162. "holi.c"
  163. ],
  164. "CONFIG_SND_SOC_LITO": [
  165. "kona.c"
  166. ],
  167. "CONFIG_SND_SOC_BENGAL": [
  168. "bengal.c"
  169. ],
  170. "CONFIG_SND_SOC_SA8155": [
  171. "sa8155.c"
  172. ],
  173. "CONFIG_SND_SOC_SDX": [
  174. "sdx-target.c"
  175. ]
  176. },
  177. )
  178. # >>>> ASOC/CODEC MODULES <<<<
  179. audio_modules.register(
  180. name = "wcd_core_dlkm",
  181. path = ASOC_CODECS_PATH,
  182. conditional_srcs = {
  183. "CONFIG_WCD9XXX_CODEC_CORE": [
  184. "wcd9xxx-rst.c",
  185. "wcd9xxx-core-init.c",
  186. "wcd9xxx-core.c",
  187. "wcd9xxx-irq.c",
  188. "wcd9xxx-slimslave.c",
  189. "wcd9xxx-utils.c",
  190. "wcd9335-regmap.c",
  191. "wcd9335-tables.c",
  192. "msm-cdc-pinctrl.c",
  193. "msm-cdc-supply.c",
  194. "wcd934x/wcd934x-regmap.c",
  195. "wcd934x/wcd934x-tables.c",
  196. ],
  197. "CONFIG_WCD9XXX_CODEC_CORE_V2": [
  198. "wcd9xxx-core-init.c",
  199. "msm-cdc-pinctrl.c",
  200. "msm-cdc-supply.c",
  201. ],
  202. "CONFIG_SND_SOC_WCD_IRQ": [
  203. "wcd-irq.c"
  204. ]
  205. }
  206. )
  207. audio_modules.register(
  208. name = "mbhc_dlkm",
  209. path = ASOC_CODECS_PATH,
  210. config_option = "CONFIG_SND_SOC_WCD_MBHC",
  211. srcs = ["wcd-mbhc-v2.c"],
  212. conditional_srcs = {
  213. "CONFIG_SND_SOC_WCD_MBHC_ADC": [
  214. "wcd-mbhc-adc.c"
  215. ],
  216. "CONFIG_SND_SOC_WCD_MBHC_LEGACY": [
  217. "wcd-mbhc-legacy.c"
  218. ]
  219. },
  220. )
  221. audio_modules.register(
  222. name = "swr_dmic_dlkm",
  223. path = ASOC_CODECS_PATH,
  224. config_option = "CONFIG_SND_SOC_SWR_DMIC",
  225. srcs = ["swr-dmic.c"]
  226. )
  227. audio_modules.register(
  228. name = "wcd9xxx_dlkm",
  229. path = ASOC_CODECS_PATH,
  230. config_option = "CONFIG_SND_SOC_WCD9XXX_V2",
  231. srcs = [
  232. "wcdcal-hwdep.c",
  233. "wcd9xxx-soc-init.c",
  234. "audio-ext-clk-up.c"
  235. ],
  236. conditional_srcs = {
  237. "CONFIG_WCD9XXX_CODEC_CORE": {
  238. True: [
  239. "wcd9xxx-common-v2.c",
  240. "wcd9xxx-resmgr-v2.c",
  241. "wcd-dsp-utils.c",
  242. "wcd-dsp-mgr.c",
  243. ],
  244. False: [
  245. "wcd-clsh.c"
  246. ]
  247. }
  248. }
  249. )
  250. audio_modules.register(
  251. name = "swr_haptics_dlkm",
  252. path = ASOC_CODECS_PATH,
  253. config_option = "CONFIG_SND_SWR_HAPTICS",
  254. srcs = ["swr-haptics.c"]
  255. )
  256. audio_modules.register(
  257. name = "stub_dlkm",
  258. path = ASOC_CODECS_PATH,
  259. config_option = "CONFIG_SND_SOC_MSM_STUB",
  260. srcs = ["msm_stub.c"]
  261. )
  262. audio_modules.register(
  263. name = "hdmi_dlkm",
  264. path = ASOC_CODECS_PATH,
  265. config_option = "CONFIG_SND_SOC_MSM_HDMI_CODEC_RX",
  266. srcs = ["msm_hdmi_codec_rx.c"],
  267. deps = ["//vendor/qcom/opensource/mm-drivers/msm_ext_display:%b_msm_ext_display"]
  268. )
  269. # >>>> ASOC/CODECS/LPASS-CDC MODULES <<<<
  270. audio_modules.register(
  271. name = "lpass_cdc_dlkm",
  272. path = ASOC_CODECS_LPASS_CDC_PATH,
  273. config_option = "CONFIG_SND_SOC_LPASS_CDC",
  274. srcs = [
  275. "lpass-cdc.c",
  276. "lpass-cdc-comp.c",
  277. "lpass-cdc-utils.c",
  278. "lpass-cdc-regmap.c",
  279. "lpass-cdc-tables.c",
  280. "lpass-cdc-clk-rsc.c",
  281. ],
  282. )
  283. audio_modules.register(
  284. name = "lpass_cdc_wsa_macro_dlkm",
  285. path = ASOC_CODECS_LPASS_CDC_PATH,
  286. config_option = "CONFIG_LPASS_CDC_WSA_MACRO",
  287. srcs = ["lpass-cdc-wsa-macro.c"]
  288. )
  289. audio_modules.register(
  290. name = "lpass_cdc_wsa2_macro_dlkm",
  291. path = ASOC_CODECS_LPASS_CDC_PATH,
  292. config_option = "CONFIG_LPASS_CDC_WSA2_MACRO",
  293. srcs = ["lpass-cdc-wsa2-macro.c"]
  294. )
  295. audio_modules.register(
  296. name = "lpass_cdc_va_macro_dlkm",
  297. path = ASOC_CODECS_LPASS_CDC_PATH,
  298. config_option = "CONFIG_LPASS_CDC_VA_MACRO",
  299. srcs = ["lpass-cdc-va-macro.c"]
  300. )
  301. audio_modules.register(
  302. name = "lpass_cdc_rx_macro_dlkm",
  303. path = ASOC_CODECS_LPASS_CDC_PATH,
  304. config_option = "CONFIG_LPASS_CDC_RX_MACRO",
  305. srcs = ["lpass-cdc-rx-macro.c"],
  306. )
  307. audio_modules.register(
  308. name = "lpass_cdc_tx_macro_dlkm",
  309. path = ASOC_CODECS_LPASS_CDC_PATH,
  310. config_option = "CONFIG_LPASS_CDC_TX_MACRO",
  311. srcs = ["lpass-cdc-tx-macro.c"]
  312. )
  313. # >>>> ASOC/CODECS/BOLERO MODULES <<<<
  314. audio_modules.register(
  315. name = "bolero_cdc_dlkm",
  316. path = ASOC_CODECS_BOLERO_PATH,
  317. config_option = "CONFIG_SND_SOC_BOLERO",
  318. srcs = [
  319. "bolero-cdc.c",
  320. "bolero-cdc-utils.c",
  321. "bolero-cdc-regmap.c",
  322. "bolero-cdc-tables.c",
  323. "bolero-clk-rsc.c",
  324. ],
  325. )
  326. audio_modules.register(
  327. name = "va_macro_dlkm",
  328. path = ASOC_CODECS_BOLERO_PATH,
  329. config_option = "CONFIG_VA_MACRO",
  330. srcs = ["va-macro.c"]
  331. )
  332. audio_modules.register(
  333. name = "rx_macro_dlkm",
  334. path = ASOC_CODECS_BOLERO_PATH,
  335. config_option = "CONFIG_RX_MACRO",
  336. srcs = ["rx-macro.c"]
  337. )
  338. audio_modules.register(
  339. name = "tx_macro_dlkm",
  340. path = ASOC_CODECS_BOLERO_PATH,
  341. config_option = "CONFIG_TX_MACRO",
  342. srcs = ["tx-macro.c"]
  343. )
  344. # >>>> WSA881X-ANALOG MODULE <<<<
  345. audio_modules.register(
  346. name = "wsa881x_analog_dlkm",
  347. path = ASOC_CODECS_PATH,
  348. config_option = "CONFIG_SND_SOC_WSA881X_ANALOG",
  349. srcs = [
  350. "wsa881x-analog.c",
  351. "wsa881x-tables-analog.c",
  352. "wsa881x-regmap-analog.c",
  353. ],
  354. conditional_srcs = {
  355. "CONFIG_WSA881X_TEMP_SENSOR_DISABLE": {
  356. False: [
  357. "wsa881x-temp-sensor.c"
  358. ]
  359. }
  360. }
  361. )
  362. # >>>> WSA883X MODULE <<<<
  363. audio_modules.register(
  364. name = "wsa883x_dlkm",
  365. path = ASOC_CODECS_PATH + "/wsa883x",
  366. config_option = "CONFIG_SND_SOC_WSA883X",
  367. srcs = [
  368. "wsa883x.c",
  369. "wsa883x-regmap.c",
  370. "wsa883x-tables.c",
  371. ],
  372. )
  373. # >>>> WSA884X MODULE <<<<
  374. audio_modules.register(
  375. name = "wsa884x_dlkm",
  376. path = ASOC_CODECS_PATH + "/wsa884x",
  377. config_option = "CONFIG_SND_SOC_WSA884X",
  378. srcs = [
  379. "wsa884x.c",
  380. "wsa884x-regmap.c",
  381. "wsa884x-tables.c",
  382. ]
  383. )
  384. # >>>> WCD937X MODULES <<<<
  385. audio_modules.register(
  386. name = "wcd937x_dlkm",
  387. path = ASOC_CODECS_PATH + "/wcd937x",
  388. config_option = "CONFIG_SND_SOC_WCD937X",
  389. srcs = [
  390. "wcd937x.c",
  391. "wcd937x-regmap.c",
  392. "wcd937x-tables.c",
  393. "wcd937x-mbhc.c",
  394. ],
  395. )
  396. audio_modules.register(
  397. name = "wcd937x_slave_dlkm",
  398. path = ASOC_CODECS_PATH + "/wcd937x",
  399. config_option = "CONFIG_SND_SOC_WCD937X_SLAVE",
  400. srcs = ["wcd937x_slave.c"]
  401. )
  402. # >>>> WCD938X MODULES <<<<
  403. audio_modules.register(
  404. name = "wcd938x_dlkm",
  405. path = ASOC_CODECS_PATH + "/wcd938x",
  406. config_option = "CONFIG_SND_SOC_WCD938X",
  407. srcs = [
  408. "wcd938x.c",
  409. "wcd938x-regmap.c",
  410. "wcd938x-tables.c",
  411. "wcd938x-mbhc.c",
  412. ]
  413. )
  414. audio_modules.register(
  415. name = "wcd938x_slave_dlkm",
  416. path = ASOC_CODECS_PATH + "/wcd938x",
  417. config_option = "CONFIG_SND_SOC_WCD938X_SLAVE",
  418. srcs = ["wcd938x-slave.c"]
  419. )
  420. # >>>> WCD939X MODULES <<<<
  421. audio_modules.register(
  422. name = "wcd939x_dlkm",
  423. path = ASOC_CODECS_PATH + "/wcd939x",
  424. config_option = "CONFIG_SND_SOC_WCD939X",
  425. srcs = [
  426. "wcd939x.c",
  427. "wcd939x-regmap.c",
  428. "wcd939x-tables.c",
  429. "wcd939x-mbhc.c",
  430. ]
  431. )
  432. audio_modules.register(
  433. name = "wcd939x_slave_dlkm",
  434. path = ASOC_CODECS_PATH + "/wcd939x",
  435. config_option = "CONFIG_SND_SOC_WCD939X_SLAVE",
  436. srcs = ["wcd939x-slave.c"]
  437. )