xref: /OK3568_Linux_fs/kernel/sound/soc/codecs/aw87xxx/aw_dsp.h (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1 /* SPDX-License-Identifier: GPL-2.0+ */
2 
3 #ifndef __AW_DSP_H__
4 #define __AW_DSP_H__
5 
6 /*#define AW_MTK_OPEN_DSP_PLATFORM*/
7 /*#define AW_QCOM_OPEN_DSP_PLATFORM*/
8 
9 /*Note: The pord_ID is configured according to different platforms*/
10 #define AFE_PORT_ID_AWDSP_RX	(0x4000)
11 #define AW_DSP_TRY_TIME		(3)
12 #define AW_DSP_SLEEP_TIME	(10)
13 
14 #define AW_DSP_MSG_HDR_VER (1)
15 
16 #define AWDSP_RX_SET_ENABLE		(0x10013D11)
17 #define AWDSP_RX_PARAMS			(0x10013D12)
18 #define AWDSP_RX_VMAX_0			(0X10013D17)
19 #define AWDSP_RX_VMAX_1			(0X10013D18)
20 
21 typedef struct mtk_dsp_msg_header {
22 	int32_t type;
23 	int32_t opcode_id;
24 	int32_t version;
25 	int32_t reserver[3];
26 } mtk_dsp_hdr_t;
27 
28 enum aw_rx_module_enable {
29 	AW_RX_MODULE_DISENABLE = 0,
30 	AW_RX_MODULE_ENABLE,
31 };
32 
33 enum aw_dsp_msg_type {
34 	DSP_MSG_TYPE_DATA = 0,
35 	DSP_MSG_TYPE_CMD = 1,
36 };
37 
38 enum aw_dsp_channel {
39 	AW_DSP_CHANNEL_0 = 0,
40 	AW_DSP_CHANNEL_1,
41 	AW_DSP_CHANNEL_MAX,
42 };
43 
44 uint8_t aw_dsp_isEnable(void);
45 int aw_dsp_get_rx_module_enable(int *enable);
46 int aw_dsp_set_rx_module_enable(int enable);
47 int aw_dsp_get_vmax(uint32_t *vmax, int channel);
48 int aw_dsp_set_vmax(uint32_t vmax, int channel);
49 
50 #endif
51