/* SPDX-License-Identifier: GPL-2.0 */
/*
* Copyright 2017-2021 NXP
*/
#ifndef __FSL_RPMSG_H
#define __FSL_RPMSG_H
/*
* struct fsl_rpmsg_soc_data
* @rates: supported rates
* @formats: supported formats
*/
struct fsl_rpmsg_soc_data {
int rates;
u64 formats;
};
/*
* struct fsl_rpmsg - rpmsg private data
*
* @ipg: ipg clock for cpu dai (SAI)
* @mclk: master clock for cpu dai (SAI)
* @dma: clock for dma device
* @pll8k: parent clock for multiple of 8kHz frequency
* @pll11k: parent clock for multiple of 11kHz frequency
* @card_pdev: Platform_device pointer to register a sound card
* @soc_data: soc specific data
* @mclk_streams: Active streams that are using baudclk
* @force_lpa: force enable low power audio routine if condition satisfy
* @enable_lpa: enable low power audio routine according to dts setting
* @buffer_size: pre allocated dma buffer size
*/
struct fsl_rpmsg {
struct clk *ipg;
struct clk *mclk;
struct clk *dma;
struct clk *pll8k;
struct clk *pll11k;
struct platform_device *card_pdev;
const struct fsl_rpmsg_soc_data *soc_data;
unsigned int mclk_streams;
int force_lpa;
int enable_lpa;
int buffer_size;
};
#endif /* __FSL_RPMSG_H */