#include <linux/clk-provider.h>
#include <linux/err.h>
#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/of.h>
#include <linux/platform_device.h>
#include <linux/pm_clock.h>
#include <linux/pm_runtime.h>
#include <linux/regmap.h>
#include <dt-bindings/clock/qcom,lpass-sc7280.h>
#include <dt-bindings/clock/qcom,lpassaudiocc-sc7280.h>
#include "clk-alpha-pll.h"
#include "clk-branch.h"
#include "clk-rcg.h"
#include "clk-regmap.h"
#include "clk-regmap-divider.h"
#include "clk-regmap-mux.h"
#include "common.h"
#include "gdsc.h"
#include "reset.h"
enum { … };
static const struct pll_vco zonda_vco[] = …;
static struct clk_branch lpass_q6ss_ahbm_clk = …;
static struct clk_branch lpass_q6ss_ahbs_clk = …;
static const struct alpha_pll_config lpass_audio_cc_pll_config = …;
static struct clk_alpha_pll lpass_audio_cc_pll = …;
static const struct clk_div_table post_div_table_lpass_audio_cc_pll_out_aux2[] = …;
static struct clk_alpha_pll_postdiv lpass_audio_cc_pll_out_aux2 = …;
static const struct pll_vco lucid_vco[] = …;
static const struct alpha_pll_config lpass_aon_cc_pll_config = …;
static struct clk_alpha_pll lpass_aon_cc_pll = …;
static const struct clk_div_table post_div_table_lpass_aon_cc_pll_out_even[] = …;
static struct clk_alpha_pll_postdiv lpass_aon_cc_pll_out_even = …;
static const struct clk_div_table post_div_table_lpass_aon_cc_pll_out_odd[] = …;
static struct clk_alpha_pll_postdiv lpass_aon_cc_pll_out_odd = …;
static const struct parent_map lpass_audio_cc_parent_map_0[] = …;
static struct clk_regmap_div lpass_audio_cc_pll_out_aux2_div_clk_src;
static struct clk_regmap_div lpass_audio_cc_pll_out_main_div_clk_src;
static const struct clk_parent_data lpass_audio_cc_parent_data_0[] = …;
static const struct parent_map lpass_aon_cc_parent_map_0[] = …;
static const struct clk_parent_data lpass_aon_cc_parent_data_0[] = …;
static const struct parent_map lpass_aon_cc_parent_map_1[] = …;
static const struct clk_parent_data lpass_aon_cc_parent_data_1[] = …;
static const struct freq_tbl ftbl_lpass_aon_cc_main_rcg_clk_src[] = …;
static struct clk_rcg2 lpass_aon_cc_main_rcg_clk_src = …;
static const struct freq_tbl ftbl_lpass_aon_cc_tx_mclk_rcg_clk_src[] = …;
static struct clk_rcg2 lpass_aon_cc_tx_mclk_rcg_clk_src = …;
static struct clk_regmap_div lpass_audio_cc_pll_out_aux2_div_clk_src = …;
static struct clk_regmap_div lpass_audio_cc_pll_out_main_div_clk_src = …;
static struct clk_regmap_div lpass_aon_cc_cdiv_tx_mclk_div_clk_src = …;
static struct clk_regmap_div lpass_aon_cc_pll_out_main_cdiv_div_clk_src = …;
static const struct freq_tbl ftbl_lpass_audio_cc_ext_mclk0_clk_src[] = …;
static struct clk_rcg2 lpass_audio_cc_ext_mclk0_clk_src = …;
static struct clk_rcg2 lpass_audio_cc_ext_mclk1_clk_src = …;
static struct clk_rcg2 lpass_audio_cc_rx_mclk_clk_src = …;
static struct clk_regmap_div lpass_audio_cc_cdiv_rx_mclk_div_clk_src = …;
static struct clk_branch lpass_aon_cc_audio_hm_h_clk;
static struct clk_branch lpass_audio_cc_codec_mem0_clk = …;
static struct clk_branch lpass_audio_cc_codec_mem1_clk = …;
static struct clk_branch lpass_audio_cc_codec_mem2_clk = …;
static struct clk_branch lpass_audio_cc_codec_mem_clk = …;
static struct clk_branch lpass_audio_cc_ext_mclk0_clk = …;
static struct clk_branch lpass_audio_cc_ext_mclk1_clk = …;
static struct clk_branch lpass_audio_cc_rx_mclk_2x_clk = …;
static struct clk_branch lpass_audio_cc_rx_mclk_clk = …;
static struct clk_branch lpass_aon_cc_audio_hm_h_clk = …;
static struct clk_branch lpass_aon_cc_va_mem0_clk = …;
static struct clk_branch lpass_aon_cc_tx_mclk_2x_clk = …;
static struct clk_branch lpass_aon_cc_tx_mclk_clk = …;
static struct gdsc lpass_aon_cc_lpass_audio_hm_gdsc = …;
static struct clk_regmap *lpass_cc_sc7280_clocks[] = …;
static struct clk_regmap *lpass_aon_cc_sc7280_clocks[] = …;
static struct gdsc *lpass_aon_cc_sc7280_gdscs[] = …;
static struct clk_regmap *lpass_audio_cc_sc7280_clocks[] = …;
static struct regmap_config lpass_audio_cc_sc7280_regmap_config = …;
static const struct qcom_cc_desc lpass_cc_sc7280_desc = …;
static const struct qcom_cc_desc lpass_audio_cc_sc7280_desc = …;
static const struct qcom_reset_map lpass_audio_cc_sc7280_resets[] = …;
static const struct qcom_cc_desc lpass_audio_cc_reset_sc7280_desc = …;
static const struct of_device_id lpass_audio_cc_sc7280_match_table[] = …;
MODULE_DEVICE_TABLE(of, lpass_audio_cc_sc7280_match_table);
static int lpass_audio_setup_runtime_pm(struct platform_device *pdev)
{ … }
static int lpass_audio_cc_sc7280_probe(struct platform_device *pdev)
{ … }
static const struct dev_pm_ops lpass_audio_cc_pm_ops = …;
static struct platform_driver lpass_audio_cc_sc7280_driver = …;
static const struct qcom_cc_desc lpass_aon_cc_sc7280_desc = …;
static const struct of_device_id lpass_aon_cc_sc7280_match_table[] = …;
MODULE_DEVICE_TABLE(of, lpass_aon_cc_sc7280_match_table);
static int lpass_aon_cc_sc7280_probe(struct platform_device *pdev)
{ … }
static struct platform_driver lpass_aon_cc_sc7280_driver = …;
static int __init lpass_audio_cc_sc7280_init(void)
{ … }
subsys_initcall(lpass_audio_cc_sc7280_init);
static void __exit lpass_audio_cc_sc7280_exit(void)
{ … }
module_exit(lpass_audio_cc_sc7280_exit);
MODULE_DESCRIPTION(…) …;
MODULE_LICENSE(…) …;