#include <linux/delay.h>
#include <linux/of.h>
#include <linux/of_address.h>
#include <linux/slab.h>
#include <linux/mfd/syscon.h>
#include <linux/platform_device.h>
#include "clk-gate.h"
#include "clk-mtk.h"
#include <dt-bindings/clock/mt8516-clk.h>
static DEFINE_SPINLOCK(mt8516_clk_lock);
static const struct mtk_fixed_clk fixed_clks[] __initconst = …;
static const struct mtk_fixed_factor top_divs[] __initconst = …;
static const char * const uart0_parents[] __initconst = …;
static const char * const ahb_infra_parents[] __initconst = …;
static const char * const msdc0_parents[] __initconst = …;
static const char * const uart1_parents[] __initconst = …;
static const char * const msdc1_parents[] __initconst = …;
static const char * const pmicspi_parents[] __initconst = …;
static const char * const qaxi_aud26m_parents[] __initconst = …;
static const char * const aud_intbus_parents[] __initconst = …;
static const char * const nfi2x_pad_parents[] __initconst = …;
static const char * const nfi1x_pad_parents[] __initconst = …;
static const char * const usb_78m_parents[] __initconst = …;
static const char * const spinor_parents[] __initconst = …;
static const char * const msdc2_parents[] __initconst = …;
static const char * const eth_parents[] __initconst = …;
static const char * const aud1_parents[] __initconst = …;
static const char * const aud2_parents[] __initconst = …;
static const char * const aud_engen1_parents[] __initconst = …;
static const char * const aud_engen2_parents[] __initconst = …;
static const char * const i2c_parents[] __initconst = …;
static const char * const aud_i2s0_m_parents[] __initconst = …;
static const char * const pwm_parents[] __initconst = …;
static const char * const spi_parents[] __initconst = …;
static const char * const aud_spdifin_parents[] __initconst = …;
static const char * const uart2_parents[] __initconst = …;
static const char * const bsi_parents[] __initconst = …;
static const char * const dbg_atclk_parents[] __initconst = …;
static const char * const csw_nfiecc_parents[] __initconst = …;
static const char * const nfiecc_parents[] __initconst = …;
static struct mtk_composite top_muxes[] __initdata = …;
static const char * const ifr_mux1_parents[] __initconst = …;
static const char * const ifr_eth_25m_parents[] __initconst = …;
static const char * const ifr_i2c0_parents[] __initconst = …;
static const struct mtk_composite ifr_muxes[] __initconst = …;
#define DIV_ADJ(_id, _name, _parent, _reg, _shift, _width) …
static const struct mtk_clk_divider top_adj_divs[] = …;
static const struct mtk_gate_regs top1_cg_regs = …;
static const struct mtk_gate_regs top2_cg_regs = …;
static const struct mtk_gate_regs top3_cg_regs = …;
static const struct mtk_gate_regs top4_cg_regs = …;
static const struct mtk_gate_regs top5_cg_regs = …;
#define GATE_TOP1(_id, _name, _parent, _shift) …
#define GATE_TOP2(_id, _name, _parent, _shift) …
#define GATE_TOP2_I(_id, _name, _parent, _shift) …
#define GATE_TOP3(_id, _name, _parent, _shift) …
#define GATE_TOP4_I(_id, _name, _parent, _shift) …
#define GATE_TOP5(_id, _name, _parent, _shift) …
static const struct mtk_gate top_clks[] __initconst = …;
static const struct mtk_clk_desc topck_desc = …;
static const struct mtk_clk_desc infra_desc = …;
static const struct of_device_id of_match_clk_mt8516[] = …;
MODULE_DEVICE_TABLE(of, of_match_clk_mt8516);
static struct platform_driver clk_mt8516_drv = …;
module_platform_driver(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_LICENSE(…) …;