Tool/software: Linux
Hi Community Members,
I am working on the latest TI-SDK ti-am335x-03.02.00.05 on our custom board. We have migrated from previous ti-sdk-am335x-evm-7.0 to the latest one due to customer requirements.
The codec was working on the previous SDK.But after doing the same changes in the new SDK we are getting error.
Here is the log for speaker-test:
root@ngt:~/test# speaker-test
speaker-test 1.0.26
Playback device is default
Stream parameters are 48000Hz, S16_LE, 1 channels
Using 16 octaves of pink noise[ 254.885924] tlv320aic3x-codec 1-001b: Unable to sync registers 0x1-0x1. -121
Rate set to 48000Hz (requested 48000Hz)
Buffer size range from 256 to 32768
Period size range from 128 to 16384
Using max buffer size 32768
Periods = 4
was set period_size = 8192
was set buffer_size = 32768
0 - Front Left
When I checked from the logs it was coming from file drivers/base/regmap/regcache.c.
This regmap concept is present in the new tlv320aic3x.c driver file. We are compiling the drivers as a module.
We can see the cards in cat /proc/asound/cards
When we detect the i2c device using i2cdetect we get the following output
0 1 2 3 4 5 6 7 8 9 a b c d e f
00: -- -- -- -- -- -- -- -- -- -- -- -- --
10: 10 -- -- -- -- -- -- -- -- -- -- UU -- -- -- --
20: 20 21 -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- 4d -- --
50: 50 51 52 53 54 55 56 57 -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- 6c -- -- --
70: -- -- -- -- -- -- -- --
After using rmmod we are getting the following logs
[ 838.273808] Disabling lock debugging due to kernel taint
root@ngt:~/audio_routing_scripts# i2cdetect -r -y 1
0 1 2 3 4 5 6 7 8 9 a b c d e f
00: -- -- -- -- -- -- -- -- -- -- -- -- --
10: 10 -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: 20 21 -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- 4d -- --
50: 50 51 52 53 54 55 56 57 -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- 6c -- -- --
70: -- -- -- -- -- -- -- --
We see that after removing the module even the i2c address of codec (0x1b) is not seen.
I am attaching my dts and dtsi files. Please have a look.
I am stuck here since 2 weeks.
Thanks
Deepika1781.am335x-bone-common.dtsi.txt4861.am335x-boneblack.dts.txt