1/* SPDX-License-Identifier: GPL-2.0 */
2#ifndef __Q6_ADM_V2_H__
3#define __Q6_ADM_V2_H__
4
5#define ADM_PATH_PLAYBACK	0x1
6#define ADM_PATH_LIVE_REC	0x2
7#define MAX_COPPS_PER_PORT	8
8#define NULL_COPP_TOPOLOGY	0x00010312
9
10/* multiple copp per stream. */
11struct route_payload {
12	int num_copps;
13	int session_id;
14	int copp_idx[MAX_COPPS_PER_PORT];
15	int port_id[MAX_COPPS_PER_PORT];
16};
17
18struct q6copp;
19struct q6copp *q6adm_open(struct device *dev, int port_id, int path, int rate,
20			   int channel_mode, int topology, int perf_mode,
21			   uint16_t bit_width, int app_type, int acdb_id);
22int q6adm_close(struct device *dev, struct q6copp *copp);
23int q6adm_get_copp_id(struct q6copp *copp);
24int q6adm_matrix_map(struct device *dev, int path,
25		     struct route_payload payload_map, int perf_mode);
26
27#endif /* __Q6_ADM_V2_H__ */
28