summaryrefslogtreecommitdiffstats
path: root/sound/soc/fsl/fsl_rpmsg.h
diff options
context:
space:
mode:
authorShengjiu Wang <shengjiu.wang@nxp.com>2021-03-12 03:38:41 +0100
committerMark Brown <broonie@kernel.org>2021-03-25 14:58:07 +0100
commitb73d9e6225e86492f6a901223a34ecfa7b55c178 (patch)
tree7488b96affc0db3d7e4f0eed3fbcd34d420084aa /sound/soc/fsl/fsl_rpmsg.h
parentASoC: soc-component: Add snd_soc_pcm_component_ack (diff)
downloadlinux-b73d9e6225e86492f6a901223a34ecfa7b55c178.tar.xz
linux-b73d9e6225e86492f6a901223a34ecfa7b55c178.zip
ASoC: fsl_rpmsg: Add CPU DAI driver for audio base on rpmsg
This is a cpu dai driver for rpmsg audio use case, which is mainly used for getting the user's configuration from devicetree and configure the clocks which is used by Cortex-M core. Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com> Link: https://lore.kernel.org/r/1615516725-4975-3-git-send-email-shengjiu.wang@nxp.com Signed-off-by: Mark Brown <broonie@kernel.org>
Diffstat (limited to 'sound/soc/fsl/fsl_rpmsg.h')
-rw-r--r--sound/soc/fsl/fsl_rpmsg.h35
1 files changed, 35 insertions, 0 deletions
diff --git a/sound/soc/fsl/fsl_rpmsg.h b/sound/soc/fsl/fsl_rpmsg.h
new file mode 100644
index 000000000000..4f5b49eb18d8
--- /dev/null
+++ b/sound/soc/fsl/fsl_rpmsg.h
@@ -0,0 +1,35 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+/*
+ * Copyright 2017-2021 NXP
+ */
+
+#ifndef __FSL_RPMSG_H
+#define __FSL_RPMSG_H
+
+/*
+ * 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
+ * @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;
+ unsigned int mclk_streams;
+ int force_lpa;
+ int enable_lpa;
+ int buffer_size;
+};
+#endif /* __FSL_RPMSG_H */