Linux 4.16.11
[linux/fpc-iii.git] / sound / soc / mediatek / mt2701 / mt2701-afe-clock-ctrl.h
blob15417d9d6597879d9b567f11c3fa0179267747f1
1 /*
2 * mt2701-afe-clock-ctrl.h -- Mediatek 2701 afe clock ctrl definition
4 * Copyright (c) 2016 MediaTek Inc.
5 * Author: Garlic Tseng <garlic.tseng@mediatek.com>
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.
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.
17 #ifndef _MT2701_AFE_CLOCK_CTRL_H_
18 #define _MT2701_AFE_CLOCK_CTRL_H_
20 struct mtk_base_afe;
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);
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);
31 int mt2701_enable_btmrg_clk(struct mtk_base_afe *afe);
32 void mt2701_disable_btmrg_clk(struct mtk_base_afe *afe);
34 void mt2701_mclk_configuration(struct mtk_base_afe *afe, int id, int domain,
35 int mclk);
37 #endif