^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1) /* SPDX-License-Identifier: GPL-2.0 */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2) /*
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3) * mt2701-afe-clock-ctrl.h -- Mediatek 2701 afe clock ctrl definition
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4) *
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 5) * Copyright (c) 2016 MediaTek Inc.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 6) * Author: Garlic Tseng <garlic.tseng@mediatek.com>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 7) * Ryder Lee <ryder.lee@mediatek.com>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 8) */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 9)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 10) #ifndef _MT2701_AFE_CLOCK_CTRL_H_
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 11) #define _MT2701_AFE_CLOCK_CTRL_H_
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 12)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 13) struct mtk_base_afe;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 14) struct mt2701_i2s_path;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 15)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 16) int mt2701_init_clock(struct mtk_base_afe *afe);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 17) int mt2701_afe_enable_clock(struct mtk_base_afe *afe);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 18) int mt2701_afe_disable_clock(struct mtk_base_afe *afe);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 19)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 20) int mt2701_afe_enable_i2s(struct mtk_base_afe *afe,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 21) struct mt2701_i2s_path *path,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 22) int dir);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 23) void mt2701_afe_disable_i2s(struct mtk_base_afe *afe,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 24) struct mt2701_i2s_path *path,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 25) int dir);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 26) int mt2701_afe_enable_mclk(struct mtk_base_afe *afe, int id);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 27) void mt2701_afe_disable_mclk(struct mtk_base_afe *afe, int id);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 28)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 29) int mt2701_enable_btmrg_clk(struct mtk_base_afe *afe);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 30) void mt2701_disable_btmrg_clk(struct mtk_base_afe *afe);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 31)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 32) int mt2701_mclk_configuration(struct mtk_base_afe *afe, int id);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 33)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 34) #endif