#include <linux/clk.h>
#include <linux/regmap.h>
#include <linux/mfd/syscon.h>
#include "mt8186-afe-common.h"
#include "mt8186-afe-clk.h"
#include "mt8186-audsys-clk.h"
static const char *aud_clks[CLK_NUM] = …;
int mt8186_set_audio_int_bus_parent(struct mtk_base_afe *afe,
int clk_id)
{ … }
static int apll1_mux_setting(struct mtk_base_afe *afe, bool enable)
{ … }
static int apll2_mux_setting(struct mtk_base_afe *afe, bool enable)
{ … }
int mt8186_afe_enable_cgs(struct mtk_base_afe *afe)
{ … }
void mt8186_afe_disable_cgs(struct mtk_base_afe *afe)
{ … }
int mt8186_afe_enable_clock(struct mtk_base_afe *afe)
{ … }
void mt8186_afe_disable_clock(struct mtk_base_afe *afe)
{ … }
int mt8186_afe_suspend_clock(struct mtk_base_afe *afe)
{ … }
int mt8186_afe_resume_clock(struct mtk_base_afe *afe)
{ … }
int mt8186_apll1_enable(struct mtk_base_afe *afe)
{ … }
void mt8186_apll1_disable(struct mtk_base_afe *afe)
{ … }
int mt8186_apll2_enable(struct mtk_base_afe *afe)
{ … }
void mt8186_apll2_disable(struct mtk_base_afe *afe)
{ … }
int mt8186_get_apll_rate(struct mtk_base_afe *afe, int apll)
{ … }
int mt8186_get_apll_by_rate(struct mtk_base_afe *afe, int rate)
{ … }
int mt8186_get_apll_by_name(struct mtk_base_afe *afe, const char *name)
{ … }
struct mt8186_mck_div { … };
static const struct mt8186_mck_div mck_div[MT8186_MCK_NUM] = …;
int mt8186_mck_enable(struct mtk_base_afe *afe, int mck_id, int rate)
{ … }
void mt8186_mck_disable(struct mtk_base_afe *afe, int mck_id)
{ … }
int mt8186_init_clock(struct mtk_base_afe *afe)
{ … }