GNU Linux-libre 6.9.1-gnu
[releases.git] / sound / soc / codecs / lpass-macro-common.h
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
14 enum 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
21 struct lpass_macro {
22         struct device *macro_pd;
23         struct device *dcodec_pd;
24 };
25
26 struct lpass_macro *lpass_macro_pds_init(struct device *dev);
27 void lpass_macro_pds_exit(struct lpass_macro *pds);
28
29 #endif /* __LPASS_MACRO_COMMON_H__ */