xref: /linux/sound/soc/mediatek/mt2701/mt2701-afe-clock-ctrl.h (revision 24bce201d79807b668bf9d9e0aca801c5c0d5f78)
1 /* SPDX-License-Identifier: GPL-2.0 */
2 /*
3  * mt2701-afe-clock-ctrl.h  --  Mediatek 2701 afe clock ctrl definition
4  *
5  * Copyright (c) 2016 MediaTek Inc.
6  * Author: Garlic Tseng <garlic.tseng@mediatek.com>
7  *	   Ryder Lee <ryder.lee@mediatek.com>
8  */
9 
10 #ifndef _MT2701_AFE_CLOCK_CTRL_H_
11 #define _MT2701_AFE_CLOCK_CTRL_H_
12 
13 struct mtk_base_afe;
14 struct mt2701_i2s_path;
15 
16 int mt2701_init_clock(struct mtk_base_afe *afe);
17 int mt2701_afe_enable_clock(struct mtk_base_afe *afe);
18 int mt2701_afe_disable_clock(struct mtk_base_afe *afe);
19 
20 int mt2701_afe_enable_i2s(struct mtk_base_afe *afe,
21 			  struct mt2701_i2s_path *i2s_path,
22 			  int dir);
23 void mt2701_afe_disable_i2s(struct mtk_base_afe *afe,
24 			    struct mt2701_i2s_path *i2s_path,
25 			    int dir);
26 int mt2701_afe_enable_mclk(struct mtk_base_afe *afe, int id);
27 void mt2701_afe_disable_mclk(struct mtk_base_afe *afe, int id);
28 
29 int mt2701_enable_btmrg_clk(struct mtk_base_afe *afe);
30 void mt2701_disable_btmrg_clk(struct mtk_base_afe *afe);
31 
32 int mt2701_mclk_configuration(struct mtk_base_afe *afe, int id);
33 
34 #endif
35