Toybrick

标题: i2c写es7210寄存器失败 [打印本页]

作者: alan1996    时间: 2021-10-12 20:53
标题: i2c写es7210寄存器失败
RK3568开发板,烧录官方提供的安卓固件,es7210声卡 MIC阵列不起作用,开机打印信息提示好像是i2c写失败,如下。有碰到类似问题或懂的大佬解答一下么。                           

[    1.949882] begin->>>>>>>>>>es7210_probe!
[    1.949955] begin->>>>>>>>>>es7210_tdm_init_codec!
[    1.950202] es7210_write error->[REG-0x00,val-0xff]
[    1.950788] es7210_write error->[REG-0x00,val-0x32]
[    1.951387] es7210_write error->[REG-0x09,val-0x30]
[    1.951936] es7210_write error->[REG-0x0a,val-0x30]
[    1.952435] es7210_write error->[REG-0x1b,val-0xbf]
[    1.952602] es7210_write error->[REG-0x1c,val-0xbf]
[    1.952760] es7210_write error->[REG-0x1d,val-0xbf]
[    1.952927] es7210_write error->[REG-0x1e,val-0xbf]
[    1.953094] es7210_write error->[REG-0x23,val-0x2a]
[    1.953588] es7210_write error->[REG-0x22,val-0x0a]
[    1.954078] es7210_write error->[REG-0x21,val-0x2a]
[    1.954568] es7210_write error->[REG-0x20,val-0x0a]
[    1.955056] es7210_write error->[REG-0x11,val-0x60]
[    1.955544] es7210_write error->[REG-0x12,val-0x07]
[    1.956033] es7210_write error->[REG-0x40,val-0xc3]
[    1.956521] es7210_write error->[REG-0x41,val-0x70]
[    1.957015] es7210_write error->[REG-0x42,val-0x70]
[    1.957516] es7210_write error->[REG-0x43,val-0x1e]
[    1.958021] es7210_write error->[REG-0x44,val-0x1e]
[    1.958519] es7210_write error->[REG-0x45,val-0x1e]
[    1.959016] es7210_write error->[REG-0x46,val-0x1e]
[    1.959514] es7210_write error->[REG-0x47,val-0x08]
[    1.960065] es7210_write error->[REG-0x48,val-0x08]
[    1.960667] es7210_write error->[REG-0x49,val-0x08]
[    1.961263] es7210_write error->[REG-0x4a,val-0x08]
[    1.961859] es7210_write error->[REG-0x07,val-0x20]
[    1.962455] es7210_write error->[REG-0x08,val-0x30]
[    1.963005] es7210_write error->[REG-0x02,val-0xc3]
[    1.963663] es7210_write error->[REG-0x06,val-0x00]
[    1.964365] es7210_write error->[REG-0x4b,val-0x0f]
[    1.965011] es7210_write error->[REG-0x4c,val-0x0f]
[    1.965608] es7210_write error->[REG-0x00,val-0x71]
[    1.966156] es7210_write error->[REG-0x00,val-0x41]
[    1.966510] enter es7210_multi_chips_update_bits  es7210_tdm_init_codec
[    1.966780] es7210_write error->[REG-0x14,val-0x03]
[    1.967053] es7210_write error->[REG-0x15,val-0x03]
[    1.968189] es7210_write error->[REG-0x43,val-0x1c]
[    1.968461] es7210_write error->[REG-0x44,val-0x1c]
[    1.968734] es7210_write error->[REG-0x45,val-0x1c]
[    1.968993] es7210_write error->[REG-0x46,val-0x1c]
[    1.970632] exit->>>>>>>>>>es7210_tdm_init_codec!
[    1.970655] enter into es7210_pcm_startup_extern,es7210_init_reg 0
[    1.970665] enter into es7210_pcm_startup_extern  schedule_delayed_work
[    1.970676] enter into es7210_pcm_hw_params_extern
[    1.970936] es7210_read error1
[    1.971207] es7210_write error->[REG-0x00,val-0x30]
[    1.972527] es7210_read error1
[    1.972754] es7210_write error->[REG-0x11,val-0x61]
[    1.973653] es7210_read error1
[    1.973924] es7210_write error->[REG-0x00,val-0x40]              



