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.

[参考译文] Linux/AM3354:TLV320AIC3100配置

Guru**** 2999690 points

Other Parts Discussed in Thread: AM3354, TLV320AIC3100

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/678309/linux-am3354-tlv320aic3100-configuration

器件型号:AM3354
主题中讨论的其他器件: TLV320AIC3100

工具/软件:Linux

您好!  

我正在尝试在 AM3354上集成音频编解码器。 我在内核配置中启用了驱动器、并添加了如下设备树。 和原理图。  

声音:sound_iface{
        兼容="ti、TLV320AIC3100";
};

AUDIO_PINS:pinmux_AUDIO_PINS{

         pinctrl-single、pins =<
              AM33XX_IOPAD (0x9AC、PIN_OUTPUT 下拉| MUX_MODE0)/*(A14) McASP0_ahclkx.McASP0_ahclkx - ASP0_MCLK *
              AM33XX_IOPAD (0x990、PIN_OUTPUT 下拉| MUX_MODE0)/*(A13) McASP0_aclkx.McASP0_aclkx - ASP0_BCLK */
              AM33XX_IOPAD (0x994、PIN_OUTPUT 下拉| MUX_MODE0)/*(B13) McASP0_FSX.McASP0_FSX - ASP0_WCLK */
              AM33XX_IOPAD (0x9A0、PIN_INPUT_PULLDOWN | MUX_Mode2)/*(B12) McASP0_aclkr.McASP0_aclkr - ASP0_DIN */
              AM33XX_IOPAD (0x998、PIN_OUTPUT 下拉| MUX_MODE0)/*(D12) McASP0_axr0.McASP0_axr0 - ASP0_DOUT *
        >;
};

i2c0{(&I)
       pinctrl-names ="default";
       pinctrl-0 =<&i2c0_PINs>;
       状态="正常";
       时钟频率=<400000>;
       TPS:TPS@2D{
            reg =<0x2D>;
       };

       TLV320AIC3100:TLV320AIC3100@18{
            #sound-di-cells =<0>;
            兼容="ti、TLV320AIC3100";
            reg =<0x18>;
            状态="正常";
            /*稳压器*/
            AVDD-SUPPLY =<&V aux2_reg>;
            IOVdd-supply =<&V aux2_reg>;
            DRVDD-SUPPLY =<&V aux2_reg>;
            DVDD 电源=<VBAT>;
       };
};

&McASP0{
       compatible ="ti、am33xx-mcasp-audio";
       pinctrl-names ="default";
       pinctrl-0 =<音频引脚>;
       OP-MODE =<0>;/* DaVinci_MCBSP_IIS_MODE */
       TDM-SLOTS =<2>;
       serial-dir =<
            1 0 2 0 /*# 0:非活动、1:TX、2:RX */
       >;
       tx-num-evt =<16>;
       rt-num-evt =<16>;
       状态="正常";
};

声音{(&S)
      TI、模型="am33xx-evm";
      TI、audio-codec =<&TLV320AIC3100>;
      TI、McASP-controller =<&McASP0>;
      TI、音频路由=
            "线路输出"、"LLOUT"、
            "线路输出"、"RLOUT"、
            "LINE1L"、"线路输入"、
            "LINE1R"、"线路输入";
      时钟=<&McASP0_fck>;
时钟名称="MCLK";
状态="正常";
};

请帮助我为编解码器生成 MCLK。  

谢谢你

Babu A

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

    您能否检查以下链接中描述的配置步骤是否完成?
    www.ti.com/.../tlv320aic31xxsw-linux

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

    感谢您的回复、

    随着器件树中的一些变化、

    TLV320AIC3100编解码器能够进行探测、但在 i2c0发生故障、并显示以下错误日志、

    [2.745008] tlv320aic31xx-codec 0-0018:无法同步寄存器0x1b-0x1b。 -121.
    [2.752883] tlv320aic31xx-codec 0-0018:无法恢复高速缓存:-121


    更新了器件树

    /{
    听起来{
    兼容="简单音频卡";
    simple-audio-card,name ="test";/*可以使用 original*/更改
    simple-audio-card、小工具=
    "麦克风"、"麦克风插孔"、
    "耳机"、"耳机插孔";
    简单音频卡,路由=
    "MIC1LP"、"麦克风插孔"、
    "MIC1RP"、"麦克风插孔"、
    "MIC1LP"、"MICBIAS"、
    "MIC1RP"、"MICBIAS"、
    "耳机插孔"、"HPL"、
    "耳机插孔"、"HPR";
    simple-audio-card、format ="DSP_b";
    simple-audio-card、bitclock-master =<&sound_master>;
    simple-audio-card、frame-master =<&sound_master>;
    简单音频卡、位时钟反转;

    简单音频卡、CPU{
    Sound-Dai =<&McASP0>;
    系统时钟频率=<12000000>;
    };

    sound_master:simple-audio-card、codec{
    Sound-Dai =<&TLV320AIC3100>;
    系统时钟频率=<12000000>;
    };
    };
    };

    i2c0{(&I)
    pinctrl-names ="default";
    pinctrl-0 =<&i2c0_PINs>;

    状态="正常";
    时钟频率=<400000>;

    TLV320AIC3100:TLV320AIC3100@18{
    #sound-di-cells =<0>;
    兼容="ti、TLV320AIC3100";
    reg =<0x18>;
    状态="正常";

    /*稳压器*/
    HPVDD-SUPPLY =<_vaux2_reg>;
    AVDD-SUPPLY =<&V aux2_reg>;
    IOVdd-supply =<&V aux2_reg>;
    DRVDD-SUPPLY =<&V aux2_reg>;
    DVDD 电源=<&V aux2_reg>;

    };
    };

    &McASP0{
    #sound-di-cells =<0>;
    pinctrl-names ="default";
    pinctrl-0 =<音频引脚>;
    OP-MODE =<0>;/* DaVinci_MCBSP_IIS_MODE */
    TDM-SLOTS =<2>;
    状态="正常";
    serial-dir =<
    1 0 2 0 /*# 0:非活动、1:TX、2:RX */
    >;
    tx-num-evt =<32>;
    rt-num-evt =<32>;
    };



    谢谢你
    Babu A
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    I2C 问题已通过以下器件树中的更改得到解决、

    i2c0{(&I)
    pinctrl-names ="default";
    pinctrl-0 =<&i2c0_PINs>;

    状态="正常";
    时钟频率=<400000>;

    TLV320AIC3100:TLV320AIC3100@18{
    #sound-di-cells =<0>;
    兼容="ti、TLV320AIC3100";
    reg =<0x18>;
    状态="正常";
    GPIO-RESET =<&GPIO1 24 GPIO_ACTIVE_LOW_>;

    /*稳压器*/
    HPVDD-SUPPLY =<_vaux2_reg>;
    AVDD-SUPPLY =<&V aux2_reg>;
    IOVdd-supply =<&V aux2_reg>;
    DRVDD-SUPPLY =<&V aux2_reg>;
    DVDD 电源=<&V aux2_reg>;

    };
    };