blob: 3c644edd8ae77f97aaae0a40cde558d3cf3672da [file] [log] [blame]
Ben Rombergerfe303db2012-12-12 12:18:17 -08001/* Copyright (c) 2010-2013, The Linux Foundation. All rights reserved.
2 *
3 * This program is free software; you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License version 2 and
5 * only version 2 as published by the Free Software Foundation.
6 *
7 * This program is distributed in the hope that it will be useful,
8 * but WITHOUT ANY WARRANTY; without even the implied warranty of
9 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
10 * GNU General Public License for more details.
11 *
12 */
13#ifndef _AUDIO_ACDB_H
14#define _AUDIO_ACDB_H
15
16#include <linux/msm_audio_acdb.h>
17#include <sound/q6adm-v2.h>
18
19enum {
20 RX_CAL,
21 TX_CAL,
Damir Didjusto3c1e0032013-03-21 10:33:43 -070022 AANC_TX_CAL,
Ben Rombergerfe303db2012-12-12 12:18:17 -080023 MAX_AUDPROC_TYPES
24};
25
26enum {
27 VOCPROC_CAL,
28 VOCSTRM_CAL,
29 VOCVOL_CAL,
30 MAX_VOCPROC_TYPES
31};
32
33struct acdb_cal_block {
34 uint32_t cal_size;
35 uint32_t cal_kvaddr;
36 uint32_t cal_paddr;
37};
38
39struct acdb_atomic_cal_block {
40 atomic_t cal_size;
41 atomic_t cal_kvaddr;
42 atomic_t cal_paddr;
43};
44
45uint32_t get_voice_rx_topology(void);
46uint32_t get_voice_tx_topology(void);
47uint32_t get_adm_rx_topology(void);
48uint32_t get_adm_tx_topology(void);
49uint32_t get_asm_topology(void);
Ben Romberger39fae342013-02-19 12:12:44 -080050void reset_custom_topology_flags(void);
51void get_adm_custom_topology(struct acdb_cal_block *cal_block);
52void get_asm_custom_topology(struct acdb_cal_block *cal_block);
Ben Rombergerfe303db2012-12-12 12:18:17 -080053void get_voice_cal_allocation(struct acdb_cal_block *cal_block);
Ben Romberger12dce252013-01-04 15:23:07 -080054void get_lsm_cal(struct acdb_cal_block *cal_block);
Ben Rombergerfe303db2012-12-12 12:18:17 -080055void get_anc_cal(struct acdb_cal_block *cal_block);
56void get_afe_cal(int32_t path, struct acdb_cal_block *cal_block);
57void get_audproc_cal(int32_t path, struct acdb_cal_block *cal_block);
58void get_audstrm_cal(int32_t path, struct acdb_cal_block *cal_block);
59void get_audvol_cal(int32_t path, struct acdb_cal_block *cal_block);
60void get_voice_col_data(uint32_t vocproc_type,
61 struct acdb_cal_block *cal_block);
62void get_vocproc_dev_cfg_cal(struct acdb_cal_block *cal_block);
63void get_vocproc_cal(struct acdb_cal_block *cal_block);
64void get_vocstrm_cal(struct acdb_cal_block *cal_block);
65void get_vocvol_cal(struct acdb_cal_block *cal_block);
66void get_sidetone_cal(struct sidetone_cal *cal_data);
Gopikrishnaiah Anandand33d5e52013-03-08 19:04:27 -050067void get_spk_protection_cfg(struct msm_spk_prot_cfg *prot_cfg);
Damir Didjusto77ff2fc2013-03-09 21:14:13 -080068void get_aanc_cal(struct acdb_cal_block *cal_block);
Ben Rombergerfe303db2012-12-12 12:18:17 -080069
70#endif