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.

[参考译文] PCM1865:驱动程序

Guru**** 2812105 points

Other Parts Discussed in Thread: PCM1865

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

https://e2e.ti.com/support/audio-group/audio/f/audio-forum/924590/pcm1865-driver

器件型号:PCM1865

我使用的是具有 PCM1865 ADC 的 iMX8M 开发板。 内核版本- Linux 4.19.35

我无法在 ALSA 驱动程序列表下获取 PCM1865编解码器。 下面是我的设备树配置和简单音频卡。

sound-pcm1865{
               兼容="简单音频卡";
               simple-audio-card、name ="pcm1865-audio";
               simple-audio-card、小工具=
                       "线路"、"插孔1中的线路"、
                       "线路"、"插孔2中的线路"、
                       "线路"、"插孔3中的线路"、
                       "线路"、"插孔4中的线路";
               简单音频卡,路由=
                       "插孔1中的线路"、"VINL1"、
                       "插孔1中的线路"、"VINR1"、
                       "插孔2中的线路"、"VINL2"、
                       "插孔2中的线路"、"VINR2"、
                       "插孔3中的线路"、"VINL3"、
                       "插孔3中的线路"、"VINR3"、
                       "插孔4中的线路"、"VINL4"、
                       "插孔4中的线路"、"VINR4";
               simple-audio-card、format ="I2S";
               simple-audio-card、bitclock-master =<&sound_master>;
               simple-audio-card、frame-master =<&sound_master>;

               sound_master:simple-audio-card、CPU{
                       Sound-Dai =<&SAI2>;
               };

               简单音频卡、编解码器{
                       Sound-Dai =<&pcm1865>;
                       系统时钟频率=<12288000>;
               };
       };

SAI2{
       pinctrl-names ="default";
       pinctrl-0 =<&pinctrl_SAI2>;
       分配的时钟=<&clk IMX8MM_CLK_SAI2>;
       分配的时钟父级=<&clk IMX8MM_AUDIO_PLL1_OUT>;
       分配的时钟速率=<12288000>;
       状态="正常";
};

i2c4{(&I)
       时钟频率=<100000 >;
       pinctrl-names ="default";
       pinctrl-0 =<&pinctrl_i2c4>;
       状态="正常";

       pcm1865:编解码器@4a{
               #sound-di-cells =<1>;
               兼容="ti、pcm1865";
               reg =<0x4a>;
               时钟名称="MCLK";
               AVDD-SUPPLY =<&ldo1_reg>;
               DVDD 电源=<&ldo1_reg>;
               IOVdd-supply =<&ldo1_reg>;
               状态="正常";
       };
};

我也不确定 ALSA 驱动程序所需的硬件接线。 目前、我仅将 I2C (SCL、SDA)线路连接到 iMX8M 板。 使用公共接地提供单独的电源。  

是否需要 I2S 连接(BCLK、LRCK、DOUT 以及 MCLK)才能在 ALSA 驱动程序列表下检测到 PCM1865编解码器?

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

    您好、马来语、

    无需连接 I2S 线路即可检测 ADC、因为 ADC 和驱动器之间的所有通信都是通过 I2C 进行的。

    您可能需要首先验证 PCM1865是否已正确通电。

    我不是 Linux 专家、但您可能还需要检查 I2C 设置并验证 PCM186x 地址是否正确。 md0应拉低以将器件置于 I2C 模式、然后地址将取决于 MS/MS 引脚的状态。 您可以使用 i2cget 命令尝试读取器件上的寄存器、以验证 I2C 连接

    最棒的

    Zak

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

    感谢 Zak 的澄清。