#include <linux/io.h>
#include <linux/iopoll.h>
#include "clk-mtk.h"
#include "clk-pllfh.h"
#include "clk-fhctl.h"
#define PERCENT_TO_DDSLMT(dds, percent_m10) …
static const struct fhctl_offset fhctl_offset_v1 = …;
static const struct fhctl_offset fhctl_offset_v2 = …;
const struct fhctl_offset *fhctl_get_offset_table(enum fhctl_variant v)
{ … }
static void dump_hw(struct mtk_clk_pll *pll, struct fh_pll_regs *regs,
const struct fh_pll_data *data)
{ … }
static int fhctl_set_ssc_regs(struct mtk_clk_pll *pll, struct fh_pll_regs *regs,
const struct fh_pll_data *data, u32 rate)
{ … }
static int hopping_hw_flow(struct mtk_clk_pll *pll, struct fh_pll_regs *regs,
const struct fh_pll_data *data,
struct fh_pll_state *state, unsigned int new_dds)
{ … }
static unsigned int __get_postdiv(struct mtk_clk_pll *pll)
{ … }
static void __set_postdiv(struct mtk_clk_pll *pll, unsigned int postdiv)
{ … }
static int fhctl_hopping(struct mtk_fh *fh, unsigned int new_dds,
unsigned int postdiv)
{ … }
static int fhctl_ssc_enable(struct mtk_fh *fh, u32 rate)
{ … }
static const struct fh_operation fhctl_ops = …;
const struct fh_operation *fhctl_get_ops(void)
{ … }
void fhctl_hw_init(struct mtk_fh *fh)
{ … }