[    2.073320] es7210 enter into pcm_pop_work_events
[    2.073333] enter into es7210_unmute
[    2.073526] es7210_read error1
[    2.074528] es7210_read error1
[    2.074768] es7210_write error->[REG-0x15,val-0x00]


作者: 395876134    时间: 2021-10-13 09:04
你在官网上买的板子么?我们是没有对应的阵列mic配件在卖的。
作者: alan1996    时间: 2021-10-13 10:32
395876134 发表于 2021-10-13 09:04
你在官网上买的板子么?我们是没有对应的阵列mic配件在卖的。

是官方的rk3568 toybrick板子,开发板上有es7210这个芯片
作者: 395876134    时间: 2021-10-13 11:19
没错有那颗芯片,但是你没有挂外接的mic阵列。
作者: alan1996    时间: 2021-10-13 12:05
395876134 发表于 2021-10-13 11:19
没错有那颗芯片,但是你没有挂外接的mic阵列。

感谢回复,
板上有几个焊盘,直接外接MIC不行吗,如图D:\1.png;
而且根据日志信息来看,好像是初始化es7210的时候,寄存器写不进去值
作者: 395876134    时间: 2021-10-13 14:46
请问你改过固件么?
作者: alan1996    时间: 2021-10-13 15:37
395876134 发表于 2021-10-13 14:46
请问你改过固件么?

没改过固件。原理图上es7210连接的是主控芯片的i2c3,地址是0x42,系统运行起来后,在命令行用i2cdetect命令能读写的也是0x42的设备;但是我看你们设备树源码中es7210的地址设置的好像是0x40,会不会是这个原因?
作者: alan1996    时间: 2021-10-13 16:13
395876134 发表于 2021-10-13 14:46
请问你改过固件么?

按照RK文档中的调试方法,使用 tinypcminfo -D 1 -d 1 是读到了es7210这张声卡,
但是使用tinycap测试,debug信息也是显示i2c读写error
console:/ # tinycap /sdcard/rec.wav -D 1 -d 1 -c 2 -r 44100 -b 16 -p 1024 -n 3                 
[  899.687932] enter into es7210_pcm_startup,es7210_init_reg 1
[  899.688119] enter into es7210_set_dai_sysclk
[  899.688144] enter into es7210_pcm_hw_params,params_format(params) is 2
[  899.688320] es7210_read error1
[  899.689305] es7210_read error1
[  899.689473] es7210_write error->[REG-0x11,val-0x61]
[  899.690112] es7210_read error1
[  899.690285] es7210_write error->[REG-0x00,val-0x40]
作者: 395876134    时间: 2021-10-13 16:15
你那个出错的es7210的报错是mic阵列是行的es7210,不是底板上的es7210.
作者: 395876134    时间: 2021-10-13 16:16
你log中es7210报错的log是mic阵列上的es7210,因为没接mic阵列,所以es7210是不通的;
不是底板上的es7210.
作者: alan1996    时间: 2021-10-13 16:19
395876134 发表于 2021-10-13 16:15
你那个出错的es7210的报错是mic阵列是行的es7210,不是底板上的es7210.

不是很理解,能解释一下吗?开发板上有两颗es7210?
作者: alan1996    时间: 2021-10-13 16:25
395876134 发表于 2021-10-13 16:16
你log中es7210报错的log是mic阵列上的es7210,因为没接mic阵列,所以es7210是不通的;
不是底板上的es7210. ...

底板上的三组焊点都要接上MIC,es7210才通,是这个意思吗




欢迎光临 Toybrick (https://t.rock-chips.com/) Powered by Discuz! X3.3