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.

[参考译文] TLV320AIC3109-Q1:应如何编写音频链路?

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

https://e2e.ti.com/support/audio-group/audio/f/audio-forum/1651684/tlv320aic3109-q1-how-should-the-audio-link-be-written

器件型号: TLV320AIC3109-Q1

image.png这是我的音频系统的原理图。 请忽略标有 es8388 的输入、因为它尚未更新。 关于麦克风、在驱动程序中、我只找到了 snd_SOC_DAPM_input(“MIC1LP“);snd_SOC_DAPM_input(“MIC1RP“);snd_SOC_DAPM_input(“MIC1LM“);但硬件显示的是 MIC1LP/LINE1LP、MIC1LM/LINE1LM、MIC2P/LINE2P、MICE2M/LINE2M。 您能告诉我应该如何编写设备树链接、还是需要更改驱动程序吗?

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

    您好、

    我认为该器件应该使用 tlv320aic3x.c 驱动器、而不是 31xx.c 驱动器、因为似乎 31xx.c 驱动器处理带有扬声器放大器的器件、而 AIC3109-Q1 没有扬声器放大器。 另外、它与 AIC3109 的寄存器映射排列更好。 从 tlv320aic3x.h 开始:

    然后是用于单端和差分的线路输入模式多路复用器枚举。

    此驱动程序的帮助文件位于以下位置:

    Texas Instruments - tlv320aic3x Codec module
    
    The tlv320aic3x serial control bus communicates through I2C protocols
    
    Required properties:
    
    - compatible - "string" - One of:
        "ti,tlv320aic3x" - Generic TLV320AIC3x device
        "ti,tlv320aic33" - TLV320AIC33
        "ti,tlv320aic3007" - TLV320AIC3007
        "ti,tlv320aic3106" - TLV320AIC3106
        "ti,tlv320aic3104" - TLV320AIC3104
    
    
    - reg - <int> -  I2C slave address
    
    
    Optional properties:
    
    - reset-gpios - GPIO specification for the active low RESET input.
    - ai3x-gpio-func - <array of 2 int> - AIC3X_GPIO1 & AIC3X_GPIO2 Functionality
    				    - Not supported on tlv320aic3104
    - ai3x-micbias-vg - MicBias Voltage required.
    	1 - MICBIAS output is powered to 2.0V,
    	2 - MICBIAS output is powered to 2.5V,
    	3 - MICBIAS output is connected to AVDD,
    	If this node is not mentioned or if the value is incorrect, then MicBias
    	is powered down.
    - ai3x-ocmv - Output Common-Mode Voltage selection:
    	0 - 1.35V,
    	1 - 1.5V,
    	2 - 1.65V,
    	3 - 1.8V
    - AVDD-supply, IOVDD-supply, DRVDD-supply, DVDD-supply : power supplies for the
      device as covered in Documentation/devicetree/bindings/regulator/regulator.txt
    
    Deprecated properties:
    
    - gpio-reset - gpio pin number used for codec reset
    
    CODEC output pins:
      * LLOUT
      * RLOUT
      * MONO_LOUT
      * HPLOUT
      * HPROUT
      * HPLCOM
      * HPRCOM
    
    CODEC input pins for TLV320AIC3104:
      * MIC2L
      * MIC2R
      * LINE1L
      * LINE1R
    
    CODEC input pins for other compatible codecs:
      * MIC3L
      * MIC3R
      * LINE1L
      * LINE2L
      * LINE1R
      * LINE2R
    
    The pins can be used in referring sound node's audio-routing property.
    
    Example:
    
    #include <dt-bindings/gpio/gpio.h>
    
    tlv320aic3x: tlv320aic3x@1b {
    	compatible = "ti,tlv320aic3x";
    	reg = <0x1b>;
    
    	reset-gpios = <&gpio1 17 GPIO_ACTIVE_LOW>;
    
    	AVDD-supply = <&regulator>;
    	IOVDD-supply = <&regulator>;
    	DRVDD-supply = <&regulator>;
    	DVDD-supply = <&regulator>;
    };
    

    此致、
    Mir

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

    e2e.ti.com/.../2117.tlv320aic3x.he2e.ti.com/.../0550.tlv320aic3x.cMay我询问是否可以使用此驱动程序文件? 我在 SDK 中找到这个、如果可以使用、它可能更适合我内核的各种接口。

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

    您好、

    官方的 Linux 内核驱动程序可在此处找到:

    https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/tree/sound/soc lv320aic3x.c
    https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/tree/sound/soc codecs/tlv320aic3x.h

    它们可以在 AIC3109 产品页面的 TI.com 上找到、也可以在此处找到: https://www.ti.com/tool/TLV320AIC31XX-DRIVERS (抱歉,存在冲突的命名方案,但该站点上的链接指向 3x 驱动程序、而不是 31xx)。

    此致、
    Mir

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

    我的意思是、是否可以使用我发送的驱动程序文件、内部的处理逻辑是否会改变、以及它是否适合我的硬件信息。 因为我从官方网站下载的驱动程序有许多尚未在我的内核中更新的接口,我发送的一个是完全兼容我的接口。 如果我发送的那一个可以使用、我想我会使用它。

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

    如果您找到的驱动程序位于您的内核中、那么它应该可以正常工作。 Linux 驱动程序针对每个内核进行测试和发布、然后当内核更新时、驱动程序会更新以匹配。 所以,我的链接是最近的内核(在 git 上的 master 分支)。 但对于其他内核、驱动程序应位于同一文件夹中。  

    如果您在将编解码器与该驱动程序配合使用后遇到特定问题、请告诉我、我可以深入了解。  

    此致、
    Mir