162306a36Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0 */ 262306a36Sopenharmony_ci/* 362306a36Sopenharmony_ci * Copyright 2017-2021 NXP 462306a36Sopenharmony_ci */ 562306a36Sopenharmony_ci 662306a36Sopenharmony_ci#ifndef __FSL_RPMSG_H 762306a36Sopenharmony_ci#define __FSL_RPMSG_H 862306a36Sopenharmony_ci 962306a36Sopenharmony_ci/* 1062306a36Sopenharmony_ci * struct fsl_rpmsg_soc_data 1162306a36Sopenharmony_ci * @rates: supported rates 1262306a36Sopenharmony_ci * @formats: supported formats 1362306a36Sopenharmony_ci */ 1462306a36Sopenharmony_cistruct fsl_rpmsg_soc_data { 1562306a36Sopenharmony_ci int rates; 1662306a36Sopenharmony_ci u64 formats; 1762306a36Sopenharmony_ci}; 1862306a36Sopenharmony_ci 1962306a36Sopenharmony_ci/* 2062306a36Sopenharmony_ci * struct fsl_rpmsg - rpmsg private data 2162306a36Sopenharmony_ci * 2262306a36Sopenharmony_ci * @ipg: ipg clock for cpu dai (SAI) 2362306a36Sopenharmony_ci * @mclk: master clock for cpu dai (SAI) 2462306a36Sopenharmony_ci * @dma: clock for dma device 2562306a36Sopenharmony_ci * @pll8k: parent clock for multiple of 8kHz frequency 2662306a36Sopenharmony_ci * @pll11k: parent clock for multiple of 11kHz frequency 2762306a36Sopenharmony_ci * @card_pdev: Platform_device pointer to register a sound card 2862306a36Sopenharmony_ci * @soc_data: soc specific data 2962306a36Sopenharmony_ci * @mclk_streams: Active streams that are using baudclk 3062306a36Sopenharmony_ci * @force_lpa: force enable low power audio routine if condition satisfy 3162306a36Sopenharmony_ci * @enable_lpa: enable low power audio routine according to dts setting 3262306a36Sopenharmony_ci * @buffer_size: pre allocated dma buffer size 3362306a36Sopenharmony_ci */ 3462306a36Sopenharmony_cistruct fsl_rpmsg { 3562306a36Sopenharmony_ci struct clk *ipg; 3662306a36Sopenharmony_ci struct clk *mclk; 3762306a36Sopenharmony_ci struct clk *dma; 3862306a36Sopenharmony_ci struct clk *pll8k; 3962306a36Sopenharmony_ci struct clk *pll11k; 4062306a36Sopenharmony_ci struct platform_device *card_pdev; 4162306a36Sopenharmony_ci const struct fsl_rpmsg_soc_data *soc_data; 4262306a36Sopenharmony_ci unsigned int mclk_streams; 4362306a36Sopenharmony_ci int force_lpa; 4462306a36Sopenharmony_ci int enable_lpa; 4562306a36Sopenharmony_ci int buffer_size; 4662306a36Sopenharmony_ci}; 4762306a36Sopenharmony_ci#endif /* __FSL_RPMSG_H */ 48