IMX 8 QuadMax MEK, CS42888 does not work..

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

IMX 8 QuadMax MEK, CS42888 does not work..

3,226 Views
mustafa_ozcelik
Contributor I

I need some help getting IMX-AUD-IO board / CS42888 to work with my iMX8QuadMax Multisensory Enablement Kit. I am using fsl-imx-xwayland distro, 4.9.51_beta2 BSP, fsl-imx-qt5-validation-imx image, and issuing the following commands to record audio from a mic that is connected to MIC 1 in IMX-AUD-IO board.

arecord -f dat -d 10 -D hw:0 test.wav
aplay test.wav


But there is no audio.

I could see that esai mapping is successful for cs42888 in the dmesg. So I assume driver is succesfully loaded and initialized.

The list of playback devices (aplay -l):

**** List of PLAYBACK Hardware Devices ****
card 0: cs42888audio [cs42888-audio], device 0: HiFi cs42888-0 []
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: wm8960audio [wm8960-audio], device 0: HiFi wm8960-hifi-0 []
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: wm8960audio [wm8960-audio], device 1: HiFi-ASRC-FE (*) []
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 2: imxaudiohdmi [imx-audio-hdmi], device 0: imx8 hdmi snd-soc-dummy-dai-0 []
  Subdevices: 1/1
  Subdevice #0: subdevice #0

The list of recording devices (arecord -l):

**** List of CAPTURE Hardware Devices ****
card 0: cs42888audio [cs42888-audio], device 0: HiFi cs42888-0 []
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: wm8960audio [wm8960-audio], device 0: HiFi wm8960-hifi-0 []
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: wm8960audio [wm8960-audio], device 1: HiFi-ASRC-FE (*) []
  Subdevices: 1/1
  Subdevice #0: subdevice #0

Contents (amixer -c 0 contents):

numid=13,iface=MIXER,name='ADC High-Pass Filter Switch'
  ; type=BOOLEAN,access=rw------,values=1
  : values=on
numid=21,iface=MIXER,name='ADC Single Volume Control Switch'
  ; type=INTEGER,access=rw------,values=1,min=0,max=1,step=0
  : values=0
numid=22,iface=MIXER,name='ADC Soft Ramp & Zero Cross Control Switch'
  ; type=ENUMERATED,access=rw------,values=1,items=4
  ; Item #0 'Immediate Change'
  ; Item #1 'Zero Cross'
  ; Item #2 'Soft Ramp'
  ; Item #3 'Soft Ramp on Zero Cross'
  : values=0
numid=5,iface=MIXER,name='ADC1 Capture Volume'
  ; type=INTEGER,access=rw---R--,values=2,min=0,max=176,step=0
  : values=128,128
  | dBscale-min=-64.00dB,step=0.50dB,mute=0
numid=11,iface=MIXER,name='ADC1 Invert Switch'
  ; type=BOOLEAN,access=rw------,values=2
  : values=off,off
numid=15,iface=MIXER,name='ADC1 Single Ended Mode Switch'
  ; type=ENUMERATED,access=rw------,values=1,items=2
  ; Item #0 'Differential'
  ; Item #1 'Single-Ended'
  : values=0
numid=6,iface=MIXER,name='ADC2 Capture Volume'
  ; type=INTEGER,access=rw---R--,values=2,min=0,max=176,step=0
  : values=128,128
  | dBscale-min=-64.00dB,step=0.50dB,mute=0
numid=12,iface=MIXER,name='ADC2 Invert Switch'
  ; type=BOOLEAN,access=rw------,values=2
  : values=off,off
numid=16,iface=MIXER,name='ADC2 Single Ended Mode Switch'
  ; type=ENUMERATED,access=rw------,values=1,items=2
  ; Item #0 'Differential'
  ; Item #1 'Single-Ended'
  : values=0
numid=19,iface=MIXER,name='DAC Auto Mute Switch'
  ; type=BOOLEAN,access=rw------,values=1
  : values=on
numid=14,iface=MIXER,name='DAC De-emphasis Switch'
  ; type=BOOLEAN,access=rw------,values=1
  : values=off
numid=17,iface=MIXER,name='DAC Single Volume Control Switch'
  ; type=INTEGER,access=rw------,values=1,min=0,max=1,step=0
  : values=0
numid=18,iface=MIXER,name='DAC Soft Ramp & Zero Cross Control Switch'
  ; type=ENUMERATED,access=rw------,values=1,items=4
  ; Item #0 'Immediate Change'
  ; Item #1 'Zero Cross'
  ; Item #2 'Soft Ramp'
  ; Item #3 'Soft Ramp on Zero Cross'
  : values=0
numid=7,iface=MIXER,name='DAC1 Invert Switch'
  ; type=BOOLEAN,access=rw------,values=2
  : values=off,off
numid=1,iface=MIXER,name='DAC1 Playback Volume'
  ; type=INTEGER,access=rw---R--,values=2,min=0,max=255,step=0
  : values=255,255
  | dBscale-min=-127.50dB,step=0.50dB,mute=1
numid=8,iface=MIXER,name='DAC2 Invert Switch'
  ; type=BOOLEAN,access=rw------,values=2
  : values=off,off
numid=2,iface=MIXER,name='DAC2 Playback Volume'
  ; type=INTEGER,access=rw---R--,values=2,min=0,max=255,step=0
  : values=255,255
  | dBscale-min=-127.50dB,step=0.50dB,mute=1
