#include <linux/clk.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 <dt-bindings/clock/mt2712-clk.h>
static DEFINE_SPINLOCK(mt2712_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 pwm_parents[] = …;
static const char * const vdec_parents[] = …;
static const char * const venc_parents[] = …;
static const char * const mfg_parents[] = …;
static const char * const camtg_parents[] = …;
static const char * const uart_parents[] = …;
static const char * const spi_parents[] = …;
static const char * const usb20_parents[] = …;
static const char * const usb30_parents[] = …;
static const char * const msdc50_0_h_parents[] = …;
static const char * const msdc50_0_parents[] = …;
static const char * const msdc30_1_parents[] = …;
static const char * const msdc30_3_parents[] = …;
static const char * const audio_parents[] = …;
static const char * const aud_intbus_parents[] = …;
static const char * const pmicspi_parents[] = …;
static const char * const dpilvds1_parents[] = …;
static const char * const atb_parents[] = …;
static const char * const nr_parents[] = …;
static const char * const nfi2x_parents[] = …;
static const char * const irda_parents[] = …;
static const char * const cci400_parents[] = …;
static const char * const aud_1_parents[] = …;
static const char * const aud_2_parents[] = …;
static const char * const mem_mfg_parents[] = …;
static const char * const axi_mfg_parents[] = …;
static const char * const scam_parents[] = …;
static const char * const nfiecc_parents[] = …;
static const char * const pe2_mac_p0_parents[] = …;
static const char * const dpilvds_parents[] = …;
static const char * const hdcp_parents[] = …;
static const char * const hdcp_24m_parents[] = …;
static const char * const rtc_parents[] = …;
static const char * const spinor_parents[] = …;
static const char * const apll_parents[] = …;
static const char * const a1sys_hp_parents[] = …;
static const char * const a2sys_hp_parents[] = …;
static const char * const asm_l_parents[] = …;
static const char * const i2so1_parents[] = …;
static const char * const ether_125m_parents[] = …;
static const char * const ether_50m_parents[] = …;
static const char * const jpgdec_parents[] = …;
static const char * const spislv_parents[] = …;
static const char * const ether_parents[] = …;
static const char * const di_parents[] = …;
static const char * const tvd_parents[] = …;
static const char * const i2c_parents[] = …;
static const char * const msdc0p_aes_parents[] = …;
static const char * const cmsys_parents[] = …;
static const char * const gcpu_parents[] = …;
static const char * const aud_apll1_parents[] = …;
static const char * const aud_apll2_parents[] = …;
static const char * const apll1_ref_parents[] = …;
static const char * const audull_vtx_parents[] = …;
static struct mtk_composite top_muxes[] = …;
static const char * const mcu_mp0_parents[] = …;
static const char * const mcu_mp2_parents[] = …;
static const char * const mcu_bus_parents[] = …;
static struct mtk_composite mcu_muxes[] = …;
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 = …;
#define GATE_TOP0(_id, _name, _parent, _shift) …
#define GATE_TOP1(_id, _name, _parent, _shift) …
static const struct mtk_gate top_clks[] = …;
static const struct mtk_gate_regs infra_cg_regs = …;
#define GATE_INFRA(_id, _name, _parent, _shift) …
static const struct mtk_gate infra_clks[] = …;
static const struct mtk_gate_regs peri0_cg_regs = …;
static const struct mtk_gate_regs peri1_cg_regs = …;
static const struct mtk_gate_regs peri2_cg_regs = …;
#define GATE_PERI0(_id, _name, _parent, _shift) …
#define GATE_PERI1(_id, _name, _parent, _shift) …
#define GATE_PERI2(_id, _name, _parent, _shift) …
static const struct mtk_gate peri_clks[] = …;
static u16 infrasys_rst_ofs[] = …;
static u16 pericfg_rst_ofs[] = …;
static const struct mtk_clk_rst_desc clk_rst_desc[] = …;
static const struct mtk_clk_desc topck_desc = …;
static const struct mtk_clk_desc mcu_desc = …;
static const struct mtk_clk_desc infra_desc = …;
static const struct mtk_clk_desc peri_desc = …;
static const struct of_device_id of_match_clk_mt2712[] = …;
MODULE_DEVICE_TABLE(of, of_match_clk_mt2712);
static struct platform_driver clk_mt2712_drv = …;
module_platform_driver(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_LICENSE(…) …;