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.

[参考译文] TLV320ADC5140:在 Renesas rzg2h 上配置和测试 tlv320adc5140,kernel-5.10.158

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

https://e2e.ti.com/support/audio-group/audio/f/audio-forum/1318765/tlv320adc5140-configuring-and-testing-tlv320adc5140-on-renesas-rzg2h-kernel-5-10-158

器件型号:TLV320ADC5140

您好、TI 团队、

我们正在使用的是带有 Renesas rzg2h-processor 的 TLV320adc5140音频编解码器芯片,我们正在使用的内核是5.10.158并且下面是我的 DTS 条目,在 kenel 中启用了 tlv3210adcx140驱动程序。

当我们尝试探测它给出以下错误的代码时:

2.41668] optee:固件探测器:optee 失败、错误-22
[2.408348]内部 SMET ...1
[ 2.409141] Renesas_sdhi_internal_DMAC ee140000.mmc:mmc2 base 为0x00000000ee140000、最大时钟速率200 MHz
[2.411252]内部 SMET
[ 2.411428] Renesas_sdhi_internal_DMAC ee160000.mmc:mmc0 base 为0x00000000EE160000、最大时钟速率200 MHz
[2.433888]内部 SMET
[2.436818] SMET 内部... 4
[2.439783]内部 SMET ... 5
[2.442986] ASOC-SIMPLE-CARD:声音探测器出现故障,错误-22
[2.451535] rcar_sound ec500000.sound:探测:

我的 dtsi entri 是:

tlv320adc5140_snd:声音{
兼容="简单音频卡";
simple-audio 卡、格式="I2S";
simple-audio-card、bitclock-master =<&cpu_da>;
simple-audio-card、frame-master =<&cpu_da>;

simple-audio-card、小工具="麦克风"、"麦克风";

简单音频卡、音频路由=
"MIC1P"、"MIC"、
"MIC1M"、"MIC"、
"MIC2P"、"MIC"、
"MIC2M"、"MIC"、
"MIC3P"、"MIC"、
"MIC3M"、"MIC"、
"MIC4P"、"MIC"、
"MIC4M"、"MIC";

MCLK-FS =<256>;
CPU_DAI:简单音频卡、CPU{
sound-dai =<&sound_pins1>;
时钟名称="MCLK";
};

CODEC_DAI:编解码器{
sound-dai =<&tlv320adc5140>;
Clocks =<&clk_ext_audio_codec>;
// Clocks =<&audio_mclock>;
时钟名称="MCLK";
};
};

i2c0 (&I){
pinctrl-0 =<&i2c0_pins>;
pinctrl-names ="默认";
时钟频率=<100000>;
状态="可以";
#IF 1
//#address-sells =<1>;
//#size-cells =<0>;
tlv320adc5140: tlv320adc5140@4c {
#sound-Da-cells =<0>;
兼容="ti, tlv320adc5140";
寄存器=<0x4c>;
/*数字麦克风*/

// ti、use-internal-Areg;/* AVDD 为3.3V 的稳压器。 如果未定义、则使能内部稳压器*/
TI、mic-bias 源=<6>;/* 0 -麦克风偏置被设置为 VREF */
ti、pdm-edge-select =<1 1 1 1>;
TI、GPIO-CONFIG =<0>;
TI、gpi-config =<4 5 6 7>;
TI、GPO-CONFIG-1 =<4 1>;
TI、GPO-CONFIG-2 =<4 1>;
TI、GPO-CONFIG-3 =<4 1>;
TI、GPO-CONFIG-4 =<4 1>;
ti、插槽映射=<0 1 2 3>;
TI、ASI-TX-DRIVER =<0>;

RESET-GPIO =<&GPIO6 11 GPIO_ACTIVE_HIGH>;
};
端口@0{
tlv320adc5140_端点:端点{
远程端点=<&rsnd_endpoint3>;
};
};
#endif

};

sound_pins1:声音{
组="ssi78_ctrl"、"ssi7_data";/* G6_17、G6_18、G6_19 */
函数="SSI";
};

请指导我们如何在 Linux-5.10.158上配置和使 tlv320adc5140正常工作

谢谢。此致、

