#include <dt-bindings/clock/mediatek,mt8365-clk.h>
#include <linux/clk.h>
#include <linux/clk-provider.h>
#include <linux/delay.h>
#include <linux/mfd/syscon.h>
#include <linux/mod_devicetable.h>
#include <linux/platform_device.h>
#include <linux/slab.h>
#include "clk-gate.h"
#include "clk-mtk.h"
#include "clk-mux.h"
static DEFINE_SPINLOCK(mt8365_clk_lock);
static const struct mtk_fixed_clk top_fixed_clks[] = …;
static const struct mtk_fixed_factor top_divs[] = …;
static const char * const axi_parents[] = …;
static const char * const mem_parents[] = …;
static const char * const mm_parents[] = …;
static const char * const scp_parents[] = …;
static const char * const mfg_parents[] = …;
static const char * const atb_parents[] = …;
static const char * const camtg_parents[] = …;
static const char * const uart_parents[] = …;
static const char * const spi_parents[] = …;
static const char * const msdc50_0_hc_parents[] = …;
static const char * const msdc50_0_parents[] = …;
static const char * const msdc50_2_parents[] = …;
static const char * const msdc30_1_parents[] = …;
static const char * const audio_parents[] = …;
static const char * const aud_intbus_parents[] = …;
static const char * const aud_1_parents[] = …;
static const char * const aud_2_parents[] = …;
static const char * const aud_engen1_parents[] = …;
static const char * const aud_engen2_parents[] = …;
static const char * const aud_spdif_parents[] = …;
static const char * const disp_pwm_parents[] = …;
static const char * const dxcc_parents[] = …;
static const char * const ssusb_sys_parents[] = …;
static const char * const spm_parents[] = …;
static const char * const i2c_parents[] = …;
static const char * const pwm_parents[] = …;
static const char * const senif_parents[] = …;
static const char * const aes_fde_parents[] = …;
static const char * const dpi0_parents[] = …;
static const char * const dsp_parents[] = …;
static const char * const nfi2x_parents[] = …;
static const char * const nfiecc_parents[] = …;
static const char * const ecc_parents[] = …;
static const char * const eth_parents[] = …;
static const char * const gcpu_parents[] = …;
static const char * const gcpu_cpm_parents[] = …;
static const char * const apu_parents[] = …;
static const char * const mbist_diag_parents[] = …;
static const char * const apll_i2s_parents[] = …;
static struct mtk_composite top_misc_muxes[] = …;
#define CLK_CFG_UPDATE …
#define CLK_CFG_UPDATE1 …
static const struct mtk_mux top_muxes[] = …;
static const char * const mcu_bus_parents[] = …;
static struct mtk_composite mcu_muxes[] = …;
#define DIV_ADJ_F(_id, _name, _parent, _reg, _shift, _width, _flags) …
static const struct mtk_clk_divider top_adj_divs[] = …;
static const struct mtk_gate_regs top0_cg_regs = …;
static const struct mtk_gate_regs top1_cg_regs = …;
static const struct mtk_gate_regs top2_cg_regs = …;
#define GATE_TOP0(_id, _name, _parent, _shift) …
#define GATE_TOP1(_id, _name, _parent, _shift) …
#define GATE_TOP2(_id, _name, _parent, _shift) …
static const struct mtk_gate top_clk_gates[] = …;
static const struct mtk_gate_regs ifr2_cg_regs = …;
static const struct mtk_gate_regs ifr3_cg_regs = …;
static const struct mtk_gate_regs ifr4_cg_regs = …;
static const struct mtk_gate_regs ifr5_cg_regs = …;
static const struct mtk_gate_regs ifr6_cg_regs = …;
#define GATE_IFRX(_id, _name, _parent, _shift, _regs) …
#define GATE_IFR2(_id, _name, _parent, _shift) …
#define GATE_IFR3(_id, _name, _parent, _shift) …
#define GATE_IFR4(_id, _name, _parent, _shift) …
#define GATE_IFR5(_id, _name, _parent, _shift) …
#define GATE_IFR6(_id, _name, _parent, _shift) …
static const struct mtk_gate ifr_clks[] = …;
static const struct mtk_gate_regs peri_cg_regs = …;
static const struct mtk_gate peri_clks[] = …;
static const struct mtk_clk_desc topck_desc = …;
static const struct mtk_clk_desc infra_desc = …;
static const struct mtk_clk_desc peri_desc = …;
static const struct mtk_clk_desc mcu_desc = …;
static const struct of_device_id of_match_clk_mt8365[] = …;
MODULE_DEVICE_TABLE(of, of_match_clk_mt8365);
static struct platform_driver clk_mt8365_drv = …;
module_platform_driver(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_LICENSE(…) …;