0001
0002
0003 #ifndef __Q6DSP_AUDIO_CLOCKS_H__
0004 #define __Q6DSP_AUDIO_CLOCKS_H__
0005
0006 struct q6dsp_clk_init {
0007 int clk_id;
0008 int q6dsp_clk_id;
0009 char *name;
0010 int rate;
0011 };
0012
0013 #define Q6DSP_VOTE_CLK(id, blkid, n) { \
0014 .clk_id = id, \
0015 .q6dsp_clk_id = blkid, \
0016 .name = n, \
0017 }
0018
0019 struct q6dsp_clk_desc {
0020 const struct q6dsp_clk_init *clks;
0021 size_t num_clks;
0022 int (*lpass_set_clk)(struct device *dev, int clk_id, int attr,
0023 int root_clk, unsigned int freq);
0024 int (*lpass_vote_clk)(struct device *dev, uint32_t hid, const char *n, uint32_t *h);
0025 int (*lpass_unvote_clk)(struct device *dev, uint32_t hid, uint32_t h);
0026 };
0027
0028 int q6dsp_clock_dev_probe(struct platform_device *pdev);
0029
0030 #endif