我有一个基于 imx28 CPU 的定制板。CPU 的串行端口连接到调制解调器的 PCM 输出。我必须为调制解调器的 PCM 接口开发一个驱动程序才能成为 ALSA SoC 的一部分。您能否指出内核树中与我的设置重新组合的一些驱动程序?
问问题
1341 次
1 回答
3
请参阅Documentation/sound/alsa/soc
Linux 源代码中的目录。它解释了 ASoC 驱动程序如何分为三类:
- 编解码器驱动程序:这些定义了音频控制、接口功能、DAPM 定义和编解码器 I/O 功能。在这种情况下,您的调制解调器被视为“编解码器”。在这种情况下,您的 CODEC 驱动程序可能会非常小,只需定义 PCM 采样率(假设它是固定的,例如 8000 个样本/秒)和数据格式(例如 16 位线性)。
- 查看源代码
sound/soc/codecs
- 如果您有 i.MX28 EVK(评估套件),请特别查看
sgtl5000.c
,mxs_spdif.c
因为 i.MX28 EVK 具有这两个 CODEC,您可以看到驱动程序如何使它们工作。
- 如果您有 i.MX28 EVK(评估套件),请特别查看
- 查看源代码
- 平台驱动程序:平台的音频 DMA 引擎和音频接口驱动程序(特别是 PCM),该平台是飞思卡尔 MXS 芯片系列。
- 机器驱动程序:任何机器特定的控件和音频事件。
对于平台和机器驱动程序,请参阅sound/soc/mxs
. 我不太清楚哪些被认为是“平台驱动程序”,哪些是“机器驱动程序”,因为它们没有明确说明。
mxs-spdif.c
和mxs-spdif-dai.c
,它们用于 S/PDIF 编解码器的 S/PDIF 接口(仅输出)。mxs-devb.c
和mxs-dai.c
,它们用于 SGTL5000 CODEC 的 SAIF 接口。mxs-pcm.c
我认为处理 DMA 的东西。
但我不知道 i.MX28 上是否有同步串行端口 (SSP) 外设的示例代码,这是您感兴趣的。
于 2012-11-15T22:52:58.243 回答