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