fsl_rpmsg.h 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. /* SPDX-License-Identifier: GPL-2.0 */
  2. /*
  3. * Copyright 2017-2021 NXP
  4. */
  5. #ifndef __FSL_RPMSG_H
  6. #define __FSL_RPMSG_H
  7. /*
  8. * struct fsl_rpmsg_soc_data
  9. * @rates: supported rates
  10. * @formats: supported formats
  11. */
  12. struct fsl_rpmsg_soc_data {
  13. int rates;
  14. u64 formats;
  15. };
  16. /*
  17. * struct fsl_rpmsg - rpmsg private data
  18. *
  19. * @ipg: ipg clock for cpu dai (SAI)
  20. * @mclk: master clock for cpu dai (SAI)
  21. * @dma: clock for dma device
  22. * @pll8k: parent clock for multiple of 8kHz frequency
  23. * @pll11k: parent clock for multiple of 11kHz frequency
  24. * @card_pdev: Platform_device pointer to register a sound card
  25. * @soc_data: soc specific data
  26. * @mclk_streams: Active streams that are using baudclk
  27. * @force_lpa: force enable low power audio routine if condition satisfy
  28. * @enable_lpa: enable low power audio routine according to dts setting
  29. * @buffer_size: pre allocated dma buffer size
  30. */
  31. struct fsl_rpmsg {
  32. struct clk *ipg;
  33. struct clk *mclk;
  34. struct clk *dma;
  35. struct clk *pll8k;
  36. struct clk *pll11k;
  37. struct platform_device *card_pdev;
  38. const struct fsl_rpmsg_soc_data *soc_data;
  39. unsigned int mclk_streams;
  40. int force_lpa;
  41. int enable_lpa;
  42. int buffer_size;
  43. };
  44. #endif /* __FSL_RPMSG_H */