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.

[参考译文] TLV320ADC3101驱动程序支持TDA2EX?

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

https://e2e.ti.com/support/audio-group/audio/f/audio-forum/571197/tlv320adc3101-driver-support-for-tda2ex

主题中讨论的其他部件:TLV320ADC3101TLV320AIC3101

大家好,

我们有定制的TDA2EX主板,主板上有TLV320ADC3101,但是在运行内核时,我找不到任何驱动程序。

背景:

TDA2EX定制板,

SDK -> VISION SDK_02_11_00

内核-> 3.14 (glsdk_07_00_04_03)

uBoot -> 2014

在进行了一些搜索后,发现:

此致,

Ganesh

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

    遗憾的是,我们不提供对Linux驱动程序的支持。 有关驱动程序的所有信息,请参阅以下Wiki文章和链接:

    e2e.ti.com/.../26.6169万

    github.com/.../codecs

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


    很抱歉,我没有回复,因为我正在忙于其他任务。 即使我关注您分享的Wiki链接,我也对此有一些疑问,

    1->我们是否可以使用tlv320aic3101.c作为基础或任何其他可用作基础的最近驱动程序来编写adc3101驱动程序?

    2->adc3101中的DSP如何?

    3->在查找tlv320adc3x01_slave_v1.bin文件的aic3255_firmware_load中浏览旧源代码时? 是否提供固件文件?

    4->如果我们使用aic3101作为基准,那么寄存器又如何?所有寄存器的最佳值是什么?

    5->adc3101驱动程序可以注册为platform_driver或i2c_driver。是否混淆?

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

    TLV320AIC3101和TLV320ADC3101具有不同的寄存器映射。 因此,我认为TLV320AIC3101不能用作配置TLV320ADC3101的基础。

    我建议验证您要配置ADC3101的哪些功能。 模拟输入,ADC信道,AGC,PLL, 等等。我可以提供一个可能的注册表配置,您可以将它用作创建自己的驱动程序的基础。 关于miniDSP部分,您可以使用我们的PurePath Studio软件( www.ti.com/.../aicpurepath_studio )。 此软件用于配置miniDSP。 此外,它还可以提供一个.C代码,其中包含配置ADC3101所需的所有寄存器。

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



    我们将进行IN2L (P)->左PGA ->左ADC ->左AGC和MICBIAS2。 仅使用一个麦克风输入。

    1-> miniDSP是否需要单独的二进制固件文件?

    我发现一篇您提到我们未注册二进制固件文件的文章,请确认

    e2e.ti.com/.../2024534 202.4534万


    2->上述ADC3101寄存器值对于miniDSP也足够?


    3->我们可以将驱动器用作基础,或者我们必须从废品开始?

    那么我们可以使用aic32x4作为基础吗? 基于下面的链接

    e2e.ti.com/.../1727665 172.7665万

    关于PurePath Studio软件,我将尝试了解一下。

    此致,
    Ganesh

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

    您好,Ganesh,

    请查看随附的脚本。 这是一个寄存器配置,可能对您配置ADC3101很有用。 它采用十六进制格式w (写入) 30 (I2C地址) xx (寄存器地址) yy (寄存器数据)。

    e2e.ti.com/.../ADC3101_5F00_Script.txt

    1.如您复制的E2E线程中所述,无需使用单独的二进制固件文件。

    2. miniDSP需要附加配置。 您可以借助PurePath Studio获得必要的寄存器。 有关更多信息,请参阅以下Wiki文章:

    https://e2e.ti.com/support/data_converters/audio_converters/w/design_notes/3320.getting-started-on-purepath-studio

    3.您可以使用AIC32x4作为基础。 它具有类似的ADC配置。

    此致,
    Luis Fernando Rodríguez ñ o S.

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


    说明:

    1->我的MCLK为19.2MHz,我是否仍可以使用script.txt文件中提供的寄存器及其值,或者我是否必须更改任何寄存器。

    2->w 30 12 81 82 -->它象征着w 30 12 81和w 30 13 82对吗?

    问题:

    1->FS可以是44.1kHz和48kHz。是否可以为两者提供寄存器设置。 它不是最终采样率,但我仍然需要两个寄存器值?

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

    您好,Ganesh,

    1 ->您需要其他值才能使用19.2MHz (请参阅两个随附文档以获得FS = 44.1kHz和48kHz,MCLK = 19.2MHz)。

    2 ->您回答正确。 该代码行表示连续的寄存器(您可以在附加的脚本中找到此格式的另一个示例)。

    e2e.ti.com/.../ADC3101_5F00_Script_5F00_44_5F00_1KHz.txt

    e2e.ti.com/.../ADC3101_5F00_Script_5F00_48_5F00_KHz.txt

    此致,
    Luis Fernando Rodríguez ñ o S.  

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

    请忽略48kHz脚本中的时钟设置注释。 正确的备注应为MCLK = 19.2MHz;BCLK = 3.072MHz和WCLK = 48kHz。

    谢谢你。

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



    感谢你的帮助。 我已开始编写驱动程序。

    ADC3101重置引脚连接到TDA2Ex上的专用rstoutn引脚。  

    正如您所知,我们必须在重置后提供一些延迟。

    但如果我看看aic32x4代码,

    如果(aic32x4->RSTN_GPIO >=0){
                                     RET = devm_gio_request_one(&i2c->dev,aic32x4->RSTN_GPIO, GPIOF_OUT _INIT_LOW"tlv320aic32x4 RSTN");
    如果(ret! = 0)
    返回 台;
    } 

    它正在寻找正常的GPIO引脚,我们如何访问rstoutn。 在DTS文件中,没有可用的rstoutn。

    此致,
    Ganesh

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

    可能是GPIO被用作读取位。 它似乎是指示必须应用重置的说明。 也可以使用软件重置。 GPIO似乎是确定用户是否请求软件重置的指示器。

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

    我理解你说的话。 但我的问题是我们如何使用rstoutn pin,它们在DTS文件中不是rstoutn的pinmux。


    RET = of_GET_NAMED_GPIO (NP,"GPIO重置",0);

    就像上述API一样,它在DTS文件中看起来像"GPIO重置",我们在其中分配用于重置目的的GPIO引脚。

    同样,rstoutn[tda2ex]引脚也可用于重置。

    API将用于获取rstoutn引脚并在DTS文件中用于adc3101@ gPIo-reset=???

    Edit1:我使用最新的vivision SDK 02_12和内核4.4。


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

    遗憾的是,由于我们不支持Linux环境,因此我们没有足够的有关此问题的信息。

    此致,
    Luis Fernando Rodríguez ñ o S.