1 | /* SPDX-License-Identifier: GPL-2.0 */ |
2 | /* |
3 | * Copyright 2017-2021 NXP |
4 | */ |
5 | |
6 | #ifndef __FSL_RPMSG_H |
7 | #define __FSL_RPMSG_H |
8 | |
9 | /* |
10 | * struct fsl_rpmsg_soc_data |
11 | * @rates: supported rates |
12 | * @formats: supported formats |
13 | */ |
14 | struct fsl_rpmsg_soc_data { |
15 | int rates; |
16 | u64 formats; |
17 | }; |
18 | |
19 | /* |
20 | * struct fsl_rpmsg - rpmsg private data |
21 | * |
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 |
33 | */ |
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; |
46 | }; |
47 | #endif /* __FSL_RPMSG_H */ |
48 | |