linux/drivers/clk/mediatek/clk-mt8188-topckgen.c

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

#include <dt-bindings/clock/mediatek,mt8188-clk.h>
#include <linux/mod_devicetable.h>
#include <linux/platform_device.h>

#include "clk-gate.h"
#include "clk-mtk.h"
#include "clk-mux.h"

static DEFINE_SPINLOCK(mt8188_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 spm_parents[] =;

static const char * const scp_parents[] =;

static const char * const bus_aximem_parents[] =;

static const char * const vpp_parents[] =;

static const char * const ethdr_parents[] =;

static const char * const ipe_parents[] =;

static const char * const cam_parents[] =;

static const char * const ccu_parents[] =;

static const char * const ccu_ahb_parents[] =;

static const char * const img_parents[] =;

static const char * const camtm_parents[] =;

static const char * const dsp_parents[] =;

static const char * const dsp1_parents[] =;

static const char * const dsp2_parents[] =;

static const char * const dsp3_parents[] =;

static const char * const dsp4_parents[] =;

static const char * const dsp5_parents[] =;

static const char * const dsp6_parents[] =;

static const char * const dsp7_parents[] =;

static const char * const mfg_core_tmp_parents[] =;

static const char * const camtg_parents[] =;

static const char * const camtg2_parents[] =;

static const char * const camtg3_parents[] =;

static const char * const uart_parents[] =;

static const char * const spi_parents[] =;

static const char * const msdc5hclk_parents[] =;

static const char * const msdc50_0_parents[] =;

static const char * const msdc30_1_parents[] =;

static const char * const msdc30_2_parents[] =;

static const char * const intdir_parents[] =;

static const char * const aud_intbus_parents[] =;

static const char * const audio_h_parents[] =;

static const char * const pwrap_ulposc_parents[] =;

static const char * const atb_parents[] =;

static const char * const sspm_parents[] =;

/*
 * Both DP/eDP can be parented to TVDPLL1 and TVDPLL2, but we force using
 * TVDPLL1 on eDP and TVDPLL2 on DP to avoid changing the "other" PLL rate
 * in dual output case, which would lead to corruption of functionality loss.
 */
static const char * const dp_parents[] =;
static const u8 dp_parents_idx[] =;

static const char * const edp_parents[] =;
static const u8 edp_parents_idx[] =;

static const char * const dpi_parents[] =;

static const char * const disp_pwm0_parents[] =;

static const char * const disp_pwm1_parents[] =;

static const char * const usb_parents[] =;

static const char * const ssusb_xhci_parents[] =;

static const char * const usb_2p_parents[] =;

static const char * const ssusb_xhci_2p_parents[] =;

static const char * const usb_3p_parents[] =;

static const char * const ssusb_xhci_3p_parents[] =;

static const char * const i2c_parents[] =;

static const char * const seninf_parents[] =;

static const char * const seninf1_parents[] =;

static const char * const gcpu_parents[] =;

static const char * const venc_parents[] =;

static const char * const vdec_parents[] =;

static const char * const pwm_parents[] =;

static const char * const mcupm_parents[] =;

static const char * const spmi_p_mst_parents[] =;

static const char * const spmi_m_mst_parents[] =;

static const char * const dvfsrc_parents[] =;

static const char * const tl_parents[] =;

static const char * const aes_msdcfde_parents[] =;

static const char * const dsi_occ_parents[] =;

static const char * const wpe_vpp_parents[] =;

static const char * const hdcp_parents[] =;

static const char * const hdcp_24m_parents[] =;

static const char * const hdmi_apb_parents[] =;

static const char * const snps_eth_250m_parents[] =;

static const char * const snps_eth_62p4m_ptp_parents[] =;

static const char * const snps_eth_50m_rmii_parents[] =;

static const char * const adsp_parents[] =;

static const char * const audio_local_bus_parents[] =;

static const char * const asm_h_parents[] =;

static const char * const asm_l_parents[] =;

static const char * const apll1_parents[] =;

static const char * const apll2_parents[] =;

static const char * const apll3_parents[] =;

static const char * const apll4_parents[] =;

static const char * const apll5_parents[] =;

static const char * const i2so1_parents[] =;

static const char * const i2so2_parents[] =;

static const char * const i2si1_parents[] =;

static const char * const i2si2_parents[] =;

static const char * const dptx_parents[] =;

static const char * const aud_iec_parents[] =;

static const char * const a1sys_hp_parents[] =;

static const char * const a2sys_parents[] =;

static const char * const a3sys_parents[] =;

static const char * const a4sys_parents[] =;

static const char * const ecc_parents[] =;

static const char * const spinor_parents[] =;

static const char * const ulposc_parents[] =;

static const char * const srck_parents[] =;

static const char * const mfg_fast_ref_parents[] =;

static const struct mtk_mux top_mtk_muxes[] =;

static const struct mtk_composite 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 of_device_id of_match_clk_mt8188_topck[] =;
MODULE_DEVICE_TABLE(of, of_match_clk_mt8188_topck);

/* Register mux notifier for MFG mux */
static int clk_mt8188_reg_mfg_mux_notifier(struct device *dev, struct clk *clk)
{}

static int clk_mt8188_topck_probe(struct platform_device *pdev)
{}

static void clk_mt8188_topck_remove(struct platform_device *pdev)
{}

static struct platform_driver clk_mt8188_topck_drv =;
module_platform_driver();

MODULE_DESCRIPTION();
MODULE_LICENSE();