]> git.proxmox.com Git - mirror_ubuntu-focal-kernel.git/blob - sound/soc/mediatek/mt2701/mt2701-afe-clock-ctrl.h
Merge remote-tracking branches 'asoc/topic/tas6424', 'asoc/topic/tfa9879', 'asoc...
[mirror_ubuntu-focal-kernel.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 int mt2701_afe_disable_clock(struct mtk_base_afe *afe);
25
26 int mt2701_afe_enable_i2s(struct mtk_base_afe *afe, int id, int dir);
27 void mt2701_afe_disable_i2s(struct mtk_base_afe *afe, int id, int dir);
28 int mt2701_afe_enable_mclk(struct mtk_base_afe *afe, int id);
29 void mt2701_afe_disable_mclk(struct mtk_base_afe *afe, int id);
30
31 int mt2701_enable_btmrg_clk(struct mtk_base_afe *afe);
32 void mt2701_disable_btmrg_clk(struct mtk_base_afe *afe);
33
34 void mt2701_mclk_configuration(struct mtk_base_afe *afe, int id, int domain,
35 int mclk);
36
37 #endif