numid=9,iface=MIXER,name='DAC3 Invert Switch'
  ; type=BOOLEAN,access=rw------,values=2
  : values=off,off
numid=3,iface=MIXER,name='DAC3 Playback Volume'
  ; type=INTEGER,access=rw---R--,values=2,min=0,max=255,step=0
  : values=255,255
  | dBscale-min=-127.50dB,step=0.50dB,mute=1
numid=10,iface=MIXER,name='DAC4 Invert Switch'
  ; type=BOOLEAN,access=rw------,values=2
  : values=off,off
numid=4,iface=MIXER,name='DAC4 Playback Volume'
  ; type=INTEGER,access=rw---R--,values=2,min=0,max=255,step=0
  : values=255,255
  | dBscale-min=-127.50dB,step=0.50dB,mute=1
numid=20,iface=MIXER,name='Mute ADC Serial Port Switch'
  ; type=BOOLEAN,access=rw------,values=1
  : values=off


I played around with alsamixer, and I don't see anything muted, although amixer contents list some properties as muted. There is no sound coming from the recorded audio. I need some help figuring this out.

I made sure that 4.9.51_beta2 BSP Release Notes say that CS42888 works finely in their release, so I doubt it is a BSP-related problem.

There is unfortunately no help in the documentation (4.9.51_beta2) for this kind of issue, -that I could see-, other than a few arecord commands. So any guidance is appreciated. Thanks.

0 Kudos
12 Replies

2,692 Views
igorpadykov
NXP Employee
NXP Employee

Hi Mustafa

one can try unit tests

mxc_alsa_hw_params\test - imx-test - i.MX Driver Test Application Software 

mxc_esai_test\test - imx-test - i.MX Driver Test Application Software 

and with  Linux L4.14.62

linux-imx - i.MX Linux kernel 

Best regards
igor
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------

0 Kudos

2,692 Views
mustafa_ozcelik
Contributor I

I am able to reproduce even if I do the mentioned tests. Specifically mxc_esai_test/doc/FSL-UT-ESAI-002.txt for recording has the same behavior. Though I needed to set my card -Dhw:0,1, Otherwise it did not work. Mic and recording works through 3.5mm jack, but does not work with IMX-AUD-IO's MIC 1, MIC 2 or LINE IN lines.

0 Kudos

2,688 Views
shabna_m
Contributor III

@mustafa_ozcelik  @igorpadykov  I do have the same issue.

Is there any solution available currently?

 

 

0 Kudos

2,675 Views
igorpadykov
NXP Employee
NXP Employee
0 Kudos

2,662 Views
shabna_m
Contributor III

@igorpadykovThank you for your response.

I have gone through the documents and nothing help me to solve the issue. Still the sound recorded using the mic connected to the IMX-AUD-IO board is not audible while playing it.

Could you please help me on further to solve the issue?

0 Kudos

2,631 Views
igorpadykov
NXP Employee
NXP Employee

one can try with latest Demo Image from

https://www.nxp.com/design/software/embedded-software/i-mx-software/embedded-linux-for-i-mx-applicat...

and sect.7.5 Audio Mixer (AUDMIX) i.MX Linux Reference Manual​

 

Best regards
igor

 

 

0 Kudos

2,627 Views
shabna_m
Contributor III

Thank you very much@igorpadykov  for your support. It's working with latest linux.

So, It is not possible to make it work in the 4.14.98 ? I am following the virtualization guide which is using linux 4.14.98 and android 9 auto. I think android 9could not be used with the latest linux.

0 Kudos

2,612 Views
igorpadykov
NXP Employee
NXP Employee

Hi shabna_m

 

one can try attached patch, to test ESAI1 on i.MX8QM MEK board, connect IMX-AUD-IO
board to AUDIO SLOT 2 in MXCIMX8-8X-BB board.
In IMX-AUD-IO board, when playback, connect speaker to OUT-FL and OUT-FR,
when capture, connect line in cable to LINE IN-R and LINE IN-L.

Generally formal support for each peripheral and processor type is described in Release Notes

for each software release

 

https://www.nxp.com/design/software/embedded-software/i-mx-software/embedded-linux-for-i-mx-applicat...

 

Formal support for functionalities above that is provided using

https://contact.nxp.com/new-prof-svcs-sw-tech

 

Best regards
igor

 

0 Kudos

2,604 Views
shabna_m
Contributor III

Thank you @igorpadykov . I have tried what you have mentioned. Unfortunately it is not working, even the speaker also.

Could you please mention what type of mic you are using? To confirm,it is not a hardware failure.

0 Kudos

2,599 Views
igorpadykov
NXP Employee
NXP Employee

if, as you said : " It's working with latest linux"

one can port changes to necessary linux revision.

NXP can help with such efforts, there is special service for that:

https://contact.nxp.com/new-prof-svcs-sw-tech

 

Best regards
igor

0 Kudos

2,591 Views
shabna_m
Contributor III

@igorpadykovI am extremely sorry for sharing the wrong information before. "Mic is not working in the latest linux bsp".

Thank you for your patience.

0 Kudos

2,692 Views
igorpadykov
NXP Employee
NXP Employee

Hi Mustafa

this is preproduction part (not publicly released yet) and not officially
supported. Full featured support may be provided with NXP Professional Services
NXP Professional Services|NXP 

Best regards
igor

0 Kudos