File Index
Files and directories
Sign in
FILE

lpass-macro-common.h

File preview with syntax highlighting.

linux-6.19.14/sound/soc/codecs/lpass-macro-common.h C
 1/* SPDX-License-Identifier: GPL-2.0-only */
 2/*
 3 * Copyright (c) 2022, The Linux Foundation. All rights reserved.
 4 */
 5
 6#ifndef __LPASS_MACRO_COMMON_H__
 7#define __LPASS_MACRO_COMMON_H__
 8
 9/* NPL clock is expected */
10#define LPASS_MACRO_FLAG_HAS_NPL_CLOCK		BIT(0)
11/* The soundwire block should be internally reset at probe */
12#define LPASS_MACRO_FLAG_RESET_SWR		BIT(1)
13
14enum lpass_version {
15	LPASS_VER_9_0_0,
16	LPASS_VER_9_2_0,
17	LPASS_VER_10_0_0,
18	LPASS_VER_11_0_0,
19};
20
21enum lpass_codec_version {
22	LPASS_CODEC_VERSION_UNKNOWN,
23	LPASS_CODEC_VERSION_1_0,
24	LPASS_CODEC_VERSION_1_1,
25	LPASS_CODEC_VERSION_1_2,
26	LPASS_CODEC_VERSION_2_0,
27	LPASS_CODEC_VERSION_2_1,
28	LPASS_CODEC_VERSION_2_5,
29	LPASS_CODEC_VERSION_2_6,
30	LPASS_CODEC_VERSION_2_7,
31	LPASS_CODEC_VERSION_2_8,
32	LPASS_CODEC_VERSION_2_9,
33};
34
35struct lpass_macro {
36	struct device *macro_pd;
37	struct device *dcodec_pd;
38};
39
40struct lpass_macro *lpass_macro_pds_init(struct device *dev);
41void lpass_macro_pds_exit(struct lpass_macro *pds);
42void lpass_macro_set_codec_version(enum lpass_codec_version version);
43enum lpass_codec_version lpass_macro_get_codec_version(void);
44
45static inline void lpass_macro_pds_exit_action(void *pds)
46{
47	lpass_macro_pds_exit(pds);
48}
49
50static inline const char *lpass_macro_get_codec_version_string(int version)
51{
52	switch (version) {
53	case LPASS_CODEC_VERSION_1_0:
54		return "v1.0";
55	case LPASS_CODEC_VERSION_1_1:
56		return "v1.1";
57	case LPASS_CODEC_VERSION_1_2:
58		return "v1.2";
59	case LPASS_CODEC_VERSION_2_0:
60		return "v2.0";
61	case LPASS_CODEC_VERSION_2_1:
62		return "v2.1";
63	case LPASS_CODEC_VERSION_2_5:
64		return "v2.5";
65	case LPASS_CODEC_VERSION_2_6:
66		return "v2.6";
67	case LPASS_CODEC_VERSION_2_7:
68		return "v2.7";
69	case LPASS_CODEC_VERSION_2_8:
70		return "v2.8";
71	default:
72		break;
73	}
74	return "NA";
75}
76
77#endif /* __LPASS_MACRO_COMMON_H__ */
~/ Read-only file preview.