那加拉哈

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

    您好、以下是更多信息:

    [4.394299]内部 SMET
    [4.416088] adcx140_i2c_probe 1093/n 内部的 SMET
    [4.416092]内部 SMET
    [ 4.423668] adcx140_i2c_probe 1101/n 内部 SMET
    [4.423707]内部 SMET
    [4.431288] adcx140_i2c_probe 1110/n 内的 SMET
    [4.431290]内部 SMET……4
    [4.438868] adcx140_i2c_probe 1124/n 内的 SMET
    [4.438920] SMET 内部...5
    [4.445005] mmc2:地址0001处的新高速 SDIO 卡
    [ 4.446501] adcx140_i2c_probe 1136/n 内部 smet
    [4.452303] ASOC-SIMPLE-CARD:声音探测器出现故障,错误-22
    [4.465061] rcar_sound ec500000.sound:探测

    以及:

    root@hihop-rzg2h:~# cat /sys/kernel/debug/asoc/dais
    ec500000.声音
    tlv320adcx140-编解码器
    I2S-HIFi
    SND-SND-DMUDE-DAI soc
    root@hihop-rzg2h:~#
    root@hihop-rzg2h:~#

    谢谢。此致、

    那加拉哈

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

    你好,Nagaraja

    我想知道  TLV320ADC5140是否是主器件?

    是否   调用了 TLV320ADC5140中的 CODEC_PROBE?

    请运行以下命令、以检查 TLV320ADC5140是否已成功注册。

    # ls /dev/snd

    # cat /proc/asound/pcm

    # cat /proc/asound/cards

    请将上面的日志与我分享。

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

    尊敬的丁圣浩:

    谢谢、回答、是的、我已经让 TLV320ADC5140成为主控器件:

    调用 code_probe 并提供以下内核转储:

    [2.912009]-------    [剪切此处]-------
    [   2.912490] Renesas_sdhi_internal_DMAC ee100000.mmc:获取 CD GPIO
    [2.916642]   WARNING:CPU: 3 PID: 263 at sound/境内 soc codecs/tlv320adcx140.c:918 adcx140_codec_prob+0x34/0x5c0
    [   2.916649]模块链接如下:
    [2.935447]   CPU:3 PID:263 Comm:kworker/3:2 not damed 5.10.158-cip22-Yocto standard #1
    [2.943707]   硬件名称: HopeRun HiHope RZ/G2H 带子板(DT)
    [2.950065]   workqueue:事件 defended_probe_work_func
    [   2.955203] pstate:60000005 (nZCv daif -pan -uao -TCO BTYPE=-)
    [2.961206]   PC : adcx140_codec_prob+0x34/0x5c0
    [   2.965734] lr : SND_SoC_COMPONENT_PROBE+0x28/0x78
    [2.970519]   sp : ff800012103960
    [   2.972725] Renesas_sdhi_internal_DMAC ee100000.mmc:mmc1 base 为0x00000000ee100000、最大时钟速率200 MHz
    [2.973829]   x29:ff800012103960 x28:000000000000
    [2.988974]   x27:000000000000 x26:ff0004c1c2f080
    [   2.994284] x25:000000000000 x24:ff0004c1a44940
    [2.999593]   x23:ff0004c1c44880 x22:ff0004c1a41480
    [3.00490]   x21:ff800010ef2ad8 x20:ff0004c1a44880
    [   3.010212] x19:000000000000 x18:00000000000000000001
    [   3.015521] X17:0000000000000000 x16:0000000000000000
    [   3.020830] x15:0000000000000001 x14:0000000000000000
    [   3.026138] X13:000000000000 x12:000000000000
    [   3.031447] x11:000000000000 x10:000000000000
    [   3.036756] x9:0000000000000000 x8:000000000000
    [3.042065]   x7 : 000000000000 x6 : ff0004c1c44a80
    [3.045369]   mmc1:新的超高速 SDR104 SDXC 卡在地址59b4
    [3.047374]   x5 : ff0004c1cc0818 x4 : 00000000ffffffff
    [   3.054665] mmcblk1:mmc1:59b4 SD64G 59.4 GiB
    [3.059303]   x3 : ff0004c1c44ab8 x2 : ff00010909ab8
    [   3.059307] x1 : 000000000000 x0 : ff0004c15f6820
    [   3.059312]呼叫跟踪:
    [   3.059321] adcx140_codec_probe+0x34/0x5c0
    [   3.066291] mmcblk1:p1 p2
    [   3.069074] SND_SoC_COMPUTER_PROBE+0x28/0x78
    [   3.069080] SoC_probe_component+0x1e4/0x390
    [   3.069087] SND_SoC_BIND_CARD+0x43c/0x960
    [   3.096589] snd_soc_register_card+0xf4/0x110
    [   3.100943] devm_snd_soc_register_card+0x44/0xa0
    [   3.105643] ASOC_simple_prob+0x1a0/0x340
    [   3.109735] platform_drv_probed+0x54/0xa8
    [   3.113741] REALITY_PROTEC/0x3c8
    [   3.117313] driver_probe_device+0x58/0xb8
    [   3.121405] __device_attach_driver+0xb8/0xe0
    [   3.125758] bus_for_each_drv+0x7c/0xd0
    [   3.129590] _device_attach+0xec/0x180
    [   3.133422] DEVICE_INITIATOR_PROBET+0x14/0x20
    [   3.137601] BUS_PROBET_DEVICE+0x9C/0xa8
    [   3.1433] Defered_probe_work_func+0x88/0xc0
    [   3.145964] process_one_work+0x1e8/0x360
    [   3.149969] Worker_thread+0x210/0x480
    [3.153716]    kthread+0x154/0x158
    [   3.156942] ret_from_fork+0x10/0x34
    [3.160514]--[   结束迹线55d4d807423887dd ]-
    [   3.165154] adcx140_codec_probe 919/n 内的 smet
    [   3.165160] adcx140_codec_probe 928/n 内的 SMET
    [   3.169960] adcx140_codec_probe 932/n 内置 SMET
    [   3.174753] adcx140_codec_probe 940/n 内的 SMET
    [   3.380579] SMET inside adcx140_codec_probe 956/n
    [   3.486147] adcx140_codec_probe 978/n 内的 SMET
    [   3.492124] adcx140_codec_probe 内的 SMET 1004/n
    [   3.499716] adcx140_codec_probe 1029/n 内的 SMET
    [   3.510557] cfg80211:为监管数据库加载编译的 X.509证书
    [   3.525358] cfg80211:已加载 X.509证书"forshee:00b28ddf47aef9cea7"
    [   3.532770] ALSA 设备列表:
    [3.535739]     #0: rcar_sound
    [   3.539874] EXT4-FS (mmcblk1p2):使用 ext4子系统安装 ext3文件系统。

    ========================================

    root@hihop-rzg2h:~# arecord -l
    ****捕获硬件设备列表****
    卡0:rcarsound [rcar_sound]、device 0:rsnd-dae.0-tlv320adcx140-codec tlv320adcx140-codec-0 []
     子器件:1/1
     子设备#0:子设备#0


    root@hihop-rzg2h:~# ls /dev/snd
    副路径 controlC0 pcmC0D0c 计时器


    root@hihop-rzg2h:~# cat /proc/asound/pcm
    00-00:rsnd-dae.0-tlv320adcx140-codec tlv320adcx140-codec-0::capture 1


    root@hihop-rzg2h:~# cat /proc/asound/card
    Card0/卡  
    root@hihop-rzg2h:~# cat /proc/asound/cards
     0 [rcarsound     ]: rcar_sound - rcar_sound
                         rcar_sound.

    我正在使用以下命令、但记录的文件为空:

    ARecord -D plughw:0、0 -r44100 -f S16_LE -c 1 -d 25 reccord700.wav

    请帮助我们了解我在这里遗漏的信息。

    谢谢。此致、

    那加拉哈

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

    嗨、Guy

    我建议您使用此代码。  lpaa-android-drivers/pcmdevice-linux-driver -未命名的存储库;编辑此文件"说明"以命名存储库。

    以下是有关如何集成 pcmdevice 驱动程序并在 adc3140上设置主器件的示例、与 adc5140类似。

    TLV320ADC3140:配置和内核错误-音频论坛-音频- TI E2E 支持论坛

    祝你好运。

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

    您好!

     我们将  TLV320adc5140配置为主器件,将 RZG2H 配置为从器件并使用。

    我们使用以下引脚配置 。

    sound_pins1:声音{
                   组="ssi78_ctrl"、"ssi7_data";/* G6_17、G6_18、G6_19 */
                   函数="SSI";
           };

    并使用:

    捕获= ssi7;

     现在能够记录文件、文件大小正在增加。

    ================================

    root@hihop-rzg2h:~# arecord -D plughw:0、0 -r44100 -f S16_LE -c 1 -d 15 reccord704.wav &                                                                                                                  
    [1] 616
    录音波're cord704.wav':有符号16位小端序,速率44100 Hz,单声道


    root@hihope-rzg2h:~ ls -l reccord704.wav
    rw-r--r-- 1根根(根) 651308 9月20日10:46 reccord704.wav


    root@hihope-rzg2h:~ ls -l reccord704.wav
    rw-r--r--1根根根(9月20日) 10:46 reccord704.wav


    root@hihop-rzg2h:~# i2cdump -y -f 0 0x4c
    未指定大小(使用字节数据访问)
        0 1 2 3 4 5 6 7 8 9 a b c d e f 0123456789abcdef    
    00:   @ 00 00 00 81 00 05 00 40 00 00 00 00 01 02 03 04…………………………………………………………………………………………………………………
    10:05 06 07 86 48 F8 10 10 04 20 02 08 00 02 40   ?H??? ?????@
    20: F0 a0 41 41 41 00 00 00 00 00 00 00 45 67 00 00 00   ?AAAA... 例如...
    30:00 00 00 00 00 00 00 c0 00 80 00 00 00 00 C9 80   ...... ??……
       
       
       
       
       
       
       
       
       
       
       
       
                        


    … ??? 40:00 00 00 00 C9 80 00 00 00 C9 80 00 00 C9 80 00 ...?...??? 50:00 00 00 C9 80 00 00 00 00 C9 80 00 00 00 C9 80 00 00 ...?... 60:00 C9 80 00 00 00 00 00 00 00 00 01 40 7b 00 00??…… ?@{.. 70:E7 00 00 00 00 00 00 00 c0 00 00 ff 00 ff 8c 69 00 ?...... ?…… ?一 80:00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00. 90:00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00. A0:00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00. B0:00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00. C0:00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00. D0:00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00. E0:00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00. F0:00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00. [1]+ done arecord -D plughw:0、0 -r44100 -f S16_LE -c 1 -d 15 reccord704.wav 我们得到12MHz、FSYNC=48kHz。 但在探测数据线的数据线路6_19时、我们不会获得数据信号; 请告诉我们我在这里遗漏了什么。 谢谢。此致、 那加拉哈
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    嗨、

    您是否使用了 pcmdevice 驱动程序而不是当前的驱动程序?

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

    您好!

    在上述配置下、我们无法通过如下设置寄存器值来设置驱动程序的 resgister 值:

    //     {ADCX140_MST_CFG0、0x02},
           { ADCX140_MST_CFG0,0x86 },

    //{ADCX140_IN_CH_EN、0xf0}、
           {ADCX140_IN_CH_EN、0xff}、
    //     {ADCX140_ASI_OUT_CH_EN、0x00}、
           {ADCX140_ASI_OUT_CH_EN、0xff}、

    但我们在登录后成功使用以下命令设置了 reg 值。

    i2cset -y -f 0 0x4c 0x13 0x86

    i2cset -y -f 0 0x4c 0x73 0xff

    i2cset -y -f 0 0x4c 0x74 0xff

    并且能够使用以下命令录制,但当回放记录的文件, valume 是 非常低的。

    ARecord -D plughw:0、0 -r 44100 -f S16_LE -c 1 -d 15 reccord704.wav

    我的 dtsi 设置可能有什么问题为什么没有从驱动程序获取寄存器值变化?请指导我们如何测试

    全部四个模拟麦克风可单独分离,以及如何增加排气量。

    您能向我们推荐解决方法吗?

    谢谢。此致、

    那加拉哈

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

    嗨、Guy

    几周前、我建议您使用此代码。  lpaa-android-drivers/pcmdevice-linux-driver -未命名的存储库;编辑此文件"说明"以命名存储库。

    以下是有关如何集成 pcmdevice 驱动程序并在 adc3140上设置主器件的示例、与 adc5140类似。

    TLV320ADC3140:配置和内核错误-音频论坛-音频- TI E2E 支持论坛

    祝你好运。