sound/soc/fsl/fsl_rpmsg.h

Source file repositories/reference/linux-study-clean/sound/soc/fsl/fsl_rpmsg.h

File Facts

System
Linux kernel
Corpus path
sound/soc/fsl/fsl_rpmsg.h
Extension
.h
Size
1193 bytes
Lines
48
Domain
Driver Families
Bucket
sound/soc
Inferred role
Driver Families: implementation source
Status
source implementation candidate

Why This File Exists

Repeatable hardware-adapter layer. Deep compatibility for every driver is out of scope; this atlas records patterns, probe lifecycles, bus glue, IRQ/DMA usage, and links back to core abstractions.

Dependency Surface

Detected Declarations

Annotated Snippet

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[2];
};
#endif /* __FSL_RPMSG_H */

Annotation

Implementation Notes