GNU Linux-libre 4.14.332-gnu1
[releases.git] / sound / soc / mediatek / mt2701 / mt2701-afe-clock-ctrl.h
1 /*
2  * mt2701-afe-clock-ctrl.h  --  Mediatek 2701 afe clock ctrl definition
3  *
4  * Copyright (c) 2016 MediaTek Inc.
5  * Author: Garlic Tseng <garlic.tseng@mediatek.com>
6  *
7  * This program is free software; you can redistribute it and/or modify
8  * it under the terms of the GNU General Public License version 2 and
9  * only version 2 as published by the Free Software Foundation.
10  *
11  * This program is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14  * GNU General Public License for more details.
15  */
16
17 #ifndef _MT2701_AFE_CLOCK_CTRL_H_
18 #define _MT2701_AFE_CLOCK_CTRL_H_
19
20 struct mtk_base_afe;
21
22 int mt2701_init_clock(struct mtk_base_afe *afe);
23 int mt2701_afe_enable_clock(struct mtk_base_afe *afe);
24 void mt2701_afe_disable_clock(struct mtk_base_afe *afe);
25
26 int mt2701_turn_on_a1sys_clock(struct mtk_base_afe *afe);
27 void mt2701_turn_off_a1sys_clock(struct mtk_base_afe *afe);
28
29 int mt2701_turn_on_a2sys_clock(struct mtk_base_afe *afe);
30 void mt2701_turn_off_a2sys_clock(struct mtk_base_afe *afe);
31
32 int mt2701_turn_on_afe_clock(struct mtk_base_afe *afe);
33 void mt2701_turn_off_afe_clock(struct mtk_base_afe *afe);
34
35 void mt2701_mclk_configuration(struct mtk_base_afe *afe, int id, int domain,
36                                int mclk);
37
38 #endif