Why dummy machine driver imx-xtor.c is used im IMX8qxp

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

Why dummy machine driver imx-xtor.c is used im IMX8qxp

1,537 Views
wasim_nazir
Contributor II

Hi,

Bio_TICFSL‌, igorpadykov sureshrao

I have few questions wrt audio subsystem in IMX8x:

1) What is the use of xtor-driver in audio subsystem in imx?

2) In my system, SAI0 is used as GPIO's and so xtor is failing and audio is not working without xtor. By default SAI1 is used for wm8960 codec and then what is the use of xtor-dummy machine driver?

I want to understand the audio driver flow in imx8qxp. Any document or link will be helpful.

Thanks in Advance

Regards,

Wasim

0 Kudos
8 Replies

1,285 Views
vinothkumars
Senior Contributor IV

Hi wasim_nazir

 

did you resolve it ?

 

Regards,

Regards,
Vinothkumar Sekar
0 Kudos

1,357 Views
wasim_nazir
Contributor II

Hi igorpadykov‌,

I have verified that xtor is not in linux-BSP but it is available in android-kernel

https://source.codeaurora.org/external/imx/linux-imx/tree/arch/arm64/boot/dts/freescale/fsl-imx8qxp-... 

If xtor is only used by BT HFP then removal of it should not cause any issue to external speaker which is my usecase.

But after removing it external speaker is not working from UI.

As I said earlier also, I am not able to play sound from UI but I can play using tinymix from cmdline to external speaker. In that case I think audio is working fine but something is missing which the system is doing using xtor and I am not able to find that.

Regards,

Wasim 

0 Kudos

1,357 Views
igorpadykov
NXP Employee
NXP Employee

Hi Wasim

>If xtor is only used by BT HFP then removal of it should not cause any issue

>to external speaker which is my usecase.

 

in linux (L4.14.98-2.1.0_ga release) there is no xtor, please try it:

fsl-imx8qxp-mek.dtsi\freescale\dts\boot\arm64\arch - linux-imx - i.MX Linux kernel 

 

Best regards
igor

0 Kudos

1,357 Views
igorpadykov
NXP Employee
NXP Employee

Hi Wasim

I checked linux dts as p9.0.0_2.3.0 is based on L4.14.98-2.1.0_ga release.

fsl-imx8qxp-mek.dtsi\freescale\dts\boot\arm64\arch - linux-imx - i.MX Linux kernel 

seems there is no xtor.

Could you please try latest releases as p9.0.0_2.3.0 is marked as "Archived".

Regarding xtor-driver, it may be used in Android BT HFP.
Use the PCM/I2S interface to send audio data to the bluetooth chip.

Best regards
igor

0 Kudos

1,357 Views
wasim_nazir
Contributor II

Hi igorpadykov‌,

Thanks for your reply and for the links.

I want to mention that I am using Android (9.2.3).

I have few doubts based on my experiments:

1)  We are using wm8960 codec which is connected to SAI1 of CPU and so I am able to play using card0(wm8960audio) & tinymix but what is the need of xtor here. Basically my question is why we need two machine drivers? Is xtor used for audio mapping. If yes, then can it be simplified if we want to use only speaker & mic. But if it cannot be simplified then what can be the impact if we connect xtor through esai0(as I am not using cs42888) and not sai0

2) While I disabled xtor(SAI0) and enabled only wm8960, I am able to play using tinymix but I am not able to play any sound from UI(I am playing sound from settings app). Is there any way to fix the sound card in AOSP or whether is it possible to use only  wm8960audio?

3) Also, I didn't get much info on the usecase of xtor driver.

I am sorry, questions are somewhat repeating.

Thanks in Advance,

Wasim

0 Kudos

1,357 Views
igorpadykov
NXP Employee
NXP Employee

Hi Wasim

could you please point where did you find " xtor" - exact place in sources.

Also when you ask "Android (9.2.3)"  - what do you mean, as there is no

such Andoid release name on below link with description of all BSPs ?

i.MX Software and Development Tools | NXP 

pastedImage_2.jpg

Best regards
igor

0 Kudos

1,357 Views
wasim_nazir
Contributor II

Hi igorpadykov‌,

AOSP tag is "p9.0.0_2.3.0"

And the file is located at "vendor/nxp-opensource/kernel_imx/sound/soc/fsl/imx-xtor.c"

DTS nodes are: (vendor/nxp-opensource/kernel_imx/arch/arm64/boot/dts/freescale/fsl-imx8qxp-mek.dtsi)

sound: sound {
compatible = "fsl,imx7d-evk-wm8960",
"fsl,imx-audio-wm8960";
model = "wm8960-audio";
cpu-dai = <&sai1>;
audio-codec = <&wm8960>;
codec-master;

...

};

sound-xtor {
compatible = "fsl,imx-audio-xtor";
model = "xtor-audio";
cpu-dai = <&sai0>;
status = "okay";
};

Regards,

Wasim

0 Kudos

1,357 Views
igorpadykov
NXP Employee
NXP Employee

Hi Wasim

please look at documentation:

imx-audio-xtor.txt\sound\bindings\devicetree\Documentation - linux-imx - i.MX Linux kernel 

Dxtory - MultimediaWiki 

Linux Manual (Chapter 7 Audio) included in linux documentation Linux 4.19.35_1.1.0 Documentation

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

0 Kudos