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.

[参考译文] PCM1780:关于设备树。

Guru**** 2555630 points
Other Parts Discussed in Thread: PCM1780

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

https://e2e.ti.com/support/audio-group/audio/f/audio-forum/1082161/pcm1780-about-the-device-tree

部件号:PCM1780

大家好,团队

我正在 Linux 平台上处理 pcm1780。

我已经自定义了 pcm179x Linux 驱动程序并尝试了原型驱动程序。 (驾驶员不是完美的。)

pcm1780连接到 STM32MP157的 SAI1和 SPI1。

[3.612164] ALSA 设备列表:
[3.613674]未找到声卡。

[22.409313] SPI_STM32 44004000.SPI:驱动程序已初始化

[65.393494] snd-so-pcm1780-SPI:pcm1780_SPI_probe
[65.414580] snd-so-pcm1780-SPI:devm_regmap_init_spi(),成功[9f06e26A]
[65.420197] snd-so-pcm1780-SPI:goto pcm1780_common_init()
[65.476548] snd-so-pcm1780-codec:pcm1780_common_init()
[65.480510] snd-soC-pcm1780-codec:devm_kzalloc(),成功
[65.551852] snd-so-pcm1780-codec:goto dev_set_drvdata()
[65.565813] snd-so-pcm1780-codec:goto devm_snd_soc_register_component()
[65.572999] snd-so-pcm1780-codec:pcm1780_set_da_fmt()
[65.595866]声卡:pcm1780-hifi <--> 4400a004.audio-controller 映射正常
[65.603073] ASOC-AUDIO-图形卡声音:ASOC:未找到 MCLK 的源构件
[65.727225] ASOC 声卡:ASOC:无法添加路由 MCLK ->直接->回放

声音{
兼容=“声卡图形卡”;
标签=“PCM1780_Audio”;
路由=
“回放”,“MCLK”;
Dais =<&sa1a 端口>;
状态=“正常”;
};

以上所述检测 MCLK 时出现问题,但引用的 pcm179x 驱动程序中没有 MCLK。

我是否在设备树中出错?

pcm179x (SPI)是否有示例设备树?

遗憾的是,“文档/设备树/绑定/sound /pcm179x.txt”不有用。

谢谢,

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

    让我与我的一位同事核实一下,看看这是否是我们可以支持的。 我将在下周的星期三通知你。

    此致,

    阿拉什

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

    我 咨询了我的同事,这就是我可以为你提供的。 希望这能解决 您的问题 或让您走上正确的道路。

    下面是 BBB 上 TAS27xx 的 DTS 设置。

    关于未找到声卡,您可以 使用命令 cat /proc/asound/PCM 来仔细检查它,以查看是否有正确的 PCM 节点。由于可能导致声卡注册失败的原因太多, 您可以在 Google 中搜索它。

    此致

    阿拉什

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

    感谢你的回复。

    我希望您的建议是自定义以下文件。

    Ararch\arm\boot\DTS\AM335x-bonebblack-common.dtsi
    Ararch\arm\boot\DTS\AM335x-osd3358-SM-RELD.DTS

    不幸的是,我无法解决问题。

    “简单音频卡”和“音频图形卡”之间是否存在差异?
    我已确认原型驱动程序可以使用以下设置。

    声音{
     兼容=“声卡图形卡”;
     标签="IoTGateway";
     //路由=
      //“回放”,“MCLK”;
     Dais =<&sa1a 端口>;
     状态=“正常”;
    };


    &SPI1{
     pinctrl-names ="default","sleep";
     pinctrl-0 =<&SPI1_PINS_A1 &SPI1_PIN_A2>;
     pinctrl-1 =<&SPI1_SLEE_BINS_A1 &SPI1_SLEE_BINS_A2>;
     CS-GPIOs =<&gpioa 15 GPIO _有源_高>;
     状态=“正常”;

     编码解码器:1780@0 {
      兼容="ti,pcm1780";
      时钟=<&sa1a>;
      时钟名称=“MCLK”;
      SPI-max-frequency =<600000>;
      REG =<0>;

      pcm1780_port:端口{
      #address-cells =<1>;
      #size-单元格=<0>;

      pcm1780_TX_endpoint:端点@0{
       REG =<0>;
       远程端点=<&sa1a 端点>;
       帧主机;
       比特时钟主控;
      };
     };
    };
    };

    赛义1{(&S)
     时钟=<&RCC SAI1>,<&RCC PLL3_Q>,</RCC PLL3_R>;
     时钟名称="pclk","x8k","x11k";
     pinctrl-names ="default","sleep";
     pinctrl-0 =<&sa1a 引脚_a>;
     pinctrl-1 =<&sa1a 休眠引脚_a>;
     状态=“正常”;

     回答1a:音频控制器@4400a004 {
      #clock-cells =<0>;
      dma-names ="TX";
      时钟=<&RCC SAI1_K>;
      时钟名称=“SAI_ck”;
      状态=“正常”;

      赛义1a_port:端口{
       赛义1a_endpoint:端点{
        远程端点=<&pcm1780_TX_endpoint>;
        格式="I2S";
        MCLK-FS =<512>;
        di-tdm-slot-num =<2>;
        di-tdm-slot-width =<32>;
       };
      };
     };
     @:音频控制器4400a024 {
      状态=“已禁用”;
     };
    };

    但是,音频输出尚未确认。
    应避免使用此部件,因为 pcm1780不支持寄存器读取。
    我认为 pcm1780不适合用作 ALSA 设备...
    此外,在音频输出中,“写入错误:输入/输出错误”在播放中出现。

    谢谢,

    西村

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

     您好 Nishimura, 如果您需要其他 零件建议,请告诉我们您需要的规格,我们可以为您提供一些建议。  如果您想详细讨论上述代码和驱动 程序,您可以给我电子邮件,我会看到我的同事是否可以为您提供更多帮助。

    此致,

    阿拉什

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

    感谢您的善意支持。
    不幸的是,我停止使用 pcm1780。

    谢谢,

    西村