Back to home page

OSCL-LXR

 
 

    


0001 /* SPDX-License-Identifier: GPL-2.0 */
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  /* __Q6DSP_AUDIO_CLOCKS_H__ */