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.

[参考译文] CCS/TLV320AIC3104:如何更改3104驱动程序(在 TI.com 上)以将寄存器93 D0值设置为1?

Guru**** 2489685 points


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

https://e2e.ti.com/support/audio-group/audio/f/audio-forum/887247/ccs-tlv320aic3104-how-to-change-the-3104-driver-on-ti-com-to-set-register-93-d0-value-to-1

器件型号:TLV320AIC3104

工具/软件:Code Composer Studio

大家好、

您能否告诉我们如何更改3104驱动程序(在 TI.com 上)以将寄存器93 D0默认值设置为1?

首先、我们发现寄存器93 D0的默认值为0。

然后、我们尝试将代码添加到函数 aic3x_hw_params()中、以将 D0更改为1。 但它不起作用、D0仍然为0、我们需要手动更改值。

您知道哪个函数修正寄存器的 D0位吗? 以及如何更改它?

非常感谢。

此致

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

    您好!

    我们的 AIC3104首席工程师将在休息一段时间后返回办公室、并将于明天返回办公室。   

    我们不是 Linux 驱动程序方面的专家、但可以查看这些信息并了解我们可以提供哪些帮助。  如果创建一个专用函数看起来不起作用、也可以通过通用 I2C 写入/读取来更改寄存器。  可以尝试一下吗?

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

    陈  

    正如 Collin 提到的、 我们并不是 Linux 专家、 从.h 文件可以看到寄存器是定义的  

    #define RLOPM_CTRL 93

    然后、功率位也被定义为:

    #define RLOPM_PWR_ON 0x01

    是否可以使用 snd_soc_component_write()命令或类似的命令?

    此致、

    -Steve Wilson

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

    aic3x_init() 例程会取消对正确线路输出的静音,但不会将其加电。 第1552行:

    SND_SoC_COMPONENT_UPDATE_BITS (COMPONENT、RLOPM_CTRL、取消静音、取消静音);

    可更改为:

    SND_SoC_COMPONENT_UPDATE_Bits (component、RLOPM_CTRL、取消静音| RLOPM_PWR_ON、取消静音| RLOPM_PWR_ON);

    此例程执行读取、修改和写入。 这些参数按从左到右的顺序排列:

    • 组件:要更新的组件
    • RLOPM_CTRL:要更新的寄存器
    • 取消静音| RLOPM_PWR_ON:寄存器的屏蔽位
    • 取消静音| RLOPM_PWR_ON:屏蔽中指定的位的新值

    在初始化时进行此更改后、右侧线路输出将通电并取消静音。

    此致、
      佩德罗