linux/drivers/clk/mediatek/clk-mt2712.c

// SPDX-License-Identifier: GPL-2.0-only
/*
 * Copyright (c) 2017 MediaTek Inc.
 * Author: Weiyi Lu <[email protected]>
 */

#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();