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

// SPDX-License-Identifier: GPL-2.0-only
/*
 * Copyright (c) 2022 Collabora Ltd.
 * Author: AngeloGioacchino Del Regno <[email protected]>
 */

#include <dt-bindings/clock/mediatek,mt6795-clk.h>
#include <linux/module.h>
#include <linux/platform_device.h>
#include "clk-gate.h"
#include "clk-mtk.h"
#include "clk-mux.h"

/*
 * For some clocks, we don't care what their actual rates are. And these
 * clocks may change their rate on different products or different scenarios.
 * So we model these clocks' rate as 0, to denote it's not an actual rate.
 */
#define DUMMY_RATE

#define TOP_MUX_GATE_NOSR(_id, _name, _parents, _reg, _shift, _width, _gate, _flags)

#define TOP_MUX_GATE(_id, _name, _parents, _reg, _shift, _width, _gate, _flags)

static DEFINE_SPINLOCK(mt6795_top_clk_lock);

static const char * const aud_1_parents[] =;

static const char * const aud_2_parents[] =;

static const char * const aud_intbus_parents[] =;

static const char * const audio_parents[] =;

static const char * const axi_mfg_in_parents[] =;

static const char * const axi_parents[] =;

static const char * const camtg_parents[] =;

static const char * const cci400_parents[] =;

static const char * const ddrphycfg_parents[] =;

static const char * const dpi0_parents[] =;

static const char * const i2s0_m_ck_parents[] =;

static const char * const i2s1_m_ck_parents[] =;

static const char * const i2s2_m_ck_parents[] =;

static const char * const i2s3_m_ck_parents[] =;

static const char * const i2s3_b_ck_parents[] =;

static const char * const irda_parents[] =;

static const char * const mem_mfg_in_parents[] =;

static const char * const mem_parents[] =;

static const char * const mfg_parents[] =;

static const char * const mm_parents[] =;

static const char * const mjc_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_2_parents[] =;

static const char * const msdc30_3_parents[] =;

static const char * const pmicspi_parents[] =;

static const char * const pwm_parents[] =;

static const char * const scam_parents[] =;

static const char * const scp_parents[] =;

static const char * const spi_parents[] =;

static const char * const uart_parents[] =;

static const char * const usb20_parents[] =;

static const char * const usb30_parents[] =;

static const char * const vdec_parents[] =;

static const char * const venc_parents[] =;

static const struct mtk_fixed_clk fixed_clks[] =;

static const struct mtk_fixed_factor top_divs[] =;

static const struct mtk_mux top_muxes[] =;

static struct mtk_composite top_aud_divs[] =;

static const struct mtk_clk_desc topck_desc =;

static const struct of_device_id of_match_clk_mt6795_topckgen[] =;
MODULE_DEVICE_TABLE(of, of_match_clk_mt6795_topckgen);

static struct platform_driver clk_mt6795_topckgen_drv =;
module_platform_driver();

MODULE_DESCRIPTION();
MODULE_LICENSE();