Linux SoC上USB调制解调器外部音频编解码器的ALSA驱动程序

Linux SoC上USB调制解调器外部音频编解码器的ALSA驱动程序,linux,driver,embedded-linux,modem,alsa,Linux,Driver,Embedded Linux,Modem,Alsa,我有一个USB调制解调器,它输出一个PCM接口,馈送到I2C音频编解码器 该编解码器作为SoC ALSA编解码器得到支持,我正在开发一个驱动程序,通过ALSA混频器管理声级 我想我有两个选择: 使用编解码器创建一个虚拟SoC声卡作为aux(snd_SoC_aux_dev)设备。编解码器的配置在init()函数中是固定的,ALSA不管理PCM接口,只管理级别。这样,我就不会使用编解码器驱动程序中已经实现的所有函数来设置时钟、速率和格式 或者创建一个调制解调器声卡,该声卡输出具有正确速率和格式参

我有一个USB调制解调器,它输出一个PCM接口,馈送到I2C音频编解码器

该编解码器作为SoC ALSA编解码器得到支持,我正在开发一个驱动程序,通过ALSA混频器管理声级

我想我有两个选择:

  • 使用编解码器创建一个虚拟SoC声卡作为aux(
    snd_SoC_aux_dev
    )设备。编解码器的配置在init()函数中是固定的,ALSA不管理PCM接口,只管理级别。这样,我就不会使用编解码器驱动程序中已经实现的所有函数来设置时钟、速率和格式
  • 或者创建一个调制解调器声卡,该声卡输出具有正确速率和格式参数的DAI。这样我就可以使用编解码器驱动程序实现所有的功能

我应该把这种司机放在哪个地方?作为USB驱动程序的扩展,或作为SoC驱动程序?

您将如何从调制解调器声卡导出DAI?您可以尝试将这种类型的驱动程序放置在作为主机的SoC层中。