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