audio_modules.bzl 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442
  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_NIOBE": [
  162. "pineapple.c"
  163. ],
  164. "CONFIG_SND_SOC_HOLI": [
  165. "holi.c"
  166. ],
  167. "CONFIG_SND_SOC_LITO": [
  168. "kona.c"
  169. ],
  170. "CONFIG_SND_SOC_BENGAL": [
  171. "bengal.c"
  172. ],
  173. "CONFIG_SND_SOC_SA8155": [
  174. "sa8155.c"
  175. ],
  176. "CONFIG_SND_SOC_SDX": [
  177. "sdx-target.c"
  178. ]
  179. },
  180. )
  181. # >>>> ASOC/CODEC MODULES <<<<
  182. audio_modules.register(
  183. name = "wcd_core_dlkm",
  184. path = ASOC_CODECS_PATH,
  185. conditional_srcs = {
  186. "CONFIG_WCD9XXX_CODEC_CORE": [
  187. "wcd9xxx-rst.c",
  188. "wcd9xxx-core-init.c",
  189. "wcd9xxx-core.c",
  190. "wcd9xxx-irq.c",
  191. "wcd9xxx-slimslave.c",
  192. "wcd9xxx-utils.c",
  193. "wcd9335-regmap.c",
  194. "wcd9335-tables.c",
  195. "msm-cdc-pinctrl.c",
  196. "msm-cdc-supply.c",
  197. "wcd934x/wcd934x-regmap.c",
  198. "wcd934x/wcd934x-tables.c",
  199. ],
  200. "CONFIG_WCD9XXX_CODEC_CORE_V2": [
  201. "wcd9xxx-core-init.c",
  202. "msm-cdc-pinctrl.c",
  203. "msm-cdc-supply.c",
  204. ],
  205. "CONFIG_SND_SOC_WCD_IRQ": [
  206. "wcd-irq.c"
  207. ]
  208. }
  209. )
  210. audio_modules.register(
  211. name = "mbhc_dlkm",
  212. path = ASOC_CODECS_PATH,
  213. config_option = "CONFIG_SND_SOC_WCD_MBHC",
  214. srcs = ["wcd-mbhc-v2.c"],
  215. conditional_srcs = {
  216. "CONFIG_SND_SOC_WCD_MBHC_ADC": [
  217. "wcd-mbhc-adc.c"
  218. ],
  219. "CONFIG_SND_SOC_WCD_MBHC_LEGACY": [
  220. "wcd-mbhc-legacy.c"
  221. ]
  222. },
  223. )
  224. audio_modules.register(
  225. name = "swr_dmic_dlkm",
  226. path = ASOC_CODECS_PATH,
  227. config_option = "CONFIG_SND_SOC_SWR_DMIC",
  228. srcs = ["swr-dmic.c"]
  229. )
  230. audio_modules.register(
  231. name = "wcd9xxx_dlkm",
  232. path = ASOC_CODECS_PATH,
  233. config_option = "CONFIG_SND_SOC_WCD9XXX_V2",
  234. srcs = [
  235. "wcdcal-hwdep.c",
  236. "wcd9xxx-soc-init.c",
  237. "audio-ext-clk-up.c"
  238. ],
  239. conditional_srcs = {
  240. "CONFIG_WCD9XXX_CODEC_CORE": {
  241. True: [
  242. "wcd9xxx-common-v2.c",
  243. "wcd9xxx-resmgr-v2.c",
  244. "wcd-dsp-utils.c",
  245. "wcd-dsp-mgr.c",
  246. ],
  247. False: [
  248. "wcd-clsh.c"
  249. ]
  250. }
  251. }
  252. )
  253. audio_modules.register(
  254. name = "swr_haptics_dlkm",
  255. path = ASOC_CODECS_PATH,
  256. config_option = "CONFIG_SND_SWR_HAPTICS",
  257. srcs = ["swr-haptics.c"]
  258. )
  259. audio_modules.register(
  260. name = "stub_dlkm",
  261. path = ASOC_CODECS_PATH,
  262. config_option = "CONFIG_SND_SOC_MSM_STUB",
  263. srcs = ["msm_stub.c"]
  264. )
  265. audio_modules.register(
  266. name = "hdmi_dlkm",
  267. path = ASOC_CODECS_PATH,
  268. config_option = "CONFIG_SND_SOC_MSM_HDMI_CODEC_RX",
  269. srcs = ["msm_hdmi_codec_rx.c"],
  270. deps = ["//vendor/qcom/opensource/mm-drivers/msm_ext_display:%b_msm_ext_display"]
  271. )
  272. # >>>> ASOC/CODECS/LPASS-CDC MODULES <<<<
  273. audio_modules.register(
  274. name = "lpass_cdc_dlkm",
  275. path = ASOC_CODECS_LPASS_CDC_PATH,
  276. config_option = "CONFIG_SND_SOC_LPASS_CDC",
  277. srcs = [
  278. "lpass-cdc.c",
  279. "lpass-cdc-comp.c",
  280. "lpass-cdc-utils.c",
  281. "lpass-cdc-regmap.c",
  282. "lpass-cdc-tables.c",
  283. "lpass-cdc-clk-rsc.c",
  284. ],
  285. )
  286. audio_modules.register(
  287. name = "lpass_cdc_wsa_macro_dlkm",
  288. path = ASOC_CODECS_LPASS_CDC_PATH,
  289. config_option = "CONFIG_LPASS_CDC_WSA_MACRO",
  290. srcs = ["lpass-cdc-wsa-macro.c"]
  291. )
  292. audio_modules.register(
  293. name = "lpass_cdc_wsa2_macro_dlkm",
  294. path = ASOC_CODECS_LPASS_CDC_PATH,
  295. config_option = "CONFIG_LPASS_CDC_WSA2_MACRO",
  296. srcs = ["lpass-cdc-wsa2-macro.c"]
  297. )
  298. audio_modules.register(
  299. name = "lpass_cdc_va_macro_dlkm",
  300. path = ASOC_CODECS_LPASS_CDC_PATH,
  301. config_option = "CONFIG_LPASS_CDC_VA_MACRO",
  302. srcs = ["lpass-cdc-va-macro.c"]
  303. )
  304. audio_modules.register(
  305. name = "lpass_cdc_rx_macro_dlkm",
  306. path = ASOC_CODECS_LPASS_CDC_PATH,
  307. config_option = "CONFIG_LPASS_CDC_RX_MACRO",
  308. srcs = ["lpass-cdc-rx-macro.c"],
  309. )
  310. audio_modules.register(
  311. name = "lpass_cdc_tx_macro_dlkm",
  312. path = ASOC_CODECS_LPASS_CDC_PATH,
  313. config_option = "CONFIG_LPASS_CDC_TX_MACRO",
  314. srcs = ["lpass-cdc-tx-macro.c"]
  315. )
  316. # >>>> ASOC/CODECS/BOLERO MODULES <<<<
  317. audio_modules.register(
  318. name = "bolero_cdc_dlkm",
  319. path = ASOC_CODECS_BOLERO_PATH,
  320. config_option = "CONFIG_SND_SOC_BOLERO",
  321. srcs = [
  322. "bolero-cdc.c",
  323. "bolero-cdc-utils.c",
  324. "bolero-cdc-regmap.c",
  325. "bolero-cdc-tables.c",
  326. "bolero-clk-rsc.c",
  327. ],
  328. )
  329. audio_modules.register(
  330. name = "va_macro_dlkm",
  331. path = ASOC_CODECS_BOLERO_PATH,
  332. config_option = "CONFIG_VA_MACRO",
  333. srcs = ["va-macro.c"]
  334. )
  335. audio_modules.register(
  336. name = "rx_macro_dlkm",
  337. path = ASOC_CODECS_BOLERO_PATH,
  338. config_option = "CONFIG_RX_MACRO",
  339. srcs = ["rx-macro.c"]
  340. )
  341. audio_modules.register(
  342. name = "tx_macro_dlkm",
  343. path = ASOC_CODECS_BOLERO_PATH,
  344. config_option = "CONFIG_TX_MACRO",
  345. srcs = ["tx-macro.c"]
  346. )
  347. # >>>> WSA881X-ANALOG MODULE <<<<
  348. audio_modules.register(
  349. name = "wsa881x_analog_dlkm",
  350. path = ASOC_CODECS_PATH,
  351. config_option = "CONFIG_SND_SOC_WSA881X_ANALOG",
  352. srcs = [
  353. "wsa881x-analog.c",
  354. "wsa881x-tables-analog.c",
  355. "wsa881x-regmap-analog.c",
  356. ],
  357. conditional_srcs = {
  358. "CONFIG_WSA881X_TEMP_SENSOR_DISABLE": {
  359. False: [
  360. "wsa881x-temp-sensor.c"
  361. ]
  362. }
  363. }
  364. )
  365. # >>>> WSA883X MODULE <<<<
  366. audio_modules.register(
  367. name = "wsa883x_dlkm",
  368. path = ASOC_CODECS_PATH + "/wsa883x",
  369. config_option = "CONFIG_SND_SOC_WSA883X",
  370. srcs = [
  371. "wsa883x.c",
  372. "wsa883x-regmap.c",
  373. "wsa883x-tables.c",
  374. ],
  375. )
  376. # >>>> WSA884X MODULE <<<<
  377. audio_modules.register(
  378. name = "wsa884x_dlkm",
  379. path = ASOC_CODECS_PATH + "/wsa884x",
  380. config_option = "CONFIG_SND_SOC_WSA884X",
  381. srcs = [
  382. "wsa884x.c",
  383. "wsa884x-regmap.c",
  384. "wsa884x-tables.c",
  385. ]
  386. )
  387. # >>>> WCD937X MODULES <<<<
  388. audio_modules.register(
  389. name = "wcd937x_dlkm",
  390. path = ASOC_CODECS_PATH + "/wcd937x",
  391. config_option = "CONFIG_SND_SOC_WCD937X",
  392. srcs = [
  393. "wcd937x.c",
  394. "wcd937x-regmap.c",
  395. "wcd937x-tables.c",
  396. "wcd937x-mbhc.c",
  397. ]
  398. )
  399. audio_modules.register(
  400. name = "wcd937x_slave_dlkm",
  401. path = ASOC_CODECS_PATH + "/wcd937x",
  402. config_option = "CONFIG_SND_SOC_WCD937X_SLAVE",
  403. srcs = ["wcd937x_slave.c"]
  404. )
  405. # >>>> WCD938X MODULES <<<<
  406. audio_modules.register(
  407. name = "wcd938x_dlkm",
  408. path = ASOC_CODECS_PATH + "/wcd938x",
  409. config_option = "CONFIG_SND_SOC_WCD938X",
  410. srcs = [
  411. "wcd938x.c",
  412. "wcd938x-regmap.c",
  413. "wcd938x-tables.c",
  414. "wcd938x-mbhc.c",
  415. ]
  416. )
  417. audio_modules.register(
  418. name = "wcd938x_slave_dlkm",
  419. path = ASOC_CODECS_PATH + "/wcd938x",
  420. config_option = "CONFIG_SND_SOC_WCD938X_SLAVE",
  421. srcs = ["wcd938x-slave.c"]
  422. )
  423. # >>>> WCD939X MODULES <<<<
  424. audio_modules.register(
  425. name = "wcd939x_dlkm",
  426. path = ASOC_CODECS_PATH + "/wcd939x",
  427. config_option = "CONFIG_SND_SOC_WCD939X",
  428. srcs = [
  429. "wcd939x.c",
  430. "wcd939x-regmap.c",
  431. "wcd939x-tables.c",
  432. "wcd939x-mbhc.c",
  433. ]
  434. )
  435. audio_modules.register(
  436. name = "wcd939x_slave_dlkm",
  437. path = ASOC_CODECS_PATH + "/wcd939x",
  438. config_option = "CONFIG_SND_SOC_WCD939X_SLAVE",
  439. srcs = ["wcd939x-slave.c"]
  440. )