Merge tag 'mm-nonmm-stable-2024-05-19-11-56' of git://git.kernel.org/pub/scm/linux...
[sfrench/cifs-2.6.git] / sound / soc / mediatek / mt2701 / mt2701-afe-clock-ctrl.h
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