q6dsp-lpass-clocks.h 750 B

123456789101112131415161718192021222324252627282930
  1. /* SPDX-License-Identifier: GPL-2.0 */
  2. #ifndef __Q6DSP_AUDIO_CLOCKS_H__
  3. #define __Q6DSP_AUDIO_CLOCKS_H__
  4. struct q6dsp_clk_init {
  5. int clk_id;
  6. int q6dsp_clk_id;
  7. char *name;
  8. int rate;
  9. };
  10. #define Q6DSP_VOTE_CLK(id, blkid, n) { \
  11. .clk_id = id, \
  12. .q6dsp_clk_id = blkid, \
  13. .name = n, \
  14. }
  15. struct q6dsp_clk_desc {
  16. const struct q6dsp_clk_init *clks;
  17. size_t num_clks;
  18. int (*lpass_set_clk)(struct device *dev, int clk_id, int attr,
  19. int root_clk, unsigned int freq);
  20. int (*lpass_vote_clk)(struct device *dev, uint32_t hid, const char *n, uint32_t *h);
  21. int (*lpass_unvote_clk)(struct device *dev, uint32_t hid, uint32_t h);
  22. };
  23. int q6dsp_clock_dev_probe(struct platform_device *pdev);
  24. #endif /* __Q6DSP_AUDIO_CLOCKS_H__ */