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

// SPDX-License-Identifier: GPL-2.0
/*
 * Copyright (C) 2022 MediaTek Inc.
 * Copyright (C) 2023 Collabora Ltd.
 *                    AngeloGioacchino Del Regno <[email protected]>
 */

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