This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] TLV320ADC3140:Linux 与 Renesas RZ/G2L MPU 相集成

Guru**** 2466550 points
Other Parts Discussed in Thread: TLV320ADC3140

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/audio-group/audio/f/audio-forum/1259284/tlv320adc3140-linux-integration-with-a-renesas-rz-g2l-mpu

器件型号:TLV320ADC3140

您好

我目前正在尝试将 TLV320ADC3140与运行5.10 Linux 内核的 Renesas RZ/G2L MPU 集成在一起。

我的问题是、我只能从通道1进行记录。

内核使用进行编译:

CONFIG_SND_SIMPLE_CARD=m
CONFIG_SND_SOC_TLV320ADCX140=m

以包含 ADC 的驱动程序。

在器件树文件中、我已配置 ADC、如以下讨论内容所示:

AUDIO_MCLOCK:AUDIO_MCLOCK{
 兼容="固定时钟";
 #clock-cells =<0>;
 时钟频率=<11289600>;
};

tlv320_snd:声音{
 兼容="简单音频卡";
 simple-audio-card、小工具="麦克风"、"麦克风";
 简单音频卡、路由=
  "MIC1P"、"MIC"、
  "MIC1M"、"MIC"、
  "MIC2P"、"MIC"、
  "MIC2M"、"MIC"、
  "MIC3P"、"MIC"、
  "MIC3M"、"MIC"、
  "MIC4P"、"MIC"、
  "MIC4M"、"MIC";

 simple-audio-card,da-link@0{
  格式="I2S";
  bitclock-master =<&CPU_DAI>;
  FRAME-MASTER =<&CPU_DAI>;
  MCLK-FS =<256>;
  CPU_DAI:CPU{
   sound-dai =<&ssi0>;
  };

  CODEC_DAI:编解码器{
   sound-dai =<&tlv320adc3140>;
   Clocks =<&audio_mclock>;
  };
 };
};


i2c3 (&I)
 PINCCTRL-0 =<&i2c3_PINS>
 pinctrl-names ="默认"
 时钟频率=<400000>
 状态="可以"
 tlv320adc3140:编解码器@4c {
  #sound-Da-cells =<0>;
  兼容="ti, tlv320adc3140"
  寄存器=<0x4c>
  ti、mic-bias-source =<0>
  ti、pdm-edge-select =<1 1 1 1>;
  TI、GPIO-CONFIG =<10 0>
  TI、gpi-config =<4 5 6 7>;

  RESET-GPIO =<&pinctrl RZG2L_GPIO (402) GPIO_ACTIVE_HIGH>
 };
};


从 ADC 进行记录时、我将使用以下命令:
sudo arecord -vv -d 1 -D 默认-f dat -c 4 -t wav test.wav

这仅显示一个通道上的信号。



  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!  

    是否要录制4插槽? 当您的设置为 I2S 时、请正确设置并首先使用正确的命令、然后检查

    此问题。

     simple-audio-card,da-link@0{
      格式="I2S";

    sudo arecord -vv -d 1 -D 默认-f dat -c 4 -t wav test.wav //为什么要使用-c 4? 这意味着4通道。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好

    是的、我希望能够从所有4个 ADC 通道进行录制。  
    当我尝试使用 I2S 以外的其他格式时、显示错误:
    RZ-SSI-PCM-AUDIO 10049c00.SSI:仅支持 I2S 模式。
    RZ-SSI-PCM-AUDIO 10049c00.SSI:ASOC:10049c00.SSI 上 SND_SoC_DAI_SET_fmt 错误。SSI:-22

    你应该提出什么 arecord 命令呢? -c 4将从所有4个通道进行捕获。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    首先、我想向您确认是否对驱动程序代码进行了任何更改?

    然后、您将确认您的平台是否支持4插槽 TDM 作为从站? 如果可以这样做、您可以将 adc3140设置为主控方。

    对于 I2S、您不会指定通道编号、默认值为二。 谢谢。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    未对驱动程序进行任何更改。  
    事实证明 CPU 确实支持 TDM、但该功能尚未在驱动程序中实现。  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我们可以起诉我们的 BBB、让4槽 TDM 开发

    https://www.amazon.ca/WaveShare-BB-BeagleBone-Cortex-A8-Development/dp/B00KM6YTN6/ref=sr_1_1?keywords=beaglebone+black&qid=1691419815&sprefix=beagle%2Caps%2C120&sr=8-1

    该指导原则是

    doc - lpa-android-drivers/pcmdevice-linux-driver - Unnamed repository;编辑此文件'description'以命名存储库。