linux/drivers/clk/qcom/lcc-msm8960.c

// SPDX-License-Identifier: GPL-2.0-only
/*
 * Copyright (c) 2014, The Linux Foundation. All rights reserved.
 */

#include <linux/kernel.h>
#include <linux/bitops.h>
#include <linux/err.h>
#include <linux/platform_device.h>
#include <linux/module.h>
#include <linux/of.h>
#include <linux/clk-provider.h>
#include <linux/regmap.h>

#include <dt-bindings/clock/qcom,lcc-msm8960.h>

#include "common.h"
#include "clk-regmap.h"
#include "clk-pll.h"
#include "clk-rcg.h"
#include "clk-branch.h"
#include "clk-regmap-divider.h"
#include "clk-regmap-mux.h"

static struct clk_parent_data pxo_parent_data =;

static struct clk_pll pll4 =;

enum {};

static const struct parent_map lcc_pxo_pll4_map[] =;

static struct clk_parent_data lcc_pxo_pll4[] =;

static struct freq_tbl clk_tbl_aif_osr_492[] =;

static struct freq_tbl clk_tbl_aif_osr_393[] =;

#define CLK_AIF_OSR_SRC(prefix, _ns, _md)								\

#define CLK_AIF_OSR_CLK(prefix, _ns, hr, en_bit)								\

#define CLK_AIF_OSR_DIV_CLK(prefix, _ns, _width)								\

#define CLK_AIF_OSR_BIT_DIV_CLK(prefix, _ns, hr, en_bit)								\

#define CLK_AIF_OSR_BIT_CLK(prefix, _ns, _shift)

CLK_AIF_OSR_SRC(mi2s, 0x48, 0x4c)
CLK_AIF_OSR_CLK()
CLK_AIF_OSR_DIV_CLK()
CLK_AIF_OSR_BIT_DIV_CLK()
CLK_AIF_OSR_BIT_CLK()

#define CLK_AIF_OSR_DIV(prefix, _ns, _md, hr)

CLK_AIF_OSR_DIV(codec_i2s_mic, 0x60, 0x64, 0x68);
CLK_AIF_OSR_DIV(spare_i2s_mic, 0x78, 0x7c, 0x80);
CLK_AIF_OSR_DIV(codec_i2s_spkr, 0x6c, 0x70, 0x74);
CLK_AIF_OSR_DIV(spare_i2s_spkr, 0x84, 0x88, 0x8c);

static struct freq_tbl clk_tbl_pcm_492[] =;

static struct freq_tbl clk_tbl_pcm_393[] =;

static struct clk_rcg pcm_src =;

static struct clk_branch pcm_clk_out =;

static struct clk_regmap_mux pcm_clk =;

static struct clk_rcg slimbus_src =;

static struct clk_branch audio_slimbus_clk =;

static struct clk_branch sps_slimbus_clk =;

static struct clk_regmap *lcc_msm8960_clks[] =;

static const struct regmap_config lcc_msm8960_regmap_config =;

static const struct qcom_cc_desc lcc_msm8960_desc =;

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

static int lcc_msm8960_probe(struct platform_device *pdev)
{}

static struct platform_driver lcc_msm8960_driver =;
module_platform_driver();

MODULE_DESCRIPTION();
MODULE_LICENSE();
MODULE_ALIAS();