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.

TAS2563: Unable to capture Echo reference data

Part Number: TAS2563

Hi team,

We found that , echo reference data capture is not working. Also we see that data is getting captured from right channel always. If we do mono channel recording, audio is not getting captured.

We have used below controls to validate this.

tinymix "MultiMedia1 Mixer SEC_MI2S_TX" 1
tinymix "SEC_MI2S_TX SampleRate" KHZ_48
tinymix "SEC_MI2S_TX Channels" "Two"
tinycap /data/rec.wav -c 2

tinymix "SEC_MI2S_RX SampleRate" "KHZ_48"
tinymix "SEC_MI2S_RX Format" "S16_LE"
tinymix "SEC_MI2S_RX Channels" "Two"
tinymix "SEC_MI2S_RX Audio Mixer MultiMedia1" "1"
tinyplay /data/file-name.wav

With this above controls, we see that data is being captured only from right channel.

We found out that , we need left channel data and mono channel recording for echo reference capture.

 So we did below changes in dtsi file

compatible = "ti,tas2563";
reg = <0x4c>;
ti,left-channel = <0x4c>;
- ti,channels = <1>; /* channel number */
+ ti,channels = <2>; /* channel number */
ti,asi-format = <0>; /* 0, i2S; 1, DSP; */
ti,reset-gpio = <&pmi632_gpios 4 0>;
ti,irq-gpio = <&tlmm 83 0>;

When we changed "ti,channels" to 2 , we started getting data from left channel and mono channel recording also works with above change

Could you please let us know impact of this change? Or suggest us if there is a way to capture data from left  channel

Thanks

  • Hello, 

    Our team is looking into this thread and will respond as soon as possible. 

    Best Regards, 

    Justin Beigel

  • Hi Sri,

    I think the commands you're using to get the correct recording data is OK.

    By default you should get Echo reference on one channel, and Digital loopback on the other channel. If you need them in the reverse order that can also be modified on the bin/header file from End System Integration panel.

    Best regards,
    -Ivan Salazar
    Applications Engineer - Low Power Audio & Actuators

  • Hi Ivan,

    By default you should get Echo reference on one channel, and Digital loopback on the other channel.

    What do you mean "default" here? Is it channels = 1 or we should remove "channels" configuration completely? And when you say "Echo reference on one channel" , could you please specify left or right channel?

    As I mentioned earlier, when we did "channels = 2" , we are getting the data in the left channel. Is this is the correct behaviour?

    Thanks

  • Hi Sri,

    By default I'm referrring only to the device configuration for the output data mux, from header or binary file. Not related to the driver settings.

    I think channels = 2 is OK.
    The data slots would be:

    • Echo Reference on Left Channel
    • Digital Loop Back on Right Channel

    The behavior you mention seems OK.

    Best regards,
    -Ivan Salazar
    Applications Engineer - Low Power Audio & Actuators

  • Hi Ivan,

    We see that there is regression with this patch.

    Issue is "Remove and insert USB, it is not detecting". Basically from log if we see, disconnection of USB is not completely happening. After disconnection, we see USB detection event, even if the USB is not inserted.

    Could you please let us know how this change can impact on USB detecion?

  • Hi Sri,

    Unfortunately I don't have knowledge on how the configuration of the amp can affect the USB interface. I would not expect this.
    Perhaps there are some other changes between the two versions?

    Best regards,
    -Ivan Salazar
    Applications Engineer - Low Power Audio & Actuators

  • Hi Ivan,

    We have double confirmed that, if we revert only our change (changing the channels to 2 in tas2563 node), USB issue is not seen

    -Sri

  • Hi Sri,

    I can check with our software team, but still not sure how this could be related to USB connection.

    Best regards,
    -Ivan Salazar
    Applications Engineer - Low Power Audio & Actuators

  • Hi Ivan,

    Any update on this issue?

    We also would like to know other than "channels" change in dtsi, is there a way to get the data in left channel?

    We have to capture the data in left channel only for echo-reference to work. Please let us know any other approach to get capture the data in left channel.

    Regards,

    Divya

  • Hi Ivan,

    Any update on this issue?

    This is critical issue for us. We see regression when we set the channels to 2 .

    Could you please let us know if there is any other way to capture the echo reference data on left channel?

    Could you please help prioritise this?

    Regards,

    Divya

  • Hi Ivan,

    We further debugged this issue and found that changing the "channel" config of tas2563 in dti file causing i2c errors.

    07-02 07:29:50.189 0 0 E i2c_geni 4a84000.i2c: i2c error :-107, slave addr:0x0, len:2, flags:0x0
    07-02 07:29:50.218 0 0 E tas2563 0-004c: tas2563_change_book_page, ERROR, L=232, E=-2

    So clearly see  channel changes are causing regression issue.

    We have below configuration in our dts file.

    104 &qupv3_se1_i2c {
    105 	status = "okay";
    106 	tas2563:tas2563@4c {
    107 		#sound-dai-cells = <0>;
    108 		compatible = "ti,tas2563";
    109 		reg = <0x4c>;
    110 		ti,left-channel = <0x4c>;
    111 		ti,channels = <1>; /* channel number */
    112 		ti,asi-format = <0>; /* 0, i2S; 1, DSP;  */
    113 		ti,reset-gpio = <&pmi632_gpios 4 0>;
    114 		ti,irq-gpio = <&tlmm 83 0>;
    115 		vdd-supply = <&L9A>; //vddio, 1.8v
    116 		ti,left-slot = <0>; /* <left slot number> */
    117 		ti,right-slot = <4>; /* <right slot number> */
    118 		ti,echo-ref = <2>;
    119 		ti,i2s-bits = <16>;
    120 		ti,imon-slot-no = <0>; /* <current sense slot number> */
    121 		ti,vmon-slot-no = <2>; /* <current voltage slot number> */
    122 		status = "ok";

    With this, when we do stereo recording, only right channel is capturing the data. Please refer attached image


    But for echo cancellation, DSP always reads the data from left channel to cancel the echo.
    Since we don't have the data in left channel, echo cancellation is failing.

    Our requirement is, we have configured mono tas2563 speaker and we want to capture echo reference data from left channel.
    How do we achieve this?

    Please prioritise this issue

    Regards,
    Divya
  • Hi Ivan, appreciate your help here.