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 38